diff --git a/.github/workflows/aws-lambda-router-ci.yaml b/.github/workflows/aws-lambda-router-ci.yaml index 88bc5d3bfa..bd9ac22774 100644 --- a/.github/workflows/aws-lambda-router-ci.yaml +++ b/.github/workflows/aws-lambda-router-ci.yaml @@ -19,8 +19,6 @@ jobs: timeout-minutes: 15 steps: - uses: actions/checkout@v4 - with: - fetch-depth: 0 - uses: actions/cache@v4 with: diff --git a/.github/workflows/cdn-ci.yaml b/.github/workflows/cdn-ci.yaml index 268a5c0771..8ef1cc4f18 100644 --- a/.github/workflows/cdn-ci.yaml +++ b/.github/workflows/cdn-ci.yaml @@ -19,8 +19,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - with: - fetch-depth: 0 - uses: ./.github/actions/node @@ -41,8 +39,6 @@ jobs: timeout-minutes: 15 steps: - uses: actions/checkout@v4 - with: - fetch-depth: 0 - uses: ./.github/actions/build-push-image with: diff --git a/.github/workflows/cli-ci.yaml b/.github/workflows/cli-ci.yaml index 2a8cb28006..f24220cf96 100644 --- a/.github/workflows/cli-ci.yaml +++ b/.github/workflows/cli-ci.yaml @@ -20,8 +20,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - with: - fetch-depth: 0 - uses: ./.github/actions/node diff --git a/.github/workflows/composition-ci.yaml b/.github/workflows/composition-ci.yaml index 70a0dd8e17..37ccd282ea 100644 --- a/.github/workflows/composition-ci.yaml +++ b/.github/workflows/composition-ci.yaml @@ -22,8 +22,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - with: - fetch-depth: 0 - uses: ./.github/actions/node diff --git a/.github/workflows/controlplane-ci.yaml b/.github/workflows/controlplane-ci.yaml index 9c30a5717c..cb3e8c7b7d 100644 --- a/.github/workflows/controlplane-ci.yaml +++ b/.github/workflows/controlplane-ci.yaml @@ -48,8 +48,6 @@ jobs: steps: - uses: actions/checkout@v4 - with: - fetch-depth: 0 - uses: ./.github/actions/node @@ -83,8 +81,6 @@ jobs: timeout-minutes: 15 steps: - uses: actions/checkout@v4 - with: - fetch-depth: 0 - uses: ./.github/actions/build-push-image with: diff --git a/.github/workflows/graphqlmetrics-ci.yaml b/.github/workflows/graphqlmetrics-ci.yaml index 63ad1e5f18..49e3582607 100644 --- a/.github/workflows/graphqlmetrics-ci.yaml +++ b/.github/workflows/graphqlmetrics-ci.yaml @@ -31,8 +31,6 @@ jobs: CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT: 1 steps: - uses: actions/checkout@v4 - with: - fetch-depth: 0 - uses: actions/cache@v4 with: @@ -83,8 +81,6 @@ jobs: timeout-minutes: 15 steps: - uses: actions/checkout@v4 - with: - fetch-depth: 0 - uses: ./.github/actions/build-push-image with: diff --git a/.github/workflows/helm-ci.yaml b/.github/workflows/helm-ci.yaml index 20c229565c..f2b5c5063e 100644 --- a/.github/workflows/helm-ci.yaml +++ b/.github/workflows/helm-ci.yaml @@ -18,8 +18,6 @@ jobs: timeout-minutes: 15 steps: - uses: actions/checkout@v4 - with: - fetch-depth: 0 - uses: actions/cache@v4 with: diff --git a/.github/workflows/keycloak-ci.yaml b/.github/workflows/keycloak-ci.yaml index 6594ce2d38..0a9fbdf853 100644 --- a/.github/workflows/keycloak-ci.yaml +++ b/.github/workflows/keycloak-ci.yaml @@ -19,8 +19,6 @@ jobs: timeout-minutes: 15 steps: - uses: actions/checkout@v4 - with: - fetch-depth: 0 - uses: ./.github/actions/build-push-image with: diff --git a/.github/workflows/otelcollector-ci.yaml b/.github/workflows/otelcollector-ci.yaml index aaca598b8a..a340e3eff3 100644 --- a/.github/workflows/otelcollector-ci.yaml +++ b/.github/workflows/otelcollector-ci.yaml @@ -19,8 +19,6 @@ jobs: timeout-minutes: 15 steps: - uses: actions/checkout@v4 - with: - fetch-depth: 0 - uses: ./.github/actions/build-push-image with: diff --git a/.github/workflows/playground-ci.yaml b/.github/workflows/playground-ci.yaml index 6da2591a43..8d3921d86e 100644 --- a/.github/workflows/playground-ci.yaml +++ b/.github/workflows/playground-ci.yaml @@ -19,8 +19,6 @@ jobs: timeout-minutes: 15 steps: - uses: actions/checkout@v4 - with: - fetch-depth: 0 - uses: ./.github/actions/node diff --git a/.github/workflows/router-ci.yaml b/.github/workflows/router-ci.yaml index 462f0361ea..5ae4e7a350 100644 --- a/.github/workflows/router-ci.yaml +++ b/.github/workflows/router-ci.yaml @@ -38,8 +38,6 @@ jobs: - 6379:6379 steps: - uses: actions/checkout@v4 - with: - fetch-depth: 0 - uses: actions/cache@v4 with: @@ -117,8 +115,6 @@ jobs: - 6379:6379 steps: - uses: actions/checkout@v4 - with: - fetch-depth: 0 - name: Log in to Docker Container registry (With write access) uses: docker/login-action@v3 @@ -185,8 +181,6 @@ jobs: timeout-minutes: 15 steps: - uses: actions/checkout@v4 - with: - fetch-depth: 0 - uses: ./.github/actions/build-push-image with: diff --git a/.github/workflows/shared-ci.yaml b/.github/workflows/shared-ci.yaml index ff25c6d198..57ff801803 100644 --- a/.github/workflows/shared-ci.yaml +++ b/.github/workflows/shared-ci.yaml @@ -21,8 +21,6 @@ jobs: timeout-minutes: 15 steps: - uses: actions/checkout@v4 - with: - fetch-depth: 0 - uses: ./.github/actions/node diff --git a/.github/workflows/studio-ci.yaml b/.github/workflows/studio-ci.yaml index 123eb69f29..d510c00e46 100644 --- a/.github/workflows/studio-ci.yaml +++ b/.github/workflows/studio-ci.yaml @@ -20,8 +20,6 @@ jobs: timeout-minutes: 15 steps: - uses: actions/checkout@v4 - with: - fetch-depth: 0 - uses: ./.github/actions/node @@ -59,8 +57,6 @@ jobs: timeout-minutes: 15 steps: - uses: actions/checkout@v4 - with: - fetch-depth: 0 - uses: ./.github/actions/build-push-image with: diff --git a/.gitignore b/.gitignore index f356c62a57..0de2ae6d27 100644 --- a/.gitignore +++ b/.gitignore @@ -15,4 +15,8 @@ lerna-debug.log /demo/cmd/subscriptiontest/subscriptiontest .github/scripts/keycloak-22.0.4/** .github/scripts/keycloak-22.0.4.zip -/router-tests/cmd/config-validator/router-configs/** \ No newline at end of file +/router-tests/cmd/config-validator/router-configs/** + +# Go workspace files +go.work +go.work.sum \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9b7bc26c19..68f958e96a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -37,6 +37,26 @@ make Ready! You can now start contributing to the WunderGraph Cosmo repository. Feel free to open an issue or pull request to add a new feature or fix a bug. +## Go workspace + +According to best practices, we don't commit the `go.work` or `go.sum` files. Those files are personal to each developer. As a result, we use the `go.mod` file to manage the dependencies and overwrites. You can still create `go.work` file in the root of the repository if you are feeling more comfortable with it or to improve tooling support. + +### Example + +``` +go 1.21.5 + +toolchain go1.22.0 + +use ( + ./demo + ./router + ./router-tests +) + +// Here you can add custom replacements +``` + ## Conventional Commit Standard We use [conventionalcommits](https://www.conventionalcommits.org/en/v1.0.0-beta.2/#why-use-conventional-commits) for changelog generation and more structured commit messages. diff --git a/Makefile b/Makefile index 17e1d9f281..2061aec988 100644 --- a/Makefile +++ b/Makefile @@ -150,11 +150,9 @@ run-subgraphs-local: sync-go-workspace: cd router && go mod tidy cd demo && make bump-deps - cd aws-lambda-router && make bump-deps cd composition-go && go mod tidy cd graphqlmetrics && go mod tidy cd router-tests && make bump-deps - go work sync # Validates if any breaking changes has been introduced. # Compares the head of the branch with your local changes diff --git a/aws-lambda-router/CHANGELOG.md b/aws-lambda-router/CHANGELOG.md index 30767377a6..cd001c1830 100644 --- a/aws-lambda-router/CHANGELOG.md +++ b/aws-lambda-router/CHANGELOG.md @@ -4,6 +4,28 @@ Binaries are attached to the github release otherwise all images can be found [h All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.37.6](https://github.com/wundergraph/cosmo/compare/aws-lambda-router@0.37.5...aws-lambda-router@0.37.6) (2024-11-16) + +### Bug Fixes + +* **tests:** deadlock on unsubscribe when epoll disabled ([#1380](https://github.com/wundergraph/cosmo/issues/1380)) ([337a60f](https://github.com/wundergraph/cosmo/commit/337a60f15577b373ca67a83497304d53fe19f55d)) (@StarpTech) + +## [0.37.5](https://github.com/wundergraph/cosmo/compare/aws-lambda-router@0.37.4...aws-lambda-router@0.37.5) (2024-11-14) + +### Bug Fixes + +* fix merging of response nodes of enum type ([#1373](https://github.com/wundergraph/cosmo/issues/1373)) ([f3927e3](https://github.com/wundergraph/cosmo/commit/f3927e3cfc382bff9beff0a7868b444db213b9d6)) (@devsergiy) + +## [0.37.4](https://github.com/wundergraph/cosmo/compare/aws-lambda-router@0.37.3...aws-lambda-router@0.37.4) (2024-11-12) + +### Bug Fixes + +* variables normalization for the anonymous operations ([#1365](https://github.com/wundergraph/cosmo/issues/1365)) ([0b8ff06](https://github.com/wundergraph/cosmo/commit/0b8ff06592954bef2329fa69a660c60e55e4eb3d)) (@devsergiy) + +## [0.37.3](https://github.com/wundergraph/cosmo/compare/aws-lambda-router@0.37.2...aws-lambda-router@0.37.3) (2024-11-12) + +**Note:** Version bump only for package aws-lambda-router + ## [0.37.2](https://github.com/wundergraph/cosmo/compare/aws-lambda-router@0.37.1...aws-lambda-router@0.37.2) (2024-11-08) ### Bug Fixes diff --git a/aws-lambda-router/Makefile b/aws-lambda-router/Makefile index 276be1b4a1..923d172c15 100644 --- a/aws-lambda-router/Makefile +++ b/aws-lambda-router/Makefile @@ -3,7 +3,6 @@ bump-router: go get github.com/wundergraph/cosmo/router@upgrade go mod tidy - cd .. && go work sync VERSION?=dev # RFC3339 format @@ -40,4 +39,3 @@ create-lambda-zip: build fetch-router-config bump-deps: go get github.com/wundergraph/cosmo/router@upgrade go mod tidy - cd .. && go work sync diff --git a/aws-lambda-router/go.mod b/aws-lambda-router/go.mod index dd7d6e4bff..4a4de1a559 100644 --- a/aws-lambda-router/go.mod +++ b/aws-lambda-router/go.mod @@ -1,10 +1,14 @@ module github.com/wundergraph/cosmo/aws-lambda-router +go 1.21.5 + +toolchain go1.22.0 + require ( github.com/akrylysov/algnhsa v1.1.0 github.com/aws/aws-lambda-go v1.43.0 github.com/stretchr/testify v1.9.0 - github.com/wundergraph/cosmo/router v0.0.0-20241108151630-db3184e032a7 + github.com/wundergraph/cosmo/router v0.0.0-20241115174502-7156536a93bf go.uber.org/zap v1.27.0 ) @@ -90,7 +94,7 @@ require ( github.com/twmb/franz-go v1.16.1 // indirect github.com/twmb/franz-go/pkg/kmsg v1.7.0 // indirect github.com/wundergraph/astjson v0.0.0-20241108124845-44485579ffa5 // indirect - github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.121 // indirect + github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.123 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1 // indirect go.opentelemetry.io/contrib/propagators/b3 v1.23.0 // indirect @@ -124,6 +128,4 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -go 1.21.5 - -toolchain go1.22.0 +// replace github.com/wundergraph/cosmo/router => ../router diff --git a/aws-lambda-router/go.sum b/aws-lambda-router/go.sum index 022b9e3fa4..c67225fa6f 100644 --- a/aws-lambda-router/go.sum +++ b/aws-lambda-router/go.sum @@ -250,10 +250,10 @@ github.com/vektah/gqlparser/v2 v2.5.16 h1:1gcmLTvs3JLKXckwCwlUagVn/IlV2bwqle0vJ0 github.com/vektah/gqlparser/v2 v2.5.16/go.mod h1:1lz1OeCqgQbQepsGxPVywrjdBHW2T08PUS3pJqepRww= github.com/wundergraph/astjson v0.0.0-20241108124845-44485579ffa5 h1:rc+IQxG3rrAXEjBywirkzhKkyCKvXLGQXABVD8GiUtU= github.com/wundergraph/astjson v0.0.0-20241108124845-44485579ffa5/go.mod h1:eOTL6acwctsN4F3b7YE+eE2t8zcJ/doLm9sZzsxxxrE= -github.com/wundergraph/cosmo/router v0.0.0-20241108151630-db3184e032a7 h1:UcdtoevbUSn79W0g/XarFn7E65owhzT7IWKA58iPnbk= -github.com/wundergraph/cosmo/router v0.0.0-20241108151630-db3184e032a7/go.mod h1:xSraMjn2YsV+yGHKmzBu7g5Z1UV96OFAhCm+9S7T1iA= -github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.121 h1:VsrSvBsOcQNiTwESJg55tecBzHfZPUdII/zDstHyBuc= -github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.121/go.mod h1:s4r/lhVEU5s0c6tCgpR0hK6FHEmX0cbrKcMU1pMc/ZI= +github.com/wundergraph/cosmo/router v0.0.0-20241115174502-7156536a93bf h1:HOiFhmZkl4RORU6E7JJi+MTEDt6KhP0qhSQouzgNMYQ= +github.com/wundergraph/cosmo/router v0.0.0-20241115174502-7156536a93bf/go.mod h1:MR8hksFCSekDg/5OPKb7HIXvboAc8xZX0DusUFOqpds= +github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.123 h1:JI7axu4G8p52i866OZfXYTLrA2tAE3fjUk3XiBBe6Y8= +github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.123/go.mod h1:s4r/lhVEU5s0c6tCgpR0hK6FHEmX0cbrKcMU1pMc/ZI= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1 h1:aFJWCqJMNjENlcleuuOkGAPH82y0yULBScfXcIEdS24= diff --git a/aws-lambda-router/package.json b/aws-lambda-router/package.json index 6779ceb46f..abc6dda246 100644 --- a/aws-lambda-router/package.json +++ b/aws-lambda-router/package.json @@ -1,6 +1,6 @@ { "name": "aws-lambda-router", - "version": "0.37.2", + "version": "0.37.6", "private": true, "description": "Placeholder package to simplify versioning and releasing with lerna.", "keywords": [ diff --git a/cli/CHANGELOG.md b/cli/CHANGELOG.md index fc4d3aafbe..467aefd162 100644 --- a/cli/CHANGELOG.md +++ b/cli/CHANGELOG.md @@ -4,6 +4,24 @@ Binaries are attached to the github release otherwise all images can be found [h All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.70.3](https://github.com/wundergraph/cosmo/compare/wgc@0.70.2...wgc@0.70.3) (2024-11-18) + +**Note:** Version bump only for package wgc + +## [0.70.2](https://github.com/wundergraph/cosmo/compare/wgc@0.70.1...wgc@0.70.2) (2024-11-14) + +**Note:** Version bump only for package wgc + +## [0.70.1](https://github.com/wundergraph/cosmo/compare/wgc@0.70.0...wgc@0.70.1) (2024-11-13) + +**Note:** Version bump only for package wgc + +# [0.70.0](https://github.com/wundergraph/cosmo/compare/wgc@0.69.2...wgc@0.70.0) (2024-11-12) + +### Features + +* display warning in wgc router compose command ([#1360](https://github.com/wundergraph/cosmo/issues/1360)) ([5abe634](https://github.com/wundergraph/cosmo/commit/5abe6340906cfd40cc9f5756410a5584695afb6c)) (@JivusAyrus) + ## [0.69.2](https://github.com/wundergraph/cosmo/compare/wgc@0.69.1...wgc@0.69.2) (2024-11-07) **Note:** Version bump only for package wgc diff --git a/cli/package.json b/cli/package.json index 5118a8e2ee..53061828db 100644 --- a/cli/package.json +++ b/cli/package.json @@ -1,6 +1,6 @@ { "name": "wgc", - "version": "0.69.2", + "version": "0.70.3", "description": "The official CLI tool to manage the GraphQL Federation Platform Cosmo", "type": "module", "main": "dist/index.js", diff --git a/cli/src/commands/router/commands/compose.ts b/cli/src/commands/router/commands/compose.ts index ab4dda459c..3ddb0d6e80 100644 --- a/cli/src/commands/router/commands/compose.ts +++ b/cli/src/commands/router/commands/compose.ts @@ -12,6 +12,7 @@ import { FeatureFlagRouterExecutionConfig, FeatureFlagRouterExecutionConfigs, } from '@wundergraph/cosmo-connect/dist/node/v1/node_pb'; +import Table from 'cli-table3'; import { BaseCommandOptions } from '../../../core/types/types.js'; import { composeSubgraphs, introspectSubgraph } from '../../../utils.js'; @@ -52,6 +53,7 @@ export default (opts: BaseCommandOptions) => { ); command.requiredOption('-i, --input ', 'The yaml file with data about graph and subgraphs.'); command.option('-o, --out [string]', 'Destination file for the router config.'); + command.option('--suppress-warnings', 'This flag suppresses any warnings produced by composition.'); command.action(async (options) => { const inputFile = resolve(options.input); const inputFileLocation = dirname(inputFile); @@ -105,13 +107,40 @@ export default (opts: BaseCommandOptions) => { ); if (result.errors && result.errors.length > 0) { - program.error(`Failed to compose: ${result.errors[0]}`); + const compositionErrorsTable = new Table({ + head: [pc.bold(pc.white('ERROR_MESSAGE'))], + colWidths: [120], + wordWrap: true, + }); + + console.log( + pc.red(`We found composition errors, while composing.\n${pc.bold('Please check the errors below:')}`), + ); + for (const compositionError of result.errors) { + compositionErrorsTable.push([compositionError.message]); + } + console.log(compositionErrorsTable.toString()); + process.exit(1); } if (!result.federationResult) { program.error('Failed to compose given subgraphs'); } + if (!options.suppressWarnings && result.warnings.length > 0) { + const compositionWarningsTable = new Table({ + head: [pc.bold(pc.white('WARNING_MESSAGE'))], + colWidths: [120], + wordWrap: true, + }); + + console.log(pc.yellow(`The following warnings were produced while composing:`)); + for (const warning of result.warnings) { + compositionWarningsTable.push([warning.message]); + } + console.log(compositionWarningsTable.toString()); + } + const federatedClientSDL = result.federationResult.shouldIncludeClientSchema ? printSchema(result.federationResult.federatedGraphClientSchema) : ''; @@ -211,13 +240,46 @@ export default (opts: BaseCommandOptions) => { ); if (result.errors && result.errors.length > 0) { - program.error(`Failed to compose for feature flags: ${result.errors[0]}`); + const compositionErrorsTable = new Table({ + head: [pc.bold(pc.white('ERROR_MESSAGE'))], + colWidths: [120], + wordWrap: true, + }); + + console.log( + pc.red( + `We found composition errors, while composing the feature flag ${pc.italic(ff.name)}.\n${pc.bold( + 'Please check the errors below:', + )}`, + ), + ); + for (const compositionError of result.errors) { + compositionErrorsTable.push([compositionError.message]); + } + console.log(compositionErrorsTable.toString()); + continue; } if (!result.federationResult) { program.error('Failed to compose given subgraphs for feature flags'); } + if (!options.suppressWarnings && result.warnings.length > 0) { + const compositionWarningsTable = new Table({ + head: [pc.bold(pc.white('WARNING_MESSAGE'))], + colWidths: [120], + wordWrap: true, + }); + + console.log( + pc.yellow(`The following warnings were produced while composing the feature flag ${pc.italic(ff.name)}:`), + ); + for (const warning of result.warnings) { + compositionWarningsTable.push([warning.message]); + } + console.log(compositionWarningsTable.toString()); + } + const federatedClientSDL = result.federationResult.shouldIncludeClientSchema ? printSchema(result.federationResult.federatedGraphClientSchema) : ''; @@ -259,6 +321,7 @@ export default (opts: BaseCommandOptions) => { if (options.out) { await writeFile(options.out, routerConfig.toJsonString()); + console.log(pc.green(`Router config successfully written to ${pc.bold(options.out)}`)); } else { console.log(routerConfig.toJsonString()); } diff --git a/composition-go/index.global.js b/composition-go/index.global.js index e3ca1db148..f9a08d9695 100644 --- a/composition-go/index.global.js +++ b/composition-go/index.global.js @@ -11,17 +11,17 @@ class URL { } } } -"use strict";var shim=(()=>{var p6=Object.create;var If=Object.defineProperty,f6=Object.defineProperties,m6=Object.getOwnPropertyDescriptor,h6=Object.getOwnPropertyDescriptors,T6=Object.getOwnPropertyNames,rP=Object.getOwnPropertySymbols,y6=Object.getPrototypeOf,iP=Object.prototype.hasOwnProperty,N6=Object.prototype.propertyIsEnumerable;var Cn=Math.pow,Wv=(e,t,n)=>t in e?If(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,k=(e,t)=>{for(var n in t||(t={}))iP.call(t,n)&&Wv(e,n,t[n]);if(rP)for(var n of rP(t))N6.call(t,n)&&Wv(e,n,t[n]);return e},K=(e,t)=>f6(e,h6(t));var ue=(e,t)=>()=>(e&&(t=e(e=0)),t);var V=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),vf=(e,t)=>{for(var n in t)If(e,n,{get:t[n],enumerable:!0})},sP=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of T6(t))!iP.call(e,i)&&i!==n&&If(e,i,{get:()=>t[i],enumerable:!(r=m6(t,i))||r.enumerable});return e};var Xv=(e,t,n)=>(n=e!=null?p6(y6(e)):{},sP(t||!e||!e.__esModule?If(n,"default",{value:e,enumerable:!0}):n,e)),Me=e=>sP(If({},"__esModule",{value:!0}),e);var A=(e,t,n)=>(Wv(e,typeof t!="symbol"?t+"":t,n),n);var yr=(e,t,n)=>new Promise((r,i)=>{var s=l=>{try{u(n.next(l))}catch(d){i(d)}},o=l=>{try{u(n.throw(l))}catch(d){i(d)}},u=l=>l.done?r(l.value):Promise.resolve(l.value).then(s,o);u((n=n.apply(e,t)).next())});var m=ue(()=>{"use strict"});var O={};vf(O,{_debugEnd:()=>YP,_debugProcess:()=>QP,_events:()=>ck,_eventsCount:()=>lk,_exiting:()=>DP,_fatalExceptions:()=>$P,_getActiveHandles:()=>wP,_getActiveRequests:()=>FP,_kill:()=>PP,_linkedBinding:()=>OP,_maxListeners:()=>uk,_preload_modules:()=>sk,_rawDebug:()=>_P,_startProfilerIdleNotifier:()=>JP,_stopProfilerIdleNotifier:()=>zP,_tickCallback:()=>GP,abort:()=>ZP,addListener:()=>dk,allowedNodeEnvironmentFlags:()=>BP,arch:()=>lP,argv:()=>fP,argv0:()=>ik,assert:()=>VP,binding:()=>NP,chdir:()=>IP,config:()=>AP,cpuUsage:()=>vy,cwd:()=>gP,debugPort:()=>rk,default:()=>gk,dlopen:()=>RP,domain:()=>SP,emit:()=>Tk,emitWarning:()=>yP,env:()=>pP,execArgv:()=>mP,execPath:()=>nk,exit:()=>UP,features:()=>jP,hasUncaughtExceptionCaptureCallback:()=>KP,hrtime:()=>Iy,kill:()=>CP,listeners:()=>Ek,memoryUsage:()=>xP,moduleLoadList:()=>bP,nextTick:()=>aP,off:()=>fk,on:()=>ba,once:()=>pk,openStdin:()=>MP,pid:()=>ek,platform:()=>dP,ppid:()=>tk,prependListener:()=>yk,prependOnceListener:()=>Nk,reallyExit:()=>LP,release:()=>vP,removeAllListeners:()=>hk,removeListener:()=>mk,resourceUsage:()=>kP,setSourceMapsEnabled:()=>ok,setUncaughtExceptionCaptureCallback:()=>qP,stderr:()=>WP,stdin:()=>XP,stdout:()=>HP,title:()=>cP,umask:()=>EP,uptime:()=>ak,version:()=>hP,versions:()=>TP});function t_(e){throw new Error("Node.js process "+e+" is not supported by JSPM core outside of Node.js")}function E6(){!Nd||!Qc||(Nd=!1,Qc.length?_a=Qc.concat(_a):gy=-1,_a.length&&oP())}function oP(){if(!Nd){var e=setTimeout(E6,0);Nd=!0;for(var t=_a.length;t;){for(Qc=_a,_a=[];++gy1)for(var n=1;n{"use strict";m();T();h();_a=[],Nd=!1,gy=-1;uP.prototype.run=function(){this.fun.apply(null,this.array)};cP="browser",lP="x64",dP="browser",pP={PATH:"/usr/bin",LANG:navigator.language+".UTF-8",PWD:"/",HOME:"/home",TMP:"/tmp"},fP=["/usr/bin/node"],mP=[],hP="v16.8.0",TP={},yP=function(e,t){console.warn((t?t+": ":"")+e)},NP=function(e){t_("binding")},EP=function(e){return 0},gP=function(){return"/"},IP=function(e){},vP={name:"node",sourceUrl:"",headersUrl:"",libUrl:""};_P=ti,bP=[];SP={},DP=!1,AP={};LP=ti,PP=ti,vy=function(){return{}},kP=vy,xP=vy,CP=ti,UP=ti,MP=ti,BP={};jP={inspector:!1,debug:!1,uv:!1,ipv6:!1,tls_alpn:!1,tls_sni:!1,tls_ocsp:!1,tls:!1,cached_builtins:!0},$P=ti,qP=ti;GP=ti,QP=ti,YP=ti,JP=ti,zP=ti,HP=void 0,WP=void 0,XP=void 0,ZP=ti,ek=2,tk=1,nk="/bin/usr/node",rk=9229,ik="node",sk=[],ok=ti,ec={now:typeof performance!="undefined"?performance.now.bind(performance):void 0,timing:typeof performance!="undefined"?performance.timing:void 0};ec.now===void 0&&(Zv=Date.now(),ec.timing&&ec.timing.navigationStart&&(Zv=ec.timing.navigationStart),ec.now=()=>Date.now()-Zv);e_=1e9;Iy.bigint=function(e){var t=Iy(e);return typeof BigInt=="undefined"?t[0]*e_+t[1]:BigInt(t[0]*e_)+BigInt(t[1])};uk=10,ck={},lk=0;dk=ba,pk=ba,fk=ba,mk=ba,hk=ba,Tk=ti,yk=ba,Nk=ba;gk={version:hP,versions:TP,arch:lP,platform:dP,release:vP,_rawDebug:_P,moduleLoadList:bP,binding:NP,_linkedBinding:OP,_events:ck,_eventsCount:lk,_maxListeners:uk,on:ba,addListener:dk,once:pk,off:fk,removeListener:mk,removeAllListeners:hk,emit:Tk,prependListener:yk,prependOnceListener:Nk,listeners:Ek,domain:SP,_exiting:DP,config:AP,dlopen:RP,uptime:ak,_getActiveRequests:FP,_getActiveHandles:wP,reallyExit:LP,_kill:PP,cpuUsage:vy,resourceUsage:kP,memoryUsage:xP,kill:CP,exit:UP,openStdin:MP,allowedNodeEnvironmentFlags:BP,assert:VP,features:jP,_fatalExceptions:$P,setUncaughtExceptionCaptureCallback:qP,hasUncaughtExceptionCaptureCallback:KP,emitWarning:yP,nextTick:aP,_tickCallback:GP,_debugProcess:QP,_debugEnd:YP,_startProfilerIdleNotifier:JP,_stopProfilerIdleNotifier:zP,stdout:HP,stdin:XP,stderr:WP,abort:ZP,umask:EP,chdir:IP,cwd:gP,env:pP,title:cP,argv:fP,execArgv:mP,pid:ek,ppid:tk,execPath:nk,debugPort:rk,hrtime:Iy,argv0:ik,_preload_modules:sk,setSourceMapsEnabled:ok}});var h=ue(()=>{"use strict";Ik()});function g6(){if(vk)return _f;vk=!0,_f.byteLength=u,_f.toByteArray=d,_f.fromByteArray=N;for(var e=[],t=[],n=typeof Uint8Array!="undefined"?Uint8Array:Array,r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i=0,s=r.length;i0)throw new Error("Invalid string. Length must be a multiple of 4");var C=I.indexOf("=");C===-1&&(C=b);var j=C===b?0:4-C%4;return[C,j]}function u(I){var b=o(I),C=b[0],j=b[1];return(C+j)*3/4-j}function l(I,b,C){return(b+C)*3/4-C}function d(I){var b,C=o(I),j=C[0],Q=C[1],re=new n(l(I,j,Q)),se=0,pe=Q>0?j-4:j,ye;for(ye=0;ye>16&255,re[se++]=b>>8&255,re[se++]=b&255;return Q===2&&(b=t[I.charCodeAt(ye)]<<2|t[I.charCodeAt(ye+1)]>>4,re[se++]=b&255),Q===1&&(b=t[I.charCodeAt(ye)]<<10|t[I.charCodeAt(ye+1)]<<4|t[I.charCodeAt(ye+2)]>>2,re[se++]=b>>8&255,re[se++]=b&255),re}function p(I){return e[I>>18&63]+e[I>>12&63]+e[I>>6&63]+e[I&63]}function y(I,b,C){for(var j,Q=[],re=b;repe?pe:se+re));return j===1?(b=I[C-1],Q.push(e[b>>2]+e[b<<4&63]+"==")):j===2&&(b=(I[C-2]<<8)+I[C-1],Q.push(e[b>>10]+e[b>>4&63]+e[b<<2&63]+"=")),Q.join("")}return _f}function I6(){if(_k)return _y;_k=!0;return _y.read=function(e,t,n,r,i){var s,o,u=i*8-r-1,l=(1<>1,p=-7,y=n?i-1:0,N=n?-1:1,I=e[t+y];for(y+=N,s=I&(1<<-p)-1,I>>=-p,p+=u;p>0;s=s*256+e[t+y],y+=N,p-=8);for(o=s&(1<<-p)-1,s>>=-p,p+=r;p>0;o=o*256+e[t+y],y+=N,p-=8);if(s===0)s=1-d;else{if(s===l)return o?NaN:(I?-1:1)*(1/0);o=o+Math.pow(2,r),s=s-d}return(I?-1:1)*o*Math.pow(2,s-r)},_y.write=function(e,t,n,r,i,s){var o,u,l,d=s*8-i-1,p=(1<>1,N=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,I=r?0:s-1,b=r?1:-1,C=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(u=isNaN(t)?1:0,o=p):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),o+y>=1?t+=N/l:t+=N*Math.pow(2,1-y),t*l>=2&&(o++,l/=2),o+y>=p?(u=0,o=p):o+y>=1?(u=(t*l-1)*Math.pow(2,i),o=o+y):(u=t*Math.pow(2,y-1)*Math.pow(2,i),o=0));i>=8;e[n+I]=u&255,I+=b,u/=256,i-=8);for(o=o<0;e[n+I]=o&255,I+=b,o/=256,d-=8);e[n+I-b]|=C*128},_y}function v6(){if(bk)return Yc;bk=!0;let e=g6(),t=I6(),n=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;Yc.Buffer=o,Yc.SlowBuffer=Q,Yc.INSPECT_MAX_BYTES=50;let r=2147483647;Yc.kMaxLength=r,o.TYPED_ARRAY_SUPPORT=i(),!o.TYPED_ARRAY_SUPPORT&&typeof console!="undefined"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function i(){try{let F=new Uint8Array(1),g={foo:function(){return 42}};return Object.setPrototypeOf(g,Uint8Array.prototype),Object.setPrototypeOf(F,g),F.foo()===42}catch(F){return!1}}Object.defineProperty(o.prototype,"parent",{enumerable:!0,get:function(){if(o.isBuffer(this))return this.buffer}}),Object.defineProperty(o.prototype,"offset",{enumerable:!0,get:function(){if(o.isBuffer(this))return this.byteOffset}});function s(F){if(F>r)throw new RangeError('The value "'+F+'" is invalid for option "size"');let g=new Uint8Array(F);return Object.setPrototypeOf(g,o.prototype),g}function o(F,g,v){if(typeof F=="number"){if(typeof g=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return p(F)}return u(F,g,v)}o.poolSize=8192;function u(F,g,v){if(typeof F=="string")return y(F,g);if(ArrayBuffer.isView(F))return I(F);if(F==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof F);if(cn(F,ArrayBuffer)||F&&cn(F.buffer,ArrayBuffer)||typeof SharedArrayBuffer!="undefined"&&(cn(F,SharedArrayBuffer)||F&&cn(F.buffer,SharedArrayBuffer)))return b(F,g,v);if(typeof F=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let x=F.valueOf&&F.valueOf();if(x!=null&&x!==F)return o.from(x,g,v);let J=C(F);if(J)return J;if(typeof Symbol!="undefined"&&Symbol.toPrimitive!=null&&typeof F[Symbol.toPrimitive]=="function")return o.from(F[Symbol.toPrimitive]("string"),g,v);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof F)}o.from=function(F,g,v){return u(F,g,v)},Object.setPrototypeOf(o.prototype,Uint8Array.prototype),Object.setPrototypeOf(o,Uint8Array);function l(F){if(typeof F!="number")throw new TypeError('"size" argument must be of type number');if(F<0)throw new RangeError('The value "'+F+'" is invalid for option "size"')}function d(F,g,v){return l(F),F<=0?s(F):g!==void 0?typeof v=="string"?s(F).fill(g,v):s(F).fill(g):s(F)}o.alloc=function(F,g,v){return d(F,g,v)};function p(F){return l(F),s(F<0?0:j(F)|0)}o.allocUnsafe=function(F){return p(F)},o.allocUnsafeSlow=function(F){return p(F)};function y(F,g){if((typeof g!="string"||g==="")&&(g="utf8"),!o.isEncoding(g))throw new TypeError("Unknown encoding: "+g);let v=re(F,g)|0,x=s(v),J=x.write(F,g);return J!==v&&(x=x.slice(0,J)),x}function N(F){let g=F.length<0?0:j(F.length)|0,v=s(g);for(let x=0;x=r)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r.toString(16)+" bytes");return F|0}function Q(F){return+F!=F&&(F=0),o.alloc(+F)}o.isBuffer=function(g){return g!=null&&g._isBuffer===!0&&g!==o.prototype},o.compare=function(g,v){if(cn(g,Uint8Array)&&(g=o.from(g,g.offset,g.byteLength)),cn(v,Uint8Array)&&(v=o.from(v,v.offset,v.byteLength)),!o.isBuffer(g)||!o.isBuffer(v))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(g===v)return 0;let x=g.length,J=v.length;for(let ie=0,fe=Math.min(x,J);ieJ.length?(o.isBuffer(fe)||(fe=o.from(fe)),fe.copy(J,ie)):Uint8Array.prototype.set.call(J,fe,ie);else if(o.isBuffer(fe))fe.copy(J,ie);else throw new TypeError('"list" argument must be an Array of Buffers');ie+=fe.length}return J};function re(F,g){if(o.isBuffer(F))return F.length;if(ArrayBuffer.isView(F)||cn(F,ArrayBuffer))return F.byteLength;if(typeof F!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof F);let v=F.length,x=arguments.length>2&&arguments[2]===!0;if(!x&&v===0)return 0;let J=!1;for(;;)switch(g){case"ascii":case"latin1":case"binary":return v;case"utf8":case"utf-8":return fa(F).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return v*2;case"hex":return v>>>1;case"base64":return Gr(F).length;default:if(J)return x?-1:fa(F).length;g=(""+g).toLowerCase(),J=!0}}o.byteLength=re;function se(F,g,v){let x=!1;if((g===void 0||g<0)&&(g=0),g>this.length||((v===void 0||v>this.length)&&(v=this.length),v<=0)||(v>>>=0,g>>>=0,v<=g))return"";for(F||(F="utf8");;)switch(F){case"hex":return Xr(this,g,v);case"utf8":case"utf-8":return sn(this,g,v);case"ascii":return bn(this,g,v);case"latin1":case"binary":return mi(this,g,v);case"base64":return Ct(this,g,v);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Pn(this,g,v);default:if(x)throw new TypeError("Unknown encoding: "+F);F=(F+"").toLowerCase(),x=!0}}o.prototype._isBuffer=!0;function pe(F,g,v){let x=F[g];F[g]=F[v],F[v]=x}o.prototype.swap16=function(){let g=this.length;if(g%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let v=0;vv&&(g+=" ... "),""},n&&(o.prototype[n]=o.prototype.inspect),o.prototype.compare=function(g,v,x,J,ie){if(cn(g,Uint8Array)&&(g=o.from(g,g.offset,g.byteLength)),!o.isBuffer(g))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof g);if(v===void 0&&(v=0),x===void 0&&(x=g?g.length:0),J===void 0&&(J=0),ie===void 0&&(ie=this.length),v<0||x>g.length||J<0||ie>this.length)throw new RangeError("out of range index");if(J>=ie&&v>=x)return 0;if(J>=ie)return-1;if(v>=x)return 1;if(v>>>=0,x>>>=0,J>>>=0,ie>>>=0,this===g)return 0;let fe=ie-J,Rt=x-v,kn=Math.min(fe,Rt),Dn=this.slice(J,ie),qn=g.slice(v,x);for(let On=0;On2147483647?v=2147483647:v<-2147483648&&(v=-2147483648),v=+v,Qr(v)&&(v=J?0:F.length-1),v<0&&(v=F.length+v),v>=F.length){if(J)return-1;v=F.length-1}else if(v<0)if(J)v=0;else return-1;if(typeof g=="string"&&(g=o.from(g,x)),o.isBuffer(g))return g.length===0?-1:Ce(F,g,v,x,J);if(typeof g=="number")return g=g&255,typeof Uint8Array.prototype.indexOf=="function"?J?Uint8Array.prototype.indexOf.call(F,g,v):Uint8Array.prototype.lastIndexOf.call(F,g,v):Ce(F,[g],v,x,J);throw new TypeError("val must be string, number or Buffer")}function Ce(F,g,v,x,J){let ie=1,fe=F.length,Rt=g.length;if(x!==void 0&&(x=String(x).toLowerCase(),x==="ucs2"||x==="ucs-2"||x==="utf16le"||x==="utf-16le")){if(F.length<2||g.length<2)return-1;ie=2,fe/=2,Rt/=2,v/=2}function kn(qn,On){return ie===1?qn[On]:qn.readUInt16BE(On*ie)}let Dn;if(J){let qn=-1;for(Dn=v;Dnfe&&(v=fe-Rt),Dn=v;Dn>=0;Dn--){let qn=!0;for(let On=0;OnJ&&(x=J)):x=J;let ie=g.length;x>ie/2&&(x=ie/2);let fe;for(fe=0;fe>>0,isFinite(x)?(x=x>>>0,J===void 0&&(J="utf8")):(J=x,x=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let ie=this.length-v;if((x===void 0||x>ie)&&(x=ie),g.length>0&&(x<0||v<0)||v>this.length)throw new RangeError("Attempt to write outside buffer bounds");J||(J="utf8");let fe=!1;for(;;)switch(J){case"hex":return ht(this,g,v,x);case"utf8":case"utf-8":return xt(this,g,v,x);case"ascii":case"latin1":case"binary":return B(this,g,v,x);case"base64":return he(this,g,v,x);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return nt(this,g,v,x);default:if(fe)throw new TypeError("Unknown encoding: "+J);J=(""+J).toLowerCase(),fe=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Ct(F,g,v){return g===0&&v===F.length?e.fromByteArray(F):e.fromByteArray(F.slice(g,v))}function sn(F,g,v){v=Math.min(F.length,v);let x=[],J=g;for(;J239?4:ie>223?3:ie>191?2:1;if(J+Rt<=v){let kn,Dn,qn,On;switch(Rt){case 1:ie<128&&(fe=ie);break;case 2:kn=F[J+1],(kn&192)===128&&(On=(ie&31)<<6|kn&63,On>127&&(fe=On));break;case 3:kn=F[J+1],Dn=F[J+2],(kn&192)===128&&(Dn&192)===128&&(On=(ie&15)<<12|(kn&63)<<6|Dn&63,On>2047&&(On<55296||On>57343)&&(fe=On));break;case 4:kn=F[J+1],Dn=F[J+2],qn=F[J+3],(kn&192)===128&&(Dn&192)===128&&(qn&192)===128&&(On=(ie&15)<<18|(kn&63)<<12|(Dn&63)<<6|qn&63,On>65535&&On<1114112&&(fe=On))}}fe===null?(fe=65533,Rt=1):fe>65535&&(fe-=65536,x.push(fe>>>10&1023|55296),fe=56320|fe&1023),x.push(fe),J+=Rt}return _n(x)}let Fn=4096;function _n(F){let g=F.length;if(g<=Fn)return String.fromCharCode.apply(String,F);let v="",x=0;for(;xx)&&(v=x);let J="";for(let ie=g;iex&&(g=x),v<0?(v+=x,v<0&&(v=0)):v>x&&(v=x),vv)throw new RangeError("Trying to access beyond buffer length")}o.prototype.readUintLE=o.prototype.readUIntLE=function(g,v,x){g=g>>>0,v=v>>>0,x||on(g,v,this.length);let J=this[g],ie=1,fe=0;for(;++fe>>0,v=v>>>0,x||on(g,v,this.length);let J=this[g+--v],ie=1;for(;v>0&&(ie*=256);)J+=this[g+--v]*ie;return J},o.prototype.readUint8=o.prototype.readUInt8=function(g,v){return g=g>>>0,v||on(g,1,this.length),this[g]},o.prototype.readUint16LE=o.prototype.readUInt16LE=function(g,v){return g=g>>>0,v||on(g,2,this.length),this[g]|this[g+1]<<8},o.prototype.readUint16BE=o.prototype.readUInt16BE=function(g,v){return g=g>>>0,v||on(g,2,this.length),this[g]<<8|this[g+1]},o.prototype.readUint32LE=o.prototype.readUInt32LE=function(g,v){return g=g>>>0,v||on(g,4,this.length),(this[g]|this[g+1]<<8|this[g+2]<<16)+this[g+3]*16777216},o.prototype.readUint32BE=o.prototype.readUInt32BE=function(g,v){return g=g>>>0,v||on(g,4,this.length),this[g]*16777216+(this[g+1]<<16|this[g+2]<<8|this[g+3])},o.prototype.readBigUInt64LE=Ao(function(g){g=g>>>0,Je(g,"offset");let v=this[g],x=this[g+7];(v===void 0||x===void 0)&&Ht(g,this.length-8);let J=v+this[++g]*Cn(2,8)+this[++g]*Cn(2,16)+this[++g]*Cn(2,24),ie=this[++g]+this[++g]*Cn(2,8)+this[++g]*Cn(2,16)+x*Cn(2,24);return BigInt(J)+(BigInt(ie)<>>0,Je(g,"offset");let v=this[g],x=this[g+7];(v===void 0||x===void 0)&&Ht(g,this.length-8);let J=v*Cn(2,24)+this[++g]*Cn(2,16)+this[++g]*Cn(2,8)+this[++g],ie=this[++g]*Cn(2,24)+this[++g]*Cn(2,16)+this[++g]*Cn(2,8)+x;return(BigInt(J)<>>0,v=v>>>0,x||on(g,v,this.length);let J=this[g],ie=1,fe=0;for(;++fe=ie&&(J-=Math.pow(2,8*v)),J},o.prototype.readIntBE=function(g,v,x){g=g>>>0,v=v>>>0,x||on(g,v,this.length);let J=v,ie=1,fe=this[g+--J];for(;J>0&&(ie*=256);)fe+=this[g+--J]*ie;return ie*=128,fe>=ie&&(fe-=Math.pow(2,8*v)),fe},o.prototype.readInt8=function(g,v){return g=g>>>0,v||on(g,1,this.length),this[g]&128?(255-this[g]+1)*-1:this[g]},o.prototype.readInt16LE=function(g,v){g=g>>>0,v||on(g,2,this.length);let x=this[g]|this[g+1]<<8;return x&32768?x|4294901760:x},o.prototype.readInt16BE=function(g,v){g=g>>>0,v||on(g,2,this.length);let x=this[g+1]|this[g]<<8;return x&32768?x|4294901760:x},o.prototype.readInt32LE=function(g,v){return g=g>>>0,v||on(g,4,this.length),this[g]|this[g+1]<<8|this[g+2]<<16|this[g+3]<<24},o.prototype.readInt32BE=function(g,v){return g=g>>>0,v||on(g,4,this.length),this[g]<<24|this[g+1]<<16|this[g+2]<<8|this[g+3]},o.prototype.readBigInt64LE=Ao(function(g){g=g>>>0,Je(g,"offset");let v=this[g],x=this[g+7];(v===void 0||x===void 0)&&Ht(g,this.length-8);let J=this[g+4]+this[g+5]*Cn(2,8)+this[g+6]*Cn(2,16)+(x<<24);return(BigInt(J)<>>0,Je(g,"offset");let v=this[g],x=this[g+7];(v===void 0||x===void 0)&&Ht(g,this.length-8);let J=(v<<24)+this[++g]*Cn(2,16)+this[++g]*Cn(2,8)+this[++g];return(BigInt(J)<>>0,v||on(g,4,this.length),t.read(this,g,!0,23,4)},o.prototype.readFloatBE=function(g,v){return g=g>>>0,v||on(g,4,this.length),t.read(this,g,!1,23,4)},o.prototype.readDoubleLE=function(g,v){return g=g>>>0,v||on(g,8,this.length),t.read(this,g,!0,52,8)},o.prototype.readDoubleBE=function(g,v){return g=g>>>0,v||on(g,8,this.length),t.read(this,g,!1,52,8)};function $n(F,g,v,x,J,ie){if(!o.isBuffer(F))throw new TypeError('"buffer" argument must be a Buffer instance');if(g>J||gF.length)throw new RangeError("Index out of range")}o.prototype.writeUintLE=o.prototype.writeUIntLE=function(g,v,x,J){if(g=+g,v=v>>>0,x=x>>>0,!J){let Rt=Math.pow(2,8*x)-1;$n(this,g,v,x,Rt,0)}let ie=1,fe=0;for(this[v]=g&255;++fe>>0,x=x>>>0,!J){let Rt=Math.pow(2,8*x)-1;$n(this,g,v,x,Rt,0)}let ie=x-1,fe=1;for(this[v+ie]=g&255;--ie>=0&&(fe*=256);)this[v+ie]=g/fe&255;return v+x},o.prototype.writeUint8=o.prototype.writeUInt8=function(g,v,x){return g=+g,v=v>>>0,x||$n(this,g,v,1,255,0),this[v]=g&255,v+1},o.prototype.writeUint16LE=o.prototype.writeUInt16LE=function(g,v,x){return g=+g,v=v>>>0,x||$n(this,g,v,2,65535,0),this[v]=g&255,this[v+1]=g>>>8,v+2},o.prototype.writeUint16BE=o.prototype.writeUInt16BE=function(g,v,x){return g=+g,v=v>>>0,x||$n(this,g,v,2,65535,0),this[v]=g>>>8,this[v+1]=g&255,v+2},o.prototype.writeUint32LE=o.prototype.writeUInt32LE=function(g,v,x){return g=+g,v=v>>>0,x||$n(this,g,v,4,4294967295,0),this[v+3]=g>>>24,this[v+2]=g>>>16,this[v+1]=g>>>8,this[v]=g&255,v+4},o.prototype.writeUint32BE=o.prototype.writeUInt32BE=function(g,v,x){return g=+g,v=v>>>0,x||$n(this,g,v,4,4294967295,0),this[v]=g>>>24,this[v+1]=g>>>16,this[v+2]=g>>>8,this[v+3]=g&255,v+4};function U(F,g,v,x,J){jt(g,x,J,F,v,7);let ie=Number(g&BigInt(4294967295));F[v++]=ie,ie=ie>>8,F[v++]=ie,ie=ie>>8,F[v++]=ie,ie=ie>>8,F[v++]=ie;let fe=Number(g>>BigInt(32)&BigInt(4294967295));return F[v++]=fe,fe=fe>>8,F[v++]=fe,fe=fe>>8,F[v++]=fe,fe=fe>>8,F[v++]=fe,v}function ae(F,g,v,x,J){jt(g,x,J,F,v,7);let ie=Number(g&BigInt(4294967295));F[v+7]=ie,ie=ie>>8,F[v+6]=ie,ie=ie>>8,F[v+5]=ie,ie=ie>>8,F[v+4]=ie;let fe=Number(g>>BigInt(32)&BigInt(4294967295));return F[v+3]=fe,fe=fe>>8,F[v+2]=fe,fe=fe>>8,F[v+1]=fe,fe=fe>>8,F[v]=fe,v+8}o.prototype.writeBigUInt64LE=Ao(function(g,v=0){return U(this,g,v,BigInt(0),BigInt("0xffffffffffffffff"))}),o.prototype.writeBigUInt64BE=Ao(function(g,v=0){return ae(this,g,v,BigInt(0),BigInt("0xffffffffffffffff"))}),o.prototype.writeIntLE=function(g,v,x,J){if(g=+g,v=v>>>0,!J){let kn=Math.pow(2,8*x-1);$n(this,g,v,x,kn-1,-kn)}let ie=0,fe=1,Rt=0;for(this[v]=g&255;++ie>0)-Rt&255;return v+x},o.prototype.writeIntBE=function(g,v,x,J){if(g=+g,v=v>>>0,!J){let kn=Math.pow(2,8*x-1);$n(this,g,v,x,kn-1,-kn)}let ie=x-1,fe=1,Rt=0;for(this[v+ie]=g&255;--ie>=0&&(fe*=256);)g<0&&Rt===0&&this[v+ie+1]!==0&&(Rt=1),this[v+ie]=(g/fe>>0)-Rt&255;return v+x},o.prototype.writeInt8=function(g,v,x){return g=+g,v=v>>>0,x||$n(this,g,v,1,127,-128),g<0&&(g=255+g+1),this[v]=g&255,v+1},o.prototype.writeInt16LE=function(g,v,x){return g=+g,v=v>>>0,x||$n(this,g,v,2,32767,-32768),this[v]=g&255,this[v+1]=g>>>8,v+2},o.prototype.writeInt16BE=function(g,v,x){return g=+g,v=v>>>0,x||$n(this,g,v,2,32767,-32768),this[v]=g>>>8,this[v+1]=g&255,v+2},o.prototype.writeInt32LE=function(g,v,x){return g=+g,v=v>>>0,x||$n(this,g,v,4,2147483647,-2147483648),this[v]=g&255,this[v+1]=g>>>8,this[v+2]=g>>>16,this[v+3]=g>>>24,v+4},o.prototype.writeInt32BE=function(g,v,x){return g=+g,v=v>>>0,x||$n(this,g,v,4,2147483647,-2147483648),g<0&&(g=4294967295+g+1),this[v]=g>>>24,this[v+1]=g>>>16,this[v+2]=g>>>8,this[v+3]=g&255,v+4},o.prototype.writeBigInt64LE=Ao(function(g,v=0){return U(this,g,v,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),o.prototype.writeBigInt64BE=Ao(function(g,v=0){return ae(this,g,v,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function te(F,g,v,x,J,ie){if(v+x>F.length)throw new RangeError("Index out of range");if(v<0)throw new RangeError("Index out of range")}function ce(F,g,v,x,J){return g=+g,v=v>>>0,J||te(F,g,v,4),t.write(F,g,v,x,23,4),v+4}o.prototype.writeFloatLE=function(g,v,x){return ce(this,g,v,!0,x)},o.prototype.writeFloatBE=function(g,v,x){return ce(this,g,v,!1,x)};function Ke(F,g,v,x,J){return g=+g,v=v>>>0,J||te(F,g,v,8),t.write(F,g,v,x,52,8),v+8}o.prototype.writeDoubleLE=function(g,v,x){return Ke(this,g,v,!0,x)},o.prototype.writeDoubleBE=function(g,v,x){return Ke(this,g,v,!1,x)},o.prototype.copy=function(g,v,x,J){if(!o.isBuffer(g))throw new TypeError("argument should be a Buffer");if(x||(x=0),!J&&J!==0&&(J=this.length),v>=g.length&&(v=g.length),v||(v=0),J>0&&J=this.length)throw new RangeError("Index out of range");if(J<0)throw new RangeError("sourceEnd out of bounds");J>this.length&&(J=this.length),g.length-v>>0,x=x===void 0?this.length:x>>>0,g||(g=0);let ie;if(typeof g=="number")for(ie=v;ieCn(2,32)?J=Ue(String(v)):typeof v=="bigint"&&(J=String(v),(v>Cn(BigInt(2),BigInt(32))||v<-Cn(BigInt(2),BigInt(32)))&&(J=Ue(J)),J+="n"),x+=` It must be ${g}. Received ${J}`,x},RangeError);function Ue(F){let g="",v=F.length,x=F[0]==="-"?1:0;for(;v>=x+4;v-=3)g=`_${F.slice(v-3,v)}${g}`;return`${F.slice(0,v)}${g}`}function Xe(F,g,v){Je(g,"offset"),(F[g]===void 0||F[g+v]===void 0)&&Ht(g,F.length-(v+1))}function jt(F,g,v,x,J,ie){if(F>v||F3?g===0||g===BigInt(0)?Rt=`>= 0${fe} and < 2${fe} ** ${(ie+1)*8}${fe}`:Rt=`>= -(2${fe} ** ${(ie+1)*8-1}${fe}) and < 2 ** ${(ie+1)*8-1}${fe}`:Rt=`>= ${g}${fe} and <= ${v}${fe}`,new G.ERR_OUT_OF_RANGE("value",Rt,F)}Xe(x,J,ie)}function Je(F,g){if(typeof F!="number")throw new G.ERR_INVALID_ARG_TYPE(g,"number",F)}function Ht(F,g,v){throw Math.floor(F)!==F?(Je(F,v),new G.ERR_OUT_OF_RANGE(v||"offset","an integer",F)):g<0?new G.ERR_BUFFER_OUT_OF_BOUNDS:new G.ERR_OUT_OF_RANGE(v||"offset",`>= ${v?1:0} and <= ${g}`,F)}let pa=/[^+/0-9A-Za-z-_]/g;function Li(F){if(F=F.split("=")[0],F=F.trim().replace(pa,""),F.length<2)return"";for(;F.length%4!==0;)F=F+"=";return F}function fa(F,g){g=g||1/0;let v,x=F.length,J=null,ie=[];for(let fe=0;fe55295&&v<57344){if(!J){if(v>56319){(g-=3)>-1&&ie.push(239,191,189);continue}else if(fe+1===x){(g-=3)>-1&&ie.push(239,191,189);continue}J=v;continue}if(v<56320){(g-=3)>-1&&ie.push(239,191,189),J=v;continue}v=(J-55296<<10|v-56320)+65536}else J&&(g-=3)>-1&&ie.push(239,191,189);if(J=null,v<128){if((g-=1)<0)break;ie.push(v)}else if(v<2048){if((g-=2)<0)break;ie.push(v>>6|192,v&63|128)}else if(v<65536){if((g-=3)<0)break;ie.push(v>>12|224,v>>6&63|128,v&63|128)}else if(v<1114112){if((g-=4)<0)break;ie.push(v>>18|240,v>>12&63|128,v>>6&63|128,v&63|128)}else throw new Error("Invalid code point")}return ie}function id(F){let g=[];for(let v=0;v>8,J=v%256,ie.push(J),ie.push(x);return ie}function Gr(F){return e.toByteArray(Li(F))}function Wi(F,g,v,x){let J;for(J=0;J=g.length||J>=F.length);++J)g[J+v]=F[J];return J}function cn(F,g){return F instanceof g||F!=null&&F.constructor!=null&&F.constructor.name!=null&&F.constructor.name===g.name}function Qr(F){return F!==F}let xc=function(){let F="0123456789abcdef",g=new Array(256);for(let v=0;v<16;++v){let x=v*16;for(let J=0;J<16;++J)g[x+J]=F[v]+F[J]}return g}();function Ao(F){return typeof BigInt=="undefined"?Cc:F}function Cc(){throw new Error("BigInt not supported")}return Yc}var _f,vk,_y,_k,Yc,bk,Jc,S,Ipe,vpe,Ok=ue(()=>{"use strict";m();T();h();_f={},vk=!1;_y={},_k=!1;Yc={},bk=!1;Jc=v6();Jc.Buffer;Jc.SlowBuffer;Jc.INSPECT_MAX_BYTES;Jc.kMaxLength;S=Jc.Buffer,Ipe=Jc.INSPECT_MAX_BYTES,vpe=Jc.kMaxLength});var T=ue(()=>{"use strict";Ok()});var Sk,Dk,Ak=ue(()=>{"use strict";m();T();h();Sk="16.9.0",Dk=Object.freeze({major:16,minor:9,patch:0,preReleaseTag:null})});function rt(e,t){if(!!!e)throw new Error(t)}var Ni=ue(()=>{"use strict";m();T();h()});function ni(e){return typeof(e==null?void 0:e.then)=="function"}var by=ue(()=>{"use strict";m();T();h()});function sr(e){return typeof e=="object"&&e!==null}var Lo=ue(()=>{"use strict";m();T();h()});function Qt(e,t){if(!!!e)throw new Error(t!=null?t:"Unexpected invariant triggered.")}var ri=ue(()=>{"use strict";m();T();h()});function tc(e,t){let n=0,r=1;for(let i of e.body.matchAll(_6)){if(typeof i.index=="number"||Qt(!1),i.index>=t)break;n=i.index+i[0].length,r+=1}return{line:r,column:t+1-n}}var _6,Oy=ue(()=>{"use strict";m();T();h();ri();_6=/\r\n|[\n\r]/g});function bf(e){return Ed(e.source,tc(e.source,e.start))}function Ed(e,t){let n=e.locationOffset.column-1,r="".padStart(n)+e.body,i=t.line-1,s=e.locationOffset.line-1,o=t.line+s,u=t.line===1?n:0,l=t.column+u,d=`${e.name}:${o}:${l} -`,p=r.split(/\r\n|[\n\r]/g),y=p[i];if(y.length>120){let N=Math.floor(l/80),I=l%80,b=[];for(let C=0;C["|",C]),["|","^".padStart(I)],["|",b[N+1]]])}return d+Rk([[`${o-1} |`,p[i-1]],[`${o} |`,y],["|","^".padStart(l)],[`${o+1} |`,p[i+1]]])}function Rk(e){let t=e.filter(([r,i])=>i!==void 0),n=Math.max(...t.map(([r])=>r.length));return t.map(([r,i])=>r.padStart(n)+(i?" "+i:"")).join(` -`)}var n_=ue(()=>{"use strict";m();T();h();Oy()});function b6(e){let t=e[0];return t==null||"kind"in t||"length"in t?{nodes:t,source:e[1],positions:e[2],path:e[3],originalError:e[4],extensions:e[5]}:t}function Fk(e){return e===void 0||e.length===0?void 0:e}function r_(e){return e.toString()}function i_(e){return e.toJSON()}var Y,st=ue(()=>{"use strict";m();T();h();Lo();Oy();n_();Y=class e extends Error{constructor(t,...n){var r,i,s;let{nodes:o,source:u,positions:l,path:d,originalError:p,extensions:y}=b6(n);super(t),this.name="GraphQLError",this.path=d!=null?d:void 0,this.originalError=p!=null?p:void 0,this.nodes=Fk(Array.isArray(o)?o:o?[o]:void 0);let N=Fk((r=this.nodes)===null||r===void 0?void 0:r.map(b=>b.loc).filter(b=>b!=null));this.source=u!=null?u:N==null||(i=N[0])===null||i===void 0?void 0:i.source,this.positions=l!=null?l:N==null?void 0:N.map(b=>b.start),this.locations=l&&u?l.map(b=>tc(u,b)):N==null?void 0:N.map(b=>tc(b.source,b.start));let I=sr(p==null?void 0:p.extensions)?p==null?void 0:p.extensions:void 0;this.extensions=(s=y!=null?y:I)!==null&&s!==void 0?s:Object.create(null),Object.defineProperties(this,{message:{writable:!0,enumerable:!0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),p!=null&&p.stack?Object.defineProperty(this,"stack",{value:p.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}get[Symbol.toStringTag](){return"GraphQLError"}toString(){let t=this.message;if(this.nodes)for(let n of this.nodes)n.loc&&(t+=` +"use strict";var shim=(()=>{var p6=Object.create;var vf=Object.defineProperty,f6=Object.defineProperties,m6=Object.getOwnPropertyDescriptor,h6=Object.getOwnPropertyDescriptors,T6=Object.getOwnPropertyNames,sP=Object.getOwnPropertySymbols,y6=Object.getPrototypeOf,oP=Object.prototype.hasOwnProperty,N6=Object.prototype.propertyIsEnumerable;var Cn=Math.pow,Wv=(e,t,n)=>t in e?vf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,k=(e,t)=>{for(var n in t||(t={}))oP.call(t,n)&&Wv(e,n,t[n]);if(sP)for(var n of sP(t))N6.call(t,n)&&Wv(e,n,t[n]);return e},K=(e,t)=>f6(e,h6(t));var ue=(e,t)=>()=>(e&&(t=e(e=0)),t);var V=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),_f=(e,t)=>{for(var n in t)vf(e,n,{get:t[n],enumerable:!0})},aP=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of T6(t))!oP.call(e,i)&&i!==n&&vf(e,i,{get:()=>t[i],enumerable:!(r=m6(t,i))||r.enumerable});return e};var Xv=(e,t,n)=>(n=e!=null?p6(y6(e)):{},aP(t||!e||!e.__esModule?vf(n,"default",{value:e,enumerable:!0}):n,e)),Me=e=>aP(vf({},"__esModule",{value:!0}),e);var A=(e,t,n)=>(Wv(e,typeof t!="symbol"?t+"":t,n),n);var yr=(e,t,n)=>new Promise((r,i)=>{var s=l=>{try{u(n.next(l))}catch(d){i(d)}},o=l=>{try{u(n.throw(l))}catch(d){i(d)}},u=l=>l.done?r(l.value):Promise.resolve(l.value).then(s,o);u((n=n.apply(e,t)).next())});var m=ue(()=>{"use strict"});var b={};_f(b,{_debugEnd:()=>zP,_debugProcess:()=>JP,_events:()=>dk,_eventsCount:()=>pk,_exiting:()=>RP,_fatalExceptions:()=>KP,_getActiveHandles:()=>PP,_getActiveRequests:()=>LP,_kill:()=>xP,_linkedBinding:()=>DP,_maxListeners:()=>lk,_preload_modules:()=>ak,_rawDebug:()=>OP,_startProfilerIdleNotifier:()=>HP,_stopProfilerIdleNotifier:()=>WP,_tickCallback:()=>YP,abort:()=>tk,addListener:()=>fk,allowedNodeEnvironmentFlags:()=>jP,arch:()=>pP,argv:()=>hP,argv0:()=>ok,assert:()=>$P,binding:()=>gP,chdir:()=>_P,config:()=>FP,cpuUsage:()=>_y,cwd:()=>vP,debugPort:()=>sk,default:()=>vk,dlopen:()=>wP,domain:()=>AP,emit:()=>Nk,emitWarning:()=>EP,env:()=>mP,execArgv:()=>TP,execPath:()=>ik,exit:()=>BP,features:()=>qP,hasUncaughtExceptionCaptureCallback:()=>QP,hrtime:()=>vy,kill:()=>MP,listeners:()=>Ik,memoryUsage:()=>UP,moduleLoadList:()=>SP,nextTick:()=>cP,off:()=>hk,on:()=>ba,once:()=>mk,openStdin:()=>VP,pid:()=>nk,platform:()=>fP,ppid:()=>rk,prependListener:()=>Ek,prependOnceListener:()=>gk,reallyExit:()=>kP,release:()=>bP,removeAllListeners:()=>yk,removeListener:()=>Tk,resourceUsage:()=>CP,setSourceMapsEnabled:()=>uk,setUncaughtExceptionCaptureCallback:()=>GP,stderr:()=>ZP,stdin:()=>ek,stdout:()=>XP,title:()=>dP,umask:()=>IP,uptime:()=>ck,version:()=>yP,versions:()=>NP});function t_(e){throw new Error("Node.js process "+e+" is not supported by JSPM core outside of Node.js")}function E6(){!gd||!Jc||(gd=!1,Jc.length?_a=Jc.concat(_a):Iy=-1,_a.length&&uP())}function uP(){if(!gd){var e=setTimeout(E6,0);gd=!0;for(var t=_a.length;t;){for(Jc=_a,_a=[];++Iy1)for(var n=1;n{"use strict";m();T();h();_a=[],gd=!1,Iy=-1;lP.prototype.run=function(){this.fun.apply(null,this.array)};dP="browser",pP="x64",fP="browser",mP={PATH:"/usr/bin",LANG:navigator.language+".UTF-8",PWD:"/",HOME:"/home",TMP:"/tmp"},hP=["/usr/bin/node"],TP=[],yP="v16.8.0",NP={},EP=function(e,t){console.warn((t?t+": ":"")+e)},gP=function(e){t_("binding")},IP=function(e){return 0},vP=function(){return"/"},_P=function(e){},bP={name:"node",sourceUrl:"",headersUrl:"",libUrl:""};OP=ti,SP=[];AP={},RP=!1,FP={};kP=ti,xP=ti,_y=function(){return{}},CP=_y,UP=_y,MP=ti,BP=ti,VP=ti,jP={};qP={inspector:!1,debug:!1,uv:!1,ipv6:!1,tls_alpn:!1,tls_sni:!1,tls_ocsp:!1,tls:!1,cached_builtins:!0},KP=ti,GP=ti;YP=ti,JP=ti,zP=ti,HP=ti,WP=ti,XP=void 0,ZP=void 0,ek=void 0,tk=ti,nk=2,rk=1,ik="/bin/usr/node",sk=9229,ok="node",ak=[],uk=ti,ec={now:typeof performance!="undefined"?performance.now.bind(performance):void 0,timing:typeof performance!="undefined"?performance.timing:void 0};ec.now===void 0&&(Zv=Date.now(),ec.timing&&ec.timing.navigationStart&&(Zv=ec.timing.navigationStart),ec.now=()=>Date.now()-Zv);e_=1e9;vy.bigint=function(e){var t=vy(e);return typeof BigInt=="undefined"?t[0]*e_+t[1]:BigInt(t[0]*e_)+BigInt(t[1])};lk=10,dk={},pk=0;fk=ba,mk=ba,hk=ba,Tk=ba,yk=ba,Nk=ti,Ek=ba,gk=ba;vk={version:yP,versions:NP,arch:pP,platform:fP,release:bP,_rawDebug:OP,moduleLoadList:SP,binding:gP,_linkedBinding:DP,_events:dk,_eventsCount:pk,_maxListeners:lk,on:ba,addListener:fk,once:mk,off:hk,removeListener:Tk,removeAllListeners:yk,emit:Nk,prependListener:Ek,prependOnceListener:gk,listeners:Ik,domain:AP,_exiting:RP,config:FP,dlopen:wP,uptime:ck,_getActiveRequests:LP,_getActiveHandles:PP,reallyExit:kP,_kill:xP,cpuUsage:_y,resourceUsage:CP,memoryUsage:UP,kill:MP,exit:BP,openStdin:VP,allowedNodeEnvironmentFlags:jP,assert:$P,features:qP,_fatalExceptions:KP,setUncaughtExceptionCaptureCallback:GP,hasUncaughtExceptionCaptureCallback:QP,emitWarning:EP,nextTick:cP,_tickCallback:YP,_debugProcess:JP,_debugEnd:zP,_startProfilerIdleNotifier:HP,_stopProfilerIdleNotifier:WP,stdout:XP,stdin:ek,stderr:ZP,abort:tk,umask:IP,chdir:_P,cwd:vP,env:mP,title:dP,argv:hP,execArgv:TP,pid:nk,ppid:rk,execPath:ik,debugPort:sk,hrtime:vy,argv0:ok,_preload_modules:ak,setSourceMapsEnabled:uk}});var h=ue(()=>{"use strict";_k()});function g6(){if(bk)return bf;bk=!0,bf.byteLength=u,bf.toByteArray=d,bf.fromByteArray=N;for(var e=[],t=[],n=typeof Uint8Array!="undefined"?Uint8Array:Array,r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i=0,s=r.length;i0)throw new Error("Invalid string. Length must be a multiple of 4");var x=I.indexOf("=");x===-1&&(x=O);var j=x===O?0:4-x%4;return[x,j]}function u(I){var O=o(I),x=O[0],j=O[1];return(x+j)*3/4-j}function l(I,O,x){return(O+x)*3/4-x}function d(I){var O,x=o(I),j=x[0],Q=x[1],re=new n(l(I,j,Q)),se=0,pe=Q>0?j-4:j,ye;for(ye=0;ye>16&255,re[se++]=O>>8&255,re[se++]=O&255;return Q===2&&(O=t[I.charCodeAt(ye)]<<2|t[I.charCodeAt(ye+1)]>>4,re[se++]=O&255),Q===1&&(O=t[I.charCodeAt(ye)]<<10|t[I.charCodeAt(ye+1)]<<4|t[I.charCodeAt(ye+2)]>>2,re[se++]=O>>8&255,re[se++]=O&255),re}function p(I){return e[I>>18&63]+e[I>>12&63]+e[I>>6&63]+e[I&63]}function y(I,O,x){for(var j,Q=[],re=O;repe?pe:se+re));return j===1?(O=I[x-1],Q.push(e[O>>2]+e[O<<4&63]+"==")):j===2&&(O=(I[x-2]<<8)+I[x-1],Q.push(e[O>>10]+e[O>>4&63]+e[O<<2&63]+"=")),Q.join("")}return bf}function I6(){if(Ok)return by;Ok=!0;return by.read=function(e,t,n,r,i){var s,o,u=i*8-r-1,l=(1<>1,p=-7,y=n?i-1:0,N=n?-1:1,I=e[t+y];for(y+=N,s=I&(1<<-p)-1,I>>=-p,p+=u;p>0;s=s*256+e[t+y],y+=N,p-=8);for(o=s&(1<<-p)-1,s>>=-p,p+=r;p>0;o=o*256+e[t+y],y+=N,p-=8);if(s===0)s=1-d;else{if(s===l)return o?NaN:(I?-1:1)*(1/0);o=o+Math.pow(2,r),s=s-d}return(I?-1:1)*o*Math.pow(2,s-r)},by.write=function(e,t,n,r,i,s){var o,u,l,d=s*8-i-1,p=(1<>1,N=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,I=r?0:s-1,O=r?1:-1,x=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(u=isNaN(t)?1:0,o=p):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),o+y>=1?t+=N/l:t+=N*Math.pow(2,1-y),t*l>=2&&(o++,l/=2),o+y>=p?(u=0,o=p):o+y>=1?(u=(t*l-1)*Math.pow(2,i),o=o+y):(u=t*Math.pow(2,y-1)*Math.pow(2,i),o=0));i>=8;e[n+I]=u&255,I+=O,u/=256,i-=8);for(o=o<0;e[n+I]=o&255,I+=O,o/=256,d-=8);e[n+I-O]|=x*128},by}function v6(){if(Sk)return zc;Sk=!0;let e=g6(),t=I6(),n=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;zc.Buffer=o,zc.SlowBuffer=Q,zc.INSPECT_MAX_BYTES=50;let r=2147483647;zc.kMaxLength=r,o.TYPED_ARRAY_SUPPORT=i(),!o.TYPED_ARRAY_SUPPORT&&typeof console!="undefined"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function i(){try{let F=new Uint8Array(1),g={foo:function(){return 42}};return Object.setPrototypeOf(g,Uint8Array.prototype),Object.setPrototypeOf(F,g),F.foo()===42}catch(F){return!1}}Object.defineProperty(o.prototype,"parent",{enumerable:!0,get:function(){if(o.isBuffer(this))return this.buffer}}),Object.defineProperty(o.prototype,"offset",{enumerable:!0,get:function(){if(o.isBuffer(this))return this.byteOffset}});function s(F){if(F>r)throw new RangeError('The value "'+F+'" is invalid for option "size"');let g=new Uint8Array(F);return Object.setPrototypeOf(g,o.prototype),g}function o(F,g,v){if(typeof F=="number"){if(typeof g=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return p(F)}return u(F,g,v)}o.poolSize=8192;function u(F,g,v){if(typeof F=="string")return y(F,g);if(ArrayBuffer.isView(F))return I(F);if(F==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof F);if(cn(F,ArrayBuffer)||F&&cn(F.buffer,ArrayBuffer)||typeof SharedArrayBuffer!="undefined"&&(cn(F,SharedArrayBuffer)||F&&cn(F.buffer,SharedArrayBuffer)))return O(F,g,v);if(typeof F=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let C=F.valueOf&&F.valueOf();if(C!=null&&C!==F)return o.from(C,g,v);let J=x(F);if(J)return J;if(typeof Symbol!="undefined"&&Symbol.toPrimitive!=null&&typeof F[Symbol.toPrimitive]=="function")return o.from(F[Symbol.toPrimitive]("string"),g,v);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof F)}o.from=function(F,g,v){return u(F,g,v)},Object.setPrototypeOf(o.prototype,Uint8Array.prototype),Object.setPrototypeOf(o,Uint8Array);function l(F){if(typeof F!="number")throw new TypeError('"size" argument must be of type number');if(F<0)throw new RangeError('The value "'+F+'" is invalid for option "size"')}function d(F,g,v){return l(F),F<=0?s(F):g!==void 0?typeof v=="string"?s(F).fill(g,v):s(F).fill(g):s(F)}o.alloc=function(F,g,v){return d(F,g,v)};function p(F){return l(F),s(F<0?0:j(F)|0)}o.allocUnsafe=function(F){return p(F)},o.allocUnsafeSlow=function(F){return p(F)};function y(F,g){if((typeof g!="string"||g==="")&&(g="utf8"),!o.isEncoding(g))throw new TypeError("Unknown encoding: "+g);let v=re(F,g)|0,C=s(v),J=C.write(F,g);return J!==v&&(C=C.slice(0,J)),C}function N(F){let g=F.length<0?0:j(F.length)|0,v=s(g);for(let C=0;C=r)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r.toString(16)+" bytes");return F|0}function Q(F){return+F!=F&&(F=0),o.alloc(+F)}o.isBuffer=function(g){return g!=null&&g._isBuffer===!0&&g!==o.prototype},o.compare=function(g,v){if(cn(g,Uint8Array)&&(g=o.from(g,g.offset,g.byteLength)),cn(v,Uint8Array)&&(v=o.from(v,v.offset,v.byteLength)),!o.isBuffer(g)||!o.isBuffer(v))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(g===v)return 0;let C=g.length,J=v.length;for(let ie=0,fe=Math.min(C,J);ieJ.length?(o.isBuffer(fe)||(fe=o.from(fe)),fe.copy(J,ie)):Uint8Array.prototype.set.call(J,fe,ie);else if(o.isBuffer(fe))fe.copy(J,ie);else throw new TypeError('"list" argument must be an Array of Buffers');ie+=fe.length}return J};function re(F,g){if(o.isBuffer(F))return F.length;if(ArrayBuffer.isView(F)||cn(F,ArrayBuffer))return F.byteLength;if(typeof F!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof F);let v=F.length,C=arguments.length>2&&arguments[2]===!0;if(!C&&v===0)return 0;let J=!1;for(;;)switch(g){case"ascii":case"latin1":case"binary":return v;case"utf8":case"utf-8":return fa(F).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return v*2;case"hex":return v>>>1;case"base64":return Gr(F).length;default:if(J)return C?-1:fa(F).length;g=(""+g).toLowerCase(),J=!0}}o.byteLength=re;function se(F,g,v){let C=!1;if((g===void 0||g<0)&&(g=0),g>this.length||((v===void 0||v>this.length)&&(v=this.length),v<=0)||(v>>>=0,g>>>=0,v<=g))return"";for(F||(F="utf8");;)switch(F){case"hex":return Xr(this,g,v);case"utf8":case"utf-8":return sn(this,g,v);case"ascii":return bn(this,g,v);case"latin1":case"binary":return mi(this,g,v);case"base64":return Ct(this,g,v);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Pn(this,g,v);default:if(C)throw new TypeError("Unknown encoding: "+F);F=(F+"").toLowerCase(),C=!0}}o.prototype._isBuffer=!0;function pe(F,g,v){let C=F[g];F[g]=F[v],F[v]=C}o.prototype.swap16=function(){let g=this.length;if(g%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let v=0;vv&&(g+=" ... "),""},n&&(o.prototype[n]=o.prototype.inspect),o.prototype.compare=function(g,v,C,J,ie){if(cn(g,Uint8Array)&&(g=o.from(g,g.offset,g.byteLength)),!o.isBuffer(g))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof g);if(v===void 0&&(v=0),C===void 0&&(C=g?g.length:0),J===void 0&&(J=0),ie===void 0&&(ie=this.length),v<0||C>g.length||J<0||ie>this.length)throw new RangeError("out of range index");if(J>=ie&&v>=C)return 0;if(J>=ie)return-1;if(v>=C)return 1;if(v>>>=0,C>>>=0,J>>>=0,ie>>>=0,this===g)return 0;let fe=ie-J,Rt=C-v,kn=Math.min(fe,Rt),Dn=this.slice(J,ie),qn=g.slice(v,C);for(let On=0;On2147483647?v=2147483647:v<-2147483648&&(v=-2147483648),v=+v,Qr(v)&&(v=J?0:F.length-1),v<0&&(v=F.length+v),v>=F.length){if(J)return-1;v=F.length-1}else if(v<0)if(J)v=0;else return-1;if(typeof g=="string"&&(g=o.from(g,C)),o.isBuffer(g))return g.length===0?-1:Ce(F,g,v,C,J);if(typeof g=="number")return g=g&255,typeof Uint8Array.prototype.indexOf=="function"?J?Uint8Array.prototype.indexOf.call(F,g,v):Uint8Array.prototype.lastIndexOf.call(F,g,v):Ce(F,[g],v,C,J);throw new TypeError("val must be string, number or Buffer")}function Ce(F,g,v,C,J){let ie=1,fe=F.length,Rt=g.length;if(C!==void 0&&(C=String(C).toLowerCase(),C==="ucs2"||C==="ucs-2"||C==="utf16le"||C==="utf-16le")){if(F.length<2||g.length<2)return-1;ie=2,fe/=2,Rt/=2,v/=2}function kn(qn,On){return ie===1?qn[On]:qn.readUInt16BE(On*ie)}let Dn;if(J){let qn=-1;for(Dn=v;Dnfe&&(v=fe-Rt),Dn=v;Dn>=0;Dn--){let qn=!0;for(let On=0;OnJ&&(C=J)):C=J;let ie=g.length;C>ie/2&&(C=ie/2);let fe;for(fe=0;fe>>0,isFinite(C)?(C=C>>>0,J===void 0&&(J="utf8")):(J=C,C=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let ie=this.length-v;if((C===void 0||C>ie)&&(C=ie),g.length>0&&(C<0||v<0)||v>this.length)throw new RangeError("Attempt to write outside buffer bounds");J||(J="utf8");let fe=!1;for(;;)switch(J){case"hex":return ht(this,g,v,C);case"utf8":case"utf-8":return xt(this,g,v,C);case"ascii":case"latin1":case"binary":return B(this,g,v,C);case"base64":return he(this,g,v,C);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return nt(this,g,v,C);default:if(fe)throw new TypeError("Unknown encoding: "+J);J=(""+J).toLowerCase(),fe=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Ct(F,g,v){return g===0&&v===F.length?e.fromByteArray(F):e.fromByteArray(F.slice(g,v))}function sn(F,g,v){v=Math.min(F.length,v);let C=[],J=g;for(;J239?4:ie>223?3:ie>191?2:1;if(J+Rt<=v){let kn,Dn,qn,On;switch(Rt){case 1:ie<128&&(fe=ie);break;case 2:kn=F[J+1],(kn&192)===128&&(On=(ie&31)<<6|kn&63,On>127&&(fe=On));break;case 3:kn=F[J+1],Dn=F[J+2],(kn&192)===128&&(Dn&192)===128&&(On=(ie&15)<<12|(kn&63)<<6|Dn&63,On>2047&&(On<55296||On>57343)&&(fe=On));break;case 4:kn=F[J+1],Dn=F[J+2],qn=F[J+3],(kn&192)===128&&(Dn&192)===128&&(qn&192)===128&&(On=(ie&15)<<18|(kn&63)<<12|(Dn&63)<<6|qn&63,On>65535&&On<1114112&&(fe=On))}}fe===null?(fe=65533,Rt=1):fe>65535&&(fe-=65536,C.push(fe>>>10&1023|55296),fe=56320|fe&1023),C.push(fe),J+=Rt}return _n(C)}let Fn=4096;function _n(F){let g=F.length;if(g<=Fn)return String.fromCharCode.apply(String,F);let v="",C=0;for(;CC)&&(v=C);let J="";for(let ie=g;ieC&&(g=C),v<0?(v+=C,v<0&&(v=0)):v>C&&(v=C),vv)throw new RangeError("Trying to access beyond buffer length")}o.prototype.readUintLE=o.prototype.readUIntLE=function(g,v,C){g=g>>>0,v=v>>>0,C||on(g,v,this.length);let J=this[g],ie=1,fe=0;for(;++fe>>0,v=v>>>0,C||on(g,v,this.length);let J=this[g+--v],ie=1;for(;v>0&&(ie*=256);)J+=this[g+--v]*ie;return J},o.prototype.readUint8=o.prototype.readUInt8=function(g,v){return g=g>>>0,v||on(g,1,this.length),this[g]},o.prototype.readUint16LE=o.prototype.readUInt16LE=function(g,v){return g=g>>>0,v||on(g,2,this.length),this[g]|this[g+1]<<8},o.prototype.readUint16BE=o.prototype.readUInt16BE=function(g,v){return g=g>>>0,v||on(g,2,this.length),this[g]<<8|this[g+1]},o.prototype.readUint32LE=o.prototype.readUInt32LE=function(g,v){return g=g>>>0,v||on(g,4,this.length),(this[g]|this[g+1]<<8|this[g+2]<<16)+this[g+3]*16777216},o.prototype.readUint32BE=o.prototype.readUInt32BE=function(g,v){return g=g>>>0,v||on(g,4,this.length),this[g]*16777216+(this[g+1]<<16|this[g+2]<<8|this[g+3])},o.prototype.readBigUInt64LE=Ao(function(g){g=g>>>0,Je(g,"offset");let v=this[g],C=this[g+7];(v===void 0||C===void 0)&&Ht(g,this.length-8);let J=v+this[++g]*Cn(2,8)+this[++g]*Cn(2,16)+this[++g]*Cn(2,24),ie=this[++g]+this[++g]*Cn(2,8)+this[++g]*Cn(2,16)+C*Cn(2,24);return BigInt(J)+(BigInt(ie)<>>0,Je(g,"offset");let v=this[g],C=this[g+7];(v===void 0||C===void 0)&&Ht(g,this.length-8);let J=v*Cn(2,24)+this[++g]*Cn(2,16)+this[++g]*Cn(2,8)+this[++g],ie=this[++g]*Cn(2,24)+this[++g]*Cn(2,16)+this[++g]*Cn(2,8)+C;return(BigInt(J)<>>0,v=v>>>0,C||on(g,v,this.length);let J=this[g],ie=1,fe=0;for(;++fe=ie&&(J-=Math.pow(2,8*v)),J},o.prototype.readIntBE=function(g,v,C){g=g>>>0,v=v>>>0,C||on(g,v,this.length);let J=v,ie=1,fe=this[g+--J];for(;J>0&&(ie*=256);)fe+=this[g+--J]*ie;return ie*=128,fe>=ie&&(fe-=Math.pow(2,8*v)),fe},o.prototype.readInt8=function(g,v){return g=g>>>0,v||on(g,1,this.length),this[g]&128?(255-this[g]+1)*-1:this[g]},o.prototype.readInt16LE=function(g,v){g=g>>>0,v||on(g,2,this.length);let C=this[g]|this[g+1]<<8;return C&32768?C|4294901760:C},o.prototype.readInt16BE=function(g,v){g=g>>>0,v||on(g,2,this.length);let C=this[g+1]|this[g]<<8;return C&32768?C|4294901760:C},o.prototype.readInt32LE=function(g,v){return g=g>>>0,v||on(g,4,this.length),this[g]|this[g+1]<<8|this[g+2]<<16|this[g+3]<<24},o.prototype.readInt32BE=function(g,v){return g=g>>>0,v||on(g,4,this.length),this[g]<<24|this[g+1]<<16|this[g+2]<<8|this[g+3]},o.prototype.readBigInt64LE=Ao(function(g){g=g>>>0,Je(g,"offset");let v=this[g],C=this[g+7];(v===void 0||C===void 0)&&Ht(g,this.length-8);let J=this[g+4]+this[g+5]*Cn(2,8)+this[g+6]*Cn(2,16)+(C<<24);return(BigInt(J)<>>0,Je(g,"offset");let v=this[g],C=this[g+7];(v===void 0||C===void 0)&&Ht(g,this.length-8);let J=(v<<24)+this[++g]*Cn(2,16)+this[++g]*Cn(2,8)+this[++g];return(BigInt(J)<>>0,v||on(g,4,this.length),t.read(this,g,!0,23,4)},o.prototype.readFloatBE=function(g,v){return g=g>>>0,v||on(g,4,this.length),t.read(this,g,!1,23,4)},o.prototype.readDoubleLE=function(g,v){return g=g>>>0,v||on(g,8,this.length),t.read(this,g,!0,52,8)},o.prototype.readDoubleBE=function(g,v){return g=g>>>0,v||on(g,8,this.length),t.read(this,g,!1,52,8)};function $n(F,g,v,C,J,ie){if(!o.isBuffer(F))throw new TypeError('"buffer" argument must be a Buffer instance');if(g>J||gF.length)throw new RangeError("Index out of range")}o.prototype.writeUintLE=o.prototype.writeUIntLE=function(g,v,C,J){if(g=+g,v=v>>>0,C=C>>>0,!J){let Rt=Math.pow(2,8*C)-1;$n(this,g,v,C,Rt,0)}let ie=1,fe=0;for(this[v]=g&255;++fe>>0,C=C>>>0,!J){let Rt=Math.pow(2,8*C)-1;$n(this,g,v,C,Rt,0)}let ie=C-1,fe=1;for(this[v+ie]=g&255;--ie>=0&&(fe*=256);)this[v+ie]=g/fe&255;return v+C},o.prototype.writeUint8=o.prototype.writeUInt8=function(g,v,C){return g=+g,v=v>>>0,C||$n(this,g,v,1,255,0),this[v]=g&255,v+1},o.prototype.writeUint16LE=o.prototype.writeUInt16LE=function(g,v,C){return g=+g,v=v>>>0,C||$n(this,g,v,2,65535,0),this[v]=g&255,this[v+1]=g>>>8,v+2},o.prototype.writeUint16BE=o.prototype.writeUInt16BE=function(g,v,C){return g=+g,v=v>>>0,C||$n(this,g,v,2,65535,0),this[v]=g>>>8,this[v+1]=g&255,v+2},o.prototype.writeUint32LE=o.prototype.writeUInt32LE=function(g,v,C){return g=+g,v=v>>>0,C||$n(this,g,v,4,4294967295,0),this[v+3]=g>>>24,this[v+2]=g>>>16,this[v+1]=g>>>8,this[v]=g&255,v+4},o.prototype.writeUint32BE=o.prototype.writeUInt32BE=function(g,v,C){return g=+g,v=v>>>0,C||$n(this,g,v,4,4294967295,0),this[v]=g>>>24,this[v+1]=g>>>16,this[v+2]=g>>>8,this[v+3]=g&255,v+4};function U(F,g,v,C,J){$t(g,C,J,F,v,7);let ie=Number(g&BigInt(4294967295));F[v++]=ie,ie=ie>>8,F[v++]=ie,ie=ie>>8,F[v++]=ie,ie=ie>>8,F[v++]=ie;let fe=Number(g>>BigInt(32)&BigInt(4294967295));return F[v++]=fe,fe=fe>>8,F[v++]=fe,fe=fe>>8,F[v++]=fe,fe=fe>>8,F[v++]=fe,v}function ae(F,g,v,C,J){$t(g,C,J,F,v,7);let ie=Number(g&BigInt(4294967295));F[v+7]=ie,ie=ie>>8,F[v+6]=ie,ie=ie>>8,F[v+5]=ie,ie=ie>>8,F[v+4]=ie;let fe=Number(g>>BigInt(32)&BigInt(4294967295));return F[v+3]=fe,fe=fe>>8,F[v+2]=fe,fe=fe>>8,F[v+1]=fe,fe=fe>>8,F[v]=fe,v+8}o.prototype.writeBigUInt64LE=Ao(function(g,v=0){return U(this,g,v,BigInt(0),BigInt("0xffffffffffffffff"))}),o.prototype.writeBigUInt64BE=Ao(function(g,v=0){return ae(this,g,v,BigInt(0),BigInt("0xffffffffffffffff"))}),o.prototype.writeIntLE=function(g,v,C,J){if(g=+g,v=v>>>0,!J){let kn=Math.pow(2,8*C-1);$n(this,g,v,C,kn-1,-kn)}let ie=0,fe=1,Rt=0;for(this[v]=g&255;++ie>0)-Rt&255;return v+C},o.prototype.writeIntBE=function(g,v,C,J){if(g=+g,v=v>>>0,!J){let kn=Math.pow(2,8*C-1);$n(this,g,v,C,kn-1,-kn)}let ie=C-1,fe=1,Rt=0;for(this[v+ie]=g&255;--ie>=0&&(fe*=256);)g<0&&Rt===0&&this[v+ie+1]!==0&&(Rt=1),this[v+ie]=(g/fe>>0)-Rt&255;return v+C},o.prototype.writeInt8=function(g,v,C){return g=+g,v=v>>>0,C||$n(this,g,v,1,127,-128),g<0&&(g=255+g+1),this[v]=g&255,v+1},o.prototype.writeInt16LE=function(g,v,C){return g=+g,v=v>>>0,C||$n(this,g,v,2,32767,-32768),this[v]=g&255,this[v+1]=g>>>8,v+2},o.prototype.writeInt16BE=function(g,v,C){return g=+g,v=v>>>0,C||$n(this,g,v,2,32767,-32768),this[v]=g>>>8,this[v+1]=g&255,v+2},o.prototype.writeInt32LE=function(g,v,C){return g=+g,v=v>>>0,C||$n(this,g,v,4,2147483647,-2147483648),this[v]=g&255,this[v+1]=g>>>8,this[v+2]=g>>>16,this[v+3]=g>>>24,v+4},o.prototype.writeInt32BE=function(g,v,C){return g=+g,v=v>>>0,C||$n(this,g,v,4,2147483647,-2147483648),g<0&&(g=4294967295+g+1),this[v]=g>>>24,this[v+1]=g>>>16,this[v+2]=g>>>8,this[v+3]=g&255,v+4},o.prototype.writeBigInt64LE=Ao(function(g,v=0){return U(this,g,v,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),o.prototype.writeBigInt64BE=Ao(function(g,v=0){return ae(this,g,v,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function te(F,g,v,C,J,ie){if(v+C>F.length)throw new RangeError("Index out of range");if(v<0)throw new RangeError("Index out of range")}function ce(F,g,v,C,J){return g=+g,v=v>>>0,J||te(F,g,v,4),t.write(F,g,v,C,23,4),v+4}o.prototype.writeFloatLE=function(g,v,C){return ce(this,g,v,!0,C)},o.prototype.writeFloatBE=function(g,v,C){return ce(this,g,v,!1,C)};function Ke(F,g,v,C,J){return g=+g,v=v>>>0,J||te(F,g,v,8),t.write(F,g,v,C,52,8),v+8}o.prototype.writeDoubleLE=function(g,v,C){return Ke(this,g,v,!0,C)},o.prototype.writeDoubleBE=function(g,v,C){return Ke(this,g,v,!1,C)},o.prototype.copy=function(g,v,C,J){if(!o.isBuffer(g))throw new TypeError("argument should be a Buffer");if(C||(C=0),!J&&J!==0&&(J=this.length),v>=g.length&&(v=g.length),v||(v=0),J>0&&J=this.length)throw new RangeError("Index out of range");if(J<0)throw new RangeError("sourceEnd out of bounds");J>this.length&&(J=this.length),g.length-v>>0,C=C===void 0?this.length:C>>>0,g||(g=0);let ie;if(typeof g=="number")for(ie=v;ieCn(2,32)?J=Ue(String(v)):typeof v=="bigint"&&(J=String(v),(v>Cn(BigInt(2),BigInt(32))||v<-Cn(BigInt(2),BigInt(32)))&&(J=Ue(J)),J+="n"),C+=` It must be ${g}. Received ${J}`,C},RangeError);function Ue(F){let g="",v=F.length,C=F[0]==="-"?1:0;for(;v>=C+4;v-=3)g=`_${F.slice(v-3,v)}${g}`;return`${F.slice(0,v)}${g}`}function Xe(F,g,v){Je(g,"offset"),(F[g]===void 0||F[g+v]===void 0)&&Ht(g,F.length-(v+1))}function $t(F,g,v,C,J,ie){if(F>v||F3?g===0||g===BigInt(0)?Rt=`>= 0${fe} and < 2${fe} ** ${(ie+1)*8}${fe}`:Rt=`>= -(2${fe} ** ${(ie+1)*8-1}${fe}) and < 2 ** ${(ie+1)*8-1}${fe}`:Rt=`>= ${g}${fe} and <= ${v}${fe}`,new G.ERR_OUT_OF_RANGE("value",Rt,F)}Xe(C,J,ie)}function Je(F,g){if(typeof F!="number")throw new G.ERR_INVALID_ARG_TYPE(g,"number",F)}function Ht(F,g,v){throw Math.floor(F)!==F?(Je(F,v),new G.ERR_OUT_OF_RANGE(v||"offset","an integer",F)):g<0?new G.ERR_BUFFER_OUT_OF_BOUNDS:new G.ERR_OUT_OF_RANGE(v||"offset",`>= ${v?1:0} and <= ${g}`,F)}let pa=/[^+/0-9A-Za-z-_]/g;function Li(F){if(F=F.split("=")[0],F=F.trim().replace(pa,""),F.length<2)return"";for(;F.length%4!==0;)F=F+"=";return F}function fa(F,g){g=g||1/0;let v,C=F.length,J=null,ie=[];for(let fe=0;fe55295&&v<57344){if(!J){if(v>56319){(g-=3)>-1&&ie.push(239,191,189);continue}else if(fe+1===C){(g-=3)>-1&&ie.push(239,191,189);continue}J=v;continue}if(v<56320){(g-=3)>-1&&ie.push(239,191,189),J=v;continue}v=(J-55296<<10|v-56320)+65536}else J&&(g-=3)>-1&&ie.push(239,191,189);if(J=null,v<128){if((g-=1)<0)break;ie.push(v)}else if(v<2048){if((g-=2)<0)break;ie.push(v>>6|192,v&63|128)}else if(v<65536){if((g-=3)<0)break;ie.push(v>>12|224,v>>6&63|128,v&63|128)}else if(v<1114112){if((g-=4)<0)break;ie.push(v>>18|240,v>>12&63|128,v>>6&63|128,v&63|128)}else throw new Error("Invalid code point")}return ie}function od(F){let g=[];for(let v=0;v>8,J=v%256,ie.push(J),ie.push(C);return ie}function Gr(F){return e.toByteArray(Li(F))}function Wi(F,g,v,C){let J;for(J=0;J=g.length||J>=F.length);++J)g[J+v]=F[J];return J}function cn(F,g){return F instanceof g||F!=null&&F.constructor!=null&&F.constructor.name!=null&&F.constructor.name===g.name}function Qr(F){return F!==F}let Uc=function(){let F="0123456789abcdef",g=new Array(256);for(let v=0;v<16;++v){let C=v*16;for(let J=0;J<16;++J)g[C+J]=F[v]+F[J]}return g}();function Ao(F){return typeof BigInt=="undefined"?Mc:F}function Mc(){throw new Error("BigInt not supported")}return zc}var bf,bk,by,Ok,zc,Sk,Hc,S,bpe,Ope,Dk=ue(()=>{"use strict";m();T();h();bf={},bk=!1;by={},Ok=!1;zc={},Sk=!1;Hc=v6();Hc.Buffer;Hc.SlowBuffer;Hc.INSPECT_MAX_BYTES;Hc.kMaxLength;S=Hc.Buffer,bpe=Hc.INSPECT_MAX_BYTES,Ope=Hc.kMaxLength});var T=ue(()=>{"use strict";Dk()});var Ak,Rk,Fk=ue(()=>{"use strict";m();T();h();Ak="16.9.0",Rk=Object.freeze({major:16,minor:9,patch:0,preReleaseTag:null})});function rt(e,t){if(!!!e)throw new Error(t)}var Ni=ue(()=>{"use strict";m();T();h()});function ni(e){return typeof(e==null?void 0:e.then)=="function"}var Oy=ue(()=>{"use strict";m();T();h()});function sr(e){return typeof e=="object"&&e!==null}var Lo=ue(()=>{"use strict";m();T();h()});function Qt(e,t){if(!!!e)throw new Error(t!=null?t:"Unexpected invariant triggered.")}var ri=ue(()=>{"use strict";m();T();h()});function tc(e,t){let n=0,r=1;for(let i of e.body.matchAll(_6)){if(typeof i.index=="number"||Qt(!1),i.index>=t)break;n=i.index+i[0].length,r+=1}return{line:r,column:t+1-n}}var _6,Sy=ue(()=>{"use strict";m();T();h();ri();_6=/\r\n|[\n\r]/g});function Of(e){return Id(e.source,tc(e.source,e.start))}function Id(e,t){let n=e.locationOffset.column-1,r="".padStart(n)+e.body,i=t.line-1,s=e.locationOffset.line-1,o=t.line+s,u=t.line===1?n:0,l=t.column+u,d=`${e.name}:${o}:${l} +`,p=r.split(/\r\n|[\n\r]/g),y=p[i];if(y.length>120){let N=Math.floor(l/80),I=l%80,O=[];for(let x=0;x["|",x]),["|","^".padStart(I)],["|",O[N+1]]])}return d+wk([[`${o-1} |`,p[i-1]],[`${o} |`,y],["|","^".padStart(l)],[`${o+1} |`,p[i+1]]])}function wk(e){let t=e.filter(([r,i])=>i!==void 0),n=Math.max(...t.map(([r])=>r.length));return t.map(([r,i])=>r.padStart(n)+(i?" "+i:"")).join(` +`)}var n_=ue(()=>{"use strict";m();T();h();Sy()});function b6(e){let t=e[0];return t==null||"kind"in t||"length"in t?{nodes:t,source:e[1],positions:e[2],path:e[3],originalError:e[4],extensions:e[5]}:t}function Lk(e){return e===void 0||e.length===0?void 0:e}function r_(e){return e.toString()}function i_(e){return e.toJSON()}var Y,ot=ue(()=>{"use strict";m();T();h();Lo();Sy();n_();Y=class e extends Error{constructor(t,...n){var r,i,s;let{nodes:o,source:u,positions:l,path:d,originalError:p,extensions:y}=b6(n);super(t),this.name="GraphQLError",this.path=d!=null?d:void 0,this.originalError=p!=null?p:void 0,this.nodes=Lk(Array.isArray(o)?o:o?[o]:void 0);let N=Lk((r=this.nodes)===null||r===void 0?void 0:r.map(O=>O.loc).filter(O=>O!=null));this.source=u!=null?u:N==null||(i=N[0])===null||i===void 0?void 0:i.source,this.positions=l!=null?l:N==null?void 0:N.map(O=>O.start),this.locations=l&&u?l.map(O=>tc(u,O)):N==null?void 0:N.map(O=>tc(O.source,O.start));let I=sr(p==null?void 0:p.extensions)?p==null?void 0:p.extensions:void 0;this.extensions=(s=y!=null?y:I)!==null&&s!==void 0?s:Object.create(null),Object.defineProperties(this,{message:{writable:!0,enumerable:!0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),p!=null&&p.stack?Object.defineProperty(this,"stack",{value:p.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}get[Symbol.toStringTag](){return"GraphQLError"}toString(){let t=this.message;if(this.nodes)for(let n of this.nodes)n.loc&&(t+=` -`+bf(n.loc));else if(this.source&&this.locations)for(let n of this.locations)t+=` +`+Of(n.loc));else if(this.source&&this.locations)for(let n of this.locations)t+=` -`+Ed(this.source,n);return t}toJSON(){let t={message:this.message};return this.locations!=null&&(t.locations=this.locations),this.path!=null&&(t.path=this.path),this.extensions!=null&&Object.keys(this.extensions).length>0&&(t.extensions=this.extensions),t}}});function er(e,t,n){return new Y(`Syntax Error: ${n}`,{source:e,positions:[t]})}var Sy=ue(()=>{"use strict";m();T();h();st()});function Of(e){let t=e==null?void 0:e.kind;return typeof t=="string"&&O6.has(t)}var zc,nc,s_,O6,Un,Po=ue(()=>{"use strict";m();T();h();zc=class{constructor(t,n,r){this.start=t.start,this.end=n.end,this.startToken=t,this.endToken=n,this.source=r}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}},nc=class{constructor(t,n,r,i,s,o){this.kind=t,this.start=n,this.end=r,this.line=i,this.column=s,this.value=o,this.prev=null,this.next=null}get[Symbol.toStringTag](){return"Token"}toJSON(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}},s_={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:["description","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","interfaces","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","interfaces","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"]},O6=new Set(Object.keys(s_));(function(e){e.QUERY="query",e.MUTATION="mutation",e.SUBSCRIPTION="subscription"})(Un||(Un={}))});var He,gd=ue(()=>{"use strict";m();T();h();(function(e){e.QUERY="QUERY",e.MUTATION="MUTATION",e.SUBSCRIPTION="SUBSCRIPTION",e.FIELD="FIELD",e.FRAGMENT_DEFINITION="FRAGMENT_DEFINITION",e.FRAGMENT_SPREAD="FRAGMENT_SPREAD",e.INLINE_FRAGMENT="INLINE_FRAGMENT",e.VARIABLE_DEFINITION="VARIABLE_DEFINITION",e.SCHEMA="SCHEMA",e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.FIELD_DEFINITION="FIELD_DEFINITION",e.ARGUMENT_DEFINITION="ARGUMENT_DEFINITION",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.ENUM_VALUE="ENUM_VALUE",e.INPUT_OBJECT="INPUT_OBJECT",e.INPUT_FIELD_DEFINITION="INPUT_FIELD_DEFINITION"})(He||(He={}))});var R,Xt=ue(()=>{"use strict";m();T();h();(function(e){e.NAME="Name",e.DOCUMENT="Document",e.OPERATION_DEFINITION="OperationDefinition",e.VARIABLE_DEFINITION="VariableDefinition",e.SELECTION_SET="SelectionSet",e.FIELD="Field",e.ARGUMENT="Argument",e.FRAGMENT_SPREAD="FragmentSpread",e.INLINE_FRAGMENT="InlineFragment",e.FRAGMENT_DEFINITION="FragmentDefinition",e.VARIABLE="Variable",e.INT="IntValue",e.FLOAT="FloatValue",e.STRING="StringValue",e.BOOLEAN="BooleanValue",e.NULL="NullValue",e.ENUM="EnumValue",e.LIST="ListValue",e.OBJECT="ObjectValue",e.OBJECT_FIELD="ObjectField",e.DIRECTIVE="Directive",e.NAMED_TYPE="NamedType",e.LIST_TYPE="ListType",e.NON_NULL_TYPE="NonNullType",e.SCHEMA_DEFINITION="SchemaDefinition",e.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",e.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",e.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",e.FIELD_DEFINITION="FieldDefinition",e.INPUT_VALUE_DEFINITION="InputValueDefinition",e.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",e.UNION_TYPE_DEFINITION="UnionTypeDefinition",e.ENUM_TYPE_DEFINITION="EnumTypeDefinition",e.ENUM_VALUE_DEFINITION="EnumValueDefinition",e.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",e.DIRECTIVE_DEFINITION="DirectiveDefinition",e.SCHEMA_EXTENSION="SchemaExtension",e.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",e.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",e.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",e.UNION_TYPE_EXTENSION="UnionTypeExtension",e.ENUM_TYPE_EXTENSION="EnumTypeExtension",e.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension"})(R||(R={}))});function Dy(e){return e===9||e===32}function Id(e){return e>=48&&e<=57}function wk(e){return e>=97&&e<=122||e>=65&&e<=90}function Sf(e){return wk(e)||e===95}function Ay(e){return wk(e)||Id(e)||e===95}var Ry=ue(()=>{"use strict";m();T();h()});function Lk(e){var t;let n=Number.MAX_SAFE_INTEGER,r=null,i=-1;for(let o=0;ou===0?o:o.slice(n)).slice((t=r)!==null&&t!==void 0?t:0,i+1)}function S6(e){let t=0;for(;t1&&r.slice(1).every(I=>I.length===0||Dy(I.charCodeAt(0))),o=n.endsWith('\\"""'),u=e.endsWith('"')&&!o,l=e.endsWith("\\"),d=u||l,p=!(t!=null&&t.minimize)&&(!i||e.length>70||d||s||o),y="",N=i&&Dy(e.charCodeAt(0));return(p&&!N||s)&&(y+=` +`+Id(this.source,n);return t}toJSON(){let t={message:this.message};return this.locations!=null&&(t.locations=this.locations),this.path!=null&&(t.path=this.path),this.extensions!=null&&Object.keys(this.extensions).length>0&&(t.extensions=this.extensions),t}}});function er(e,t,n){return new Y(`Syntax Error: ${n}`,{source:e,positions:[t]})}var Dy=ue(()=>{"use strict";m();T();h();ot()});function Sf(e){let t=e==null?void 0:e.kind;return typeof t=="string"&&O6.has(t)}var Wc,nc,s_,O6,Un,Po=ue(()=>{"use strict";m();T();h();Wc=class{constructor(t,n,r){this.start=t.start,this.end=n.end,this.startToken=t,this.endToken=n,this.source=r}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}},nc=class{constructor(t,n,r,i,s,o){this.kind=t,this.start=n,this.end=r,this.line=i,this.column=s,this.value=o,this.prev=null,this.next=null}get[Symbol.toStringTag](){return"Token"}toJSON(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}},s_={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:["description","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","interfaces","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","interfaces","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"]},O6=new Set(Object.keys(s_));(function(e){e.QUERY="query",e.MUTATION="mutation",e.SUBSCRIPTION="subscription"})(Un||(Un={}))});var He,vd=ue(()=>{"use strict";m();T();h();(function(e){e.QUERY="QUERY",e.MUTATION="MUTATION",e.SUBSCRIPTION="SUBSCRIPTION",e.FIELD="FIELD",e.FRAGMENT_DEFINITION="FRAGMENT_DEFINITION",e.FRAGMENT_SPREAD="FRAGMENT_SPREAD",e.INLINE_FRAGMENT="INLINE_FRAGMENT",e.VARIABLE_DEFINITION="VARIABLE_DEFINITION",e.SCHEMA="SCHEMA",e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.FIELD_DEFINITION="FIELD_DEFINITION",e.ARGUMENT_DEFINITION="ARGUMENT_DEFINITION",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.ENUM_VALUE="ENUM_VALUE",e.INPUT_OBJECT="INPUT_OBJECT",e.INPUT_FIELD_DEFINITION="INPUT_FIELD_DEFINITION"})(He||(He={}))});var R,Xt=ue(()=>{"use strict";m();T();h();(function(e){e.NAME="Name",e.DOCUMENT="Document",e.OPERATION_DEFINITION="OperationDefinition",e.VARIABLE_DEFINITION="VariableDefinition",e.SELECTION_SET="SelectionSet",e.FIELD="Field",e.ARGUMENT="Argument",e.FRAGMENT_SPREAD="FragmentSpread",e.INLINE_FRAGMENT="InlineFragment",e.FRAGMENT_DEFINITION="FragmentDefinition",e.VARIABLE="Variable",e.INT="IntValue",e.FLOAT="FloatValue",e.STRING="StringValue",e.BOOLEAN="BooleanValue",e.NULL="NullValue",e.ENUM="EnumValue",e.LIST="ListValue",e.OBJECT="ObjectValue",e.OBJECT_FIELD="ObjectField",e.DIRECTIVE="Directive",e.NAMED_TYPE="NamedType",e.LIST_TYPE="ListType",e.NON_NULL_TYPE="NonNullType",e.SCHEMA_DEFINITION="SchemaDefinition",e.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",e.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",e.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",e.FIELD_DEFINITION="FieldDefinition",e.INPUT_VALUE_DEFINITION="InputValueDefinition",e.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",e.UNION_TYPE_DEFINITION="UnionTypeDefinition",e.ENUM_TYPE_DEFINITION="EnumTypeDefinition",e.ENUM_VALUE_DEFINITION="EnumValueDefinition",e.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",e.DIRECTIVE_DEFINITION="DirectiveDefinition",e.SCHEMA_EXTENSION="SchemaExtension",e.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",e.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",e.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",e.UNION_TYPE_EXTENSION="UnionTypeExtension",e.ENUM_TYPE_EXTENSION="EnumTypeExtension",e.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension"})(R||(R={}))});function Ay(e){return e===9||e===32}function _d(e){return e>=48&&e<=57}function Pk(e){return e>=97&&e<=122||e>=65&&e<=90}function Df(e){return Pk(e)||e===95}function Ry(e){return Pk(e)||_d(e)||e===95}var Fy=ue(()=>{"use strict";m();T();h()});function kk(e){var t;let n=Number.MAX_SAFE_INTEGER,r=null,i=-1;for(let o=0;ou===0?o:o.slice(n)).slice((t=r)!==null&&t!==void 0?t:0,i+1)}function S6(e){let t=0;for(;t1&&r.slice(1).every(I=>I.length===0||Ay(I.charCodeAt(0))),o=n.endsWith('\\"""'),u=e.endsWith('"')&&!o,l=e.endsWith("\\"),d=u||l,p=!(t!=null&&t.minimize)&&(!i||e.length>70||d||s||o),y="",N=i&&Ay(e.charCodeAt(0));return(p&&!N||s)&&(y+=` `),y+=n,(p||d)&&(y+=` -`),'"""'+y+'"""'}var Df=ue(()=>{"use strict";m();T();h();Ry()});var le,Af=ue(()=>{"use strict";m();T();h();(function(e){e.SOF="",e.EOF="",e.BANG="!",e.DOLLAR="$",e.AMP="&",e.PAREN_L="(",e.PAREN_R=")",e.SPREAD="...",e.COLON=":",e.EQUALS="=",e.AT="@",e.BRACKET_L="[",e.BRACKET_R="]",e.BRACE_L="{",e.PIPE="|",e.BRACE_R="}",e.NAME="Name",e.INT="Int",e.FLOAT="Float",e.STRING="String",e.BLOCK_STRING="BlockString",e.COMMENT="Comment"})(le||(le={}))});function wy(e){return e===le.BANG||e===le.DOLLAR||e===le.AMP||e===le.PAREN_L||e===le.PAREN_R||e===le.SPREAD||e===le.COLON||e===le.EQUALS||e===le.AT||e===le.BRACKET_L||e===le.BRACKET_R||e===le.BRACE_L||e===le.PIPE||e===le.BRACE_R}function vd(e){return e>=0&&e<=55295||e>=57344&&e<=1114111}function Ly(e,t){return xk(e.charCodeAt(t))&&Ck(e.charCodeAt(t+1))}function xk(e){return e>=55296&&e<=56319}function Ck(e){return e>=56320&&e<=57343}function Hc(e,t){let n=e.source.body.codePointAt(t);if(n===void 0)return le.EOF;if(n>=32&&n<=126){let r=String.fromCodePoint(n);return r==='"'?`'"'`:`"${r}"`}return"U+"+n.toString(16).toUpperCase().padStart(4,"0")}function vr(e,t,n,r,i){let s=e.line,o=1+n-e.lineStart;return new nc(t,n,r,s,o,i)}function D6(e,t){let n=e.source.body,r=n.length,i=t;for(;i=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}function P6(e,t){let n=e.source.body;switch(n.charCodeAt(t+1)){case 34:return{value:'"',size:2};case 92:return{value:"\\",size:2};case 47:return{value:"/",size:2};case 98:return{value:"\b",size:2};case 102:return{value:"\f",size:2};case 110:return{value:` -`,size:2};case 114:return{value:"\r",size:2};case 116:return{value:" ",size:2}}throw er(e.source,t,`Invalid character escape sequence: "${n.slice(t,t+2)}".`)}function k6(e,t){let n=e.source.body,r=n.length,i=e.lineStart,s=t+3,o=s,u="",l=[];for(;s{"use strict";m();T();h();Sy();Po();Df();Ry();Af();Oa=class{constructor(t){let n=new nc(le.SOF,0,0,0,0);this.source=t,this.lastToken=n,this.token=n,this.line=1,this.lineStart=0}get[Symbol.toStringTag](){return"Lexer"}advance(){return this.lastToken=this.token,this.token=this.lookahead()}lookahead(){let t=this.token;if(t.kind!==le.EOF)do if(t.next)t=t.next;else{let n=D6(this,t.end);t.next=n,n.prev=t,t=n}while(t.kind===le.COMMENT);return t}}});function ne(e){return ky(e,[])}function ky(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return C6(e,t);default:return String(e)}}function C6(e,t){if(e===null)return"null";if(t.includes(e))return"[Circular]";let n=[...t,e];if(U6(e)){let r=e.toJSON();if(r!==e)return typeof r=="string"?r:ky(r,n)}else if(Array.isArray(e))return B6(e,n);return M6(e,n)}function U6(e){return typeof e.toJSON=="function"}function M6(e,t){let n=Object.entries(e);return n.length===0?"{}":t.length>2?"["+V6(e)+"]":"{ "+n.map(([i,s])=>i+": "+ky(s,t)).join(", ")+" }"}function B6(e,t){if(e.length===0)return"[]";if(t.length>2)return"[Array]";let n=Math.min(10,e.length),r=e.length-n,i=[];for(let s=0;s1&&i.push(`... ${r} more items`),"["+i.join(", ")+"]"}function V6(e){let t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if(t==="Object"&&typeof e.constructor=="function"){let n=e.constructor.name;if(typeof n=="string"&&n!=="")return n}return t}var Nn=ue(()=>{"use strict";m();T();h()});var j6,Ei,Ff=ue(()=>{"use strict";m();T();h();Nn();j6=globalThis.process&&O.env.NODE_ENV==="production",Ei=j6?function(t,n){return t instanceof n}:function(t,n){if(t instanceof n)return!0;if(typeof t=="object"&&t!==null){var r;let i=n.prototype[Symbol.toStringTag],s=Symbol.toStringTag in t?t[Symbol.toStringTag]:(r=t.constructor)===null||r===void 0?void 0:r.name;if(i===s){let o=ne(t);throw new Error(`Cannot use ${i} "${o}" from another module or realm. +`),'"""'+y+'"""'}var Af=ue(()=>{"use strict";m();T();h();Fy()});var le,Rf=ue(()=>{"use strict";m();T();h();(function(e){e.SOF="",e.EOF="",e.BANG="!",e.DOLLAR="$",e.AMP="&",e.PAREN_L="(",e.PAREN_R=")",e.SPREAD="...",e.COLON=":",e.EQUALS="=",e.AT="@",e.BRACKET_L="[",e.BRACKET_R="]",e.BRACE_L="{",e.PIPE="|",e.BRACE_R="}",e.NAME="Name",e.INT="Int",e.FLOAT="Float",e.STRING="String",e.BLOCK_STRING="BlockString",e.COMMENT="Comment"})(le||(le={}))});function Ly(e){return e===le.BANG||e===le.DOLLAR||e===le.AMP||e===le.PAREN_L||e===le.PAREN_R||e===le.SPREAD||e===le.COLON||e===le.EQUALS||e===le.AT||e===le.BRACKET_L||e===le.BRACKET_R||e===le.BRACE_L||e===le.PIPE||e===le.BRACE_R}function bd(e){return e>=0&&e<=55295||e>=57344&&e<=1114111}function Py(e,t){return Uk(e.charCodeAt(t))&&Mk(e.charCodeAt(t+1))}function Uk(e){return e>=55296&&e<=56319}function Mk(e){return e>=56320&&e<=57343}function Xc(e,t){let n=e.source.body.codePointAt(t);if(n===void 0)return le.EOF;if(n>=32&&n<=126){let r=String.fromCodePoint(n);return r==='"'?`'"'`:`"${r}"`}return"U+"+n.toString(16).toUpperCase().padStart(4,"0")}function vr(e,t,n,r,i){let s=e.line,o=1+n-e.lineStart;return new nc(t,n,r,s,o,i)}function D6(e,t){let n=e.source.body,r=n.length,i=t;for(;i=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}function P6(e,t){let n=e.source.body;switch(n.charCodeAt(t+1)){case 34:return{value:'"',size:2};case 92:return{value:"\\",size:2};case 47:return{value:"/",size:2};case 98:return{value:"\b",size:2};case 102:return{value:"\f",size:2};case 110:return{value:` +`,size:2};case 114:return{value:"\r",size:2};case 116:return{value:" ",size:2}}throw er(e.source,t,`Invalid character escape sequence: "${n.slice(t,t+2)}".`)}function k6(e,t){let n=e.source.body,r=n.length,i=e.lineStart,s=t+3,o=s,u="",l=[];for(;s{"use strict";m();T();h();Dy();Po();Af();Fy();Rf();Oa=class{constructor(t){let n=new nc(le.SOF,0,0,0,0);this.source=t,this.lastToken=n,this.token=n,this.line=1,this.lineStart=0}get[Symbol.toStringTag](){return"Lexer"}advance(){return this.lastToken=this.token,this.token=this.lookahead()}lookahead(){let t=this.token;if(t.kind!==le.EOF)do if(t.next)t=t.next;else{let n=D6(this,t.end);t.next=n,n.prev=t,t=n}while(t.kind===le.COMMENT);return t}}});function ne(e){return xy(e,[])}function xy(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return C6(e,t);default:return String(e)}}function C6(e,t){if(e===null)return"null";if(t.includes(e))return"[Circular]";let n=[...t,e];if(U6(e)){let r=e.toJSON();if(r!==e)return typeof r=="string"?r:xy(r,n)}else if(Array.isArray(e))return B6(e,n);return M6(e,n)}function U6(e){return typeof e.toJSON=="function"}function M6(e,t){let n=Object.entries(e);return n.length===0?"{}":t.length>2?"["+V6(e)+"]":"{ "+n.map(([i,s])=>i+": "+xy(s,t)).join(", ")+" }"}function B6(e,t){if(e.length===0)return"[]";if(t.length>2)return"[Array]";let n=Math.min(10,e.length),r=e.length-n,i=[];for(let s=0;s1&&i.push(`... ${r} more items`),"["+i.join(", ")+"]"}function V6(e){let t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if(t==="Object"&&typeof e.constructor=="function"){let n=e.constructor.name;if(typeof n=="string"&&n!=="")return n}return t}var Nn=ue(()=>{"use strict";m();T();h()});var j6,Ei,wf=ue(()=>{"use strict";m();T();h();Nn();j6=globalThis.process&&b.env.NODE_ENV==="production",Ei=j6?function(t,n){return t instanceof n}:function(t,n){if(t instanceof n)return!0;if(typeof t=="object"&&t!==null){var r;let i=n.prototype[Symbol.toStringTag],s=Symbol.toStringTag in t?t[Symbol.toStringTag]:(r=t.constructor)===null||r===void 0?void 0:r.name;if(i===s){let o=ne(t);throw new Error(`Cannot use ${i} "${o}" from another module or realm. Ensure that there is only one instance of "graphql" in the node_modules directory. If different versions of "graphql" are the dependencies of other @@ -32,22 +32,22 @@ https://yarnpkg.com/en/docs/selective-version-resolutions Duplicate "graphql" modules cannot be used at the same time since different versions may have different capabilities and behavior. The data from one version used in the function from another could produce confusing and -spurious results.`)}}return!1}});function xy(e){return Ei(e,ko)}var ko,Cy=ue(()=>{"use strict";m();T();h();Ni();Nn();Ff();ko=class{constructor(t,n="GraphQL request",r={line:1,column:1}){typeof t=="string"||rt(!1,`Body must be a string. Received: ${ne(t)}.`),this.body=t,this.name=n,this.locationOffset=r,this.locationOffset.line>0||rt(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||rt(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}}});function io(e,t){return new _d(e,t).parseDocument()}function wf(e,t){let n=new _d(e,t);n.expectToken(le.SOF);let r=n.parseValueLiteral(!1);return n.expectToken(le.EOF),r}function a_(e,t){let n=new _d(e,t);n.expectToken(le.SOF);let r=n.parseConstValueLiteral();return n.expectToken(le.EOF),r}function u_(e,t){let n=new _d(e,t);n.expectToken(le.SOF);let r=n.parseTypeReference();return n.expectToken(le.EOF),r}function Uy(e){let t=e.value;return Uk(e.kind)+(t!=null?` "${t}"`:"")}function Uk(e){return wy(e)?`"${e}"`:e}var _d,bd=ue(()=>{"use strict";m();T();h();Sy();Po();gd();Xt();Py();Cy();Af();_d=class{constructor(t,n={}){let r=xy(t)?t:new ko(t);this._lexer=new Oa(r),this._options=n,this._tokenCounter=0}parseName(){let t=this.expectToken(le.NAME);return this.node(t,{kind:R.NAME,value:t.value})}parseDocument(){return this.node(this._lexer.token,{kind:R.DOCUMENT,definitions:this.many(le.SOF,this.parseDefinition,le.EOF)})}parseDefinition(){if(this.peek(le.BRACE_L))return this.parseOperationDefinition();let t=this.peekDescription(),n=t?this._lexer.lookahead():this._lexer.token;if(n.kind===le.NAME){switch(n.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()}if(t)throw er(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(n.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(n)}parseOperationDefinition(){let t=this._lexer.token;if(this.peek(le.BRACE_L))return this.node(t,{kind:R.OPERATION_DEFINITION,operation:Un.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});let n=this.parseOperationType(),r;return this.peek(le.NAME)&&(r=this.parseName()),this.node(t,{kind:R.OPERATION_DEFINITION,operation:n,name:r,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){let t=this.expectToken(le.NAME);switch(t.value){case"query":return Un.QUERY;case"mutation":return Un.MUTATION;case"subscription":return Un.SUBSCRIPTION}throw this.unexpected(t)}parseVariableDefinitions(){return this.optionalMany(le.PAREN_L,this.parseVariableDefinition,le.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:R.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(le.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(le.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let t=this._lexer.token;return this.expectToken(le.DOLLAR),this.node(t,{kind:R.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:R.SELECTION_SET,selections:this.many(le.BRACE_L,this.parseSelection,le.BRACE_R)})}parseSelection(){return this.peek(le.SPREAD)?this.parseFragment():this.parseField()}parseField(){let t=this._lexer.token,n=this.parseName(),r,i;return this.expectOptionalToken(le.COLON)?(r=n,i=this.parseName()):i=n,this.node(t,{kind:R.FIELD,alias:r,name:i,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(le.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(t){let n=t?this.parseConstArgument:this.parseArgument;return this.optionalMany(le.PAREN_L,n,le.PAREN_R)}parseArgument(t=!1){let n=this._lexer.token,r=this.parseName();return this.expectToken(le.COLON),this.node(n,{kind:R.ARGUMENT,name:r,value:this.parseValueLiteral(t)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){let t=this._lexer.token;this.expectToken(le.SPREAD);let n=this.expectOptionalKeyword("on");return!n&&this.peek(le.NAME)?this.node(t,{kind:R.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(t,{kind:R.INLINE_FRAGMENT,typeCondition:n?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){let t=this._lexer.token;return this.expectKeyword("fragment"),this._options.allowLegacyFragmentVariables===!0?this.node(t,{kind:R.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(t,{kind:R.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if(this._lexer.token.value==="on")throw this.unexpected();return this.parseName()}parseValueLiteral(t){let n=this._lexer.token;switch(n.kind){case le.BRACKET_L:return this.parseList(t);case le.BRACE_L:return this.parseObject(t);case le.INT:return this.advanceLexer(),this.node(n,{kind:R.INT,value:n.value});case le.FLOAT:return this.advanceLexer(),this.node(n,{kind:R.FLOAT,value:n.value});case le.STRING:case le.BLOCK_STRING:return this.parseStringLiteral();case le.NAME:switch(this.advanceLexer(),n.value){case"true":return this.node(n,{kind:R.BOOLEAN,value:!0});case"false":return this.node(n,{kind:R.BOOLEAN,value:!1});case"null":return this.node(n,{kind:R.NULL});default:return this.node(n,{kind:R.ENUM,value:n.value})}case le.DOLLAR:if(t)if(this.expectToken(le.DOLLAR),this._lexer.token.kind===le.NAME){let r=this._lexer.token.value;throw er(this._lexer.source,n.start,`Unexpected variable "$${r}" in constant value.`)}else throw this.unexpected(n);return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){let t=this._lexer.token;return this.advanceLexer(),this.node(t,{kind:R.STRING,value:t.value,block:t.kind===le.BLOCK_STRING})}parseList(t){let n=()=>this.parseValueLiteral(t);return this.node(this._lexer.token,{kind:R.LIST,values:this.any(le.BRACKET_L,n,le.BRACKET_R)})}parseObject(t){let n=()=>this.parseObjectField(t);return this.node(this._lexer.token,{kind:R.OBJECT,fields:this.any(le.BRACE_L,n,le.BRACE_R)})}parseObjectField(t){let n=this._lexer.token,r=this.parseName();return this.expectToken(le.COLON),this.node(n,{kind:R.OBJECT_FIELD,name:r,value:this.parseValueLiteral(t)})}parseDirectives(t){let n=[];for(;this.peek(le.AT);)n.push(this.parseDirective(t));return n}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(t){let n=this._lexer.token;return this.expectToken(le.AT),this.node(n,{kind:R.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(t)})}parseTypeReference(){let t=this._lexer.token,n;if(this.expectOptionalToken(le.BRACKET_L)){let r=this.parseTypeReference();this.expectToken(le.BRACKET_R),n=this.node(t,{kind:R.LIST_TYPE,type:r})}else n=this.parseNamedType();return this.expectOptionalToken(le.BANG)?this.node(t,{kind:R.NON_NULL_TYPE,type:n}):n}parseNamedType(){return this.node(this._lexer.token,{kind:R.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(le.STRING)||this.peek(le.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){let t=this._lexer.token,n=this.parseDescription();this.expectKeyword("schema");let r=this.parseConstDirectives(),i=this.many(le.BRACE_L,this.parseOperationTypeDefinition,le.BRACE_R);return this.node(t,{kind:R.SCHEMA_DEFINITION,description:n,directives:r,operationTypes:i})}parseOperationTypeDefinition(){let t=this._lexer.token,n=this.parseOperationType();this.expectToken(le.COLON);let r=this.parseNamedType();return this.node(t,{kind:R.OPERATION_TYPE_DEFINITION,operation:n,type:r})}parseScalarTypeDefinition(){let t=this._lexer.token,n=this.parseDescription();this.expectKeyword("scalar");let r=this.parseName(),i=this.parseConstDirectives();return this.node(t,{kind:R.SCALAR_TYPE_DEFINITION,description:n,name:r,directives:i})}parseObjectTypeDefinition(){let t=this._lexer.token,n=this.parseDescription();this.expectKeyword("type");let r=this.parseName(),i=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),o=this.parseFieldsDefinition();return this.node(t,{kind:R.OBJECT_TYPE_DEFINITION,description:n,name:r,interfaces:i,directives:s,fields:o})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(le.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(le.BRACE_L,this.parseFieldDefinition,le.BRACE_R)}parseFieldDefinition(){let t=this._lexer.token,n=this.parseDescription(),r=this.parseName(),i=this.parseArgumentDefs();this.expectToken(le.COLON);let s=this.parseTypeReference(),o=this.parseConstDirectives();return this.node(t,{kind:R.FIELD_DEFINITION,description:n,name:r,arguments:i,type:s,directives:o})}parseArgumentDefs(){return this.optionalMany(le.PAREN_L,this.parseInputValueDef,le.PAREN_R)}parseInputValueDef(){let t=this._lexer.token,n=this.parseDescription(),r=this.parseName();this.expectToken(le.COLON);let i=this.parseTypeReference(),s;this.expectOptionalToken(le.EQUALS)&&(s=this.parseConstValueLiteral());let o=this.parseConstDirectives();return this.node(t,{kind:R.INPUT_VALUE_DEFINITION,description:n,name:r,type:i,defaultValue:s,directives:o})}parseInterfaceTypeDefinition(){let t=this._lexer.token,n=this.parseDescription();this.expectKeyword("interface");let r=this.parseName(),i=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),o=this.parseFieldsDefinition();return this.node(t,{kind:R.INTERFACE_TYPE_DEFINITION,description:n,name:r,interfaces:i,directives:s,fields:o})}parseUnionTypeDefinition(){let t=this._lexer.token,n=this.parseDescription();this.expectKeyword("union");let r=this.parseName(),i=this.parseConstDirectives(),s=this.parseUnionMemberTypes();return this.node(t,{kind:R.UNION_TYPE_DEFINITION,description:n,name:r,directives:i,types:s})}parseUnionMemberTypes(){return this.expectOptionalToken(le.EQUALS)?this.delimitedMany(le.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){let t=this._lexer.token,n=this.parseDescription();this.expectKeyword("enum");let r=this.parseName(),i=this.parseConstDirectives(),s=this.parseEnumValuesDefinition();return this.node(t,{kind:R.ENUM_TYPE_DEFINITION,description:n,name:r,directives:i,values:s})}parseEnumValuesDefinition(){return this.optionalMany(le.BRACE_L,this.parseEnumValueDefinition,le.BRACE_R)}parseEnumValueDefinition(){let t=this._lexer.token,n=this.parseDescription(),r=this.parseEnumValueName(),i=this.parseConstDirectives();return this.node(t,{kind:R.ENUM_VALUE_DEFINITION,description:n,name:r,directives:i})}parseEnumValueName(){if(this._lexer.token.value==="true"||this._lexer.token.value==="false"||this._lexer.token.value==="null")throw er(this._lexer.source,this._lexer.token.start,`${Uy(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){let t=this._lexer.token,n=this.parseDescription();this.expectKeyword("input");let r=this.parseName(),i=this.parseConstDirectives(),s=this.parseInputFieldsDefinition();return this.node(t,{kind:R.INPUT_OBJECT_TYPE_DEFINITION,description:n,name:r,directives:i,fields:s})}parseInputFieldsDefinition(){return this.optionalMany(le.BRACE_L,this.parseInputValueDef,le.BRACE_R)}parseTypeSystemExtension(){let t=this._lexer.lookahead();if(t.kind===le.NAME)switch(t.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(t)}parseSchemaExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");let n=this.parseConstDirectives(),r=this.optionalMany(le.BRACE_L,this.parseOperationTypeDefinition,le.BRACE_R);if(n.length===0&&r.length===0)throw this.unexpected();return this.node(t,{kind:R.SCHEMA_EXTENSION,directives:n,operationTypes:r})}parseScalarTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");let n=this.parseName(),r=this.parseConstDirectives();if(r.length===0)throw this.unexpected();return this.node(t,{kind:R.SCALAR_TYPE_EXTENSION,name:n,directives:r})}parseObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");let n=this.parseName(),r=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(r.length===0&&i.length===0&&s.length===0)throw this.unexpected();return this.node(t,{kind:R.OBJECT_TYPE_EXTENSION,name:n,interfaces:r,directives:i,fields:s})}parseInterfaceTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");let n=this.parseName(),r=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(r.length===0&&i.length===0&&s.length===0)throw this.unexpected();return this.node(t,{kind:R.INTERFACE_TYPE_EXTENSION,name:n,interfaces:r,directives:i,fields:s})}parseUnionTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");let n=this.parseName(),r=this.parseConstDirectives(),i=this.parseUnionMemberTypes();if(r.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:R.UNION_TYPE_EXTENSION,name:n,directives:r,types:i})}parseEnumTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");let n=this.parseName(),r=this.parseConstDirectives(),i=this.parseEnumValuesDefinition();if(r.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:R.ENUM_TYPE_EXTENSION,name:n,directives:r,values:i})}parseInputObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");let n=this.parseName(),r=this.parseConstDirectives(),i=this.parseInputFieldsDefinition();if(r.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:R.INPUT_OBJECT_TYPE_EXTENSION,name:n,directives:r,fields:i})}parseDirectiveDefinition(){let t=this._lexer.token,n=this.parseDescription();this.expectKeyword("directive"),this.expectToken(le.AT);let r=this.parseName(),i=this.parseArgumentDefs(),s=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");let o=this.parseDirectiveLocations();return this.node(t,{kind:R.DIRECTIVE_DEFINITION,description:n,name:r,arguments:i,repeatable:s,locations:o})}parseDirectiveLocations(){return this.delimitedMany(le.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){let t=this._lexer.token,n=this.parseName();if(Object.prototype.hasOwnProperty.call(He,n.value))return n;throw this.unexpected(t)}node(t,n){return this._options.noLocation!==!0&&(n.loc=new zc(t,this._lexer.lastToken,this._lexer.source)),n}peek(t){return this._lexer.token.kind===t}expectToken(t){let n=this._lexer.token;if(n.kind===t)return this.advanceLexer(),n;throw er(this._lexer.source,n.start,`Expected ${Uk(t)}, found ${Uy(n)}.`)}expectOptionalToken(t){return this._lexer.token.kind===t?(this.advanceLexer(),!0):!1}expectKeyword(t){let n=this._lexer.token;if(n.kind===le.NAME&&n.value===t)this.advanceLexer();else throw er(this._lexer.source,n.start,`Expected "${t}", found ${Uy(n)}.`)}expectOptionalKeyword(t){let n=this._lexer.token;return n.kind===le.NAME&&n.value===t?(this.advanceLexer(),!0):!1}unexpected(t){let n=t!=null?t:this._lexer.token;return er(this._lexer.source,n.start,`Unexpected ${Uy(n)}.`)}any(t,n,r){this.expectToken(t);let i=[];for(;!this.expectOptionalToken(r);)i.push(n.call(this));return i}optionalMany(t,n,r){if(this.expectOptionalToken(t)){let i=[];do i.push(n.call(this));while(!this.expectOptionalToken(r));return i}return[]}many(t,n,r){this.expectToken(t);let i=[];do i.push(n.call(this));while(!this.expectOptionalToken(r));return i}delimitedMany(t,n){this.expectOptionalToken(t);let r=[];do r.push(n.call(this));while(this.expectOptionalToken(t));return r}advanceLexer(){let{maxTokens:t}=this._options,n=this._lexer.advance();if(t!==void 0&&n.kind!==le.EOF&&(++this._tokenCounter,this._tokenCounter>t))throw er(this._lexer.source,n.start,`Document contains more that ${t} tokens. Parsing aborted.`)}}});function ii(e,t){let[n,r]=t?[e,t]:[void 0,e],i=" Did you mean ";n&&(i+=n+" ");let s=r.map(l=>`"${l}"`);switch(s.length){case 0:return"";case 1:return i+s[0]+"?";case 2:return i+s[0]+" or "+s[1]+"?"}let o=s.slice(0,5),u=o.pop();return i+o.join(", ")+", or "+u+"?"}var rc=ue(()=>{"use strict";m();T();h()});function c_(e){return e}var Mk=ue(()=>{"use strict";m();T();h()});function si(e,t){let n=Object.create(null);for(let r of e)n[t(r)]=r;return n}var ic=ue(()=>{"use strict";m();T();h()});function Ss(e,t,n){let r=Object.create(null);for(let i of e)r[t(i)]=n(i);return r}var Lf=ue(()=>{"use strict";m();T();h()});function so(e,t){let n=Object.create(null);for(let r of Object.keys(e))n[r]=t(e[r],r);return n}var l_=ue(()=>{"use strict";m();T();h()});function Sa(e,t){let n=0,r=0;for(;n0);let u=0;do++r,u=u*10+s-d_,s=t.charCodeAt(r);while(My(s)&&u>0);if(ou)return 1}else{if(is)return 1;++n,++r}}return e.length-t.length}function My(e){return!isNaN(e)&&d_<=e&&e<=$6}var d_,$6,Pf=ue(()=>{"use strict";m();T();h();d_=48,$6=57});function gi(e,t){let n=Object.create(null),r=new p_(e),i=Math.floor(e.length*.4)+1;for(let s of t){let o=r.measure(s,i);o!==void 0&&(n[s]=o)}return Object.keys(n).sort((s,o)=>{let u=n[s]-n[o];return u!==0?u:Sa(s,o)})}function Bk(e){let t=e.length,n=new Array(t);for(let r=0;r{"use strict";m();T();h();Pf();p_=class{constructor(t){this._input=t,this._inputLowerCase=t.toLowerCase(),this._inputArray=Bk(this._inputLowerCase),this._rows=[new Array(t.length+1).fill(0),new Array(t.length+1).fill(0),new Array(t.length+1).fill(0)]}measure(t,n){if(this._input===t)return 0;let r=t.toLowerCase();if(this._inputLowerCase===r)return 1;let i=Bk(r),s=this._inputArray;if(i.lengthn)return;let l=this._rows;for(let p=0;p<=u;p++)l[0][p]=p;for(let p=1;p<=o;p++){let y=l[(p-1)%3],N=l[p%3],I=N[0]=p;for(let b=1;b<=u;b++){let C=i[p-1]===s[b-1]?0:1,j=Math.min(y[b]+1,N[b-1]+1,y[b-1]+C);if(p>1&&b>1&&i[p-1]===s[b-2]&&i[p-2]===s[b-1]){let Q=l[(p-2)%3][b-2];j=Math.min(j,Q+1)}jn)return}let d=l[o%3][u];return d<=n?d:void 0}}});function Ii(e){if(e==null)return Object.create(null);if(Object.getPrototypeOf(e)===null)return e;let t=Object.create(null);for(let[n,r]of Object.entries(e))t[n]=r;return t}var By=ue(()=>{"use strict";m();T();h()});function Vk(e){return`"${e.replace(q6,K6)}"`}function K6(e){return G6[e.charCodeAt(0)]}var q6,G6,jk=ue(()=>{"use strict";m();T();h();q6=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;G6=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F","","",'\\"',"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\\\","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\u007F","\\u0080","\\u0081","\\u0082","\\u0083","\\u0084","\\u0085","\\u0086","\\u0087","\\u0088","\\u0089","\\u008A","\\u008B","\\u008C","\\u008D","\\u008E","\\u008F","\\u0090","\\u0091","\\u0092","\\u0093","\\u0094","\\u0095","\\u0096","\\u0097","\\u0098","\\u0099","\\u009A","\\u009B","\\u009C","\\u009D","\\u009E","\\u009F"]});function Ds(e,t,n=s_){let r=new Map;for(let Q of Object.values(R))r.set(Q,Da(t,Q));let i,s=Array.isArray(e),o=[e],u=-1,l=[],d=e,p,y,N=[],I=[];do{u++;let Q=u===o.length,re=Q&&l.length!==0;if(Q){if(p=I.length===0?void 0:N[N.length-1],d=y,y=I.pop(),re)if(s){d=d.slice();let pe=0;for(let[ye,Ce]of l){let ht=ye-pe;Ce===null?(d.splice(ht,1),pe++):d[ht]=Ce}}else{d=Object.defineProperties({},Object.getOwnPropertyDescriptors(d));for(let[pe,ye]of l)d[pe]=ye}u=i.index,o=i.keys,l=i.edits,s=i.inArray,i=i.prev}else if(y){if(p=s?u:o[u],d=y[p],d==null)continue;N.push(p)}let se;if(!Array.isArray(d)){var b,C;Of(d)||rt(!1,`Invalid AST Node: ${ne(d)}.`);let pe=Q?(b=r.get(d.kind))===null||b===void 0?void 0:b.leave:(C=r.get(d.kind))===null||C===void 0?void 0:C.enter;if(se=pe==null?void 0:pe.call(t,d,p,y,N,I),se===oc)break;if(se===!1){if(!Q){N.pop();continue}}else if(se!==void 0&&(l.push([p,se]),!Q))if(Of(se))d=se;else{N.pop();continue}}if(se===void 0&&re&&l.push([p,d]),Q)N.pop();else{var j;i={inArray:s,index:u,keys:o,edits:l,prev:i},s=Array.isArray(d),o=s?d:(j=n[d.kind])!==null&&j!==void 0?j:[],u=-1,l=[],y&&I.push(y),y=d}}while(i!==void 0);return l.length!==0?l[l.length-1][1]:e}function Od(e){let t=new Array(e.length).fill(null),n=Object.create(null);for(let r of Object.values(R)){let i=!1,s=new Array(e.length).fill(void 0),o=new Array(e.length).fill(void 0);for(let l=0;l{"use strict";m();T();h();Ni();Nn();Po();Xt();oc=Object.freeze({})});function Ft(e){return Ds(e,Y6)}function Ge(e,t=""){var n;return(n=e==null?void 0:e.filter(r=>r).join(t))!==null&&n!==void 0?n:""}function oo(e){return Yt(`{ -`,Vy(Ge(e,` +spurious results.`)}}return!1}});function Cy(e){return Ei(e,ko)}var ko,Uy=ue(()=>{"use strict";m();T();h();Ni();Nn();wf();ko=class{constructor(t,n="GraphQL request",r={line:1,column:1}){typeof t=="string"||rt(!1,`Body must be a string. Received: ${ne(t)}.`),this.body=t,this.name=n,this.locationOffset=r,this.locationOffset.line>0||rt(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||rt(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}}});function io(e,t){return new Od(e,t).parseDocument()}function Lf(e,t){let n=new Od(e,t);n.expectToken(le.SOF);let r=n.parseValueLiteral(!1);return n.expectToken(le.EOF),r}function a_(e,t){let n=new Od(e,t);n.expectToken(le.SOF);let r=n.parseConstValueLiteral();return n.expectToken(le.EOF),r}function u_(e,t){let n=new Od(e,t);n.expectToken(le.SOF);let r=n.parseTypeReference();return n.expectToken(le.EOF),r}function My(e){let t=e.value;return Bk(e.kind)+(t!=null?` "${t}"`:"")}function Bk(e){return Ly(e)?`"${e}"`:e}var Od,Sd=ue(()=>{"use strict";m();T();h();Dy();Po();vd();Xt();ky();Uy();Rf();Od=class{constructor(t,n={}){let r=Cy(t)?t:new ko(t);this._lexer=new Oa(r),this._options=n,this._tokenCounter=0}parseName(){let t=this.expectToken(le.NAME);return this.node(t,{kind:R.NAME,value:t.value})}parseDocument(){return this.node(this._lexer.token,{kind:R.DOCUMENT,definitions:this.many(le.SOF,this.parseDefinition,le.EOF)})}parseDefinition(){if(this.peek(le.BRACE_L))return this.parseOperationDefinition();let t=this.peekDescription(),n=t?this._lexer.lookahead():this._lexer.token;if(n.kind===le.NAME){switch(n.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()}if(t)throw er(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(n.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(n)}parseOperationDefinition(){let t=this._lexer.token;if(this.peek(le.BRACE_L))return this.node(t,{kind:R.OPERATION_DEFINITION,operation:Un.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});let n=this.parseOperationType(),r;return this.peek(le.NAME)&&(r=this.parseName()),this.node(t,{kind:R.OPERATION_DEFINITION,operation:n,name:r,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){let t=this.expectToken(le.NAME);switch(t.value){case"query":return Un.QUERY;case"mutation":return Un.MUTATION;case"subscription":return Un.SUBSCRIPTION}throw this.unexpected(t)}parseVariableDefinitions(){return this.optionalMany(le.PAREN_L,this.parseVariableDefinition,le.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:R.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(le.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(le.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let t=this._lexer.token;return this.expectToken(le.DOLLAR),this.node(t,{kind:R.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:R.SELECTION_SET,selections:this.many(le.BRACE_L,this.parseSelection,le.BRACE_R)})}parseSelection(){return this.peek(le.SPREAD)?this.parseFragment():this.parseField()}parseField(){let t=this._lexer.token,n=this.parseName(),r,i;return this.expectOptionalToken(le.COLON)?(r=n,i=this.parseName()):i=n,this.node(t,{kind:R.FIELD,alias:r,name:i,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(le.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(t){let n=t?this.parseConstArgument:this.parseArgument;return this.optionalMany(le.PAREN_L,n,le.PAREN_R)}parseArgument(t=!1){let n=this._lexer.token,r=this.parseName();return this.expectToken(le.COLON),this.node(n,{kind:R.ARGUMENT,name:r,value:this.parseValueLiteral(t)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){let t=this._lexer.token;this.expectToken(le.SPREAD);let n=this.expectOptionalKeyword("on");return!n&&this.peek(le.NAME)?this.node(t,{kind:R.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(t,{kind:R.INLINE_FRAGMENT,typeCondition:n?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){let t=this._lexer.token;return this.expectKeyword("fragment"),this._options.allowLegacyFragmentVariables===!0?this.node(t,{kind:R.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(t,{kind:R.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if(this._lexer.token.value==="on")throw this.unexpected();return this.parseName()}parseValueLiteral(t){let n=this._lexer.token;switch(n.kind){case le.BRACKET_L:return this.parseList(t);case le.BRACE_L:return this.parseObject(t);case le.INT:return this.advanceLexer(),this.node(n,{kind:R.INT,value:n.value});case le.FLOAT:return this.advanceLexer(),this.node(n,{kind:R.FLOAT,value:n.value});case le.STRING:case le.BLOCK_STRING:return this.parseStringLiteral();case le.NAME:switch(this.advanceLexer(),n.value){case"true":return this.node(n,{kind:R.BOOLEAN,value:!0});case"false":return this.node(n,{kind:R.BOOLEAN,value:!1});case"null":return this.node(n,{kind:R.NULL});default:return this.node(n,{kind:R.ENUM,value:n.value})}case le.DOLLAR:if(t)if(this.expectToken(le.DOLLAR),this._lexer.token.kind===le.NAME){let r=this._lexer.token.value;throw er(this._lexer.source,n.start,`Unexpected variable "$${r}" in constant value.`)}else throw this.unexpected(n);return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){let t=this._lexer.token;return this.advanceLexer(),this.node(t,{kind:R.STRING,value:t.value,block:t.kind===le.BLOCK_STRING})}parseList(t){let n=()=>this.parseValueLiteral(t);return this.node(this._lexer.token,{kind:R.LIST,values:this.any(le.BRACKET_L,n,le.BRACKET_R)})}parseObject(t){let n=()=>this.parseObjectField(t);return this.node(this._lexer.token,{kind:R.OBJECT,fields:this.any(le.BRACE_L,n,le.BRACE_R)})}parseObjectField(t){let n=this._lexer.token,r=this.parseName();return this.expectToken(le.COLON),this.node(n,{kind:R.OBJECT_FIELD,name:r,value:this.parseValueLiteral(t)})}parseDirectives(t){let n=[];for(;this.peek(le.AT);)n.push(this.parseDirective(t));return n}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(t){let n=this._lexer.token;return this.expectToken(le.AT),this.node(n,{kind:R.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(t)})}parseTypeReference(){let t=this._lexer.token,n;if(this.expectOptionalToken(le.BRACKET_L)){let r=this.parseTypeReference();this.expectToken(le.BRACKET_R),n=this.node(t,{kind:R.LIST_TYPE,type:r})}else n=this.parseNamedType();return this.expectOptionalToken(le.BANG)?this.node(t,{kind:R.NON_NULL_TYPE,type:n}):n}parseNamedType(){return this.node(this._lexer.token,{kind:R.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(le.STRING)||this.peek(le.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){let t=this._lexer.token,n=this.parseDescription();this.expectKeyword("schema");let r=this.parseConstDirectives(),i=this.many(le.BRACE_L,this.parseOperationTypeDefinition,le.BRACE_R);return this.node(t,{kind:R.SCHEMA_DEFINITION,description:n,directives:r,operationTypes:i})}parseOperationTypeDefinition(){let t=this._lexer.token,n=this.parseOperationType();this.expectToken(le.COLON);let r=this.parseNamedType();return this.node(t,{kind:R.OPERATION_TYPE_DEFINITION,operation:n,type:r})}parseScalarTypeDefinition(){let t=this._lexer.token,n=this.parseDescription();this.expectKeyword("scalar");let r=this.parseName(),i=this.parseConstDirectives();return this.node(t,{kind:R.SCALAR_TYPE_DEFINITION,description:n,name:r,directives:i})}parseObjectTypeDefinition(){let t=this._lexer.token,n=this.parseDescription();this.expectKeyword("type");let r=this.parseName(),i=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),o=this.parseFieldsDefinition();return this.node(t,{kind:R.OBJECT_TYPE_DEFINITION,description:n,name:r,interfaces:i,directives:s,fields:o})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(le.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(le.BRACE_L,this.parseFieldDefinition,le.BRACE_R)}parseFieldDefinition(){let t=this._lexer.token,n=this.parseDescription(),r=this.parseName(),i=this.parseArgumentDefs();this.expectToken(le.COLON);let s=this.parseTypeReference(),o=this.parseConstDirectives();return this.node(t,{kind:R.FIELD_DEFINITION,description:n,name:r,arguments:i,type:s,directives:o})}parseArgumentDefs(){return this.optionalMany(le.PAREN_L,this.parseInputValueDef,le.PAREN_R)}parseInputValueDef(){let t=this._lexer.token,n=this.parseDescription(),r=this.parseName();this.expectToken(le.COLON);let i=this.parseTypeReference(),s;this.expectOptionalToken(le.EQUALS)&&(s=this.parseConstValueLiteral());let o=this.parseConstDirectives();return this.node(t,{kind:R.INPUT_VALUE_DEFINITION,description:n,name:r,type:i,defaultValue:s,directives:o})}parseInterfaceTypeDefinition(){let t=this._lexer.token,n=this.parseDescription();this.expectKeyword("interface");let r=this.parseName(),i=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),o=this.parseFieldsDefinition();return this.node(t,{kind:R.INTERFACE_TYPE_DEFINITION,description:n,name:r,interfaces:i,directives:s,fields:o})}parseUnionTypeDefinition(){let t=this._lexer.token,n=this.parseDescription();this.expectKeyword("union");let r=this.parseName(),i=this.parseConstDirectives(),s=this.parseUnionMemberTypes();return this.node(t,{kind:R.UNION_TYPE_DEFINITION,description:n,name:r,directives:i,types:s})}parseUnionMemberTypes(){return this.expectOptionalToken(le.EQUALS)?this.delimitedMany(le.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){let t=this._lexer.token,n=this.parseDescription();this.expectKeyword("enum");let r=this.parseName(),i=this.parseConstDirectives(),s=this.parseEnumValuesDefinition();return this.node(t,{kind:R.ENUM_TYPE_DEFINITION,description:n,name:r,directives:i,values:s})}parseEnumValuesDefinition(){return this.optionalMany(le.BRACE_L,this.parseEnumValueDefinition,le.BRACE_R)}parseEnumValueDefinition(){let t=this._lexer.token,n=this.parseDescription(),r=this.parseEnumValueName(),i=this.parseConstDirectives();return this.node(t,{kind:R.ENUM_VALUE_DEFINITION,description:n,name:r,directives:i})}parseEnumValueName(){if(this._lexer.token.value==="true"||this._lexer.token.value==="false"||this._lexer.token.value==="null")throw er(this._lexer.source,this._lexer.token.start,`${My(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){let t=this._lexer.token,n=this.parseDescription();this.expectKeyword("input");let r=this.parseName(),i=this.parseConstDirectives(),s=this.parseInputFieldsDefinition();return this.node(t,{kind:R.INPUT_OBJECT_TYPE_DEFINITION,description:n,name:r,directives:i,fields:s})}parseInputFieldsDefinition(){return this.optionalMany(le.BRACE_L,this.parseInputValueDef,le.BRACE_R)}parseTypeSystemExtension(){let t=this._lexer.lookahead();if(t.kind===le.NAME)switch(t.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(t)}parseSchemaExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");let n=this.parseConstDirectives(),r=this.optionalMany(le.BRACE_L,this.parseOperationTypeDefinition,le.BRACE_R);if(n.length===0&&r.length===0)throw this.unexpected();return this.node(t,{kind:R.SCHEMA_EXTENSION,directives:n,operationTypes:r})}parseScalarTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");let n=this.parseName(),r=this.parseConstDirectives();if(r.length===0)throw this.unexpected();return this.node(t,{kind:R.SCALAR_TYPE_EXTENSION,name:n,directives:r})}parseObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");let n=this.parseName(),r=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(r.length===0&&i.length===0&&s.length===0)throw this.unexpected();return this.node(t,{kind:R.OBJECT_TYPE_EXTENSION,name:n,interfaces:r,directives:i,fields:s})}parseInterfaceTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");let n=this.parseName(),r=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(r.length===0&&i.length===0&&s.length===0)throw this.unexpected();return this.node(t,{kind:R.INTERFACE_TYPE_EXTENSION,name:n,interfaces:r,directives:i,fields:s})}parseUnionTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");let n=this.parseName(),r=this.parseConstDirectives(),i=this.parseUnionMemberTypes();if(r.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:R.UNION_TYPE_EXTENSION,name:n,directives:r,types:i})}parseEnumTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");let n=this.parseName(),r=this.parseConstDirectives(),i=this.parseEnumValuesDefinition();if(r.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:R.ENUM_TYPE_EXTENSION,name:n,directives:r,values:i})}parseInputObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");let n=this.parseName(),r=this.parseConstDirectives(),i=this.parseInputFieldsDefinition();if(r.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:R.INPUT_OBJECT_TYPE_EXTENSION,name:n,directives:r,fields:i})}parseDirectiveDefinition(){let t=this._lexer.token,n=this.parseDescription();this.expectKeyword("directive"),this.expectToken(le.AT);let r=this.parseName(),i=this.parseArgumentDefs(),s=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");let o=this.parseDirectiveLocations();return this.node(t,{kind:R.DIRECTIVE_DEFINITION,description:n,name:r,arguments:i,repeatable:s,locations:o})}parseDirectiveLocations(){return this.delimitedMany(le.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){let t=this._lexer.token,n=this.parseName();if(Object.prototype.hasOwnProperty.call(He,n.value))return n;throw this.unexpected(t)}node(t,n){return this._options.noLocation!==!0&&(n.loc=new Wc(t,this._lexer.lastToken,this._lexer.source)),n}peek(t){return this._lexer.token.kind===t}expectToken(t){let n=this._lexer.token;if(n.kind===t)return this.advanceLexer(),n;throw er(this._lexer.source,n.start,`Expected ${Bk(t)}, found ${My(n)}.`)}expectOptionalToken(t){return this._lexer.token.kind===t?(this.advanceLexer(),!0):!1}expectKeyword(t){let n=this._lexer.token;if(n.kind===le.NAME&&n.value===t)this.advanceLexer();else throw er(this._lexer.source,n.start,`Expected "${t}", found ${My(n)}.`)}expectOptionalKeyword(t){let n=this._lexer.token;return n.kind===le.NAME&&n.value===t?(this.advanceLexer(),!0):!1}unexpected(t){let n=t!=null?t:this._lexer.token;return er(this._lexer.source,n.start,`Unexpected ${My(n)}.`)}any(t,n,r){this.expectToken(t);let i=[];for(;!this.expectOptionalToken(r);)i.push(n.call(this));return i}optionalMany(t,n,r){if(this.expectOptionalToken(t)){let i=[];do i.push(n.call(this));while(!this.expectOptionalToken(r));return i}return[]}many(t,n,r){this.expectToken(t);let i=[];do i.push(n.call(this));while(!this.expectOptionalToken(r));return i}delimitedMany(t,n){this.expectOptionalToken(t);let r=[];do r.push(n.call(this));while(this.expectOptionalToken(t));return r}advanceLexer(){let{maxTokens:t}=this._options,n=this._lexer.advance();if(t!==void 0&&n.kind!==le.EOF&&(++this._tokenCounter,this._tokenCounter>t))throw er(this._lexer.source,n.start,`Document contains more that ${t} tokens. Parsing aborted.`)}}});function ii(e,t){let[n,r]=t?[e,t]:[void 0,e],i=" Did you mean ";n&&(i+=n+" ");let s=r.map(l=>`"${l}"`);switch(s.length){case 0:return"";case 1:return i+s[0]+"?";case 2:return i+s[0]+" or "+s[1]+"?"}let o=s.slice(0,5),u=o.pop();return i+o.join(", ")+", or "+u+"?"}var rc=ue(()=>{"use strict";m();T();h()});function c_(e){return e}var Vk=ue(()=>{"use strict";m();T();h()});function si(e,t){let n=Object.create(null);for(let r of e)n[t(r)]=r;return n}var ic=ue(()=>{"use strict";m();T();h()});function Ds(e,t,n){let r=Object.create(null);for(let i of e)r[t(i)]=n(i);return r}var Pf=ue(()=>{"use strict";m();T();h()});function so(e,t){let n=Object.create(null);for(let r of Object.keys(e))n[r]=t(e[r],r);return n}var l_=ue(()=>{"use strict";m();T();h()});function Sa(e,t){let n=0,r=0;for(;n0);let u=0;do++r,u=u*10+s-d_,s=t.charCodeAt(r);while(By(s)&&u>0);if(ou)return 1}else{if(is)return 1;++n,++r}}return e.length-t.length}function By(e){return!isNaN(e)&&d_<=e&&e<=$6}var d_,$6,kf=ue(()=>{"use strict";m();T();h();d_=48,$6=57});function gi(e,t){let n=Object.create(null),r=new p_(e),i=Math.floor(e.length*.4)+1;for(let s of t){let o=r.measure(s,i);o!==void 0&&(n[s]=o)}return Object.keys(n).sort((s,o)=>{let u=n[s]-n[o];return u!==0?u:Sa(s,o)})}function jk(e){let t=e.length,n=new Array(t);for(let r=0;r{"use strict";m();T();h();kf();p_=class{constructor(t){this._input=t,this._inputLowerCase=t.toLowerCase(),this._inputArray=jk(this._inputLowerCase),this._rows=[new Array(t.length+1).fill(0),new Array(t.length+1).fill(0),new Array(t.length+1).fill(0)]}measure(t,n){if(this._input===t)return 0;let r=t.toLowerCase();if(this._inputLowerCase===r)return 1;let i=jk(r),s=this._inputArray;if(i.lengthn)return;let l=this._rows;for(let p=0;p<=u;p++)l[0][p]=p;for(let p=1;p<=o;p++){let y=l[(p-1)%3],N=l[p%3],I=N[0]=p;for(let O=1;O<=u;O++){let x=i[p-1]===s[O-1]?0:1,j=Math.min(y[O]+1,N[O-1]+1,y[O-1]+x);if(p>1&&O>1&&i[p-1]===s[O-2]&&i[p-2]===s[O-1]){let Q=l[(p-2)%3][O-2];j=Math.min(j,Q+1)}jn)return}let d=l[o%3][u];return d<=n?d:void 0}}});function Ii(e){if(e==null)return Object.create(null);if(Object.getPrototypeOf(e)===null)return e;let t=Object.create(null);for(let[n,r]of Object.entries(e))t[n]=r;return t}var Vy=ue(()=>{"use strict";m();T();h()});function $k(e){return`"${e.replace(q6,K6)}"`}function K6(e){return G6[e.charCodeAt(0)]}var q6,G6,qk=ue(()=>{"use strict";m();T();h();q6=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;G6=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F","","",'\\"',"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\\\","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\u007F","\\u0080","\\u0081","\\u0082","\\u0083","\\u0084","\\u0085","\\u0086","\\u0087","\\u0088","\\u0089","\\u008A","\\u008B","\\u008C","\\u008D","\\u008E","\\u008F","\\u0090","\\u0091","\\u0092","\\u0093","\\u0094","\\u0095","\\u0096","\\u0097","\\u0098","\\u0099","\\u009A","\\u009B","\\u009C","\\u009D","\\u009E","\\u009F"]});function As(e,t,n=s_){let r=new Map;for(let Q of Object.values(R))r.set(Q,Da(t,Q));let i,s=Array.isArray(e),o=[e],u=-1,l=[],d=e,p,y,N=[],I=[];do{u++;let Q=u===o.length,re=Q&&l.length!==0;if(Q){if(p=I.length===0?void 0:N[N.length-1],d=y,y=I.pop(),re)if(s){d=d.slice();let pe=0;for(let[ye,Ce]of l){let ht=ye-pe;Ce===null?(d.splice(ht,1),pe++):d[ht]=Ce}}else{d=Object.defineProperties({},Object.getOwnPropertyDescriptors(d));for(let[pe,ye]of l)d[pe]=ye}u=i.index,o=i.keys,l=i.edits,s=i.inArray,i=i.prev}else if(y){if(p=s?u:o[u],d=y[p],d==null)continue;N.push(p)}let se;if(!Array.isArray(d)){var O,x;Sf(d)||rt(!1,`Invalid AST Node: ${ne(d)}.`);let pe=Q?(O=r.get(d.kind))===null||O===void 0?void 0:O.leave:(x=r.get(d.kind))===null||x===void 0?void 0:x.enter;if(se=pe==null?void 0:pe.call(t,d,p,y,N,I),se===oc)break;if(se===!1){if(!Q){N.pop();continue}}else if(se!==void 0&&(l.push([p,se]),!Q))if(Sf(se))d=se;else{N.pop();continue}}if(se===void 0&&re&&l.push([p,d]),Q)N.pop();else{var j;i={inArray:s,index:u,keys:o,edits:l,prev:i},s=Array.isArray(d),o=s?d:(j=n[d.kind])!==null&&j!==void 0?j:[],u=-1,l=[],y&&I.push(y),y=d}}while(i!==void 0);return l.length!==0?l[l.length-1][1]:e}function Dd(e){let t=new Array(e.length).fill(null),n=Object.create(null);for(let r of Object.values(R)){let i=!1,s=new Array(e.length).fill(void 0),o=new Array(e.length).fill(void 0);for(let l=0;l{"use strict";m();T();h();Ni();Nn();Po();Xt();oc=Object.freeze({})});function Ft(e){return As(e,Y6)}function Ge(e,t=""){var n;return(n=e==null?void 0:e.filter(r=>r).join(t))!==null&&n!==void 0?n:""}function oo(e){return Yt(`{ +`,jy(Ge(e,` `)),` -}`)}function Yt(e,t,n=""){return t!=null&&t!==""?e+t+n:""}function Vy(e){return Yt(" ",e.replace(/\n/g,` - `))}function $k(e){var t;return(t=e==null?void 0:e.some(n=>n.includes(` -`)))!==null&&t!==void 0?t:!1}var Q6,Y6,is=ue(()=>{"use strict";m();T();h();Df();jk();Wc();Q6=80,Y6={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>Ge(e.definitions,` +}`)}function Yt(e,t,n=""){return t!=null&&t!==""?e+t+n:""}function jy(e){return Yt(" ",e.replace(/\n/g,` + `))}function Kk(e){var t;return(t=e==null?void 0:e.some(n=>n.includes(` +`)))!==null&&t!==void 0?t:!1}var Q6,Y6,is=ue(()=>{"use strict";m();T();h();Af();qk();Zc();Q6=80,Y6={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>Ge(e.definitions,` `)},OperationDefinition:{leave(e){let t=Yt("(",Ge(e.variableDefinitions,", "),")"),n=Ge([e.operation,Ge([e.name,t]),Ge(e.directives," ")]," ");return(n==="query"?"":n+" ")+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:n,directives:r})=>e+": "+t+Yt(" = ",n)+Yt(" ",Ge(r," "))},SelectionSet:{leave:({selections:e})=>oo(e)},Field:{leave({alias:e,name:t,arguments:n,directives:r,selectionSet:i}){let s=Yt("",e,": ")+t,o=s+Yt("(",Ge(n,", "),")");return o.length>Q6&&(o=s+Yt(`( -`,Vy(Ge(n,` +`,jy(Ge(n,` `)),` -)`)),Ge([o,Ge(r," "),i]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+Yt(" ",Ge(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:n})=>Ge(["...",Yt("on ",e),Ge(t," "),n]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:n,directives:r,selectionSet:i})=>`fragment ${e}${Yt("(",Ge(n,", "),")")} on ${t} ${Yt("",Ge(r," ")," ")}`+i},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?Fy(e):Vk(e)},BooleanValue:{leave:({value:e})=>e?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:e})=>e},ListValue:{leave:({values:e})=>"["+Ge(e,", ")+"]"},ObjectValue:{leave:({fields:e})=>"{"+Ge(e,", ")+"}"},ObjectField:{leave:({name:e,value:t})=>e+": "+t},Directive:{leave:({name:e,arguments:t})=>"@"+e+Yt("(",Ge(t,", "),")")},NamedType:{leave:({name:e})=>e},ListType:{leave:({type:e})=>"["+e+"]"},NonNullType:{leave:({type:e})=>e+"!"},SchemaDefinition:{leave:({description:e,directives:t,operationTypes:n})=>Yt("",e,` +)`)),Ge([o,Ge(r," "),i]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+Yt(" ",Ge(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:n})=>Ge(["...",Yt("on ",e),Ge(t," "),n]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:n,directives:r,selectionSet:i})=>`fragment ${e}${Yt("(",Ge(n,", "),")")} on ${t} ${Yt("",Ge(r," ")," ")}`+i},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?wy(e):$k(e)},BooleanValue:{leave:({value:e})=>e?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:e})=>e},ListValue:{leave:({values:e})=>"["+Ge(e,", ")+"]"},ObjectValue:{leave:({fields:e})=>"{"+Ge(e,", ")+"}"},ObjectField:{leave:({name:e,value:t})=>e+": "+t},Directive:{leave:({name:e,arguments:t})=>"@"+e+Yt("(",Ge(t,", "),")")},NamedType:{leave:({name:e})=>e},ListType:{leave:({type:e})=>"["+e+"]"},NonNullType:{leave:({type:e})=>e+"!"},SchemaDefinition:{leave:({description:e,directives:t,operationTypes:n})=>Yt("",e,` `)+Ge(["schema",Ge(t," "),oo(n)]," ")},OperationTypeDefinition:{leave:({operation:e,type:t})=>e+": "+t},ScalarTypeDefinition:{leave:({description:e,name:t,directives:n})=>Yt("",e,` `)+Ge(["scalar",t,Ge(n," ")]," ")},ObjectTypeDefinition:{leave:({description:e,name:t,interfaces:n,directives:r,fields:i})=>Yt("",e,` `)+Ge(["type",t,Yt("implements ",Ge(n," & ")),Ge(r," "),oo(i)]," ")},FieldDefinition:{leave:({description:e,name:t,arguments:n,type:r,directives:i})=>Yt("",e,` -`)+t+($k(n)?Yt(`( -`,Vy(Ge(n,` +`)+t+(Kk(n)?Yt(`( +`,jy(Ge(n,` `)),` )`):Yt("(",Ge(n,", "),")"))+": "+r+Yt(" ",Ge(i," "))},InputValueDefinition:{leave:({description:e,name:t,type:n,defaultValue:r,directives:i})=>Yt("",e,` `)+Ge([t+": "+n,Yt("= ",r),Ge(i," ")]," ")},InterfaceTypeDefinition:{leave:({description:e,name:t,interfaces:n,directives:r,fields:i})=>Yt("",e,` @@ -56,18 +56,18 @@ spurious results.`)}}return!1}});function xy(e){return Ei(e,ko)}var ko,Cy=ue(()= `)+Ge(["enum",t,Ge(n," "),oo(r)]," ")},EnumValueDefinition:{leave:({description:e,name:t,directives:n})=>Yt("",e,` `)+Ge([t,Ge(n," ")]," ")},InputObjectTypeDefinition:{leave:({description:e,name:t,directives:n,fields:r})=>Yt("",e,` `)+Ge(["input",t,Ge(n," "),oo(r)]," ")},DirectiveDefinition:{leave:({description:e,name:t,arguments:n,repeatable:r,locations:i})=>Yt("",e,` -`)+"directive @"+t+($k(n)?Yt(`( -`,Vy(Ge(n,` +`)+"directive @"+t+(Kk(n)?Yt(`( +`,jy(Ge(n,` `)),` -)`):Yt("(",Ge(n,", "),")"))+(r?" repeatable":"")+" on "+Ge(i," | ")},SchemaExtension:{leave:({directives:e,operationTypes:t})=>Ge(["extend schema",Ge(e," "),oo(t)]," ")},ScalarTypeExtension:{leave:({name:e,directives:t})=>Ge(["extend scalar",e,Ge(t," ")]," ")},ObjectTypeExtension:{leave:({name:e,interfaces:t,directives:n,fields:r})=>Ge(["extend type",e,Yt("implements ",Ge(t," & ")),Ge(n," "),oo(r)]," ")},InterfaceTypeExtension:{leave:({name:e,interfaces:t,directives:n,fields:r})=>Ge(["extend interface",e,Yt("implements ",Ge(t," & ")),Ge(n," "),oo(r)]," ")},UnionTypeExtension:{leave:({name:e,directives:t,types:n})=>Ge(["extend union",e,Ge(t," "),Yt("= ",Ge(n," | "))]," ")},EnumTypeExtension:{leave:({name:e,directives:t,values:n})=>Ge(["extend enum",e,Ge(t," "),oo(n)]," ")},InputObjectTypeExtension:{leave:({name:e,directives:t,fields:n})=>Ge(["extend input",e,Ge(t," "),oo(n)]," ")}}});function Xc(e,t){switch(e.kind){case R.NULL:return null;case R.INT:return parseInt(e.value,10);case R.FLOAT:return parseFloat(e.value);case R.STRING:case R.ENUM:case R.BOOLEAN:return e.value;case R.LIST:return e.values.map(n=>Xc(n,t));case R.OBJECT:return Ss(e.fields,n=>n.name.value,n=>Xc(n.value,t));case R.VARIABLE:return t==null?void 0:t[e.name.value]}}var m_=ue(()=>{"use strict";m();T();h();Lf();Xt()});function Mr(e){if(e!=null||rt(!1,"Must provide name."),typeof e=="string"||rt(!1,"Expected name to be a string."),e.length===0)throw new Y("Expected name to be a non-empty string.");for(let t=1;t{"use strict";m();T();h();Ni();st();Ry()});function ac(e){return tr(e)||ot(e)||Nt(e)||fn(e)||rn(e)||It(e)||Pt(e)||Qe(e)}function h_(e){if(!ac(e))throw new Error(`Expected ${ne(e)} to be a GraphQL type.`);return e}function tr(e){return Ei(e,Jr)}function T_(e){if(!tr(e))throw new Error(`Expected ${ne(e)} to be a GraphQL Scalar type.`);return e}function ot(e){return Ei(e,_r)}function Cf(e){if(!ot(e))throw new Error(`Expected ${ne(e)} to be a GraphQL Object type.`);return e}function Nt(e){return Ei(e,ss)}function Uf(e){if(!Nt(e))throw new Error(`Expected ${ne(e)} to be a GraphQL Interface type.`);return e}function fn(e){return Ei(e,os)}function y_(e){if(!fn(e))throw new Error(`Expected ${ne(e)} to be a GraphQL Union type.`);return e}function rn(e){return Ei(e,oi)}function N_(e){if(!rn(e))throw new Error(`Expected ${ne(e)} to be a GraphQL Enum type.`);return e}function It(e){return Ei(e,as)}function E_(e){if(!It(e))throw new Error(`Expected ${ne(e)} to be a GraphQL Input Object type.`);return e}function Pt(e){return Ei(e,Mn)}function g_(e){if(!Pt(e))throw new Error(`Expected ${ne(e)} to be a GraphQL List type.`);return e}function Qe(e){return Ei(e,pt)}function I_(e){if(!Qe(e))throw new Error(`Expected ${ne(e)} to be a GraphQL Non-Null type.`);return e}function Nr(e){return tr(e)||rn(e)||It(e)||Zc(e)&&Nr(e.ofType)}function v_(e){if(!Nr(e))throw new Error(`Expected ${ne(e)} to be a GraphQL input type.`);return e}function us(e){return tr(e)||ot(e)||Nt(e)||fn(e)||rn(e)||Zc(e)&&us(e.ofType)}function __(e){if(!us(e))throw new Error(`Expected ${ne(e)} to be a GraphQL output type.`);return e}function Rr(e){return tr(e)||rn(e)}function b_(e){if(!Rr(e))throw new Error(`Expected ${ne(e)} to be a GraphQL leaf type.`);return e}function vi(e){return ot(e)||Nt(e)||fn(e)}function O_(e){if(!vi(e))throw new Error(`Expected ${ne(e)} to be a GraphQL composite type.`);return e}function zr(e){return Nt(e)||fn(e)}function S_(e){if(!zr(e))throw new Error(`Expected ${ne(e)} to be a GraphQL abstract type.`);return e}function Zc(e){return Pt(e)||Qe(e)}function D_(e){if(!Zc(e))throw new Error(`Expected ${ne(e)} to be a GraphQL wrapping type.`);return e}function Mf(e){return ac(e)&&!Qe(e)}function Bf(e){if(!Mf(e))throw new Error(`Expected ${ne(e)} to be a GraphQL nullable type.`);return e}function el(e){if(e)return Qe(e)?e.ofType:e}function Aa(e){return tr(e)||ot(e)||Nt(e)||fn(e)||rn(e)||It(e)}function A_(e){if(!Aa(e))throw new Error(`Expected ${ne(e)} to be a GraphQL named type.`);return e}function Gn(e){if(e){let t=e;for(;Zc(t);)t=t.ofType;return t}}function Vf(e){return typeof e=="function"?e():e}function jf(e){return typeof e=="function"?e():e}function Kk(e){var t;let n=Vf((t=e.interfaces)!==null&&t!==void 0?t:[]);return Array.isArray(n)||rt(!1,`${e.name} interfaces must be an Array or a function which returns an Array.`),n}function Gk(e){let t=jf(e.fields);return Sd(t)||rt(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),so(t,(n,r)=>{var i;Sd(n)||rt(!1,`${e.name}.${r} field config must be an object.`),n.resolve==null||typeof n.resolve=="function"||rt(!1,`${e.name}.${r} field resolver must be a function if provided, but got: ${ne(n.resolve)}.`);let s=(i=n.args)!==null&&i!==void 0?i:{};return Sd(s)||rt(!1,`${e.name}.${r} args must be an object with argument names as keys.`),{name:Mr(r),description:n.description,type:n.type,args:R_(s),resolve:n.resolve,subscribe:n.subscribe,deprecationReason:n.deprecationReason,extensions:Ii(n.extensions),astNode:n.astNode}})}function R_(e){return Object.entries(e).map(([t,n])=>({name:Mr(t),description:n.description,type:n.type,defaultValue:n.defaultValue,deprecationReason:n.deprecationReason,extensions:Ii(n.extensions),astNode:n.astNode}))}function Sd(e){return sr(e)&&!Array.isArray(e)}function Qk(e){return so(e,t=>({description:t.description,type:t.type,args:F_(t.args),resolve:t.resolve,subscribe:t.subscribe,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}function F_(e){return Ss(e,t=>t.name,t=>({description:t.description,type:t.type,defaultValue:t.defaultValue,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}function cs(e){return Qe(e.type)&&e.defaultValue===void 0}function J6(e){let t=Vf(e.types);return Array.isArray(t)||rt(!1,`Must provide Array of types or a function which returns such an array for Union ${e.name}.`),t}function jy(e,t){let n=e.getValues().map(i=>i.name),r=gi(t,n);return ii("the enum value",r)}function qk(e,t){return Sd(t)||rt(!1,`${e} values must be an object with value names as keys.`),Object.entries(t).map(([n,r])=>(Sd(r)||rt(!1,`${e}.${n} must refer to an object with a "value" key representing an internal value but got: ${ne(r)}.`),{name:kf(n),description:r.description,value:r.value!==void 0?r.value:n,deprecationReason:r.deprecationReason,extensions:Ii(r.extensions),astNode:r.astNode}))}function z6(e){let t=jf(e.fields);return Sd(t)||rt(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),so(t,(n,r)=>(!("resolve"in n)||rt(!1,`${e.name}.${r} field has a resolve property, but Input Types cannot define resolvers.`),{name:Mr(r),description:n.description,type:n.type,defaultValue:n.defaultValue,deprecationReason:n.deprecationReason,extensions:Ii(n.extensions),astNode:n.astNode}))}function Ra(e){return Qe(e.type)&&e.defaultValue===void 0}var Mn,pt,Jr,_r,ss,os,oi,as,Zt=ue(()=>{"use strict";m();T();h();Ni();rc();Mk();Nn();Ff();Lo();ic();Lf();l_();sc();By();st();Xt();is();m_();xf();Mn=class{constructor(t){ac(t)||rt(!1,`Expected ${ne(t)} to be a GraphQL type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLList"}toString(){return"["+String(this.ofType)+"]"}toJSON(){return this.toString()}},pt=class{constructor(t){Mf(t)||rt(!1,`Expected ${ne(t)} to be a GraphQL nullable type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLNonNull"}toString(){return String(this.ofType)+"!"}toJSON(){return this.toString()}};Jr=class{constructor(t){var n,r,i,s;let o=(n=t.parseValue)!==null&&n!==void 0?n:c_;this.name=Mr(t.name),this.description=t.description,this.specifiedByURL=t.specifiedByURL,this.serialize=(r=t.serialize)!==null&&r!==void 0?r:c_,this.parseValue=o,this.parseLiteral=(i=t.parseLiteral)!==null&&i!==void 0?i:(u,l)=>o(Xc(u,l)),this.extensions=Ii(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(s=t.extensionASTNodes)!==null&&s!==void 0?s:[],t.specifiedByURL==null||typeof t.specifiedByURL=="string"||rt(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${ne(t.specifiedByURL)}.`),t.serialize==null||typeof t.serialize=="function"||rt(!1,`${this.name} must provide "serialize" function. If this custom Scalar is also used as an input type, ensure "parseValue" and "parseLiteral" functions are also provided.`),t.parseLiteral&&(typeof t.parseValue=="function"&&typeof t.parseLiteral=="function"||rt(!1,`${this.name} must provide both "parseValue" and "parseLiteral" functions.`))}get[Symbol.toStringTag](){return"GraphQLScalarType"}toConfig(){return{name:this.name,description:this.description,specifiedByURL:this.specifiedByURL,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},_r=class{constructor(t){var n;this.name=Mr(t.name),this.description=t.description,this.isTypeOf=t.isTypeOf,this.extensions=Ii(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this._fields=()=>Gk(t),this._interfaces=()=>Kk(t),t.isTypeOf==null||typeof t.isTypeOf=="function"||rt(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${ne(t.isTypeOf)}.`)}get[Symbol.toStringTag](){return"GraphQLObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:Qk(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};ss=class{constructor(t){var n;this.name=Mr(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=Ii(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this._fields=Gk.bind(void 0,t),this._interfaces=Kk.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||rt(!1,`${this.name} must provide "resolveType" as a function, but got: ${ne(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLInterfaceType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:Qk(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},os=class{constructor(t){var n;this.name=Mr(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=Ii(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this._types=J6.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||rt(!1,`${this.name} must provide "resolveType" as a function, but got: ${ne(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLUnionType"}getTypes(){return typeof this._types=="function"&&(this._types=this._types()),this._types}toConfig(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};oi=class{constructor(t){var n;this.name=Mr(t.name),this.description=t.description,this.extensions=Ii(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this._values=typeof t.values=="function"?t.values:qk(this.name,t.values),this._valueLookup=null,this._nameLookup=null}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return typeof this._values=="function"&&(this._values=qk(this.name,this._values())),this._values}getValue(t){return this._nameLookup===null&&(this._nameLookup=si(this.getValues(),n=>n.name)),this._nameLookup[t]}serialize(t){this._valueLookup===null&&(this._valueLookup=new Map(this.getValues().map(r=>[r.value,r])));let n=this._valueLookup.get(t);if(n===void 0)throw new Y(`Enum "${this.name}" cannot represent value: ${ne(t)}`);return n.name}parseValue(t){if(typeof t!="string"){let r=ne(t);throw new Y(`Enum "${this.name}" cannot represent non-string value: ${r}.`+jy(this,r))}let n=this.getValue(t);if(n==null)throw new Y(`Value "${t}" does not exist in "${this.name}" enum.`+jy(this,t));return n.value}parseLiteral(t,n){if(t.kind!==R.ENUM){let i=Ft(t);throw new Y(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+jy(this,i),{nodes:t})}let r=this.getValue(t.value);if(r==null){let i=Ft(t);throw new Y(`Value "${i}" does not exist in "${this.name}" enum.`+jy(this,i),{nodes:t})}return r.value}toConfig(){let t=Ss(this.getValues(),n=>n.name,n=>({description:n.description,value:n.value,deprecationReason:n.deprecationReason,extensions:n.extensions,astNode:n.astNode}));return{name:this.name,description:this.description,values:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};as=class{constructor(t){var n,r;this.name=Mr(t.name),this.description=t.description,this.extensions=Ii(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this.isOneOf=(r=t.isOneOf)!==null&&r!==void 0?r:!1,this._fields=z6.bind(void 0,t)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){let t=so(this.getFields(),n=>({description:n.description,type:n.type,defaultValue:n.defaultValue,deprecationReason:n.deprecationReason,extensions:n.extensions,astNode:n.astNode}));return{name:this.name,description:this.description,fields:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,isOneOf:this.isOneOf}}toString(){return this.name}toJSON(){return this.toString()}}});function tl(e,t){return e===t?!0:Qe(e)&&Qe(t)||Pt(e)&&Pt(t)?tl(e.ofType,t.ofType):!1}function ao(e,t,n){return t===n?!0:Qe(n)?Qe(t)?ao(e,t.ofType,n.ofType):!1:Qe(t)?ao(e,t.ofType,n):Pt(n)?Pt(t)?ao(e,t.ofType,n.ofType):!1:Pt(t)?!1:zr(n)&&(Nt(t)||ot(t))&&e.isSubType(n,t)}function Dd(e,t,n){return t===n?!0:zr(t)?zr(n)?e.getPossibleTypes(t).some(r=>e.isSubType(n,r)):e.isSubType(t,n):zr(n)?e.isSubType(n,t):!1}var $f=ue(()=>{"use strict";m();T();h();Zt()});function uo(e){return xo.some(({name:t})=>e.name===t)}function qf(e){if(sr(e)){if(typeof e.valueOf=="function"){let t=e.valueOf();if(!sr(t))return t}if(typeof e.toJSON=="function")return e.toJSON()}return e}var Ad,Rd,$y,qy,Bn,Br,Fd,xo,Co=ue(()=>{"use strict";m();T();h();Nn();Lo();st();Xt();is();Zt();Ad=2147483647,Rd=-2147483648,$y=new Jr({name:"Int",description:"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.",serialize(e){let t=qf(e);if(typeof t=="boolean")return t?1:0;let n=t;if(typeof t=="string"&&t!==""&&(n=Number(t)),typeof n!="number"||!Number.isInteger(n))throw new Y(`Int cannot represent non-integer value: ${ne(t)}`);if(n>Ad||nAd||eAd||tt===e.name)}var Vr,wd,Ld,Pd,Uo,kd,xd,ai,Ui=ue(()=>{"use strict";m();T();h();Ni();Nn();Ff();Lo();By();gd();xf();Zt();Co();Vr=class{constructor(t){var n,r;this.name=Mr(t.name),this.description=t.description,this.locations=t.locations,this.isRepeatable=(n=t.isRepeatable)!==null&&n!==void 0?n:!1,this.extensions=Ii(t.extensions),this.astNode=t.astNode,Array.isArray(t.locations)||rt(!1,`@${t.name} locations must be an Array.`);let i=(r=t.args)!==null&&r!==void 0?r:{};sr(i)&&!Array.isArray(i)||rt(!1,`@${t.name} args must be an object with argument names as keys.`),this.args=R_(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:F_(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}},wd=new Vr({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[He.FIELD,He.FRAGMENT_SPREAD,He.INLINE_FRAGMENT],args:{if:{type:new pt(Br),description:"Included when true."}}}),Ld=new Vr({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[He.FIELD,He.FRAGMENT_SPREAD,He.INLINE_FRAGMENT],args:{if:{type:new pt(Br),description:"Skipped when true."}}}),Pd="No longer supported",Uo=new Vr({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[He.FIELD_DEFINITION,He.ARGUMENT_DEFINITION,He.INPUT_FIELD_DEFINITION,He.ENUM_VALUE],args:{reason:{type:Bn,description:"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).",defaultValue:Pd}}}),kd=new Vr({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[He.SCALAR],args:{url:{type:new pt(Bn),description:"The URL that specifies the behavior of this scalar."}}}),xd=new Vr({name:"oneOf",description:"Indicates exactly one field must be supplied and this field must not be `null`.",locations:[He.INPUT_OBJECT],args:{}}),ai=Object.freeze([wd,Ld,Uo,kd,xd])});function Cd(e){return typeof e=="object"&&typeof(e==null?void 0:e[Symbol.iterator])=="function"}var Ky=ue(()=>{"use strict";m();T();h()});function Hr(e,t){if(Qe(t)){let n=Hr(e,t.ofType);return(n==null?void 0:n.kind)===R.NULL?null:n}if(e===null)return{kind:R.NULL};if(e===void 0)return null;if(Pt(t)){let n=t.ofType;if(Cd(e)){let r=[];for(let i of e){let s=Hr(i,n);s!=null&&r.push(s)}return{kind:R.LIST,values:r}}return Hr(e,n)}if(It(t)){if(!sr(e))return null;let n=[];for(let r of Object.values(t.getFields())){let i=Hr(e[r.name],r.type);i&&n.push({kind:R.OBJECT_FIELD,name:{kind:R.NAME,value:r.name},value:i})}return{kind:R.OBJECT,fields:n}}if(Rr(t)){let n=t.serialize(e);if(n==null)return null;if(typeof n=="boolean")return{kind:R.BOOLEAN,value:n};if(typeof n=="number"&&Number.isFinite(n)){let r=String(n);return Yk.test(r)?{kind:R.INT,value:r}:{kind:R.FLOAT,value:r}}if(typeof n=="string")return rn(t)?{kind:R.ENUM,value:n}:t===Fd&&Yk.test(n)?{kind:R.INT,value:n}:{kind:R.STRING,value:n};throw new TypeError(`Cannot convert value to AST: ${ne(n)}.`)}Qt(!1,"Unexpected input type: "+ne(t))}var Yk,Kf=ue(()=>{"use strict";m();T();h();Nn();ri();Ky();Lo();Xt();Zt();Co();Yk=/^-?(?:0|[1-9][0-9]*)$/});function ui(e){return Mo.some(({name:t})=>e.name===t)}var nl,Gf,Qf,Mi,Yf,rl,Jf,mn,zf,Fa,wa,La,Mo,As=ue(()=>{"use strict";m();T();h();Nn();ri();gd();is();Kf();Zt();Co();nl=new _r({name:"__Schema",description:"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.",fields:()=>({description:{type:Bn,resolve:e=>e.description},types:{description:"A list of all types supported by this server.",type:new pt(new Mn(new pt(Mi))),resolve(e){return Object.values(e.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:new pt(Mi),resolve:e=>e.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:Mi,resolve:e=>e.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:Mi,resolve:e=>e.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new pt(new Mn(new pt(Gf))),resolve:e=>e.getDirectives()}})}),Gf=new _r({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document. +)`):Yt("(",Ge(n,", "),")"))+(r?" repeatable":"")+" on "+Ge(i," | ")},SchemaExtension:{leave:({directives:e,operationTypes:t})=>Ge(["extend schema",Ge(e," "),oo(t)]," ")},ScalarTypeExtension:{leave:({name:e,directives:t})=>Ge(["extend scalar",e,Ge(t," ")]," ")},ObjectTypeExtension:{leave:({name:e,interfaces:t,directives:n,fields:r})=>Ge(["extend type",e,Yt("implements ",Ge(t," & ")),Ge(n," "),oo(r)]," ")},InterfaceTypeExtension:{leave:({name:e,interfaces:t,directives:n,fields:r})=>Ge(["extend interface",e,Yt("implements ",Ge(t," & ")),Ge(n," "),oo(r)]," ")},UnionTypeExtension:{leave:({name:e,directives:t,types:n})=>Ge(["extend union",e,Ge(t," "),Yt("= ",Ge(n," | "))]," ")},EnumTypeExtension:{leave:({name:e,directives:t,values:n})=>Ge(["extend enum",e,Ge(t," "),oo(n)]," ")},InputObjectTypeExtension:{leave:({name:e,directives:t,fields:n})=>Ge(["extend input",e,Ge(t," "),oo(n)]," ")}}});function el(e,t){switch(e.kind){case R.NULL:return null;case R.INT:return parseInt(e.value,10);case R.FLOAT:return parseFloat(e.value);case R.STRING:case R.ENUM:case R.BOOLEAN:return e.value;case R.LIST:return e.values.map(n=>el(n,t));case R.OBJECT:return Ds(e.fields,n=>n.name.value,n=>el(n.value,t));case R.VARIABLE:return t==null?void 0:t[e.name.value]}}var m_=ue(()=>{"use strict";m();T();h();Pf();Xt()});function Mr(e){if(e!=null||rt(!1,"Must provide name."),typeof e=="string"||rt(!1,"Expected name to be a string."),e.length===0)throw new Y("Expected name to be a non-empty string.");for(let t=1;t{"use strict";m();T();h();Ni();ot();Fy()});function ac(e){return tr(e)||at(e)||Nt(e)||fn(e)||rn(e)||It(e)||Pt(e)||Qe(e)}function h_(e){if(!ac(e))throw new Error(`Expected ${ne(e)} to be a GraphQL type.`);return e}function tr(e){return Ei(e,Jr)}function T_(e){if(!tr(e))throw new Error(`Expected ${ne(e)} to be a GraphQL Scalar type.`);return e}function at(e){return Ei(e,_r)}function Uf(e){if(!at(e))throw new Error(`Expected ${ne(e)} to be a GraphQL Object type.`);return e}function Nt(e){return Ei(e,ss)}function Mf(e){if(!Nt(e))throw new Error(`Expected ${ne(e)} to be a GraphQL Interface type.`);return e}function fn(e){return Ei(e,os)}function y_(e){if(!fn(e))throw new Error(`Expected ${ne(e)} to be a GraphQL Union type.`);return e}function rn(e){return Ei(e,oi)}function N_(e){if(!rn(e))throw new Error(`Expected ${ne(e)} to be a GraphQL Enum type.`);return e}function It(e){return Ei(e,as)}function E_(e){if(!It(e))throw new Error(`Expected ${ne(e)} to be a GraphQL Input Object type.`);return e}function Pt(e){return Ei(e,Mn)}function g_(e){if(!Pt(e))throw new Error(`Expected ${ne(e)} to be a GraphQL List type.`);return e}function Qe(e){return Ei(e,pt)}function I_(e){if(!Qe(e))throw new Error(`Expected ${ne(e)} to be a GraphQL Non-Null type.`);return e}function Nr(e){return tr(e)||rn(e)||It(e)||tl(e)&&Nr(e.ofType)}function v_(e){if(!Nr(e))throw new Error(`Expected ${ne(e)} to be a GraphQL input type.`);return e}function us(e){return tr(e)||at(e)||Nt(e)||fn(e)||rn(e)||tl(e)&&us(e.ofType)}function __(e){if(!us(e))throw new Error(`Expected ${ne(e)} to be a GraphQL output type.`);return e}function Rr(e){return tr(e)||rn(e)}function b_(e){if(!Rr(e))throw new Error(`Expected ${ne(e)} to be a GraphQL leaf type.`);return e}function vi(e){return at(e)||Nt(e)||fn(e)}function O_(e){if(!vi(e))throw new Error(`Expected ${ne(e)} to be a GraphQL composite type.`);return e}function zr(e){return Nt(e)||fn(e)}function S_(e){if(!zr(e))throw new Error(`Expected ${ne(e)} to be a GraphQL abstract type.`);return e}function tl(e){return Pt(e)||Qe(e)}function D_(e){if(!tl(e))throw new Error(`Expected ${ne(e)} to be a GraphQL wrapping type.`);return e}function Bf(e){return ac(e)&&!Qe(e)}function Vf(e){if(!Bf(e))throw new Error(`Expected ${ne(e)} to be a GraphQL nullable type.`);return e}function nl(e){if(e)return Qe(e)?e.ofType:e}function Aa(e){return tr(e)||at(e)||Nt(e)||fn(e)||rn(e)||It(e)}function A_(e){if(!Aa(e))throw new Error(`Expected ${ne(e)} to be a GraphQL named type.`);return e}function Gn(e){if(e){let t=e;for(;tl(t);)t=t.ofType;return t}}function jf(e){return typeof e=="function"?e():e}function $f(e){return typeof e=="function"?e():e}function Qk(e){var t;let n=jf((t=e.interfaces)!==null&&t!==void 0?t:[]);return Array.isArray(n)||rt(!1,`${e.name} interfaces must be an Array or a function which returns an Array.`),n}function Yk(e){let t=$f(e.fields);return Ad(t)||rt(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),so(t,(n,r)=>{var i;Ad(n)||rt(!1,`${e.name}.${r} field config must be an object.`),n.resolve==null||typeof n.resolve=="function"||rt(!1,`${e.name}.${r} field resolver must be a function if provided, but got: ${ne(n.resolve)}.`);let s=(i=n.args)!==null&&i!==void 0?i:{};return Ad(s)||rt(!1,`${e.name}.${r} args must be an object with argument names as keys.`),{name:Mr(r),description:n.description,type:n.type,args:R_(s),resolve:n.resolve,subscribe:n.subscribe,deprecationReason:n.deprecationReason,extensions:Ii(n.extensions),astNode:n.astNode}})}function R_(e){return Object.entries(e).map(([t,n])=>({name:Mr(t),description:n.description,type:n.type,defaultValue:n.defaultValue,deprecationReason:n.deprecationReason,extensions:Ii(n.extensions),astNode:n.astNode}))}function Ad(e){return sr(e)&&!Array.isArray(e)}function Jk(e){return so(e,t=>({description:t.description,type:t.type,args:F_(t.args),resolve:t.resolve,subscribe:t.subscribe,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}function F_(e){return Ds(e,t=>t.name,t=>({description:t.description,type:t.type,defaultValue:t.defaultValue,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}function cs(e){return Qe(e.type)&&e.defaultValue===void 0}function J6(e){let t=jf(e.types);return Array.isArray(t)||rt(!1,`Must provide Array of types or a function which returns such an array for Union ${e.name}.`),t}function $y(e,t){let n=e.getValues().map(i=>i.name),r=gi(t,n);return ii("the enum value",r)}function Gk(e,t){return Ad(t)||rt(!1,`${e} values must be an object with value names as keys.`),Object.entries(t).map(([n,r])=>(Ad(r)||rt(!1,`${e}.${n} must refer to an object with a "value" key representing an internal value but got: ${ne(r)}.`),{name:xf(n),description:r.description,value:r.value!==void 0?r.value:n,deprecationReason:r.deprecationReason,extensions:Ii(r.extensions),astNode:r.astNode}))}function z6(e){let t=$f(e.fields);return Ad(t)||rt(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),so(t,(n,r)=>(!("resolve"in n)||rt(!1,`${e.name}.${r} field has a resolve property, but Input Types cannot define resolvers.`),{name:Mr(r),description:n.description,type:n.type,defaultValue:n.defaultValue,deprecationReason:n.deprecationReason,extensions:Ii(n.extensions),astNode:n.astNode}))}function Ra(e){return Qe(e.type)&&e.defaultValue===void 0}var Mn,pt,Jr,_r,ss,os,oi,as,Zt=ue(()=>{"use strict";m();T();h();Ni();rc();Vk();Nn();wf();Lo();ic();Pf();l_();sc();Vy();ot();Xt();is();m_();Cf();Mn=class{constructor(t){ac(t)||rt(!1,`Expected ${ne(t)} to be a GraphQL type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLList"}toString(){return"["+String(this.ofType)+"]"}toJSON(){return this.toString()}},pt=class{constructor(t){Bf(t)||rt(!1,`Expected ${ne(t)} to be a GraphQL nullable type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLNonNull"}toString(){return String(this.ofType)+"!"}toJSON(){return this.toString()}};Jr=class{constructor(t){var n,r,i,s;let o=(n=t.parseValue)!==null&&n!==void 0?n:c_;this.name=Mr(t.name),this.description=t.description,this.specifiedByURL=t.specifiedByURL,this.serialize=(r=t.serialize)!==null&&r!==void 0?r:c_,this.parseValue=o,this.parseLiteral=(i=t.parseLiteral)!==null&&i!==void 0?i:(u,l)=>o(el(u,l)),this.extensions=Ii(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(s=t.extensionASTNodes)!==null&&s!==void 0?s:[],t.specifiedByURL==null||typeof t.specifiedByURL=="string"||rt(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${ne(t.specifiedByURL)}.`),t.serialize==null||typeof t.serialize=="function"||rt(!1,`${this.name} must provide "serialize" function. If this custom Scalar is also used as an input type, ensure "parseValue" and "parseLiteral" functions are also provided.`),t.parseLiteral&&(typeof t.parseValue=="function"&&typeof t.parseLiteral=="function"||rt(!1,`${this.name} must provide both "parseValue" and "parseLiteral" functions.`))}get[Symbol.toStringTag](){return"GraphQLScalarType"}toConfig(){return{name:this.name,description:this.description,specifiedByURL:this.specifiedByURL,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},_r=class{constructor(t){var n;this.name=Mr(t.name),this.description=t.description,this.isTypeOf=t.isTypeOf,this.extensions=Ii(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this._fields=()=>Yk(t),this._interfaces=()=>Qk(t),t.isTypeOf==null||typeof t.isTypeOf=="function"||rt(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${ne(t.isTypeOf)}.`)}get[Symbol.toStringTag](){return"GraphQLObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:Jk(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};ss=class{constructor(t){var n;this.name=Mr(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=Ii(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this._fields=Yk.bind(void 0,t),this._interfaces=Qk.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||rt(!1,`${this.name} must provide "resolveType" as a function, but got: ${ne(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLInterfaceType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:Jk(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},os=class{constructor(t){var n;this.name=Mr(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=Ii(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this._types=J6.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||rt(!1,`${this.name} must provide "resolveType" as a function, but got: ${ne(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLUnionType"}getTypes(){return typeof this._types=="function"&&(this._types=this._types()),this._types}toConfig(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};oi=class{constructor(t){var n;this.name=Mr(t.name),this.description=t.description,this.extensions=Ii(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this._values=typeof t.values=="function"?t.values:Gk(this.name,t.values),this._valueLookup=null,this._nameLookup=null}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return typeof this._values=="function"&&(this._values=Gk(this.name,this._values())),this._values}getValue(t){return this._nameLookup===null&&(this._nameLookup=si(this.getValues(),n=>n.name)),this._nameLookup[t]}serialize(t){this._valueLookup===null&&(this._valueLookup=new Map(this.getValues().map(r=>[r.value,r])));let n=this._valueLookup.get(t);if(n===void 0)throw new Y(`Enum "${this.name}" cannot represent value: ${ne(t)}`);return n.name}parseValue(t){if(typeof t!="string"){let r=ne(t);throw new Y(`Enum "${this.name}" cannot represent non-string value: ${r}.`+$y(this,r))}let n=this.getValue(t);if(n==null)throw new Y(`Value "${t}" does not exist in "${this.name}" enum.`+$y(this,t));return n.value}parseLiteral(t,n){if(t.kind!==R.ENUM){let i=Ft(t);throw new Y(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+$y(this,i),{nodes:t})}let r=this.getValue(t.value);if(r==null){let i=Ft(t);throw new Y(`Value "${i}" does not exist in "${this.name}" enum.`+$y(this,i),{nodes:t})}return r.value}toConfig(){let t=Ds(this.getValues(),n=>n.name,n=>({description:n.description,value:n.value,deprecationReason:n.deprecationReason,extensions:n.extensions,astNode:n.astNode}));return{name:this.name,description:this.description,values:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};as=class{constructor(t){var n,r;this.name=Mr(t.name),this.description=t.description,this.extensions=Ii(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this.isOneOf=(r=t.isOneOf)!==null&&r!==void 0?r:!1,this._fields=z6.bind(void 0,t)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){let t=so(this.getFields(),n=>({description:n.description,type:n.type,defaultValue:n.defaultValue,deprecationReason:n.deprecationReason,extensions:n.extensions,astNode:n.astNode}));return{name:this.name,description:this.description,fields:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,isOneOf:this.isOneOf}}toString(){return this.name}toJSON(){return this.toString()}}});function rl(e,t){return e===t?!0:Qe(e)&&Qe(t)||Pt(e)&&Pt(t)?rl(e.ofType,t.ofType):!1}function ao(e,t,n){return t===n?!0:Qe(n)?Qe(t)?ao(e,t.ofType,n.ofType):!1:Qe(t)?ao(e,t.ofType,n):Pt(n)?Pt(t)?ao(e,t.ofType,n.ofType):!1:Pt(t)?!1:zr(n)&&(Nt(t)||at(t))&&e.isSubType(n,t)}function Rd(e,t,n){return t===n?!0:zr(t)?zr(n)?e.getPossibleTypes(t).some(r=>e.isSubType(n,r)):e.isSubType(t,n):zr(n)?e.isSubType(n,t):!1}var qf=ue(()=>{"use strict";m();T();h();Zt()});function uo(e){return xo.some(({name:t})=>e.name===t)}function Kf(e){if(sr(e)){if(typeof e.valueOf=="function"){let t=e.valueOf();if(!sr(t))return t}if(typeof e.toJSON=="function")return e.toJSON()}return e}var Fd,wd,qy,Ky,Bn,Br,Ld,xo,Co=ue(()=>{"use strict";m();T();h();Nn();Lo();ot();Xt();is();Zt();Fd=2147483647,wd=-2147483648,qy=new Jr({name:"Int",description:"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.",serialize(e){let t=Kf(e);if(typeof t=="boolean")return t?1:0;let n=t;if(typeof t=="string"&&t!==""&&(n=Number(t)),typeof n!="number"||!Number.isInteger(n))throw new Y(`Int cannot represent non-integer value: ${ne(t)}`);if(n>Fd||nFd||eFd||tt===e.name)}var Vr,Pd,kd,xd,Uo,Cd,Ud,ai,Ui=ue(()=>{"use strict";m();T();h();Ni();Nn();wf();Lo();Vy();vd();Cf();Zt();Co();Vr=class{constructor(t){var n,r;this.name=Mr(t.name),this.description=t.description,this.locations=t.locations,this.isRepeatable=(n=t.isRepeatable)!==null&&n!==void 0?n:!1,this.extensions=Ii(t.extensions),this.astNode=t.astNode,Array.isArray(t.locations)||rt(!1,`@${t.name} locations must be an Array.`);let i=(r=t.args)!==null&&r!==void 0?r:{};sr(i)&&!Array.isArray(i)||rt(!1,`@${t.name} args must be an object with argument names as keys.`),this.args=R_(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:F_(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}},Pd=new Vr({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[He.FIELD,He.FRAGMENT_SPREAD,He.INLINE_FRAGMENT],args:{if:{type:new pt(Br),description:"Included when true."}}}),kd=new Vr({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[He.FIELD,He.FRAGMENT_SPREAD,He.INLINE_FRAGMENT],args:{if:{type:new pt(Br),description:"Skipped when true."}}}),xd="No longer supported",Uo=new Vr({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[He.FIELD_DEFINITION,He.ARGUMENT_DEFINITION,He.INPUT_FIELD_DEFINITION,He.ENUM_VALUE],args:{reason:{type:Bn,description:"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).",defaultValue:xd}}}),Cd=new Vr({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[He.SCALAR],args:{url:{type:new pt(Bn),description:"The URL that specifies the behavior of this scalar."}}}),Ud=new Vr({name:"oneOf",description:"Indicates exactly one field must be supplied and this field must not be `null`.",locations:[He.INPUT_OBJECT],args:{}}),ai=Object.freeze([Pd,kd,Uo,Cd,Ud])});function Md(e){return typeof e=="object"&&typeof(e==null?void 0:e[Symbol.iterator])=="function"}var Gy=ue(()=>{"use strict";m();T();h()});function Hr(e,t){if(Qe(t)){let n=Hr(e,t.ofType);return(n==null?void 0:n.kind)===R.NULL?null:n}if(e===null)return{kind:R.NULL};if(e===void 0)return null;if(Pt(t)){let n=t.ofType;if(Md(e)){let r=[];for(let i of e){let s=Hr(i,n);s!=null&&r.push(s)}return{kind:R.LIST,values:r}}return Hr(e,n)}if(It(t)){if(!sr(e))return null;let n=[];for(let r of Object.values(t.getFields())){let i=Hr(e[r.name],r.type);i&&n.push({kind:R.OBJECT_FIELD,name:{kind:R.NAME,value:r.name},value:i})}return{kind:R.OBJECT,fields:n}}if(Rr(t)){let n=t.serialize(e);if(n==null)return null;if(typeof n=="boolean")return{kind:R.BOOLEAN,value:n};if(typeof n=="number"&&Number.isFinite(n)){let r=String(n);return zk.test(r)?{kind:R.INT,value:r}:{kind:R.FLOAT,value:r}}if(typeof n=="string")return rn(t)?{kind:R.ENUM,value:n}:t===Ld&&zk.test(n)?{kind:R.INT,value:n}:{kind:R.STRING,value:n};throw new TypeError(`Cannot convert value to AST: ${ne(n)}.`)}Qt(!1,"Unexpected input type: "+ne(t))}var zk,Gf=ue(()=>{"use strict";m();T();h();Nn();ri();Gy();Lo();Xt();Zt();Co();zk=/^-?(?:0|[1-9][0-9]*)$/});function ui(e){return Mo.some(({name:t})=>e.name===t)}var il,Qf,Yf,Mi,Jf,sl,zf,mn,Hf,Fa,wa,La,Mo,Rs=ue(()=>{"use strict";m();T();h();Nn();ri();vd();is();Gf();Zt();Co();il=new _r({name:"__Schema",description:"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.",fields:()=>({description:{type:Bn,resolve:e=>e.description},types:{description:"A list of all types supported by this server.",type:new pt(new Mn(new pt(Mi))),resolve(e){return Object.values(e.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:new pt(Mi),resolve:e=>e.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:Mi,resolve:e=>e.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:Mi,resolve:e=>e.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new pt(new Mn(new pt(Qf))),resolve:e=>e.getDirectives()}})}),Qf=new _r({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document. -In some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.`,fields:()=>({name:{type:new pt(Bn),resolve:e=>e.name},description:{type:Bn,resolve:e=>e.description},isRepeatable:{type:new pt(Br),resolve:e=>e.isRepeatable},locations:{type:new pt(new Mn(new pt(Qf))),resolve:e=>e.locations},args:{type:new pt(new Mn(new pt(rl))),args:{includeDeprecated:{type:Br,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(n=>n.deprecationReason==null)}}})}),Qf=new oi({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value:He.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:He.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:He.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:He.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:He.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:He.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:He.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:He.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:He.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:He.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:He.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:He.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:He.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:He.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:He.UNION,description:"Location adjacent to a union definition."},ENUM:{value:He.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:He.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:He.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:He.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),Mi=new _r({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:()=>({kind:{type:new pt(zf),resolve(e){if(tr(e))return mn.SCALAR;if(ot(e))return mn.OBJECT;if(Nt(e))return mn.INTERFACE;if(fn(e))return mn.UNION;if(rn(e))return mn.ENUM;if(It(e))return mn.INPUT_OBJECT;if(Pt(e))return mn.LIST;if(Qe(e))return mn.NON_NULL;Qt(!1,`Unexpected type: "${ne(e)}".`)}},name:{type:Bn,resolve:e=>"name"in e?e.name:void 0},description:{type:Bn,resolve:e=>"description"in e?e.description:void 0},specifiedByURL:{type:Bn,resolve:e=>"specifiedByURL"in e?e.specifiedByURL:void 0},fields:{type:new Mn(new pt(Yf)),args:{includeDeprecated:{type:Br,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(ot(e)||Nt(e)){let n=Object.values(e.getFields());return t?n:n.filter(r=>r.deprecationReason==null)}}},interfaces:{type:new Mn(new pt(Mi)),resolve(e){if(ot(e)||Nt(e))return e.getInterfaces()}},possibleTypes:{type:new Mn(new pt(Mi)),resolve(e,t,n,{schema:r}){if(zr(e))return r.getPossibleTypes(e)}},enumValues:{type:new Mn(new pt(Jf)),args:{includeDeprecated:{type:Br,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(rn(e)){let n=e.getValues();return t?n:n.filter(r=>r.deprecationReason==null)}}},inputFields:{type:new Mn(new pt(rl)),args:{includeDeprecated:{type:Br,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(It(e)){let n=Object.values(e.getFields());return t?n:n.filter(r=>r.deprecationReason==null)}}},ofType:{type:Mi,resolve:e=>"ofType"in e?e.ofType:void 0},isOneOf:{type:Br,resolve:e=>{if(It(e))return e.isOneOf}}})}),Yf=new _r({name:"__Field",description:"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",fields:()=>({name:{type:new pt(Bn),resolve:e=>e.name},description:{type:Bn,resolve:e=>e.description},args:{type:new pt(new Mn(new pt(rl))),args:{includeDeprecated:{type:Br,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(n=>n.deprecationReason==null)}},type:{type:new pt(Mi),resolve:e=>e.type},isDeprecated:{type:new pt(Br),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:Bn,resolve:e=>e.deprecationReason}})}),rl=new _r({name:"__InputValue",description:"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",fields:()=>({name:{type:new pt(Bn),resolve:e=>e.name},description:{type:Bn,resolve:e=>e.description},type:{type:new pt(Mi),resolve:e=>e.type},defaultValue:{type:Bn,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(e){let{type:t,defaultValue:n}=e,r=Hr(n,t);return r?Ft(r):null}},isDeprecated:{type:new pt(Br),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:Bn,resolve:e=>e.deprecationReason}})}),Jf=new _r({name:"__EnumValue",description:"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",fields:()=>({name:{type:new pt(Bn),resolve:e=>e.name},description:{type:Bn,resolve:e=>e.description},isDeprecated:{type:new pt(Br),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:Bn,resolve:e=>e.deprecationReason}})});(function(e){e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.INPUT_OBJECT="INPUT_OBJECT",e.LIST="LIST",e.NON_NULL="NON_NULL"})(mn||(mn={}));zf=new oi({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:mn.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:mn.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:mn.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:mn.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:mn.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:mn.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:mn.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:mn.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),Fa={name:"__schema",type:new pt(nl),description:"Access the current type schema of this server.",args:[],resolve:(e,t,n,{schema:r})=>r,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},wa={name:"__type",type:Mi,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new pt(Bn),defaultValue:void 0,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0}],resolve:(e,{name:t},n,{schema:r})=>r.getType(t),deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},La={name:"__typename",type:new pt(Bn),description:"The name of the current Object type at runtime.",args:[],resolve:(e,t,n,{parentType:r})=>r.name,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Mo=Object.freeze([nl,Gf,Qf,Mi,Yf,rl,Jf,zf])});function Gy(e){return Ei(e,Bi)}function il(e){if(!Gy(e))throw new Error(`Expected ${ne(e)} to be a GraphQL schema.`);return e}function co(e,t){let n=Gn(e);if(!t.has(n)){if(t.add(n),fn(n))for(let r of n.getTypes())co(r,t);else if(ot(n)||Nt(n)){for(let r of n.getInterfaces())co(r,t);for(let r of Object.values(n.getFields())){co(r.type,t);for(let i of r.args)co(i.type,t)}}else if(It(n))for(let r of Object.values(n.getFields()))co(r.type,t)}return t}var Bi,sl=ue(()=>{"use strict";m();T();h();Ni();Nn();Ff();Lo();By();Po();Zt();Ui();As();Bi=class{constructor(t){var n,r;this.__validationErrors=t.assumeValid===!0?[]:void 0,sr(t)||rt(!1,"Must provide configuration object."),!t.types||Array.isArray(t.types)||rt(!1,`"types" must be Array if provided but got: ${ne(t.types)}.`),!t.directives||Array.isArray(t.directives)||rt(!1,`"directives" must be Array if provided but got: ${ne(t.directives)}.`),this.description=t.description,this.extensions=Ii(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this._queryType=t.query,this._mutationType=t.mutation,this._subscriptionType=t.subscription,this._directives=(r=t.directives)!==null&&r!==void 0?r:ai;let i=new Set(t.types);if(t.types!=null)for(let s of t.types)i.delete(s),co(s,i);this._queryType!=null&&co(this._queryType,i),this._mutationType!=null&&co(this._mutationType,i),this._subscriptionType!=null&&co(this._subscriptionType,i);for(let s of this._directives)if(uc(s))for(let o of s.args)co(o.type,i);co(nl,i),this._typeMap=Object.create(null),this._subTypeMap=Object.create(null),this._implementationsMap=Object.create(null);for(let s of i){if(s==null)continue;let o=s.name;if(o||rt(!1,"One of the provided types for building the Schema is missing a name."),this._typeMap[o]!==void 0)throw new Error(`Schema must contain uniquely named types but contains multiple types named "${o}".`);if(this._typeMap[o]=s,Nt(s)){for(let u of s.getInterfaces())if(Nt(u)){let l=this._implementationsMap[u.name];l===void 0&&(l=this._implementationsMap[u.name]={objects:[],interfaces:[]}),l.interfaces.push(s)}}else if(ot(s)){for(let u of s.getInterfaces())if(Nt(u)){let l=this._implementationsMap[u.name];l===void 0&&(l=this._implementationsMap[u.name]={objects:[],interfaces:[]}),l.objects.push(s)}}}}get[Symbol.toStringTag](){return"GraphQLSchema"}getQueryType(){return this._queryType}getMutationType(){return this._mutationType}getSubscriptionType(){return this._subscriptionType}getRootType(t){switch(t){case Un.QUERY:return this.getQueryType();case Un.MUTATION:return this.getMutationType();case Un.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(t){return this.getTypeMap()[t]}getPossibleTypes(t){return fn(t)?t.getTypes():this.getImplementations(t).objects}getImplementations(t){let n=this._implementationsMap[t.name];return n!=null?n:{objects:[],interfaces:[]}}isSubType(t,n){let r=this._subTypeMap[t.name];if(r===void 0){if(r=Object.create(null),fn(t))for(let i of t.getTypes())r[i.name]=!0;else{let i=this.getImplementations(t);for(let s of i.objects)r[s.name]=!0;for(let s of i.interfaces)r[s.name]=!0}this._subTypeMap[t.name]=r}return r[n.name]!==void 0}getDirectives(){return this._directives}getDirective(t){return this.getDirectives().find(n=>n.name===t)}toConfig(){return{description:this.description,query:this.getQueryType(),mutation:this.getMutationType(),subscription:this.getSubscriptionType(),types:Object.values(this.getTypeMap()),directives:this.getDirectives(),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,assumeValid:this.__validationErrors!==void 0}}}});function Ud(e){if(il(e),e.__validationErrors)return e.__validationErrors;let t=new P_(e);H6(t),W6(t),X6(t);let n=t.getErrors();return e.__validationErrors=n,n}function al(e){let t=Ud(e);if(t.length!==0)throw new Error(t.map(n=>n.message).join(` +In some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.`,fields:()=>({name:{type:new pt(Bn),resolve:e=>e.name},description:{type:Bn,resolve:e=>e.description},isRepeatable:{type:new pt(Br),resolve:e=>e.isRepeatable},locations:{type:new pt(new Mn(new pt(Yf))),resolve:e=>e.locations},args:{type:new pt(new Mn(new pt(sl))),args:{includeDeprecated:{type:Br,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(n=>n.deprecationReason==null)}}})}),Yf=new oi({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value:He.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:He.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:He.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:He.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:He.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:He.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:He.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:He.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:He.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:He.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:He.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:He.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:He.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:He.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:He.UNION,description:"Location adjacent to a union definition."},ENUM:{value:He.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:He.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:He.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:He.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),Mi=new _r({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:()=>({kind:{type:new pt(Hf),resolve(e){if(tr(e))return mn.SCALAR;if(at(e))return mn.OBJECT;if(Nt(e))return mn.INTERFACE;if(fn(e))return mn.UNION;if(rn(e))return mn.ENUM;if(It(e))return mn.INPUT_OBJECT;if(Pt(e))return mn.LIST;if(Qe(e))return mn.NON_NULL;Qt(!1,`Unexpected type: "${ne(e)}".`)}},name:{type:Bn,resolve:e=>"name"in e?e.name:void 0},description:{type:Bn,resolve:e=>"description"in e?e.description:void 0},specifiedByURL:{type:Bn,resolve:e=>"specifiedByURL"in e?e.specifiedByURL:void 0},fields:{type:new Mn(new pt(Jf)),args:{includeDeprecated:{type:Br,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(at(e)||Nt(e)){let n=Object.values(e.getFields());return t?n:n.filter(r=>r.deprecationReason==null)}}},interfaces:{type:new Mn(new pt(Mi)),resolve(e){if(at(e)||Nt(e))return e.getInterfaces()}},possibleTypes:{type:new Mn(new pt(Mi)),resolve(e,t,n,{schema:r}){if(zr(e))return r.getPossibleTypes(e)}},enumValues:{type:new Mn(new pt(zf)),args:{includeDeprecated:{type:Br,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(rn(e)){let n=e.getValues();return t?n:n.filter(r=>r.deprecationReason==null)}}},inputFields:{type:new Mn(new pt(sl)),args:{includeDeprecated:{type:Br,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(It(e)){let n=Object.values(e.getFields());return t?n:n.filter(r=>r.deprecationReason==null)}}},ofType:{type:Mi,resolve:e=>"ofType"in e?e.ofType:void 0},isOneOf:{type:Br,resolve:e=>{if(It(e))return e.isOneOf}}})}),Jf=new _r({name:"__Field",description:"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",fields:()=>({name:{type:new pt(Bn),resolve:e=>e.name},description:{type:Bn,resolve:e=>e.description},args:{type:new pt(new Mn(new pt(sl))),args:{includeDeprecated:{type:Br,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(n=>n.deprecationReason==null)}},type:{type:new pt(Mi),resolve:e=>e.type},isDeprecated:{type:new pt(Br),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:Bn,resolve:e=>e.deprecationReason}})}),sl=new _r({name:"__InputValue",description:"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",fields:()=>({name:{type:new pt(Bn),resolve:e=>e.name},description:{type:Bn,resolve:e=>e.description},type:{type:new pt(Mi),resolve:e=>e.type},defaultValue:{type:Bn,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(e){let{type:t,defaultValue:n}=e,r=Hr(n,t);return r?Ft(r):null}},isDeprecated:{type:new pt(Br),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:Bn,resolve:e=>e.deprecationReason}})}),zf=new _r({name:"__EnumValue",description:"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",fields:()=>({name:{type:new pt(Bn),resolve:e=>e.name},description:{type:Bn,resolve:e=>e.description},isDeprecated:{type:new pt(Br),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:Bn,resolve:e=>e.deprecationReason}})});(function(e){e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.INPUT_OBJECT="INPUT_OBJECT",e.LIST="LIST",e.NON_NULL="NON_NULL"})(mn||(mn={}));Hf=new oi({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:mn.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:mn.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:mn.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:mn.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:mn.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:mn.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:mn.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:mn.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),Fa={name:"__schema",type:new pt(il),description:"Access the current type schema of this server.",args:[],resolve:(e,t,n,{schema:r})=>r,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},wa={name:"__type",type:Mi,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new pt(Bn),defaultValue:void 0,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0}],resolve:(e,{name:t},n,{schema:r})=>r.getType(t),deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},La={name:"__typename",type:new pt(Bn),description:"The name of the current Object type at runtime.",args:[],resolve:(e,t,n,{parentType:r})=>r.name,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Mo=Object.freeze([il,Qf,Yf,Mi,Jf,sl,zf,Hf])});function Qy(e){return Ei(e,Bi)}function ol(e){if(!Qy(e))throw new Error(`Expected ${ne(e)} to be a GraphQL schema.`);return e}function co(e,t){let n=Gn(e);if(!t.has(n)){if(t.add(n),fn(n))for(let r of n.getTypes())co(r,t);else if(at(n)||Nt(n)){for(let r of n.getInterfaces())co(r,t);for(let r of Object.values(n.getFields())){co(r.type,t);for(let i of r.args)co(i.type,t)}}else if(It(n))for(let r of Object.values(n.getFields()))co(r.type,t)}return t}var Bi,al=ue(()=>{"use strict";m();T();h();Ni();Nn();wf();Lo();Vy();Po();Zt();Ui();Rs();Bi=class{constructor(t){var n,r;this.__validationErrors=t.assumeValid===!0?[]:void 0,sr(t)||rt(!1,"Must provide configuration object."),!t.types||Array.isArray(t.types)||rt(!1,`"types" must be Array if provided but got: ${ne(t.types)}.`),!t.directives||Array.isArray(t.directives)||rt(!1,`"directives" must be Array if provided but got: ${ne(t.directives)}.`),this.description=t.description,this.extensions=Ii(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this._queryType=t.query,this._mutationType=t.mutation,this._subscriptionType=t.subscription,this._directives=(r=t.directives)!==null&&r!==void 0?r:ai;let i=new Set(t.types);if(t.types!=null)for(let s of t.types)i.delete(s),co(s,i);this._queryType!=null&&co(this._queryType,i),this._mutationType!=null&&co(this._mutationType,i),this._subscriptionType!=null&&co(this._subscriptionType,i);for(let s of this._directives)if(uc(s))for(let o of s.args)co(o.type,i);co(il,i),this._typeMap=Object.create(null),this._subTypeMap=Object.create(null),this._implementationsMap=Object.create(null);for(let s of i){if(s==null)continue;let o=s.name;if(o||rt(!1,"One of the provided types for building the Schema is missing a name."),this._typeMap[o]!==void 0)throw new Error(`Schema must contain uniquely named types but contains multiple types named "${o}".`);if(this._typeMap[o]=s,Nt(s)){for(let u of s.getInterfaces())if(Nt(u)){let l=this._implementationsMap[u.name];l===void 0&&(l=this._implementationsMap[u.name]={objects:[],interfaces:[]}),l.interfaces.push(s)}}else if(at(s)){for(let u of s.getInterfaces())if(Nt(u)){let l=this._implementationsMap[u.name];l===void 0&&(l=this._implementationsMap[u.name]={objects:[],interfaces:[]}),l.objects.push(s)}}}}get[Symbol.toStringTag](){return"GraphQLSchema"}getQueryType(){return this._queryType}getMutationType(){return this._mutationType}getSubscriptionType(){return this._subscriptionType}getRootType(t){switch(t){case Un.QUERY:return this.getQueryType();case Un.MUTATION:return this.getMutationType();case Un.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(t){return this.getTypeMap()[t]}getPossibleTypes(t){return fn(t)?t.getTypes():this.getImplementations(t).objects}getImplementations(t){let n=this._implementationsMap[t.name];return n!=null?n:{objects:[],interfaces:[]}}isSubType(t,n){let r=this._subTypeMap[t.name];if(r===void 0){if(r=Object.create(null),fn(t))for(let i of t.getTypes())r[i.name]=!0;else{let i=this.getImplementations(t);for(let s of i.objects)r[s.name]=!0;for(let s of i.interfaces)r[s.name]=!0}this._subTypeMap[t.name]=r}return r[n.name]!==void 0}getDirectives(){return this._directives}getDirective(t){return this.getDirectives().find(n=>n.name===t)}toConfig(){return{description:this.description,query:this.getQueryType(),mutation:this.getMutationType(),subscription:this.getSubscriptionType(),types:Object.values(this.getTypeMap()),directives:this.getDirectives(),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,assumeValid:this.__validationErrors!==void 0}}}});function Bd(e){if(ol(e),e.__validationErrors)return e.__validationErrors;let t=new P_(e);H6(t),W6(t),X6(t);let n=t.getErrors();return e.__validationErrors=n,n}function cl(e){let t=Bd(e);if(t.length!==0)throw new Error(t.map(n=>n.message).join(` -`))}function H6(e){let t=e.schema,n=t.getQueryType();if(!n)e.reportError("Query root type must be provided.",t.astNode);else if(!ot(n)){var r;e.reportError(`Query root type must be Object type, it cannot be ${ne(n)}.`,(r=L_(t,Un.QUERY))!==null&&r!==void 0?r:n.astNode)}let i=t.getMutationType();if(i&&!ot(i)){var s;e.reportError(`Mutation root type must be Object type if provided, it cannot be ${ne(i)}.`,(s=L_(t,Un.MUTATION))!==null&&s!==void 0?s:i.astNode)}let o=t.getSubscriptionType();if(o&&!ot(o)){var u;e.reportError(`Subscription root type must be Object type if provided, it cannot be ${ne(o)}.`,(u=L_(t,Un.SUBSCRIPTION))!==null&&u!==void 0?u:o.astNode)}}function L_(e,t){var n;return(n=[e.astNode,...e.extensionASTNodes].flatMap(r=>{var i;return(i=r==null?void 0:r.operationTypes)!==null&&i!==void 0?i:[]}).find(r=>r.operation===t))===null||n===void 0?void 0:n.type}function W6(e){for(let n of e.schema.getDirectives()){if(!uc(n)){e.reportError(`Expected directive but got: ${ne(n)}.`,n==null?void 0:n.astNode);continue}ol(e,n);for(let r of n.args)if(ol(e,r),Nr(r.type)||e.reportError(`The type of @${n.name}(${r.name}:) must be Input Type but got: ${ne(r.type)}.`,r.astNode),cs(r)&&r.deprecationReason!=null){var t;e.reportError(`Required argument @${n.name}(${r.name}:) cannot be deprecated.`,[k_(r.astNode),(t=r.astNode)===null||t===void 0?void 0:t.type])}}}function ol(e,t){t.name.startsWith("__")&&e.reportError(`Name "${t.name}" must not begin with "__", which is reserved by GraphQL introspection.`,t.astNode)}function X6(e){let t=sH(e),n=e.schema.getTypeMap();for(let r of Object.values(n)){if(!Aa(r)){e.reportError(`Expected GraphQL named type but got: ${ne(r)}.`,r.astNode);continue}ui(r)||ol(e,r),ot(r)||Nt(r)?(Jk(e,r),zk(e,r)):fn(r)?tH(e,r):rn(r)?nH(e,r):It(r)&&(rH(e,r),t(r))}}function Jk(e,t){let n=Object.values(t.getFields());n.length===0&&e.reportError(`Type ${t.name} must define one or more fields.`,[t.astNode,...t.extensionASTNodes]);for(let o of n){if(ol(e,o),!us(o.type)){var r;e.reportError(`The type of ${t.name}.${o.name} must be Output Type but got: ${ne(o.type)}.`,(r=o.astNode)===null||r===void 0?void 0:r.type)}for(let u of o.args){let l=u.name;if(ol(e,u),!Nr(u.type)){var i;e.reportError(`The type of ${t.name}.${o.name}(${l}:) must be Input Type but got: ${ne(u.type)}.`,(i=u.astNode)===null||i===void 0?void 0:i.type)}if(cs(u)&&u.deprecationReason!=null){var s;e.reportError(`Required argument ${t.name}.${o.name}(${l}:) cannot be deprecated.`,[k_(u.astNode),(s=u.astNode)===null||s===void 0?void 0:s.type])}}}}function zk(e,t){let n=Object.create(null);for(let r of t.getInterfaces()){if(!Nt(r)){e.reportError(`Type ${ne(t)} must only implement Interface types, it cannot implement ${ne(r)}.`,Hf(t,r));continue}if(t===r){e.reportError(`Type ${t.name} cannot implement itself because it would create a circular reference.`,Hf(t,r));continue}if(n[r.name]){e.reportError(`Type ${t.name} can only implement ${r.name} once.`,Hf(t,r));continue}n[r.name]=!0,eH(e,t,r),Z6(e,t,r)}}function Z6(e,t,n){let r=t.getFields();for(let l of Object.values(n.getFields())){let d=l.name,p=r[d];if(!p){e.reportError(`Interface field ${n.name}.${d} expected but ${t.name} does not provide it.`,[l.astNode,t.astNode,...t.extensionASTNodes]);continue}if(!ao(e.schema,p.type,l.type)){var i,s;e.reportError(`Interface field ${n.name}.${d} expects type ${ne(l.type)} but ${t.name}.${d} is type ${ne(p.type)}.`,[(i=l.astNode)===null||i===void 0?void 0:i.type,(s=p.astNode)===null||s===void 0?void 0:s.type])}for(let y of l.args){let N=y.name,I=p.args.find(b=>b.name===N);if(!I){e.reportError(`Interface field argument ${n.name}.${d}(${N}:) expected but ${t.name}.${d} does not provide it.`,[y.astNode,p.astNode]);continue}if(!tl(y.type,I.type)){var o,u;e.reportError(`Interface field argument ${n.name}.${d}(${N}:) expects type ${ne(y.type)} but ${t.name}.${d}(${N}:) is type ${ne(I.type)}.`,[(o=y.astNode)===null||o===void 0?void 0:o.type,(u=I.astNode)===null||u===void 0?void 0:u.type])}}for(let y of p.args){let N=y.name;!l.args.find(b=>b.name===N)&&cs(y)&&e.reportError(`Object field ${t.name}.${d} includes required argument ${N} that is missing from the Interface field ${n.name}.${d}.`,[y.astNode,l.astNode])}}}function eH(e,t,n){let r=t.getInterfaces();for(let i of n.getInterfaces())r.includes(i)||e.reportError(i===t?`Type ${t.name} cannot implement ${n.name} because it would create a circular reference.`:`Type ${t.name} must implement ${i.name} because it is implemented by ${n.name}.`,[...Hf(n,i),...Hf(t,n)])}function tH(e,t){let n=t.getTypes();n.length===0&&e.reportError(`Union type ${t.name} must define one or more member types.`,[t.astNode,...t.extensionASTNodes]);let r=Object.create(null);for(let i of n){if(r[i.name]){e.reportError(`Union type ${t.name} can only include type ${i.name} once.`,Hk(t,i.name));continue}r[i.name]=!0,ot(i)||e.reportError(`Union type ${t.name} can only include Object types, it cannot include ${ne(i)}.`,Hk(t,String(i)))}}function nH(e,t){let n=t.getValues();n.length===0&&e.reportError(`Enum type ${t.name} must define one or more values.`,[t.astNode,...t.extensionASTNodes]);for(let r of n)ol(e,r)}function rH(e,t){let n=Object.values(t.getFields());n.length===0&&e.reportError(`Input Object type ${t.name} must define one or more fields.`,[t.astNode,...t.extensionASTNodes]);for(let s of n){if(ol(e,s),!Nr(s.type)){var r;e.reportError(`The type of ${t.name}.${s.name} must be Input Type but got: ${ne(s.type)}.`,(r=s.astNode)===null||r===void 0?void 0:r.type)}if(Ra(s)&&s.deprecationReason!=null){var i;e.reportError(`Required input field ${t.name}.${s.name} cannot be deprecated.`,[k_(s.astNode),(i=s.astNode)===null||i===void 0?void 0:i.type])}t.isOneOf&&iH(t,s,e)}}function iH(e,t,n){if(Qe(t.type)){var r;n.reportError(`OneOf input field ${e.name}.${t.name} must be nullable.`,(r=t.astNode)===null||r===void 0?void 0:r.type)}t.defaultValue!==void 0&&n.reportError(`OneOf input field ${e.name}.${t.name} cannot have a default value.`,t.astNode)}function sH(e){let t=Object.create(null),n=[],r=Object.create(null);return i;function i(s){if(t[s.name])return;t[s.name]=!0,r[s.name]=n.length;let o=Object.values(s.getFields());for(let u of o)if(Qe(u.type)&&It(u.type.ofType)){let l=u.type.ofType,d=r[l.name];if(n.push(u),d===void 0)i(l);else{let p=n.slice(d),y=p.map(N=>N.name).join(".");e.reportError(`Cannot reference Input Object "${l.name}" within itself through a series of non-null fields: "${y}".`,p.map(N=>N.astNode))}n.pop()}r[s.name]=void 0}}function Hf(e,t){let{astNode:n,extensionASTNodes:r}=e;return(n!=null?[n,...r]:r).flatMap(s=>{var o;return(o=s.interfaces)!==null&&o!==void 0?o:[]}).filter(s=>s.name.value===t.name)}function Hk(e,t){let{astNode:n,extensionASTNodes:r}=e;return(n!=null?[n,...r]:r).flatMap(s=>{var o;return(o=s.types)!==null&&o!==void 0?o:[]}).filter(s=>s.name.value===t)}function k_(e){var t;return e==null||(t=e.directives)===null||t===void 0?void 0:t.find(n=>n.name.value===Uo.name)}var P_,Wf=ue(()=>{"use strict";m();T();h();Nn();st();Po();$f();Zt();Ui();As();sl();P_=class{constructor(t){this._errors=[],this.schema=t}reportError(t,n){let r=Array.isArray(n)?n.filter(Boolean):n;this._errors.push(new Y(t,{nodes:r}))}getErrors(){return this._errors}}});function Qn(e,t){switch(t.kind){case R.LIST_TYPE:{let n=Qn(e,t.type);return n&&new Mn(n)}case R.NON_NULL_TYPE:{let n=Qn(e,t.type);return n&&new pt(n)}case R.NAMED_TYPE:return e.getType(t.name.value)}}var Bo=ue(()=>{"use strict";m();T();h();Xt();Zt()});function oH(e,t,n){let r=n.name.value;if(r===Fa.name&&e.getQueryType()===t)return Fa;if(r===wa.name&&e.getQueryType()===t)return wa;if(r===La.name&&vi(t))return La;if(ot(t)||Nt(t))return t.getFields()[r]}function ul(e,t){return{enter(...n){let r=n[0];e.enter(r);let i=Da(t,r.kind).enter;if(i){let s=i.apply(t,n);return s!==void 0&&(e.leave(r),Of(s)&&e.enter(s)),s}},leave(...n){let r=n[0],i=Da(t,r.kind).leave,s;return i&&(s=i.apply(t,n)),e.leave(r),s}}}var Pa,Qy=ue(()=>{"use strict";m();T();h();Po();Xt();Wc();Zt();As();Bo();Pa=class{constructor(t,n,r){this._schema=t,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=r!=null?r:oH,n&&(Nr(n)&&this._inputTypeStack.push(n),vi(n)&&this._parentTypeStack.push(n),us(n)&&this._typeStack.push(n))}get[Symbol.toStringTag](){return"TypeInfo"}getType(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]}getParentType(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]}getInputType(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]}getParentInputType(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]}getFieldDef(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]}getDefaultValue(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]}getDirective(){return this._directive}getArgument(){return this._argument}getEnumValue(){return this._enumValue}enter(t){let n=this._schema;switch(t.kind){case R.SELECTION_SET:{let i=Gn(this.getType());this._parentTypeStack.push(vi(i)?i:void 0);break}case R.FIELD:{let i=this.getParentType(),s,o;i&&(s=this._getFieldDef(n,i,t),s&&(o=s.type)),this._fieldDefStack.push(s),this._typeStack.push(us(o)?o:void 0);break}case R.DIRECTIVE:this._directive=n.getDirective(t.name.value);break;case R.OPERATION_DEFINITION:{let i=n.getRootType(t.operation);this._typeStack.push(ot(i)?i:void 0);break}case R.INLINE_FRAGMENT:case R.FRAGMENT_DEFINITION:{let i=t.typeCondition,s=i?Qn(n,i):Gn(this.getType());this._typeStack.push(us(s)?s:void 0);break}case R.VARIABLE_DEFINITION:{let i=Qn(n,t.type);this._inputTypeStack.push(Nr(i)?i:void 0);break}case R.ARGUMENT:{var r;let i,s,o=(r=this.getDirective())!==null&&r!==void 0?r:this.getFieldDef();o&&(i=o.args.find(u=>u.name===t.name.value),i&&(s=i.type)),this._argument=i,this._defaultValueStack.push(i?i.defaultValue:void 0),this._inputTypeStack.push(Nr(s)?s:void 0);break}case R.LIST:{let i=el(this.getInputType()),s=Pt(i)?i.ofType:i;this._defaultValueStack.push(void 0),this._inputTypeStack.push(Nr(s)?s:void 0);break}case R.OBJECT_FIELD:{let i=Gn(this.getInputType()),s,o;It(i)&&(o=i.getFields()[t.name.value],o&&(s=o.type)),this._defaultValueStack.push(o?o.defaultValue:void 0),this._inputTypeStack.push(Nr(s)?s:void 0);break}case R.ENUM:{let i=Gn(this.getInputType()),s;rn(i)&&(s=i.getValue(t.value)),this._enumValue=s;break}default:}}leave(t){switch(t.kind){case R.SELECTION_SET:this._parentTypeStack.pop();break;case R.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case R.DIRECTIVE:this._directive=null;break;case R.OPERATION_DEFINITION:case R.INLINE_FRAGMENT:case R.FRAGMENT_DEFINITION:this._typeStack.pop();break;case R.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case R.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case R.LIST:case R.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case R.ENUM:this._enumValue=null;break;default:}}}});function x_(e){return Md(e)||Bd(e)||Vd(e)}function Md(e){return e.kind===R.OPERATION_DEFINITION||e.kind===R.FRAGMENT_DEFINITION}function C_(e){return e.kind===R.FIELD||e.kind===R.FRAGMENT_SPREAD||e.kind===R.INLINE_FRAGMENT}function Yy(e){return e.kind===R.VARIABLE||e.kind===R.INT||e.kind===R.FLOAT||e.kind===R.STRING||e.kind===R.BOOLEAN||e.kind===R.NULL||e.kind===R.ENUM||e.kind===R.LIST||e.kind===R.OBJECT}function Xf(e){return Yy(e)&&(e.kind===R.LIST?e.values.some(Xf):e.kind===R.OBJECT?e.fields.some(t=>Xf(t.value)):e.kind!==R.VARIABLE)}function U_(e){return e.kind===R.NAMED_TYPE||e.kind===R.LIST_TYPE||e.kind===R.NON_NULL_TYPE}function Bd(e){return e.kind===R.SCHEMA_DEFINITION||Rs(e)||e.kind===R.DIRECTIVE_DEFINITION}function Rs(e){return e.kind===R.SCALAR_TYPE_DEFINITION||e.kind===R.OBJECT_TYPE_DEFINITION||e.kind===R.INTERFACE_TYPE_DEFINITION||e.kind===R.UNION_TYPE_DEFINITION||e.kind===R.ENUM_TYPE_DEFINITION||e.kind===R.INPUT_OBJECT_TYPE_DEFINITION}function Vd(e){return e.kind===R.SCHEMA_EXTENSION||lc(e)}function lc(e){return e.kind===R.SCALAR_TYPE_EXTENSION||e.kind===R.OBJECT_TYPE_EXTENSION||e.kind===R.INTERFACE_TYPE_EXTENSION||e.kind===R.UNION_TYPE_EXTENSION||e.kind===R.ENUM_TYPE_EXTENSION||e.kind===R.INPUT_OBJECT_TYPE_EXTENSION}var cl=ue(()=>{"use strict";m();T();h();Xt()});function Zf(e){return{Document(t){for(let n of t.definitions)if(!Md(n)){let r=n.kind===R.SCHEMA_DEFINITION||n.kind===R.SCHEMA_EXTENSION?"schema":'"'+n.name.value+'"';e.reportError(new Y(`The ${r} definition is not executable.`,{nodes:n}))}return!1}}}var M_=ue(()=>{"use strict";m();T();h();st();Xt();cl()});function em(e){return{Field(t){let n=e.getParentType();if(n&&!e.getFieldDef()){let i=e.getSchema(),s=t.name.value,o=ii("to use an inline fragment on",aH(i,n,s));o===""&&(o=ii(uH(n,s))),e.reportError(new Y(`Cannot query field "${s}" on type "${n.name}".`+o,{nodes:t}))}}}}function aH(e,t,n){if(!zr(t))return[];let r=new Set,i=Object.create(null);for(let o of e.getPossibleTypes(t))if(o.getFields()[n]){r.add(o),i[o.name]=1;for(let u of o.getInterfaces()){var s;u.getFields()[n]&&(r.add(u),i[u.name]=((s=i[u.name])!==null&&s!==void 0?s:0)+1)}}return[...r].sort((o,u)=>{let l=i[u.name]-i[o.name];return l!==0?l:Nt(o)&&e.isSubType(o,u)?-1:Nt(u)&&e.isSubType(u,o)?1:Sa(o.name,u.name)}).map(o=>o.name)}function uH(e,t){if(ot(e)||Nt(e)){let n=Object.keys(e.getFields());return gi(t,n)}return[]}var B_=ue(()=>{"use strict";m();T();h();rc();Pf();sc();st();Zt()});function tm(e){return{InlineFragment(t){let n=t.typeCondition;if(n){let r=Qn(e.getSchema(),n);if(r&&!vi(r)){let i=Ft(n);e.reportError(new Y(`Fragment cannot condition on non composite type "${i}".`,{nodes:n}))}}},FragmentDefinition(t){let n=Qn(e.getSchema(),t.typeCondition);if(n&&!vi(n)){let r=Ft(t.typeCondition);e.reportError(new Y(`Fragment "${t.name.value}" cannot condition on non composite type "${r}".`,{nodes:t.typeCondition}))}}}}var V_=ue(()=>{"use strict";m();T();h();st();is();Zt();Bo()});function nm(e){return K(k({},j_(e)),{Argument(t){let n=e.getArgument(),r=e.getFieldDef(),i=e.getParentType();if(!n&&r&&i){let s=t.name.value,o=r.args.map(l=>l.name),u=gi(s,o);e.reportError(new Y(`Unknown argument "${s}" on field "${i.name}.${r.name}".`+ii(u),{nodes:t}))}}})}function j_(e){let t=Object.create(null),n=e.getSchema(),r=n?n.getDirectives():ai;for(let o of r)t[o.name]=o.args.map(u=>u.name);let i=e.getDocument().definitions;for(let o of i)if(o.kind===R.DIRECTIVE_DEFINITION){var s;let u=(s=o.arguments)!==null&&s!==void 0?s:[];t[o.name.value]=u.map(l=>l.name.value)}return{Directive(o){let u=o.name.value,l=t[u];if(o.arguments&&l)for(let d of o.arguments){let p=d.name.value;if(!l.includes(p)){let y=gi(p,l);e.reportError(new Y(`Unknown argument "${p}" on directive "@${u}".`+ii(y),{nodes:d}))}}return!1}}}var $_=ue(()=>{"use strict";m();T();h();rc();sc();st();Xt();Ui()});function jd(e){let t=Object.create(null),n=e.getSchema(),r=n?n.getDirectives():ai;for(let s of r)t[s.name]=s.locations;let i=e.getDocument().definitions;for(let s of i)s.kind===R.DIRECTIVE_DEFINITION&&(t[s.name.value]=s.locations.map(o=>o.value));return{Directive(s,o,u,l,d){let p=s.name.value,y=t[p];if(!y){e.reportError(new Y(`Unknown directive "@${p}".`,{nodes:s}));return}let N=cH(d);N&&!y.includes(N)&&e.reportError(new Y(`Directive "@${p}" may not be used on ${N}.`,{nodes:s}))}}}function cH(e){let t=e[e.length-1];switch("kind"in t||Qt(!1),t.kind){case R.OPERATION_DEFINITION:return lH(t.operation);case R.FIELD:return He.FIELD;case R.FRAGMENT_SPREAD:return He.FRAGMENT_SPREAD;case R.INLINE_FRAGMENT:return He.INLINE_FRAGMENT;case R.FRAGMENT_DEFINITION:return He.FRAGMENT_DEFINITION;case R.VARIABLE_DEFINITION:return He.VARIABLE_DEFINITION;case R.SCHEMA_DEFINITION:case R.SCHEMA_EXTENSION:return He.SCHEMA;case R.SCALAR_TYPE_DEFINITION:case R.SCALAR_TYPE_EXTENSION:return He.SCALAR;case R.OBJECT_TYPE_DEFINITION:case R.OBJECT_TYPE_EXTENSION:return He.OBJECT;case R.FIELD_DEFINITION:return He.FIELD_DEFINITION;case R.INTERFACE_TYPE_DEFINITION:case R.INTERFACE_TYPE_EXTENSION:return He.INTERFACE;case R.UNION_TYPE_DEFINITION:case R.UNION_TYPE_EXTENSION:return He.UNION;case R.ENUM_TYPE_DEFINITION:case R.ENUM_TYPE_EXTENSION:return He.ENUM;case R.ENUM_VALUE_DEFINITION:return He.ENUM_VALUE;case R.INPUT_OBJECT_TYPE_DEFINITION:case R.INPUT_OBJECT_TYPE_EXTENSION:return He.INPUT_OBJECT;case R.INPUT_VALUE_DEFINITION:{let n=e[e.length-3];return"kind"in n||Qt(!1),n.kind===R.INPUT_OBJECT_TYPE_DEFINITION?He.INPUT_FIELD_DEFINITION:He.ARGUMENT_DEFINITION}default:Qt(!1,"Unexpected kind: "+ne(t.kind))}}function lH(e){switch(e){case Un.QUERY:return He.QUERY;case Un.MUTATION:return He.MUTATION;case Un.SUBSCRIPTION:return He.SUBSCRIPTION}}var q_=ue(()=>{"use strict";m();T();h();Nn();ri();st();Po();gd();Xt();Ui()});function rm(e){return{FragmentSpread(t){let n=t.name.value;e.getFragment(n)||e.reportError(new Y(`Unknown fragment "${n}".`,{nodes:t.name}))}}}var K_=ue(()=>{"use strict";m();T();h();st()});function $d(e){let t=e.getSchema(),n=t?t.getTypeMap():Object.create(null),r=Object.create(null);for(let s of e.getDocument().definitions)Rs(s)&&(r[s.name.value]=!0);let i=[...Object.keys(n),...Object.keys(r)];return{NamedType(s,o,u,l,d){let p=s.name.value;if(!n[p]&&!r[p]){var y;let N=(y=d[2])!==null&&y!==void 0?y:u,I=N!=null&&dH(N);if(I&&Wk.includes(p))return;let b=gi(p,I?Wk.concat(i):i);e.reportError(new Y(`Unknown type "${p}".`+ii(b),{nodes:s}))}}}}function dH(e){return"kind"in e&&(Bd(e)||Vd(e))}var Wk,G_=ue(()=>{"use strict";m();T();h();rc();sc();st();cl();As();Co();Wk=[...xo,...Mo].map(e=>e.name)});function im(e){let t=0;return{Document(n){t=n.definitions.filter(r=>r.kind===R.OPERATION_DEFINITION).length},OperationDefinition(n){!n.name&&t>1&&e.reportError(new Y("This anonymous operation must be the only defined operation.",{nodes:n}))}}}var Q_=ue(()=>{"use strict";m();T();h();st();Xt()});function sm(e){var t,n,r;let i=e.getSchema(),s=(t=(n=(r=i==null?void 0:i.astNode)!==null&&r!==void 0?r:i==null?void 0:i.getQueryType())!==null&&n!==void 0?n:i==null?void 0:i.getMutationType())!==null&&t!==void 0?t:i==null?void 0:i.getSubscriptionType(),o=0;return{SchemaDefinition(u){if(s){e.reportError(new Y("Cannot define a new schema within a schema extension.",{nodes:u}));return}o>0&&e.reportError(new Y("Must provide only one schema definition.",{nodes:u})),++o}}}var Y_=ue(()=>{"use strict";m();T();h();st()});function om(e){function t(n,r=Object.create(null),i=0){if(n.kind===R.FRAGMENT_SPREAD){let s=n.name.value;if(r[s]===!0)return!1;let o=e.getFragment(s);if(!o)return!1;try{return r[s]=!0,t(o,r,i)}finally{r[s]=void 0}}if(n.kind===R.FIELD&&(n.name.value==="fields"||n.name.value==="interfaces"||n.name.value==="possibleTypes"||n.name.value==="inputFields")&&(i++,i>=pH))return!0;if("selectionSet"in n&&n.selectionSet){for(let s of n.selectionSet.selections)if(t(s,r,i))return!0}return!1}return{Field(n){if((n.name.value==="__schema"||n.name.value==="__type")&&t(n))return e.reportError(new Y("Maximum introspection depth exceeded",{nodes:[n]})),!1}}}var pH,J_=ue(()=>{"use strict";m();T();h();st();Xt();pH=3});function am(e){let t=Object.create(null),n=[],r=Object.create(null);return{OperationDefinition:()=>!1,FragmentDefinition(s){return i(s),!1}};function i(s){if(t[s.name.value])return;let o=s.name.value;t[o]=!0;let u=e.getFragmentSpreads(s.selectionSet);if(u.length!==0){r[o]=n.length;for(let l of u){let d=l.name.value,p=r[d];if(n.push(l),p===void 0){let y=e.getFragment(d);y&&i(y)}else{let y=n.slice(p),N=y.slice(0,-1).map(I=>'"'+I.name.value+'"').join(", ");e.reportError(new Y(`Cannot spread fragment "${d}" within itself`+(N!==""?` via ${N}.`:"."),{nodes:y}))}n.pop()}r[o]=void 0}}}var z_=ue(()=>{"use strict";m();T();h();st()});function um(e){let t=Object.create(null);return{OperationDefinition:{enter(){t=Object.create(null)},leave(n){let r=e.getRecursiveVariableUsages(n);for(let{node:i}of r){let s=i.name.value;t[s]!==!0&&e.reportError(new Y(n.name?`Variable "$${s}" is not defined by operation "${n.name.value}".`:`Variable "$${s}" is not defined.`,{nodes:[i,n]}))}}},VariableDefinition(n){t[n.variable.name.value]=!0}}}var H_=ue(()=>{"use strict";m();T();h();st()});function cm(e){let t=[],n=[];return{OperationDefinition(r){return t.push(r),!1},FragmentDefinition(r){return n.push(r),!1},Document:{leave(){let r=Object.create(null);for(let i of t)for(let s of e.getRecursivelyReferencedFragments(i))r[s.name.value]=!0;for(let i of n){let s=i.name.value;r[s]!==!0&&e.reportError(new Y(`Fragment "${s}" is never used.`,{nodes:i}))}}}}}var W_=ue(()=>{"use strict";m();T();h();st()});function lm(e){let t=[];return{OperationDefinition:{enter(){t=[]},leave(n){let r=Object.create(null),i=e.getRecursiveVariableUsages(n);for(let{node:s}of i)r[s.name.value]=!0;for(let s of t){let o=s.variable.name.value;r[o]!==!0&&e.reportError(new Y(n.name?`Variable "$${o}" is never used in operation "${n.name.value}".`:`Variable "$${o}" is never used.`,{nodes:s}))}}},VariableDefinition(n){t.push(n)}}}var X_=ue(()=>{"use strict";m();T();h();st()});function qd(e){switch(e.kind){case R.OBJECT:return K(k({},e),{fields:fH(e.fields)});case R.LIST:return K(k({},e),{values:e.values.map(qd)});case R.INT:case R.FLOAT:case R.STRING:case R.BOOLEAN:case R.NULL:case R.ENUM:case R.VARIABLE:return e}}function fH(e){return e.map(t=>K(k({},t),{value:qd(t.value)})).sort((t,n)=>Sa(t.name.value,n.name.value))}var Z_=ue(()=>{"use strict";m();T();h();Pf();Xt()});function Zk(e){return Array.isArray(e)?e.map(([t,n])=>`subfields "${t}" conflict because `+Zk(n)).join(" and "):e}function dm(e){let t=new nb,n=new Map;return{SelectionSet(r){let i=mH(e,n,t,e.getParentType(),r);for(let[[s,o],u,l]of i){let d=Zk(o);e.reportError(new Y(`Fields "${s}" conflict because ${d}. Use different aliases on the fields to fetch both if this was intentional.`,{nodes:u.concat(l)}))}}}}function mH(e,t,n,r,i){let s=[],[o,u]=Hy(e,t,r,i);if(TH(e,s,t,n,o),u.length!==0)for(let l=0;l1)for(let u=0;u[s.value,o]));return n.every(s=>{let o=s.value,u=i.get(s.name.value);return u===void 0?!1:Xk(o)===Xk(u)})}function Xk(e){return Ft(qd(e))}function eb(e,t){return Pt(e)?Pt(t)?eb(e.ofType,t.ofType):!0:Pt(t)?!0:Qe(e)?Qe(t)?eb(e.ofType,t.ofType):!0:Qe(t)?!0:Rr(e)||Rr(t)?e!==t:!1}function Hy(e,t,n,r){let i=t.get(r);if(i)return i;let s=Object.create(null),o=Object.create(null);tx(e,n,r,s,o);let u=[s,Object.keys(o)];return t.set(r,u),u}function tb(e,t,n){let r=t.get(n.selectionSet);if(r)return r;let i=Qn(e.getSchema(),n.typeCondition);return Hy(e,t,i,n.selectionSet)}function tx(e,t,n,r,i){for(let s of n.selections)switch(s.kind){case R.FIELD:{let o=s.name.value,u;(ot(t)||Nt(t))&&(u=t.getFields()[o]);let l=s.alias?s.alias.value:o;r[l]||(r[l]=[]),r[l].push([t,s,u]);break}case R.FRAGMENT_SPREAD:i[s.name.value]=!0;break;case R.INLINE_FRAGMENT:{let o=s.typeCondition,u=o?Qn(e.getSchema(),o):t;tx(e,u,s.selectionSet,r,i);break}}}function NH(e,t,n,r){if(e.length>0)return[[t,e.map(([i])=>i)],[n,...e.map(([,i])=>i).flat()],[r,...e.map(([,,i])=>i).flat()]]}var nb,ib=ue(()=>{"use strict";m();T();h();Nn();st();Xt();is();Zt();Z_();Bo();nb=class{constructor(){this._data=new Map}has(t,n,r){var i;let[s,o]=t{"use strict";m();T();h();Nn();st();Zt();$f();Bo()});function fm(e){let t=e.getSchema(),n=Object.create(null);for(let i of e.getDocument().definitions)Rs(i)&&(n[i.name.value]=i);return{ScalarTypeExtension:r,ObjectTypeExtension:r,InterfaceTypeExtension:r,UnionTypeExtension:r,EnumTypeExtension:r,InputObjectTypeExtension:r};function r(i){let s=i.name.value,o=n[s],u=t==null?void 0:t.getType(s),l;if(o?l=gH[o.kind]:u&&(l=IH(u)),l){if(l!==i.kind){let d=vH(i.kind);e.reportError(new Y(`Cannot extend non-${d} type "${s}".`,{nodes:o?[o,i]:i}))}}else{let d=Object.keys(k(k({},n),t==null?void 0:t.getTypeMap())),p=gi(s,d);e.reportError(new Y(`Cannot extend type "${s}" because it is not defined.`+ii(p),{nodes:i.name}))}}}function IH(e){if(tr(e))return R.SCALAR_TYPE_EXTENSION;if(ot(e))return R.OBJECT_TYPE_EXTENSION;if(Nt(e))return R.INTERFACE_TYPE_EXTENSION;if(fn(e))return R.UNION_TYPE_EXTENSION;if(rn(e))return R.ENUM_TYPE_EXTENSION;if(It(e))return R.INPUT_OBJECT_TYPE_EXTENSION;Qt(!1,"Unexpected type: "+ne(e))}function vH(e){switch(e){case R.SCALAR_TYPE_EXTENSION:return"scalar";case R.OBJECT_TYPE_EXTENSION:return"object";case R.INTERFACE_TYPE_EXTENSION:return"interface";case R.UNION_TYPE_EXTENSION:return"union";case R.ENUM_TYPE_EXTENSION:return"enum";case R.INPUT_OBJECT_TYPE_EXTENSION:return"input object";default:Qt(!1,"Unexpected kind: "+ne(e))}}var gH,ob=ue(()=>{"use strict";m();T();h();rc();Nn();ri();sc();st();Xt();cl();Zt();gH={[R.SCALAR_TYPE_DEFINITION]:R.SCALAR_TYPE_EXTENSION,[R.OBJECT_TYPE_DEFINITION]:R.OBJECT_TYPE_EXTENSION,[R.INTERFACE_TYPE_DEFINITION]:R.INTERFACE_TYPE_EXTENSION,[R.UNION_TYPE_DEFINITION]:R.UNION_TYPE_EXTENSION,[R.ENUM_TYPE_DEFINITION]:R.ENUM_TYPE_EXTENSION,[R.INPUT_OBJECT_TYPE_DEFINITION]:R.INPUT_OBJECT_TYPE_EXTENSION}});function mm(e){return K(k({},ab(e)),{Field:{leave(t){var n;let r=e.getFieldDef();if(!r)return!1;let i=new Set((n=t.arguments)===null||n===void 0?void 0:n.map(s=>s.name.value));for(let s of r.args)if(!i.has(s.name)&&cs(s)){let o=ne(s.type);e.reportError(new Y(`Field "${r.name}" argument "${s.name}" of type "${o}" is required, but it was not provided.`,{nodes:t}))}}}})}function ab(e){var t;let n=Object.create(null),r=e.getSchema(),i=(t=r==null?void 0:r.getDirectives())!==null&&t!==void 0?t:ai;for(let u of i)n[u.name]=si(u.args.filter(cs),l=>l.name);let s=e.getDocument().definitions;for(let u of s)if(u.kind===R.DIRECTIVE_DEFINITION){var o;let l=(o=u.arguments)!==null&&o!==void 0?o:[];n[u.name.value]=si(l.filter(_H),d=>d.name.value)}return{Directive:{leave(u){let l=u.name.value,d=n[l];if(d){var p;let y=(p=u.arguments)!==null&&p!==void 0?p:[],N=new Set(y.map(I=>I.name.value));for(let[I,b]of Object.entries(d))if(!N.has(I)){let C=ac(b.type)?ne(b.type):Ft(b.type);e.reportError(new Y(`Directive "@${l}" argument "${I}" of type "${C}" is required, but it was not provided.`,{nodes:u}))}}}}}}function _H(e){return e.type.kind===R.NON_NULL_TYPE&&e.defaultValue==null}var ub=ue(()=>{"use strict";m();T();h();Nn();ic();st();Xt();is();Zt();Ui()});function hm(e){return{Field(t){let n=e.getType(),r=t.selectionSet;if(n){if(Rr(Gn(n))){if(r){let i=t.name.value,s=ne(n);e.reportError(new Y(`Field "${i}" must not have a selection since type "${s}" has no subfields.`,{nodes:r}))}}else if(!r){let i=t.name.value,s=ne(n);e.reportError(new Y(`Field "${i}" of type "${s}" must have a selection of subfields. Did you mean "${i} { ... }"?`,{nodes:t}))}}}}}var cb=ue(()=>{"use strict";m();T();h();Nn();st();Zt()});function Wy(e){return e.map(t=>typeof t=="number"?"["+t.toString()+"]":"."+t).join("")}var lb=ue(()=>{"use strict";m();T();h()});function ka(e,t,n){return{prev:e,key:t,typename:n}}function br(e){let t=[],n=e;for(;n;)t.push(n.key),n=n.prev;return t.reverse()}var Tm=ue(()=>{"use strict";m();T();h()});function Nm(e,t,n=bH){return ym(e,t,n,void 0)}function bH(e,t,n){let r="Invalid value "+ne(t);throw e.length>0&&(r+=` at "value${Wy(e)}"`),n.message=r+": "+n.message,n}function ym(e,t,n,r){if(Qe(t)){if(e!=null)return ym(e,t.ofType,n,r);n(br(r),e,new Y(`Expected non-nullable type "${ne(t)}" not to be null.`));return}if(e==null)return null;if(Pt(t)){let i=t.ofType;return Cd(e)?Array.from(e,(s,o)=>{let u=ka(r,o,void 0);return ym(s,i,n,u)}):[ym(e,i,n,r)]}if(It(t)){if(!sr(e)){n(br(r),e,new Y(`Expected type "${t.name}" to be an object.`));return}let i={},s=t.getFields();for(let o of Object.values(s)){let u=e[o.name];if(u===void 0){if(o.defaultValue!==void 0)i[o.name]=o.defaultValue;else if(Qe(o.type)){let l=ne(o.type);n(br(r),e,new Y(`Field "${o.name}" of required type "${l}" was not provided.`))}continue}i[o.name]=ym(u,o.type,n,ka(r,o.name,t.name))}for(let o of Object.keys(e))if(!s[o]){let u=gi(o,Object.keys(t.getFields()));n(br(r),e,new Y(`Field "${o}" is not defined by type "${t.name}".`+ii(u)))}if(t.isOneOf){let o=Object.keys(i);o.length!==1&&n(br(r),e,new Y(`Exactly one key must be specified for OneOf type "${t.name}".`));let u=o[0],l=i[u];l===null&&n(br(r).concat(u),l,new Y(`Field "${u}" must be non-null.`))}return i}if(Rr(t)){let i;try{i=t.parseValue(e)}catch(s){s instanceof Y?n(br(r),e,s):n(br(r),e,new Y(`Expected type "${t.name}". `+s.message,{originalError:s}));return}return i===void 0&&n(br(r),e,new Y(`Expected type "${t.name}".`)),i}Qt(!1,"Unexpected input type: "+ne(t))}var db=ue(()=>{"use strict";m();T();h();rc();Nn();ri();Ky();Lo();Tm();lb();sc();st();Zt()});function _i(e,t,n){if(e){if(e.kind===R.VARIABLE){let r=e.name.value;if(n==null||n[r]===void 0)return;let i=n[r];return i===null&&Qe(t)?void 0:i}if(Qe(t))return e.kind===R.NULL?void 0:_i(e,t.ofType,n);if(e.kind===R.NULL)return null;if(Pt(t)){let r=t.ofType;if(e.kind===R.LIST){let s=[];for(let o of e.values)if(nx(o,n)){if(Qe(r))return;s.push(null)}else{let u=_i(o,r,n);if(u===void 0)return;s.push(u)}return s}let i=_i(e,r,n);return i===void 0?void 0:[i]}if(It(t)){if(e.kind!==R.OBJECT)return;let r=Object.create(null),i=si(e.fields,s=>s.name.value);for(let s of Object.values(t.getFields())){let o=i[s.name];if(!o||nx(o.value,n)){if(s.defaultValue!==void 0)r[s.name]=s.defaultValue;else if(Qe(s.type))return;continue}let u=_i(o.value,s.type,n);if(u===void 0)return;r[s.name]=u}if(t.isOneOf){let s=Object.keys(r);if(s.length!==1||r[s[0]]===null)return}return r}if(Rr(t)){let r;try{r=t.parseLiteral(e,n)}catch(i){return}return r===void 0?void 0:r}Qt(!1,"Unexpected input type: "+ne(t))}}function nx(e,t){return e.kind===R.VARIABLE&&(t==null||t[e.name.value]===void 0)}var Em=ue(()=>{"use strict";m();T();h();Nn();ri();ic();Xt();Zt()});function gm(e,t,n,r){let i=[],s=r==null?void 0:r.maxErrors;try{let o=OH(e,t,n,u=>{if(s!=null&&i.length>=s)throw new Y("Too many errors processing variables, error limit reached. Execution aborted.");i.push(u)});if(i.length===0)return{coerced:o}}catch(o){i.push(o)}return{errors:i}}function OH(e,t,n,r){let i={};for(let s of t){let o=s.variable.name.value,u=Qn(e,s.type);if(!Nr(u)){let d=Ft(s.type);r(new Y(`Variable "$${o}" expected value of type "${d}" which cannot be used as an input type.`,{nodes:s.type}));continue}if(!rx(n,o)){if(s.defaultValue)i[o]=_i(s.defaultValue,u);else if(Qe(u)){let d=ne(u);r(new Y(`Variable "$${o}" of required type "${d}" was not provided.`,{nodes:s}))}continue}let l=n[o];if(l===null&&Qe(u)){let d=ne(u);r(new Y(`Variable "$${o}" of non-null type "${d}" must not be null.`,{nodes:s}));continue}i[o]=Nm(l,u,(d,p,y)=>{let N=`Variable "$${o}" got invalid value `+ne(p);d.length>0&&(N+=` at "${o}${Wy(d)}"`),r(new Y(N+"; "+y.message,{nodes:s,originalError:y}))})}return i}function dc(e,t,n){var r;let i={},s=(r=t.arguments)!==null&&r!==void 0?r:[],o=si(s,u=>u.name.value);for(let u of e.args){let l=u.name,d=u.type,p=o[l];if(!p){if(u.defaultValue!==void 0)i[l]=u.defaultValue;else if(Qe(d))throw new Y(`Argument "${l}" of required type "${ne(d)}" was not provided.`,{nodes:t});continue}let y=p.value,N=y.kind===R.NULL;if(y.kind===R.VARIABLE){let b=y.name.value;if(n==null||!rx(n,b)){if(u.defaultValue!==void 0)i[l]=u.defaultValue;else if(Qe(d))throw new Y(`Argument "${l}" of required type "${ne(d)}" was provided the variable "$${b}" which was not provided a runtime value.`,{nodes:y});continue}N=n[b]==null}if(N&&Qe(d))throw new Y(`Argument "${l}" of non-null type "${ne(d)}" must not be null.`,{nodes:y});let I=_i(y,d,n);if(I===void 0)throw new Y(`Argument "${l}" has invalid value ${Ft(y)}.`,{nodes:y});i[l]=I}return i}function Vo(e,t,n){var r;let i=(r=t.directives)===null||r===void 0?void 0:r.find(s=>s.name.value===e.name);if(i)return dc(e,i,n)}function rx(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var Kd=ue(()=>{"use strict";m();T();h();Nn();ic();lb();st();Xt();is();Zt();db();Bo();Em()});function Gd(e,t,n,r,i){let s=new Map;return Xy(e,t,n,r,i,s,new Set),s}function sx(e,t,n,r,i){let s=new Map,o=new Set;for(let u of i)u.selectionSet&&Xy(e,t,n,r,u.selectionSet,s,o);return s}function Xy(e,t,n,r,i,s,o){for(let u of i.selections)switch(u.kind){case R.FIELD:{if(!pb(n,u))continue;let l=SH(u),d=s.get(l);d!==void 0?d.push(u):s.set(l,[u]);break}case R.INLINE_FRAGMENT:{if(!pb(n,u)||!ix(e,u,r))continue;Xy(e,t,n,r,u.selectionSet,s,o);break}case R.FRAGMENT_SPREAD:{let l=u.name.value;if(o.has(l)||!pb(n,u))continue;o.add(l);let d=t[l];if(!d||!ix(e,d,r))continue;Xy(e,t,n,r,d.selectionSet,s,o);break}}}function pb(e,t){let n=Vo(Ld,t,e);if((n==null?void 0:n.if)===!0)return!1;let r=Vo(wd,t,e);return(r==null?void 0:r.if)!==!1}function ix(e,t,n){let r=t.typeCondition;if(!r)return!0;let i=Qn(e,r);return i===n?!0:zr(i)?e.isSubType(i,n):!1}function SH(e){return e.alias?e.alias.value:e.name.value}var Zy=ue(()=>{"use strict";m();T();h();Xt();Zt();Ui();Bo();Kd()});function Im(e){return{OperationDefinition(t){if(t.operation==="subscription"){let n=e.getSchema(),r=n.getSubscriptionType();if(r){let i=t.name?t.name.value:null,s=Object.create(null),o=e.getDocument(),u=Object.create(null);for(let d of o.definitions)d.kind===R.FRAGMENT_DEFINITION&&(u[d.name.value]=d);let l=Gd(n,u,s,r,t.selectionSet);if(l.size>1){let y=[...l.values()].slice(1).flat();e.reportError(new Y(i!=null?`Subscription "${i}" must select only one top level field.`:"Anonymous Subscription must select only one top level field.",{nodes:y}))}for(let d of l.values())d[0].name.value.startsWith("__")&&e.reportError(new Y(i!=null?`Subscription "${i}" must not select an introspection top level field.`:"Anonymous Subscription must not select an introspection top level field.",{nodes:d}))}}}}}var fb=ue(()=>{"use strict";m();T();h();st();Xt();Zy()});function Qd(e,t){let n=new Map;for(let r of e){let i=t(r),s=n.get(i);s===void 0?n.set(i,[r]):s.push(r)}return n}var eN=ue(()=>{"use strict";m();T();h()});function vm(e){return{DirectiveDefinition(r){var i;let s=(i=r.arguments)!==null&&i!==void 0?i:[];return n(`@${r.name.value}`,s)},InterfaceTypeDefinition:t,InterfaceTypeExtension:t,ObjectTypeDefinition:t,ObjectTypeExtension:t};function t(r){var i;let s=r.name.value,o=(i=r.fields)!==null&&i!==void 0?i:[];for(let l of o){var u;let d=l.name.value,p=(u=l.arguments)!==null&&u!==void 0?u:[];n(`${s}.${d}`,p)}return!1}function n(r,i){let s=Qd(i,o=>o.name.value);for(let[o,u]of s)u.length>1&&e.reportError(new Y(`Argument "${r}(${o}:)" can only be defined once.`,{nodes:u.map(l=>l.name)}));return!1}}var mb=ue(()=>{"use strict";m();T();h();eN();st()});function Yd(e){return{Field:t,Directive:t};function t(n){var r;let i=(r=n.arguments)!==null&&r!==void 0?r:[],s=Qd(i,o=>o.name.value);for(let[o,u]of s)u.length>1&&e.reportError(new Y(`There can be only one argument named "${o}".`,{nodes:u.map(l=>l.name)}))}}var hb=ue(()=>{"use strict";m();T();h();eN();st()});function _m(e){let t=Object.create(null),n=e.getSchema();return{DirectiveDefinition(r){let i=r.name.value;if(n!=null&&n.getDirective(i)){e.reportError(new Y(`Directive "@${i}" already exists in the schema. It cannot be redefined.`,{nodes:r.name}));return}return t[i]?e.reportError(new Y(`There can be only one directive named "@${i}".`,{nodes:[t[i],r.name]})):t[i]=r.name,!1}}}var Tb=ue(()=>{"use strict";m();T();h();st()});function Jd(e){let t=Object.create(null),n=e.getSchema(),r=n?n.getDirectives():ai;for(let u of r)t[u.name]=!u.isRepeatable;let i=e.getDocument().definitions;for(let u of i)u.kind===R.DIRECTIVE_DEFINITION&&(t[u.name.value]=!u.repeatable);let s=Object.create(null),o=Object.create(null);return{enter(u){if(!("directives"in u)||!u.directives)return;let l;if(u.kind===R.SCHEMA_DEFINITION||u.kind===R.SCHEMA_EXTENSION)l=s;else if(Rs(u)||lc(u)){let d=u.name.value;l=o[d],l===void 0&&(o[d]=l=Object.create(null))}else l=Object.create(null);for(let d of u.directives){let p=d.name.value;t[p]&&(l[p]?e.reportError(new Y(`The directive "@${p}" can only be used once at this location.`,{nodes:[l[p],d]})):l[p]=d)}}}}var yb=ue(()=>{"use strict";m();T();h();st();Xt();cl();Ui()});function bm(e){let t=e.getSchema(),n=t?t.getTypeMap():Object.create(null),r=Object.create(null);return{EnumTypeDefinition:i,EnumTypeExtension:i};function i(s){var o;let u=s.name.value;r[u]||(r[u]=Object.create(null));let l=(o=s.values)!==null&&o!==void 0?o:[],d=r[u];for(let p of l){let y=p.name.value,N=n[u];rn(N)&&N.getValue(y)?e.reportError(new Y(`Enum value "${u}.${y}" already exists in the schema. It cannot also be defined in this type extension.`,{nodes:p.name})):d[y]?e.reportError(new Y(`Enum value "${u}.${y}" can only be defined once.`,{nodes:[d[y],p.name]})):d[y]=p.name}return!1}}var Nb=ue(()=>{"use strict";m();T();h();st();Zt()});function Om(e){let t=e.getSchema(),n=t?t.getTypeMap():Object.create(null),r=Object.create(null);return{InputObjectTypeDefinition:i,InputObjectTypeExtension:i,InterfaceTypeDefinition:i,InterfaceTypeExtension:i,ObjectTypeDefinition:i,ObjectTypeExtension:i};function i(s){var o;let u=s.name.value;r[u]||(r[u]=Object.create(null));let l=(o=s.fields)!==null&&o!==void 0?o:[],d=r[u];for(let p of l){let y=p.name.value;DH(n[u],y)?e.reportError(new Y(`Field "${u}.${y}" already exists in the schema. It cannot also be defined in this type extension.`,{nodes:p.name})):d[y]?e.reportError(new Y(`Field "${u}.${y}" can only be defined once.`,{nodes:[d[y],p.name]})):d[y]=p.name}return!1}}function DH(e,t){return ot(e)||Nt(e)||It(e)?e.getFields()[t]!=null:!1}var Eb=ue(()=>{"use strict";m();T();h();st();Zt()});function Sm(e){let t=Object.create(null);return{OperationDefinition:()=>!1,FragmentDefinition(n){let r=n.name.value;return t[r]?e.reportError(new Y(`There can be only one fragment named "${r}".`,{nodes:[t[r],n.name]})):t[r]=n.name,!1}}}var gb=ue(()=>{"use strict";m();T();h();st()});function zd(e){let t=[],n=Object.create(null);return{ObjectValue:{enter(){t.push(n),n=Object.create(null)},leave(){let r=t.pop();r||Qt(!1),n=r}},ObjectField(r){let i=r.name.value;n[i]?e.reportError(new Y(`There can be only one input field named "${i}".`,{nodes:[n[i],r.name]})):n[i]=r.name}}}var Ib=ue(()=>{"use strict";m();T();h();ri();st()});function Dm(e){let t=Object.create(null);return{OperationDefinition(n){let r=n.name;return r&&(t[r.value]?e.reportError(new Y(`There can be only one operation named "${r.value}".`,{nodes:[t[r.value],r]})):t[r.value]=r),!1},FragmentDefinition:()=>!1}}var vb=ue(()=>{"use strict";m();T();h();st()});function Am(e){let t=e.getSchema(),n=Object.create(null),r=t?{query:t.getQueryType(),mutation:t.getMutationType(),subscription:t.getSubscriptionType()}:{};return{SchemaDefinition:i,SchemaExtension:i};function i(s){var o;let u=(o=s.operationTypes)!==null&&o!==void 0?o:[];for(let l of u){let d=l.operation,p=n[d];r[d]?e.reportError(new Y(`Type for ${d} already defined in the schema. It cannot be redefined.`,{nodes:l})):p?e.reportError(new Y(`There can be only one ${d} type in schema.`,{nodes:[p,l]})):n[d]=l}return!1}}var _b=ue(()=>{"use strict";m();T();h();st()});function Rm(e){let t=Object.create(null),n=e.getSchema();return{ScalarTypeDefinition:r,ObjectTypeDefinition:r,InterfaceTypeDefinition:r,UnionTypeDefinition:r,EnumTypeDefinition:r,InputObjectTypeDefinition:r};function r(i){let s=i.name.value;if(n!=null&&n.getType(s)){e.reportError(new Y(`Type "${s}" already exists in the schema. It cannot also be defined in this type definition.`,{nodes:i.name}));return}return t[s]?e.reportError(new Y(`There can be only one type named "${s}".`,{nodes:[t[s],i.name]})):t[s]=i.name,!1}}var bb=ue(()=>{"use strict";m();T();h();st()});function Fm(e){return{OperationDefinition(t){var n;let r=(n=t.variableDefinitions)!==null&&n!==void 0?n:[],i=Qd(r,s=>s.variable.name.value);for(let[s,o]of i)o.length>1&&e.reportError(new Y(`There can be only one variable named "$${s}".`,{nodes:o.map(u=>u.variable.name)}))}}}var Ob=ue(()=>{"use strict";m();T();h();eN();st()});function wm(e){let t={};return{OperationDefinition:{enter(){t={}}},VariableDefinition(n){t[n.variable.name.value]=n},ListValue(n){let r=el(e.getParentInputType());if(!Pt(r))return ll(e,n),!1},ObjectValue(n){let r=Gn(e.getInputType());if(!It(r))return ll(e,n),!1;let i=si(n.fields,s=>s.name.value);for(let s of Object.values(r.getFields()))if(!i[s.name]&&Ra(s)){let u=ne(s.type);e.reportError(new Y(`Field "${r.name}.${s.name}" of required type "${u}" was not provided.`,{nodes:n}))}r.isOneOf&&AH(e,n,r,i,t)},ObjectField(n){let r=Gn(e.getParentInputType());if(!e.getInputType()&&It(r)){let s=gi(n.name.value,Object.keys(r.getFields()));e.reportError(new Y(`Field "${n.name.value}" is not defined by type "${r.name}".`+ii(s),{nodes:n}))}},NullValue(n){let r=e.getInputType();Qe(r)&&e.reportError(new Y(`Expected value of type "${ne(r)}", found ${Ft(n)}.`,{nodes:n}))},EnumValue:n=>ll(e,n),IntValue:n=>ll(e,n),FloatValue:n=>ll(e,n),StringValue:n=>ll(e,n),BooleanValue:n=>ll(e,n)}}function ll(e,t){let n=e.getInputType();if(!n)return;let r=Gn(n);if(!Rr(r)){let i=ne(n);e.reportError(new Y(`Expected value of type "${i}", found ${Ft(t)}.`,{nodes:t}));return}try{if(r.parseLiteral(t,void 0)===void 0){let s=ne(n);e.reportError(new Y(`Expected value of type "${s}", found ${Ft(t)}.`,{nodes:t}))}}catch(i){let s=ne(n);i instanceof Y?e.reportError(i):e.reportError(new Y(`Expected value of type "${s}", found ${Ft(t)}; `+i.message,{nodes:t,originalError:i}))}}function AH(e,t,n,r,i){var s;let o=Object.keys(r);if(o.length!==1){e.reportError(new Y(`OneOf Input Object "${n.name}" must specify exactly one key.`,{nodes:[t]}));return}let l=(s=r[o[0]])===null||s===void 0?void 0:s.value,d=!l||l.kind===R.NULL,p=(l==null?void 0:l.kind)===R.VARIABLE;if(d){e.reportError(new Y(`Field "${n.name}.${o[0]}" must be non-null.`,{nodes:[t]}));return}if(p){let y=l.name.value;i[y].type.kind!==R.NON_NULL_TYPE&&e.reportError(new Y(`Variable "${y}" must be non-nullable to be used for OneOf Input Object "${n.name}".`,{nodes:[t]}))}}var Sb=ue(()=>{"use strict";m();T();h();rc();Nn();ic();sc();st();Xt();is();Zt()});function Lm(e){return{VariableDefinition(t){let n=Qn(e.getSchema(),t.type);if(n!==void 0&&!Nr(n)){let r=t.variable.name.value,i=Ft(t.type);e.reportError(new Y(`Variable "$${r}" cannot be non-input type "${i}".`,{nodes:t.type}))}}}}var Db=ue(()=>{"use strict";m();T();h();st();is();Zt();Bo()});function Pm(e){let t=Object.create(null);return{OperationDefinition:{enter(){t=Object.create(null)},leave(n){let r=e.getRecursiveVariableUsages(n);for(let{node:i,type:s,defaultValue:o}of r){let u=i.name.value,l=t[u];if(l&&s){let d=e.getSchema(),p=Qn(d,l.type);if(p&&!RH(d,p,l.defaultValue,s,o)){let y=ne(p),N=ne(s);e.reportError(new Y(`Variable "$${u}" of type "${y}" used in position expecting type "${N}".`,{nodes:[l,i]}))}}}}},VariableDefinition(n){t[n.variable.name.value]=n}}}function RH(e,t,n,r,i){if(Qe(r)&&!Qe(t)){if(!(n!=null&&n.kind!==R.NULL)&&!(i!==void 0))return!1;let u=r.ofType;return ao(e,t,u)}return ao(e,t,r)}var Ab=ue(()=>{"use strict";m();T();h();Nn();st();Xt();Zt();$f();Bo()});var tN,km,ox,Rb=ue(()=>{"use strict";m();T();h();M_();B_();V_();$_();q_();K_();G_();Q_();Y_();J_();z_();H_();W_();X_();ib();sb();ob();ub();cb();fb();mb();hb();Tb();yb();Nb();Eb();gb();Ib();vb();_b();bb();Ob();Sb();Db();Ab();tN=Object.freeze([om]),km=Object.freeze([Zf,Dm,im,Im,$d,tm,Lm,hm,em,Sm,rm,cm,pm,am,Fm,um,lm,jd,Jd,nm,Yd,wm,mm,Pm,dm,zd,...tN]),ox=Object.freeze([sm,Am,Rm,bm,Om,vm,_m,$d,jd,Jd,fm,j_,Yd,zd,ab])});var nN,rN,dl,Fb=ue(()=>{"use strict";m();T();h();Xt();Wc();Qy();nN=class{constructor(t,n){this._ast=t,this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=n}get[Symbol.toStringTag](){return"ASTValidationContext"}reportError(t){this._onError(t)}getDocument(){return this._ast}getFragment(t){let n;if(this._fragments)n=this._fragments;else{n=Object.create(null);for(let r of this.getDocument().definitions)r.kind===R.FRAGMENT_DEFINITION&&(n[r.name.value]=r);this._fragments=n}return n[t]}getFragmentSpreads(t){let n=this._fragmentSpreads.get(t);if(!n){n=[];let r=[t],i;for(;i=r.pop();)for(let s of i.selections)s.kind===R.FRAGMENT_SPREAD?n.push(s):s.selectionSet&&r.push(s.selectionSet);this._fragmentSpreads.set(t,n)}return n}getRecursivelyReferencedFragments(t){let n=this._recursivelyReferencedFragments.get(t);if(!n){n=[];let r=Object.create(null),i=[t.selectionSet],s;for(;s=i.pop();)for(let o of this.getFragmentSpreads(s)){let u=o.name.value;if(r[u]!==!0){r[u]=!0;let l=this.getFragment(u);l&&(n.push(l),i.push(l.selectionSet))}}this._recursivelyReferencedFragments.set(t,n)}return n}},rN=class extends nN{constructor(t,n,r){super(t,r),this._schema=n}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}},dl=class extends nN{constructor(t,n,r,i){super(n,i),this._schema=t,this._typeInfo=r,this._variableUsages=new Map,this._recursiveVariableUsages=new Map}get[Symbol.toStringTag](){return"ValidationContext"}getSchema(){return this._schema}getVariableUsages(t){let n=this._variableUsages.get(t);if(!n){let r=[],i=new Pa(this._schema);Ds(t,ul(i,{VariableDefinition:()=>!1,Variable(s){r.push({node:s,type:i.getInputType(),defaultValue:i.getDefaultValue()})}})),n=r,this._variableUsages.set(t,n)}return n}getRecursiveVariableUsages(t){let n=this._recursiveVariableUsages.get(t);if(!n){n=this.getVariableUsages(t);for(let r of this.getRecursivelyReferencedFragments(t))n=n.concat(this.getVariableUsages(r));this._recursiveVariableUsages.set(t,n)}return n}getType(){return this._typeInfo.getType()}getParentType(){return this._typeInfo.getParentType()}getInputType(){return this._typeInfo.getInputType()}getParentInputType(){return this._typeInfo.getParentInputType()}getFieldDef(){return this._typeInfo.getFieldDef()}getDirective(){return this._typeInfo.getDirective()}getArgument(){return this._typeInfo.getArgument()}getEnumValue(){return this._typeInfo.getEnumValue()}}});function xm(e,t,n=km,r,i=new Pa(e)){var s;let o=(s=r==null?void 0:r.maxErrors)!==null&&s!==void 0?s:100;t||rt(!1,"Must provide document."),al(e);let u=Object.freeze({}),l=[],d=new dl(e,t,i,y=>{if(l.length>=o)throw l.push(new Y("Too many validation errors, error limit reached. Validation aborted.")),u;l.push(y)}),p=Od(n.map(y=>y(d)));try{Ds(t,ul(i,p))}catch(y){if(y!==u)throw y}return l}function ax(e,t,n=ox){let r=[],i=new rN(e,t,o=>{r.push(o)}),s=n.map(o=>o(i));return Ds(e,Od(s)),r}function ux(e){let t=ax(e);if(t.length!==0)throw new Error(t.map(n=>n.message).join(` +`))}function H6(e){let t=e.schema,n=t.getQueryType();if(!n)e.reportError("Query root type must be provided.",t.astNode);else if(!at(n)){var r;e.reportError(`Query root type must be Object type, it cannot be ${ne(n)}.`,(r=L_(t,Un.QUERY))!==null&&r!==void 0?r:n.astNode)}let i=t.getMutationType();if(i&&!at(i)){var s;e.reportError(`Mutation root type must be Object type if provided, it cannot be ${ne(i)}.`,(s=L_(t,Un.MUTATION))!==null&&s!==void 0?s:i.astNode)}let o=t.getSubscriptionType();if(o&&!at(o)){var u;e.reportError(`Subscription root type must be Object type if provided, it cannot be ${ne(o)}.`,(u=L_(t,Un.SUBSCRIPTION))!==null&&u!==void 0?u:o.astNode)}}function L_(e,t){var n;return(n=[e.astNode,...e.extensionASTNodes].flatMap(r=>{var i;return(i=r==null?void 0:r.operationTypes)!==null&&i!==void 0?i:[]}).find(r=>r.operation===t))===null||n===void 0?void 0:n.type}function W6(e){for(let n of e.schema.getDirectives()){if(!uc(n)){e.reportError(`Expected directive but got: ${ne(n)}.`,n==null?void 0:n.astNode);continue}ul(e,n);for(let r of n.args)if(ul(e,r),Nr(r.type)||e.reportError(`The type of @${n.name}(${r.name}:) must be Input Type but got: ${ne(r.type)}.`,r.astNode),cs(r)&&r.deprecationReason!=null){var t;e.reportError(`Required argument @${n.name}(${r.name}:) cannot be deprecated.`,[k_(r.astNode),(t=r.astNode)===null||t===void 0?void 0:t.type])}}}function ul(e,t){t.name.startsWith("__")&&e.reportError(`Name "${t.name}" must not begin with "__", which is reserved by GraphQL introspection.`,t.astNode)}function X6(e){let t=sH(e),n=e.schema.getTypeMap();for(let r of Object.values(n)){if(!Aa(r)){e.reportError(`Expected GraphQL named type but got: ${ne(r)}.`,r.astNode);continue}ui(r)||ul(e,r),at(r)||Nt(r)?(Hk(e,r),Wk(e,r)):fn(r)?tH(e,r):rn(r)?nH(e,r):It(r)&&(rH(e,r),t(r))}}function Hk(e,t){let n=Object.values(t.getFields());n.length===0&&e.reportError(`Type ${t.name} must define one or more fields.`,[t.astNode,...t.extensionASTNodes]);for(let o of n){if(ul(e,o),!us(o.type)){var r;e.reportError(`The type of ${t.name}.${o.name} must be Output Type but got: ${ne(o.type)}.`,(r=o.astNode)===null||r===void 0?void 0:r.type)}for(let u of o.args){let l=u.name;if(ul(e,u),!Nr(u.type)){var i;e.reportError(`The type of ${t.name}.${o.name}(${l}:) must be Input Type but got: ${ne(u.type)}.`,(i=u.astNode)===null||i===void 0?void 0:i.type)}if(cs(u)&&u.deprecationReason!=null){var s;e.reportError(`Required argument ${t.name}.${o.name}(${l}:) cannot be deprecated.`,[k_(u.astNode),(s=u.astNode)===null||s===void 0?void 0:s.type])}}}}function Wk(e,t){let n=Object.create(null);for(let r of t.getInterfaces()){if(!Nt(r)){e.reportError(`Type ${ne(t)} must only implement Interface types, it cannot implement ${ne(r)}.`,Wf(t,r));continue}if(t===r){e.reportError(`Type ${t.name} cannot implement itself because it would create a circular reference.`,Wf(t,r));continue}if(n[r.name]){e.reportError(`Type ${t.name} can only implement ${r.name} once.`,Wf(t,r));continue}n[r.name]=!0,eH(e,t,r),Z6(e,t,r)}}function Z6(e,t,n){let r=t.getFields();for(let l of Object.values(n.getFields())){let d=l.name,p=r[d];if(!p){e.reportError(`Interface field ${n.name}.${d} expected but ${t.name} does not provide it.`,[l.astNode,t.astNode,...t.extensionASTNodes]);continue}if(!ao(e.schema,p.type,l.type)){var i,s;e.reportError(`Interface field ${n.name}.${d} expects type ${ne(l.type)} but ${t.name}.${d} is type ${ne(p.type)}.`,[(i=l.astNode)===null||i===void 0?void 0:i.type,(s=p.astNode)===null||s===void 0?void 0:s.type])}for(let y of l.args){let N=y.name,I=p.args.find(O=>O.name===N);if(!I){e.reportError(`Interface field argument ${n.name}.${d}(${N}:) expected but ${t.name}.${d} does not provide it.`,[y.astNode,p.astNode]);continue}if(!rl(y.type,I.type)){var o,u;e.reportError(`Interface field argument ${n.name}.${d}(${N}:) expects type ${ne(y.type)} but ${t.name}.${d}(${N}:) is type ${ne(I.type)}.`,[(o=y.astNode)===null||o===void 0?void 0:o.type,(u=I.astNode)===null||u===void 0?void 0:u.type])}}for(let y of p.args){let N=y.name;!l.args.find(O=>O.name===N)&&cs(y)&&e.reportError(`Object field ${t.name}.${d} includes required argument ${N} that is missing from the Interface field ${n.name}.${d}.`,[y.astNode,l.astNode])}}}function eH(e,t,n){let r=t.getInterfaces();for(let i of n.getInterfaces())r.includes(i)||e.reportError(i===t?`Type ${t.name} cannot implement ${n.name} because it would create a circular reference.`:`Type ${t.name} must implement ${i.name} because it is implemented by ${n.name}.`,[...Wf(n,i),...Wf(t,n)])}function tH(e,t){let n=t.getTypes();n.length===0&&e.reportError(`Union type ${t.name} must define one or more member types.`,[t.astNode,...t.extensionASTNodes]);let r=Object.create(null);for(let i of n){if(r[i.name]){e.reportError(`Union type ${t.name} can only include type ${i.name} once.`,Xk(t,i.name));continue}r[i.name]=!0,at(i)||e.reportError(`Union type ${t.name} can only include Object types, it cannot include ${ne(i)}.`,Xk(t,String(i)))}}function nH(e,t){let n=t.getValues();n.length===0&&e.reportError(`Enum type ${t.name} must define one or more values.`,[t.astNode,...t.extensionASTNodes]);for(let r of n)ul(e,r)}function rH(e,t){let n=Object.values(t.getFields());n.length===0&&e.reportError(`Input Object type ${t.name} must define one or more fields.`,[t.astNode,...t.extensionASTNodes]);for(let s of n){if(ul(e,s),!Nr(s.type)){var r;e.reportError(`The type of ${t.name}.${s.name} must be Input Type but got: ${ne(s.type)}.`,(r=s.astNode)===null||r===void 0?void 0:r.type)}if(Ra(s)&&s.deprecationReason!=null){var i;e.reportError(`Required input field ${t.name}.${s.name} cannot be deprecated.`,[k_(s.astNode),(i=s.astNode)===null||i===void 0?void 0:i.type])}t.isOneOf&&iH(t,s,e)}}function iH(e,t,n){if(Qe(t.type)){var r;n.reportError(`OneOf input field ${e.name}.${t.name} must be nullable.`,(r=t.astNode)===null||r===void 0?void 0:r.type)}t.defaultValue!==void 0&&n.reportError(`OneOf input field ${e.name}.${t.name} cannot have a default value.`,t.astNode)}function sH(e){let t=Object.create(null),n=[],r=Object.create(null);return i;function i(s){if(t[s.name])return;t[s.name]=!0,r[s.name]=n.length;let o=Object.values(s.getFields());for(let u of o)if(Qe(u.type)&&It(u.type.ofType)){let l=u.type.ofType,d=r[l.name];if(n.push(u),d===void 0)i(l);else{let p=n.slice(d),y=p.map(N=>N.name).join(".");e.reportError(`Cannot reference Input Object "${l.name}" within itself through a series of non-null fields: "${y}".`,p.map(N=>N.astNode))}n.pop()}r[s.name]=void 0}}function Wf(e,t){let{astNode:n,extensionASTNodes:r}=e;return(n!=null?[n,...r]:r).flatMap(s=>{var o;return(o=s.interfaces)!==null&&o!==void 0?o:[]}).filter(s=>s.name.value===t.name)}function Xk(e,t){let{astNode:n,extensionASTNodes:r}=e;return(n!=null?[n,...r]:r).flatMap(s=>{var o;return(o=s.types)!==null&&o!==void 0?o:[]}).filter(s=>s.name.value===t)}function k_(e){var t;return e==null||(t=e.directives)===null||t===void 0?void 0:t.find(n=>n.name.value===Uo.name)}var P_,Xf=ue(()=>{"use strict";m();T();h();Nn();ot();Po();qf();Zt();Ui();Rs();al();P_=class{constructor(t){this._errors=[],this.schema=t}reportError(t,n){let r=Array.isArray(n)?n.filter(Boolean):n;this._errors.push(new Y(t,{nodes:r}))}getErrors(){return this._errors}}});function Qn(e,t){switch(t.kind){case R.LIST_TYPE:{let n=Qn(e,t.type);return n&&new Mn(n)}case R.NON_NULL_TYPE:{let n=Qn(e,t.type);return n&&new pt(n)}case R.NAMED_TYPE:return e.getType(t.name.value)}}var Bo=ue(()=>{"use strict";m();T();h();Xt();Zt()});function oH(e,t,n){let r=n.name.value;if(r===Fa.name&&e.getQueryType()===t)return Fa;if(r===wa.name&&e.getQueryType()===t)return wa;if(r===La.name&&vi(t))return La;if(at(t)||Nt(t))return t.getFields()[r]}function ll(e,t){return{enter(...n){let r=n[0];e.enter(r);let i=Da(t,r.kind).enter;if(i){let s=i.apply(t,n);return s!==void 0&&(e.leave(r),Sf(s)&&e.enter(s)),s}},leave(...n){let r=n[0],i=Da(t,r.kind).leave,s;return i&&(s=i.apply(t,n)),e.leave(r),s}}}var Pa,Yy=ue(()=>{"use strict";m();T();h();Po();Xt();Zc();Zt();Rs();Bo();Pa=class{constructor(t,n,r){this._schema=t,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=r!=null?r:oH,n&&(Nr(n)&&this._inputTypeStack.push(n),vi(n)&&this._parentTypeStack.push(n),us(n)&&this._typeStack.push(n))}get[Symbol.toStringTag](){return"TypeInfo"}getType(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]}getParentType(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]}getInputType(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]}getParentInputType(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]}getFieldDef(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]}getDefaultValue(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]}getDirective(){return this._directive}getArgument(){return this._argument}getEnumValue(){return this._enumValue}enter(t){let n=this._schema;switch(t.kind){case R.SELECTION_SET:{let i=Gn(this.getType());this._parentTypeStack.push(vi(i)?i:void 0);break}case R.FIELD:{let i=this.getParentType(),s,o;i&&(s=this._getFieldDef(n,i,t),s&&(o=s.type)),this._fieldDefStack.push(s),this._typeStack.push(us(o)?o:void 0);break}case R.DIRECTIVE:this._directive=n.getDirective(t.name.value);break;case R.OPERATION_DEFINITION:{let i=n.getRootType(t.operation);this._typeStack.push(at(i)?i:void 0);break}case R.INLINE_FRAGMENT:case R.FRAGMENT_DEFINITION:{let i=t.typeCondition,s=i?Qn(n,i):Gn(this.getType());this._typeStack.push(us(s)?s:void 0);break}case R.VARIABLE_DEFINITION:{let i=Qn(n,t.type);this._inputTypeStack.push(Nr(i)?i:void 0);break}case R.ARGUMENT:{var r;let i,s,o=(r=this.getDirective())!==null&&r!==void 0?r:this.getFieldDef();o&&(i=o.args.find(u=>u.name===t.name.value),i&&(s=i.type)),this._argument=i,this._defaultValueStack.push(i?i.defaultValue:void 0),this._inputTypeStack.push(Nr(s)?s:void 0);break}case R.LIST:{let i=nl(this.getInputType()),s=Pt(i)?i.ofType:i;this._defaultValueStack.push(void 0),this._inputTypeStack.push(Nr(s)?s:void 0);break}case R.OBJECT_FIELD:{let i=Gn(this.getInputType()),s,o;It(i)&&(o=i.getFields()[t.name.value],o&&(s=o.type)),this._defaultValueStack.push(o?o.defaultValue:void 0),this._inputTypeStack.push(Nr(s)?s:void 0);break}case R.ENUM:{let i=Gn(this.getInputType()),s;rn(i)&&(s=i.getValue(t.value)),this._enumValue=s;break}default:}}leave(t){switch(t.kind){case R.SELECTION_SET:this._parentTypeStack.pop();break;case R.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case R.DIRECTIVE:this._directive=null;break;case R.OPERATION_DEFINITION:case R.INLINE_FRAGMENT:case R.FRAGMENT_DEFINITION:this._typeStack.pop();break;case R.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case R.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case R.LIST:case R.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case R.ENUM:this._enumValue=null;break;default:}}}});function x_(e){return Vd(e)||jd(e)||$d(e)}function Vd(e){return e.kind===R.OPERATION_DEFINITION||e.kind===R.FRAGMENT_DEFINITION}function C_(e){return e.kind===R.FIELD||e.kind===R.FRAGMENT_SPREAD||e.kind===R.INLINE_FRAGMENT}function Jy(e){return e.kind===R.VARIABLE||e.kind===R.INT||e.kind===R.FLOAT||e.kind===R.STRING||e.kind===R.BOOLEAN||e.kind===R.NULL||e.kind===R.ENUM||e.kind===R.LIST||e.kind===R.OBJECT}function Zf(e){return Jy(e)&&(e.kind===R.LIST?e.values.some(Zf):e.kind===R.OBJECT?e.fields.some(t=>Zf(t.value)):e.kind!==R.VARIABLE)}function U_(e){return e.kind===R.NAMED_TYPE||e.kind===R.LIST_TYPE||e.kind===R.NON_NULL_TYPE}function jd(e){return e.kind===R.SCHEMA_DEFINITION||Fs(e)||e.kind===R.DIRECTIVE_DEFINITION}function Fs(e){return e.kind===R.SCALAR_TYPE_DEFINITION||e.kind===R.OBJECT_TYPE_DEFINITION||e.kind===R.INTERFACE_TYPE_DEFINITION||e.kind===R.UNION_TYPE_DEFINITION||e.kind===R.ENUM_TYPE_DEFINITION||e.kind===R.INPUT_OBJECT_TYPE_DEFINITION}function $d(e){return e.kind===R.SCHEMA_EXTENSION||lc(e)}function lc(e){return e.kind===R.SCALAR_TYPE_EXTENSION||e.kind===R.OBJECT_TYPE_EXTENSION||e.kind===R.INTERFACE_TYPE_EXTENSION||e.kind===R.UNION_TYPE_EXTENSION||e.kind===R.ENUM_TYPE_EXTENSION||e.kind===R.INPUT_OBJECT_TYPE_EXTENSION}var dl=ue(()=>{"use strict";m();T();h();Xt()});function em(e){return{Document(t){for(let n of t.definitions)if(!Vd(n)){let r=n.kind===R.SCHEMA_DEFINITION||n.kind===R.SCHEMA_EXTENSION?"schema":'"'+n.name.value+'"';e.reportError(new Y(`The ${r} definition is not executable.`,{nodes:n}))}return!1}}}var M_=ue(()=>{"use strict";m();T();h();ot();Xt();dl()});function tm(e){return{Field(t){let n=e.getParentType();if(n&&!e.getFieldDef()){let i=e.getSchema(),s=t.name.value,o=ii("to use an inline fragment on",aH(i,n,s));o===""&&(o=ii(uH(n,s))),e.reportError(new Y(`Cannot query field "${s}" on type "${n.name}".`+o,{nodes:t}))}}}}function aH(e,t,n){if(!zr(t))return[];let r=new Set,i=Object.create(null);for(let o of e.getPossibleTypes(t))if(o.getFields()[n]){r.add(o),i[o.name]=1;for(let u of o.getInterfaces()){var s;u.getFields()[n]&&(r.add(u),i[u.name]=((s=i[u.name])!==null&&s!==void 0?s:0)+1)}}return[...r].sort((o,u)=>{let l=i[u.name]-i[o.name];return l!==0?l:Nt(o)&&e.isSubType(o,u)?-1:Nt(u)&&e.isSubType(u,o)?1:Sa(o.name,u.name)}).map(o=>o.name)}function uH(e,t){if(at(e)||Nt(e)){let n=Object.keys(e.getFields());return gi(t,n)}return[]}var B_=ue(()=>{"use strict";m();T();h();rc();kf();sc();ot();Zt()});function nm(e){return{InlineFragment(t){let n=t.typeCondition;if(n){let r=Qn(e.getSchema(),n);if(r&&!vi(r)){let i=Ft(n);e.reportError(new Y(`Fragment cannot condition on non composite type "${i}".`,{nodes:n}))}}},FragmentDefinition(t){let n=Qn(e.getSchema(),t.typeCondition);if(n&&!vi(n)){let r=Ft(t.typeCondition);e.reportError(new Y(`Fragment "${t.name.value}" cannot condition on non composite type "${r}".`,{nodes:t.typeCondition}))}}}}var V_=ue(()=>{"use strict";m();T();h();ot();is();Zt();Bo()});function rm(e){return K(k({},j_(e)),{Argument(t){let n=e.getArgument(),r=e.getFieldDef(),i=e.getParentType();if(!n&&r&&i){let s=t.name.value,o=r.args.map(l=>l.name),u=gi(s,o);e.reportError(new Y(`Unknown argument "${s}" on field "${i.name}.${r.name}".`+ii(u),{nodes:t}))}}})}function j_(e){let t=Object.create(null),n=e.getSchema(),r=n?n.getDirectives():ai;for(let o of r)t[o.name]=o.args.map(u=>u.name);let i=e.getDocument().definitions;for(let o of i)if(o.kind===R.DIRECTIVE_DEFINITION){var s;let u=(s=o.arguments)!==null&&s!==void 0?s:[];t[o.name.value]=u.map(l=>l.name.value)}return{Directive(o){let u=o.name.value,l=t[u];if(o.arguments&&l)for(let d of o.arguments){let p=d.name.value;if(!l.includes(p)){let y=gi(p,l);e.reportError(new Y(`Unknown argument "${p}" on directive "@${u}".`+ii(y),{nodes:d}))}}return!1}}}var $_=ue(()=>{"use strict";m();T();h();rc();sc();ot();Xt();Ui()});function qd(e){let t=Object.create(null),n=e.getSchema(),r=n?n.getDirectives():ai;for(let s of r)t[s.name]=s.locations;let i=e.getDocument().definitions;for(let s of i)s.kind===R.DIRECTIVE_DEFINITION&&(t[s.name.value]=s.locations.map(o=>o.value));return{Directive(s,o,u,l,d){let p=s.name.value,y=t[p];if(!y){e.reportError(new Y(`Unknown directive "@${p}".`,{nodes:s}));return}let N=cH(d);N&&!y.includes(N)&&e.reportError(new Y(`Directive "@${p}" may not be used on ${N}.`,{nodes:s}))}}}function cH(e){let t=e[e.length-1];switch("kind"in t||Qt(!1),t.kind){case R.OPERATION_DEFINITION:return lH(t.operation);case R.FIELD:return He.FIELD;case R.FRAGMENT_SPREAD:return He.FRAGMENT_SPREAD;case R.INLINE_FRAGMENT:return He.INLINE_FRAGMENT;case R.FRAGMENT_DEFINITION:return He.FRAGMENT_DEFINITION;case R.VARIABLE_DEFINITION:return He.VARIABLE_DEFINITION;case R.SCHEMA_DEFINITION:case R.SCHEMA_EXTENSION:return He.SCHEMA;case R.SCALAR_TYPE_DEFINITION:case R.SCALAR_TYPE_EXTENSION:return He.SCALAR;case R.OBJECT_TYPE_DEFINITION:case R.OBJECT_TYPE_EXTENSION:return He.OBJECT;case R.FIELD_DEFINITION:return He.FIELD_DEFINITION;case R.INTERFACE_TYPE_DEFINITION:case R.INTERFACE_TYPE_EXTENSION:return He.INTERFACE;case R.UNION_TYPE_DEFINITION:case R.UNION_TYPE_EXTENSION:return He.UNION;case R.ENUM_TYPE_DEFINITION:case R.ENUM_TYPE_EXTENSION:return He.ENUM;case R.ENUM_VALUE_DEFINITION:return He.ENUM_VALUE;case R.INPUT_OBJECT_TYPE_DEFINITION:case R.INPUT_OBJECT_TYPE_EXTENSION:return He.INPUT_OBJECT;case R.INPUT_VALUE_DEFINITION:{let n=e[e.length-3];return"kind"in n||Qt(!1),n.kind===R.INPUT_OBJECT_TYPE_DEFINITION?He.INPUT_FIELD_DEFINITION:He.ARGUMENT_DEFINITION}default:Qt(!1,"Unexpected kind: "+ne(t.kind))}}function lH(e){switch(e){case Un.QUERY:return He.QUERY;case Un.MUTATION:return He.MUTATION;case Un.SUBSCRIPTION:return He.SUBSCRIPTION}}var q_=ue(()=>{"use strict";m();T();h();Nn();ri();ot();Po();vd();Xt();Ui()});function im(e){return{FragmentSpread(t){let n=t.name.value;e.getFragment(n)||e.reportError(new Y(`Unknown fragment "${n}".`,{nodes:t.name}))}}}var K_=ue(()=>{"use strict";m();T();h();ot()});function Kd(e){let t=e.getSchema(),n=t?t.getTypeMap():Object.create(null),r=Object.create(null);for(let s of e.getDocument().definitions)Fs(s)&&(r[s.name.value]=!0);let i=[...Object.keys(n),...Object.keys(r)];return{NamedType(s,o,u,l,d){let p=s.name.value;if(!n[p]&&!r[p]){var y;let N=(y=d[2])!==null&&y!==void 0?y:u,I=N!=null&&dH(N);if(I&&Zk.includes(p))return;let O=gi(p,I?Zk.concat(i):i);e.reportError(new Y(`Unknown type "${p}".`+ii(O),{nodes:s}))}}}}function dH(e){return"kind"in e&&(jd(e)||$d(e))}var Zk,G_=ue(()=>{"use strict";m();T();h();rc();sc();ot();dl();Rs();Co();Zk=[...xo,...Mo].map(e=>e.name)});function sm(e){let t=0;return{Document(n){t=n.definitions.filter(r=>r.kind===R.OPERATION_DEFINITION).length},OperationDefinition(n){!n.name&&t>1&&e.reportError(new Y("This anonymous operation must be the only defined operation.",{nodes:n}))}}}var Q_=ue(()=>{"use strict";m();T();h();ot();Xt()});function om(e){var t,n,r;let i=e.getSchema(),s=(t=(n=(r=i==null?void 0:i.astNode)!==null&&r!==void 0?r:i==null?void 0:i.getQueryType())!==null&&n!==void 0?n:i==null?void 0:i.getMutationType())!==null&&t!==void 0?t:i==null?void 0:i.getSubscriptionType(),o=0;return{SchemaDefinition(u){if(s){e.reportError(new Y("Cannot define a new schema within a schema extension.",{nodes:u}));return}o>0&&e.reportError(new Y("Must provide only one schema definition.",{nodes:u})),++o}}}var Y_=ue(()=>{"use strict";m();T();h();ot()});function am(e){function t(n,r=Object.create(null),i=0){if(n.kind===R.FRAGMENT_SPREAD){let s=n.name.value;if(r[s]===!0)return!1;let o=e.getFragment(s);if(!o)return!1;try{return r[s]=!0,t(o,r,i)}finally{r[s]=void 0}}if(n.kind===R.FIELD&&(n.name.value==="fields"||n.name.value==="interfaces"||n.name.value==="possibleTypes"||n.name.value==="inputFields")&&(i++,i>=pH))return!0;if("selectionSet"in n&&n.selectionSet){for(let s of n.selectionSet.selections)if(t(s,r,i))return!0}return!1}return{Field(n){if((n.name.value==="__schema"||n.name.value==="__type")&&t(n))return e.reportError(new Y("Maximum introspection depth exceeded",{nodes:[n]})),!1}}}var pH,J_=ue(()=>{"use strict";m();T();h();ot();Xt();pH=3});function um(e){let t=Object.create(null),n=[],r=Object.create(null);return{OperationDefinition:()=>!1,FragmentDefinition(s){return i(s),!1}};function i(s){if(t[s.name.value])return;let o=s.name.value;t[o]=!0;let u=e.getFragmentSpreads(s.selectionSet);if(u.length!==0){r[o]=n.length;for(let l of u){let d=l.name.value,p=r[d];if(n.push(l),p===void 0){let y=e.getFragment(d);y&&i(y)}else{let y=n.slice(p),N=y.slice(0,-1).map(I=>'"'+I.name.value+'"').join(", ");e.reportError(new Y(`Cannot spread fragment "${d}" within itself`+(N!==""?` via ${N}.`:"."),{nodes:y}))}n.pop()}r[o]=void 0}}}var z_=ue(()=>{"use strict";m();T();h();ot()});function cm(e){let t=Object.create(null);return{OperationDefinition:{enter(){t=Object.create(null)},leave(n){let r=e.getRecursiveVariableUsages(n);for(let{node:i}of r){let s=i.name.value;t[s]!==!0&&e.reportError(new Y(n.name?`Variable "$${s}" is not defined by operation "${n.name.value}".`:`Variable "$${s}" is not defined.`,{nodes:[i,n]}))}}},VariableDefinition(n){t[n.variable.name.value]=!0}}}var H_=ue(()=>{"use strict";m();T();h();ot()});function lm(e){let t=[],n=[];return{OperationDefinition(r){return t.push(r),!1},FragmentDefinition(r){return n.push(r),!1},Document:{leave(){let r=Object.create(null);for(let i of t)for(let s of e.getRecursivelyReferencedFragments(i))r[s.name.value]=!0;for(let i of n){let s=i.name.value;r[s]!==!0&&e.reportError(new Y(`Fragment "${s}" is never used.`,{nodes:i}))}}}}}var W_=ue(()=>{"use strict";m();T();h();ot()});function dm(e){let t=[];return{OperationDefinition:{enter(){t=[]},leave(n){let r=Object.create(null),i=e.getRecursiveVariableUsages(n);for(let{node:s}of i)r[s.name.value]=!0;for(let s of t){let o=s.variable.name.value;r[o]!==!0&&e.reportError(new Y(n.name?`Variable "$${o}" is never used in operation "${n.name.value}".`:`Variable "$${o}" is never used.`,{nodes:s}))}}},VariableDefinition(n){t.push(n)}}}var X_=ue(()=>{"use strict";m();T();h();ot()});function Gd(e){switch(e.kind){case R.OBJECT:return K(k({},e),{fields:fH(e.fields)});case R.LIST:return K(k({},e),{values:e.values.map(Gd)});case R.INT:case R.FLOAT:case R.STRING:case R.BOOLEAN:case R.NULL:case R.ENUM:case R.VARIABLE:return e}}function fH(e){return e.map(t=>K(k({},t),{value:Gd(t.value)})).sort((t,n)=>Sa(t.name.value,n.name.value))}var Z_=ue(()=>{"use strict";m();T();h();kf();Xt()});function tx(e){return Array.isArray(e)?e.map(([t,n])=>`subfields "${t}" conflict because `+tx(n)).join(" and "):e}function pm(e){let t=new nb,n=new Map;return{SelectionSet(r){let i=mH(e,n,t,e.getParentType(),r);for(let[[s,o],u,l]of i){let d=tx(o);e.reportError(new Y(`Fields "${s}" conflict because ${d}. Use different aliases on the fields to fetch both if this was intentional.`,{nodes:u.concat(l)}))}}}}function mH(e,t,n,r,i){let s=[],[o,u]=Wy(e,t,r,i);if(TH(e,s,t,n,o),u.length!==0)for(let l=0;l1)for(let u=0;u[s.value,o]));return n.every(s=>{let o=s.value,u=i.get(s.name.value);return u===void 0?!1:ex(o)===ex(u)})}function ex(e){return Ft(Gd(e))}function eb(e,t){return Pt(e)?Pt(t)?eb(e.ofType,t.ofType):!0:Pt(t)?!0:Qe(e)?Qe(t)?eb(e.ofType,t.ofType):!0:Qe(t)?!0:Rr(e)||Rr(t)?e!==t:!1}function Wy(e,t,n,r){let i=t.get(r);if(i)return i;let s=Object.create(null),o=Object.create(null);rx(e,n,r,s,o);let u=[s,Object.keys(o)];return t.set(r,u),u}function tb(e,t,n){let r=t.get(n.selectionSet);if(r)return r;let i=Qn(e.getSchema(),n.typeCondition);return Wy(e,t,i,n.selectionSet)}function rx(e,t,n,r,i){for(let s of n.selections)switch(s.kind){case R.FIELD:{let o=s.name.value,u;(at(t)||Nt(t))&&(u=t.getFields()[o]);let l=s.alias?s.alias.value:o;r[l]||(r[l]=[]),r[l].push([t,s,u]);break}case R.FRAGMENT_SPREAD:i[s.name.value]=!0;break;case R.INLINE_FRAGMENT:{let o=s.typeCondition,u=o?Qn(e.getSchema(),o):t;rx(e,u,s.selectionSet,r,i);break}}}function NH(e,t,n,r){if(e.length>0)return[[t,e.map(([i])=>i)],[n,...e.map(([,i])=>i).flat()],[r,...e.map(([,,i])=>i).flat()]]}var nb,ib=ue(()=>{"use strict";m();T();h();Nn();ot();Xt();is();Zt();Z_();Bo();nb=class{constructor(){this._data=new Map}has(t,n,r){var i;let[s,o]=t{"use strict";m();T();h();Nn();ot();Zt();qf();Bo()});function mm(e){let t=e.getSchema(),n=Object.create(null);for(let i of e.getDocument().definitions)Fs(i)&&(n[i.name.value]=i);return{ScalarTypeExtension:r,ObjectTypeExtension:r,InterfaceTypeExtension:r,UnionTypeExtension:r,EnumTypeExtension:r,InputObjectTypeExtension:r};function r(i){let s=i.name.value,o=n[s],u=t==null?void 0:t.getType(s),l;if(o?l=gH[o.kind]:u&&(l=IH(u)),l){if(l!==i.kind){let d=vH(i.kind);e.reportError(new Y(`Cannot extend non-${d} type "${s}".`,{nodes:o?[o,i]:i}))}}else{let d=Object.keys(k(k({},n),t==null?void 0:t.getTypeMap())),p=gi(s,d);e.reportError(new Y(`Cannot extend type "${s}" because it is not defined.`+ii(p),{nodes:i.name}))}}}function IH(e){if(tr(e))return R.SCALAR_TYPE_EXTENSION;if(at(e))return R.OBJECT_TYPE_EXTENSION;if(Nt(e))return R.INTERFACE_TYPE_EXTENSION;if(fn(e))return R.UNION_TYPE_EXTENSION;if(rn(e))return R.ENUM_TYPE_EXTENSION;if(It(e))return R.INPUT_OBJECT_TYPE_EXTENSION;Qt(!1,"Unexpected type: "+ne(e))}function vH(e){switch(e){case R.SCALAR_TYPE_EXTENSION:return"scalar";case R.OBJECT_TYPE_EXTENSION:return"object";case R.INTERFACE_TYPE_EXTENSION:return"interface";case R.UNION_TYPE_EXTENSION:return"union";case R.ENUM_TYPE_EXTENSION:return"enum";case R.INPUT_OBJECT_TYPE_EXTENSION:return"input object";default:Qt(!1,"Unexpected kind: "+ne(e))}}var gH,ob=ue(()=>{"use strict";m();T();h();rc();Nn();ri();sc();ot();Xt();dl();Zt();gH={[R.SCALAR_TYPE_DEFINITION]:R.SCALAR_TYPE_EXTENSION,[R.OBJECT_TYPE_DEFINITION]:R.OBJECT_TYPE_EXTENSION,[R.INTERFACE_TYPE_DEFINITION]:R.INTERFACE_TYPE_EXTENSION,[R.UNION_TYPE_DEFINITION]:R.UNION_TYPE_EXTENSION,[R.ENUM_TYPE_DEFINITION]:R.ENUM_TYPE_EXTENSION,[R.INPUT_OBJECT_TYPE_DEFINITION]:R.INPUT_OBJECT_TYPE_EXTENSION}});function hm(e){return K(k({},ab(e)),{Field:{leave(t){var n;let r=e.getFieldDef();if(!r)return!1;let i=new Set((n=t.arguments)===null||n===void 0?void 0:n.map(s=>s.name.value));for(let s of r.args)if(!i.has(s.name)&&cs(s)){let o=ne(s.type);e.reportError(new Y(`Field "${r.name}" argument "${s.name}" of type "${o}" is required, but it was not provided.`,{nodes:t}))}}}})}function ab(e){var t;let n=Object.create(null),r=e.getSchema(),i=(t=r==null?void 0:r.getDirectives())!==null&&t!==void 0?t:ai;for(let u of i)n[u.name]=si(u.args.filter(cs),l=>l.name);let s=e.getDocument().definitions;for(let u of s)if(u.kind===R.DIRECTIVE_DEFINITION){var o;let l=(o=u.arguments)!==null&&o!==void 0?o:[];n[u.name.value]=si(l.filter(_H),d=>d.name.value)}return{Directive:{leave(u){let l=u.name.value,d=n[l];if(d){var p;let y=(p=u.arguments)!==null&&p!==void 0?p:[],N=new Set(y.map(I=>I.name.value));for(let[I,O]of Object.entries(d))if(!N.has(I)){let x=ac(O.type)?ne(O.type):Ft(O.type);e.reportError(new Y(`Directive "@${l}" argument "${I}" of type "${x}" is required, but it was not provided.`,{nodes:u}))}}}}}}function _H(e){return e.type.kind===R.NON_NULL_TYPE&&e.defaultValue==null}var ub=ue(()=>{"use strict";m();T();h();Nn();ic();ot();Xt();is();Zt();Ui()});function Tm(e){return{Field(t){let n=e.getType(),r=t.selectionSet;if(n){if(Rr(Gn(n))){if(r){let i=t.name.value,s=ne(n);e.reportError(new Y(`Field "${i}" must not have a selection since type "${s}" has no subfields.`,{nodes:r}))}}else if(!r){let i=t.name.value,s=ne(n);e.reportError(new Y(`Field "${i}" of type "${s}" must have a selection of subfields. Did you mean "${i} { ... }"?`,{nodes:t}))}}}}}var cb=ue(()=>{"use strict";m();T();h();Nn();ot();Zt()});function Xy(e){return e.map(t=>typeof t=="number"?"["+t.toString()+"]":"."+t).join("")}var lb=ue(()=>{"use strict";m();T();h()});function ka(e,t,n){return{prev:e,key:t,typename:n}}function br(e){let t=[],n=e;for(;n;)t.push(n.key),n=n.prev;return t.reverse()}var ym=ue(()=>{"use strict";m();T();h()});function Em(e,t,n=bH){return Nm(e,t,n,void 0)}function bH(e,t,n){let r="Invalid value "+ne(t);throw e.length>0&&(r+=` at "value${Xy(e)}"`),n.message=r+": "+n.message,n}function Nm(e,t,n,r){if(Qe(t)){if(e!=null)return Nm(e,t.ofType,n,r);n(br(r),e,new Y(`Expected non-nullable type "${ne(t)}" not to be null.`));return}if(e==null)return null;if(Pt(t)){let i=t.ofType;return Md(e)?Array.from(e,(s,o)=>{let u=ka(r,o,void 0);return Nm(s,i,n,u)}):[Nm(e,i,n,r)]}if(It(t)){if(!sr(e)){n(br(r),e,new Y(`Expected type "${t.name}" to be an object.`));return}let i={},s=t.getFields();for(let o of Object.values(s)){let u=e[o.name];if(u===void 0){if(o.defaultValue!==void 0)i[o.name]=o.defaultValue;else if(Qe(o.type)){let l=ne(o.type);n(br(r),e,new Y(`Field "${o.name}" of required type "${l}" was not provided.`))}continue}i[o.name]=Nm(u,o.type,n,ka(r,o.name,t.name))}for(let o of Object.keys(e))if(!s[o]){let u=gi(o,Object.keys(t.getFields()));n(br(r),e,new Y(`Field "${o}" is not defined by type "${t.name}".`+ii(u)))}if(t.isOneOf){let o=Object.keys(i);o.length!==1&&n(br(r),e,new Y(`Exactly one key must be specified for OneOf type "${t.name}".`));let u=o[0],l=i[u];l===null&&n(br(r).concat(u),l,new Y(`Field "${u}" must be non-null.`))}return i}if(Rr(t)){let i;try{i=t.parseValue(e)}catch(s){s instanceof Y?n(br(r),e,s):n(br(r),e,new Y(`Expected type "${t.name}". `+s.message,{originalError:s}));return}return i===void 0&&n(br(r),e,new Y(`Expected type "${t.name}".`)),i}Qt(!1,"Unexpected input type: "+ne(t))}var db=ue(()=>{"use strict";m();T();h();rc();Nn();ri();Gy();Lo();ym();lb();sc();ot();Zt()});function _i(e,t,n){if(e){if(e.kind===R.VARIABLE){let r=e.name.value;if(n==null||n[r]===void 0)return;let i=n[r];return i===null&&Qe(t)?void 0:i}if(Qe(t))return e.kind===R.NULL?void 0:_i(e,t.ofType,n);if(e.kind===R.NULL)return null;if(Pt(t)){let r=t.ofType;if(e.kind===R.LIST){let s=[];for(let o of e.values)if(ix(o,n)){if(Qe(r))return;s.push(null)}else{let u=_i(o,r,n);if(u===void 0)return;s.push(u)}return s}let i=_i(e,r,n);return i===void 0?void 0:[i]}if(It(t)){if(e.kind!==R.OBJECT)return;let r=Object.create(null),i=si(e.fields,s=>s.name.value);for(let s of Object.values(t.getFields())){let o=i[s.name];if(!o||ix(o.value,n)){if(s.defaultValue!==void 0)r[s.name]=s.defaultValue;else if(Qe(s.type))return;continue}let u=_i(o.value,s.type,n);if(u===void 0)return;r[s.name]=u}if(t.isOneOf){let s=Object.keys(r);if(s.length!==1||r[s[0]]===null)return}return r}if(Rr(t)){let r;try{r=t.parseLiteral(e,n)}catch(i){return}return r===void 0?void 0:r}Qt(!1,"Unexpected input type: "+ne(t))}}function ix(e,t){return e.kind===R.VARIABLE&&(t==null||t[e.name.value]===void 0)}var gm=ue(()=>{"use strict";m();T();h();Nn();ri();ic();Xt();Zt()});function Im(e,t,n,r){let i=[],s=r==null?void 0:r.maxErrors;try{let o=OH(e,t,n,u=>{if(s!=null&&i.length>=s)throw new Y("Too many errors processing variables, error limit reached. Execution aborted.");i.push(u)});if(i.length===0)return{coerced:o}}catch(o){i.push(o)}return{errors:i}}function OH(e,t,n,r){let i={};for(let s of t){let o=s.variable.name.value,u=Qn(e,s.type);if(!Nr(u)){let d=Ft(s.type);r(new Y(`Variable "$${o}" expected value of type "${d}" which cannot be used as an input type.`,{nodes:s.type}));continue}if(!sx(n,o)){if(s.defaultValue)i[o]=_i(s.defaultValue,u);else if(Qe(u)){let d=ne(u);r(new Y(`Variable "$${o}" of required type "${d}" was not provided.`,{nodes:s}))}continue}let l=n[o];if(l===null&&Qe(u)){let d=ne(u);r(new Y(`Variable "$${o}" of non-null type "${d}" must not be null.`,{nodes:s}));continue}i[o]=Em(l,u,(d,p,y)=>{let N=`Variable "$${o}" got invalid value `+ne(p);d.length>0&&(N+=` at "${o}${Xy(d)}"`),r(new Y(N+"; "+y.message,{nodes:s,originalError:y}))})}return i}function dc(e,t,n){var r;let i={},s=(r=t.arguments)!==null&&r!==void 0?r:[],o=si(s,u=>u.name.value);for(let u of e.args){let l=u.name,d=u.type,p=o[l];if(!p){if(u.defaultValue!==void 0)i[l]=u.defaultValue;else if(Qe(d))throw new Y(`Argument "${l}" of required type "${ne(d)}" was not provided.`,{nodes:t});continue}let y=p.value,N=y.kind===R.NULL;if(y.kind===R.VARIABLE){let O=y.name.value;if(n==null||!sx(n,O)){if(u.defaultValue!==void 0)i[l]=u.defaultValue;else if(Qe(d))throw new Y(`Argument "${l}" of required type "${ne(d)}" was provided the variable "$${O}" which was not provided a runtime value.`,{nodes:y});continue}N=n[O]==null}if(N&&Qe(d))throw new Y(`Argument "${l}" of non-null type "${ne(d)}" must not be null.`,{nodes:y});let I=_i(y,d,n);if(I===void 0)throw new Y(`Argument "${l}" has invalid value ${Ft(y)}.`,{nodes:y});i[l]=I}return i}function Vo(e,t,n){var r;let i=(r=t.directives)===null||r===void 0?void 0:r.find(s=>s.name.value===e.name);if(i)return dc(e,i,n)}function sx(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var Qd=ue(()=>{"use strict";m();T();h();Nn();ic();lb();ot();Xt();is();Zt();db();Bo();gm()});function Yd(e,t,n,r,i){let s=new Map;return Zy(e,t,n,r,i,s,new Set),s}function ax(e,t,n,r,i){let s=new Map,o=new Set;for(let u of i)u.selectionSet&&Zy(e,t,n,r,u.selectionSet,s,o);return s}function Zy(e,t,n,r,i,s,o){for(let u of i.selections)switch(u.kind){case R.FIELD:{if(!pb(n,u))continue;let l=SH(u),d=s.get(l);d!==void 0?d.push(u):s.set(l,[u]);break}case R.INLINE_FRAGMENT:{if(!pb(n,u)||!ox(e,u,r))continue;Zy(e,t,n,r,u.selectionSet,s,o);break}case R.FRAGMENT_SPREAD:{let l=u.name.value;if(o.has(l)||!pb(n,u))continue;o.add(l);let d=t[l];if(!d||!ox(e,d,r))continue;Zy(e,t,n,r,d.selectionSet,s,o);break}}}function pb(e,t){let n=Vo(kd,t,e);if((n==null?void 0:n.if)===!0)return!1;let r=Vo(Pd,t,e);return(r==null?void 0:r.if)!==!1}function ox(e,t,n){let r=t.typeCondition;if(!r)return!0;let i=Qn(e,r);return i===n?!0:zr(i)?e.isSubType(i,n):!1}function SH(e){return e.alias?e.alias.value:e.name.value}var eN=ue(()=>{"use strict";m();T();h();Xt();Zt();Ui();Bo();Qd()});function vm(e){return{OperationDefinition(t){if(t.operation==="subscription"){let n=e.getSchema(),r=n.getSubscriptionType();if(r){let i=t.name?t.name.value:null,s=Object.create(null),o=e.getDocument(),u=Object.create(null);for(let d of o.definitions)d.kind===R.FRAGMENT_DEFINITION&&(u[d.name.value]=d);let l=Yd(n,u,s,r,t.selectionSet);if(l.size>1){let y=[...l.values()].slice(1).flat();e.reportError(new Y(i!=null?`Subscription "${i}" must select only one top level field.`:"Anonymous Subscription must select only one top level field.",{nodes:y}))}for(let d of l.values())d[0].name.value.startsWith("__")&&e.reportError(new Y(i!=null?`Subscription "${i}" must not select an introspection top level field.`:"Anonymous Subscription must not select an introspection top level field.",{nodes:d}))}}}}}var fb=ue(()=>{"use strict";m();T();h();ot();Xt();eN()});function Jd(e,t){let n=new Map;for(let r of e){let i=t(r),s=n.get(i);s===void 0?n.set(i,[r]):s.push(r)}return n}var tN=ue(()=>{"use strict";m();T();h()});function _m(e){return{DirectiveDefinition(r){var i;let s=(i=r.arguments)!==null&&i!==void 0?i:[];return n(`@${r.name.value}`,s)},InterfaceTypeDefinition:t,InterfaceTypeExtension:t,ObjectTypeDefinition:t,ObjectTypeExtension:t};function t(r){var i;let s=r.name.value,o=(i=r.fields)!==null&&i!==void 0?i:[];for(let l of o){var u;let d=l.name.value,p=(u=l.arguments)!==null&&u!==void 0?u:[];n(`${s}.${d}`,p)}return!1}function n(r,i){let s=Jd(i,o=>o.name.value);for(let[o,u]of s)u.length>1&&e.reportError(new Y(`Argument "${r}(${o}:)" can only be defined once.`,{nodes:u.map(l=>l.name)}));return!1}}var mb=ue(()=>{"use strict";m();T();h();tN();ot()});function zd(e){return{Field:t,Directive:t};function t(n){var r;let i=(r=n.arguments)!==null&&r!==void 0?r:[],s=Jd(i,o=>o.name.value);for(let[o,u]of s)u.length>1&&e.reportError(new Y(`There can be only one argument named "${o}".`,{nodes:u.map(l=>l.name)}))}}var hb=ue(()=>{"use strict";m();T();h();tN();ot()});function bm(e){let t=Object.create(null),n=e.getSchema();return{DirectiveDefinition(r){let i=r.name.value;if(n!=null&&n.getDirective(i)){e.reportError(new Y(`Directive "@${i}" already exists in the schema. It cannot be redefined.`,{nodes:r.name}));return}return t[i]?e.reportError(new Y(`There can be only one directive named "@${i}".`,{nodes:[t[i],r.name]})):t[i]=r.name,!1}}}var Tb=ue(()=>{"use strict";m();T();h();ot()});function Hd(e){let t=Object.create(null),n=e.getSchema(),r=n?n.getDirectives():ai;for(let u of r)t[u.name]=!u.isRepeatable;let i=e.getDocument().definitions;for(let u of i)u.kind===R.DIRECTIVE_DEFINITION&&(t[u.name.value]=!u.repeatable);let s=Object.create(null),o=Object.create(null);return{enter(u){if(!("directives"in u)||!u.directives)return;let l;if(u.kind===R.SCHEMA_DEFINITION||u.kind===R.SCHEMA_EXTENSION)l=s;else if(Fs(u)||lc(u)){let d=u.name.value;l=o[d],l===void 0&&(o[d]=l=Object.create(null))}else l=Object.create(null);for(let d of u.directives){let p=d.name.value;t[p]&&(l[p]?e.reportError(new Y(`The directive "@${p}" can only be used once at this location.`,{nodes:[l[p],d]})):l[p]=d)}}}}var yb=ue(()=>{"use strict";m();T();h();ot();Xt();dl();Ui()});function Om(e){let t=e.getSchema(),n=t?t.getTypeMap():Object.create(null),r=Object.create(null);return{EnumTypeDefinition:i,EnumTypeExtension:i};function i(s){var o;let u=s.name.value;r[u]||(r[u]=Object.create(null));let l=(o=s.values)!==null&&o!==void 0?o:[],d=r[u];for(let p of l){let y=p.name.value,N=n[u];rn(N)&&N.getValue(y)?e.reportError(new Y(`Enum value "${u}.${y}" already exists in the schema. It cannot also be defined in this type extension.`,{nodes:p.name})):d[y]?e.reportError(new Y(`Enum value "${u}.${y}" can only be defined once.`,{nodes:[d[y],p.name]})):d[y]=p.name}return!1}}var Nb=ue(()=>{"use strict";m();T();h();ot();Zt()});function Sm(e){let t=e.getSchema(),n=t?t.getTypeMap():Object.create(null),r=Object.create(null);return{InputObjectTypeDefinition:i,InputObjectTypeExtension:i,InterfaceTypeDefinition:i,InterfaceTypeExtension:i,ObjectTypeDefinition:i,ObjectTypeExtension:i};function i(s){var o;let u=s.name.value;r[u]||(r[u]=Object.create(null));let l=(o=s.fields)!==null&&o!==void 0?o:[],d=r[u];for(let p of l){let y=p.name.value;DH(n[u],y)?e.reportError(new Y(`Field "${u}.${y}" already exists in the schema. It cannot also be defined in this type extension.`,{nodes:p.name})):d[y]?e.reportError(new Y(`Field "${u}.${y}" can only be defined once.`,{nodes:[d[y],p.name]})):d[y]=p.name}return!1}}function DH(e,t){return at(e)||Nt(e)||It(e)?e.getFields()[t]!=null:!1}var Eb=ue(()=>{"use strict";m();T();h();ot();Zt()});function Dm(e){let t=Object.create(null);return{OperationDefinition:()=>!1,FragmentDefinition(n){let r=n.name.value;return t[r]?e.reportError(new Y(`There can be only one fragment named "${r}".`,{nodes:[t[r],n.name]})):t[r]=n.name,!1}}}var gb=ue(()=>{"use strict";m();T();h();ot()});function Wd(e){let t=[],n=Object.create(null);return{ObjectValue:{enter(){t.push(n),n=Object.create(null)},leave(){let r=t.pop();r||Qt(!1),n=r}},ObjectField(r){let i=r.name.value;n[i]?e.reportError(new Y(`There can be only one input field named "${i}".`,{nodes:[n[i],r.name]})):n[i]=r.name}}}var Ib=ue(()=>{"use strict";m();T();h();ri();ot()});function Am(e){let t=Object.create(null);return{OperationDefinition(n){let r=n.name;return r&&(t[r.value]?e.reportError(new Y(`There can be only one operation named "${r.value}".`,{nodes:[t[r.value],r]})):t[r.value]=r),!1},FragmentDefinition:()=>!1}}var vb=ue(()=>{"use strict";m();T();h();ot()});function Rm(e){let t=e.getSchema(),n=Object.create(null),r=t?{query:t.getQueryType(),mutation:t.getMutationType(),subscription:t.getSubscriptionType()}:{};return{SchemaDefinition:i,SchemaExtension:i};function i(s){var o;let u=(o=s.operationTypes)!==null&&o!==void 0?o:[];for(let l of u){let d=l.operation,p=n[d];r[d]?e.reportError(new Y(`Type for ${d} already defined in the schema. It cannot be redefined.`,{nodes:l})):p?e.reportError(new Y(`There can be only one ${d} type in schema.`,{nodes:[p,l]})):n[d]=l}return!1}}var _b=ue(()=>{"use strict";m();T();h();ot()});function Fm(e){let t=Object.create(null),n=e.getSchema();return{ScalarTypeDefinition:r,ObjectTypeDefinition:r,InterfaceTypeDefinition:r,UnionTypeDefinition:r,EnumTypeDefinition:r,InputObjectTypeDefinition:r};function r(i){let s=i.name.value;if(n!=null&&n.getType(s)){e.reportError(new Y(`Type "${s}" already exists in the schema. It cannot also be defined in this type definition.`,{nodes:i.name}));return}return t[s]?e.reportError(new Y(`There can be only one type named "${s}".`,{nodes:[t[s],i.name]})):t[s]=i.name,!1}}var bb=ue(()=>{"use strict";m();T();h();ot()});function wm(e){return{OperationDefinition(t){var n;let r=(n=t.variableDefinitions)!==null&&n!==void 0?n:[],i=Jd(r,s=>s.variable.name.value);for(let[s,o]of i)o.length>1&&e.reportError(new Y(`There can be only one variable named "$${s}".`,{nodes:o.map(u=>u.variable.name)}))}}}var Ob=ue(()=>{"use strict";m();T();h();tN();ot()});function Lm(e){let t={};return{OperationDefinition:{enter(){t={}}},VariableDefinition(n){t[n.variable.name.value]=n},ListValue(n){let r=nl(e.getParentInputType());if(!Pt(r))return pl(e,n),!1},ObjectValue(n){let r=Gn(e.getInputType());if(!It(r))return pl(e,n),!1;let i=si(n.fields,s=>s.name.value);for(let s of Object.values(r.getFields()))if(!i[s.name]&&Ra(s)){let u=ne(s.type);e.reportError(new Y(`Field "${r.name}.${s.name}" of required type "${u}" was not provided.`,{nodes:n}))}r.isOneOf&&AH(e,n,r,i,t)},ObjectField(n){let r=Gn(e.getParentInputType());if(!e.getInputType()&&It(r)){let s=gi(n.name.value,Object.keys(r.getFields()));e.reportError(new Y(`Field "${n.name.value}" is not defined by type "${r.name}".`+ii(s),{nodes:n}))}},NullValue(n){let r=e.getInputType();Qe(r)&&e.reportError(new Y(`Expected value of type "${ne(r)}", found ${Ft(n)}.`,{nodes:n}))},EnumValue:n=>pl(e,n),IntValue:n=>pl(e,n),FloatValue:n=>pl(e,n),StringValue:n=>pl(e,n),BooleanValue:n=>pl(e,n)}}function pl(e,t){let n=e.getInputType();if(!n)return;let r=Gn(n);if(!Rr(r)){let i=ne(n);e.reportError(new Y(`Expected value of type "${i}", found ${Ft(t)}.`,{nodes:t}));return}try{if(r.parseLiteral(t,void 0)===void 0){let s=ne(n);e.reportError(new Y(`Expected value of type "${s}", found ${Ft(t)}.`,{nodes:t}))}}catch(i){let s=ne(n);i instanceof Y?e.reportError(i):e.reportError(new Y(`Expected value of type "${s}", found ${Ft(t)}; `+i.message,{nodes:t,originalError:i}))}}function AH(e,t,n,r,i){var s;let o=Object.keys(r);if(o.length!==1){e.reportError(new Y(`OneOf Input Object "${n.name}" must specify exactly one key.`,{nodes:[t]}));return}let l=(s=r[o[0]])===null||s===void 0?void 0:s.value,d=!l||l.kind===R.NULL,p=(l==null?void 0:l.kind)===R.VARIABLE;if(d){e.reportError(new Y(`Field "${n.name}.${o[0]}" must be non-null.`,{nodes:[t]}));return}if(p){let y=l.name.value;i[y].type.kind!==R.NON_NULL_TYPE&&e.reportError(new Y(`Variable "${y}" must be non-nullable to be used for OneOf Input Object "${n.name}".`,{nodes:[t]}))}}var Sb=ue(()=>{"use strict";m();T();h();rc();Nn();ic();sc();ot();Xt();is();Zt()});function Pm(e){return{VariableDefinition(t){let n=Qn(e.getSchema(),t.type);if(n!==void 0&&!Nr(n)){let r=t.variable.name.value,i=Ft(t.type);e.reportError(new Y(`Variable "$${r}" cannot be non-input type "${i}".`,{nodes:t.type}))}}}}var Db=ue(()=>{"use strict";m();T();h();ot();is();Zt();Bo()});function km(e){let t=Object.create(null);return{OperationDefinition:{enter(){t=Object.create(null)},leave(n){let r=e.getRecursiveVariableUsages(n);for(let{node:i,type:s,defaultValue:o}of r){let u=i.name.value,l=t[u];if(l&&s){let d=e.getSchema(),p=Qn(d,l.type);if(p&&!RH(d,p,l.defaultValue,s,o)){let y=ne(p),N=ne(s);e.reportError(new Y(`Variable "$${u}" of type "${y}" used in position expecting type "${N}".`,{nodes:[l,i]}))}}}}},VariableDefinition(n){t[n.variable.name.value]=n}}}function RH(e,t,n,r,i){if(Qe(r)&&!Qe(t)){if(!(n!=null&&n.kind!==R.NULL)&&!(i!==void 0))return!1;let u=r.ofType;return ao(e,t,u)}return ao(e,t,r)}var Ab=ue(()=>{"use strict";m();T();h();Nn();ot();Xt();Zt();qf();Bo()});var nN,xm,ux,Rb=ue(()=>{"use strict";m();T();h();M_();B_();V_();$_();q_();K_();G_();Q_();Y_();J_();z_();H_();W_();X_();ib();sb();ob();ub();cb();fb();mb();hb();Tb();yb();Nb();Eb();gb();Ib();vb();_b();bb();Ob();Sb();Db();Ab();nN=Object.freeze([am]),xm=Object.freeze([em,Am,sm,vm,Kd,nm,Pm,Tm,tm,Dm,im,lm,fm,um,wm,cm,dm,qd,Hd,rm,zd,Lm,hm,km,pm,Wd,...nN]),ux=Object.freeze([om,Rm,Fm,Om,Sm,_m,bm,Kd,qd,Hd,mm,j_,zd,Wd,ab])});var rN,iN,fl,Fb=ue(()=>{"use strict";m();T();h();Xt();Zc();Yy();rN=class{constructor(t,n){this._ast=t,this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=n}get[Symbol.toStringTag](){return"ASTValidationContext"}reportError(t){this._onError(t)}getDocument(){return this._ast}getFragment(t){let n;if(this._fragments)n=this._fragments;else{n=Object.create(null);for(let r of this.getDocument().definitions)r.kind===R.FRAGMENT_DEFINITION&&(n[r.name.value]=r);this._fragments=n}return n[t]}getFragmentSpreads(t){let n=this._fragmentSpreads.get(t);if(!n){n=[];let r=[t],i;for(;i=r.pop();)for(let s of i.selections)s.kind===R.FRAGMENT_SPREAD?n.push(s):s.selectionSet&&r.push(s.selectionSet);this._fragmentSpreads.set(t,n)}return n}getRecursivelyReferencedFragments(t){let n=this._recursivelyReferencedFragments.get(t);if(!n){n=[];let r=Object.create(null),i=[t.selectionSet],s;for(;s=i.pop();)for(let o of this.getFragmentSpreads(s)){let u=o.name.value;if(r[u]!==!0){r[u]=!0;let l=this.getFragment(u);l&&(n.push(l),i.push(l.selectionSet))}}this._recursivelyReferencedFragments.set(t,n)}return n}},iN=class extends rN{constructor(t,n,r){super(t,r),this._schema=n}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}},fl=class extends rN{constructor(t,n,r,i){super(n,i),this._schema=t,this._typeInfo=r,this._variableUsages=new Map,this._recursiveVariableUsages=new Map}get[Symbol.toStringTag](){return"ValidationContext"}getSchema(){return this._schema}getVariableUsages(t){let n=this._variableUsages.get(t);if(!n){let r=[],i=new Pa(this._schema);As(t,ll(i,{VariableDefinition:()=>!1,Variable(s){r.push({node:s,type:i.getInputType(),defaultValue:i.getDefaultValue()})}})),n=r,this._variableUsages.set(t,n)}return n}getRecursiveVariableUsages(t){let n=this._recursiveVariableUsages.get(t);if(!n){n=this.getVariableUsages(t);for(let r of this.getRecursivelyReferencedFragments(t))n=n.concat(this.getVariableUsages(r));this._recursiveVariableUsages.set(t,n)}return n}getType(){return this._typeInfo.getType()}getParentType(){return this._typeInfo.getParentType()}getInputType(){return this._typeInfo.getInputType()}getParentInputType(){return this._typeInfo.getParentInputType()}getFieldDef(){return this._typeInfo.getFieldDef()}getDirective(){return this._typeInfo.getDirective()}getArgument(){return this._typeInfo.getArgument()}getEnumValue(){return this._typeInfo.getEnumValue()}}});function Cm(e,t,n=xm,r,i=new Pa(e)){var s;let o=(s=r==null?void 0:r.maxErrors)!==null&&s!==void 0?s:100;t||rt(!1,"Must provide document."),cl(e);let u=Object.freeze({}),l=[],d=new fl(e,t,i,y=>{if(l.length>=o)throw l.push(new Y("Too many validation errors, error limit reached. Validation aborted.")),u;l.push(y)}),p=Dd(n.map(y=>y(d)));try{As(t,ll(i,p))}catch(y){if(y!==u)throw y}return l}function cx(e,t,n=ux){let r=[],i=new iN(e,t,o=>{r.push(o)}),s=n.map(o=>o(i));return As(e,Dd(s)),r}function lx(e){let t=cx(e);if(t.length!==0)throw new Error(t.map(n=>n.message).join(` -`))}function cx(e,t){let n=ax(e,t);if(n.length!==0)throw new Error(n.map(r=>r.message).join(` +`))}function dx(e,t){let n=cx(e,t);if(n.length!==0)throw new Error(n.map(r=>r.message).join(` -`))}var Cm=ue(()=>{"use strict";m();T();h();Ni();st();Wc();Wf();Qy();Rb();Fb()});function lx(e){let t;return function(r,i,s){t===void 0&&(t=new WeakMap);let o=t.get(r);o===void 0&&(o=new WeakMap,t.set(r,o));let u=o.get(i);u===void 0&&(u=new WeakMap,o.set(i,u));let l=u.get(s);return l===void 0&&(l=e(r,i,s),u.set(s,l)),l}}var dx=ue(()=>{"use strict";m();T();h()});function wb(e){return Promise.all(Object.values(e)).then(t=>{let n=Object.create(null);for(let[r,i]of Object.keys(e).entries())n[i]=t[r];return n})}var px=ue(()=>{"use strict";m();T();h()});function fx(e,t,n){let r=n;for(let i of e)r=ni(r)?r.then(s=>t(s,i)):t(r,i);return r}var mx=ue(()=>{"use strict";m();T();h();by()});function hx(e){return e instanceof Error?e:new Lb(e)}var Lb,Tx=ue(()=>{"use strict";m();T();h();Nn();Lb=class extends Error{constructor(t){super("Unexpected error value: "+ne(t)),this.name="NonErrorThrown",this.thrownValue=t}}});function jo(e,t,n){var r;let i=hx(e);return FH(i)?i:new Y(i.message,{nodes:(r=i.nodes)!==null&&r!==void 0?r:t,source:i.source,positions:i.positions,path:n,originalError:i})}function FH(e){return Array.isArray(e.path)}var iN=ue(()=>{"use strict";m();T();h();Tx();st()});function pc(e){arguments.length<2||rt(!1,"graphql@16 dropped long-deprecated support for positional arguments, please pass an object instead.");let{schema:t,document:n,variableValues:r,rootValue:i}=e;kb(t,n,r);let s=xb(e);if(!("schema"in s))return{errors:s};try{let{operation:o}=s,u=LH(s,o,i);return ni(u)?u.then(l=>sN(l,s.errors),l=>(s.errors.push(l),sN(null,s.errors))):sN(u,s.errors)}catch(o){return s.errors.push(o),sN(null,s.errors)}}function Bm(e){let t=pc(e);if(ni(t))throw new Error("GraphQL execution failed to complete synchronously.");return t}function sN(e,t){return t.length===0?{data:e}:{errors:t,data:e}}function kb(e,t,n){t||rt(!1,"Must provide document."),al(e),n==null||sr(n)||rt(!1,"Variables must be provided as an Object where each property is a variable value. Perhaps look to see if an unparsed JSON string was provided.")}function xb(e){var t,n;let{schema:r,document:i,rootValue:s,contextValue:o,variableValues:u,operationName:l,fieldResolver:d,typeResolver:p,subscribeFieldResolver:y}=e,N,I=Object.create(null);for(let j of i.definitions)switch(j.kind){case R.OPERATION_DEFINITION:if(l==null){if(N!==void 0)return[new Y("Must provide operation name if query contains multiple operations.")];N=j}else((t=j.name)===null||t===void 0?void 0:t.value)===l&&(N=j);break;case R.FRAGMENT_DEFINITION:I[j.name.value]=j;break;default:}if(!N)return l!=null?[new Y(`Unknown operation named "${l}".`)]:[new Y("Must provide an operation.")];let b=(n=N.variableDefinitions)!==null&&n!==void 0?n:[],C=gm(r,b,u!=null?u:{},{maxErrors:50});return C.errors?C.errors:{schema:r,fragments:I,rootValue:s,contextValue:o,operation:N,variableValues:C.coerced,fieldResolver:d!=null?d:Mm,typeResolver:p!=null?p:uN,subscribeFieldResolver:y!=null?y:Mm,errors:[]}}function LH(e,t,n){let r=e.schema.getRootType(t.operation);if(r==null)throw new Y(`Schema is not configured to execute ${t.operation} operation.`,{nodes:t});let i=Gd(e.schema,e.fragments,e.variableValues,r,t.selectionSet),s=void 0;switch(t.operation){case Un.QUERY:return oN(e,r,n,s,i);case Un.MUTATION:return PH(e,r,n,s,i);case Un.SUBSCRIPTION:return oN(e,r,n,s,i)}}function PH(e,t,n,r,i){return fx(i.entries(),(s,[o,u])=>{let l=ka(r,o,t.name),d=Ex(e,t,n,u,l);return d===void 0?s:ni(d)?d.then(p=>(s[o]=p,s)):(s[o]=d,s)},Object.create(null))}function oN(e,t,n,r,i){let s=Object.create(null),o=!1;try{for(let[u,l]of i.entries()){let d=ka(r,u,t.name),p=Ex(e,t,n,l,d);p!==void 0&&(s[u]=p,ni(p)&&(o=!0))}}catch(u){if(o)return wb(s).finally(()=>{throw u});throw u}return o?wb(s):s}function Ex(e,t,n,r,i){var s;let o=Ub(e.schema,t,r[0]);if(!o)return;let u=o.type,l=(s=o.resolve)!==null&&s!==void 0?s:e.fieldResolver,d=Cb(e,o,r,t,i);try{let p=dc(o,r[0],e.variableValues),y=e.contextValue,N=l(n,p,y,d),I;return ni(N)?I=N.then(b=>Um(e,u,r,d,i,b)):I=Um(e,u,r,d,i,N),ni(I)?I.then(void 0,b=>{let C=jo(b,r,br(i));return aN(C,u,e)}):I}catch(p){let y=jo(p,r,br(i));return aN(y,u,e)}}function Cb(e,t,n,r,i){return{fieldName:t.name,fieldNodes:n,returnType:t.type,parentType:r,path:i,schema:e.schema,fragments:e.fragments,rootValue:e.rootValue,operation:e.operation,variableValues:e.variableValues}}function aN(e,t,n){if(Qe(t))throw e;return n.errors.push(e),null}function Um(e,t,n,r,i,s){if(s instanceof Error)throw s;if(Qe(t)){let o=Um(e,t.ofType,n,r,i,s);if(o===null)throw new Error(`Cannot return null for non-nullable field ${r.parentType.name}.${r.fieldName}.`);return o}if(s==null)return null;if(Pt(t))return kH(e,t,n,r,i,s);if(Rr(t))return xH(t,s);if(zr(t))return CH(e,t,n,r,i,s);if(ot(t))return Pb(e,t,n,r,i,s);Qt(!1,"Cannot complete value of unexpected output type: "+ne(t))}function kH(e,t,n,r,i,s){if(!Cd(s))throw new Y(`Expected Iterable, but did not find one for field "${r.parentType.name}.${r.fieldName}".`);let o=t.ofType,u=!1,l=Array.from(s,(d,p)=>{let y=ka(i,p,void 0);try{let N;return ni(d)?N=d.then(I=>Um(e,o,n,r,y,I)):N=Um(e,o,n,r,y,d),ni(N)?(u=!0,N.then(void 0,I=>{let b=jo(I,n,br(y));return aN(b,o,e)})):N}catch(N){let I=jo(N,n,br(y));return aN(I,o,e)}});return u?Promise.all(l):l}function xH(e,t){let n=e.serialize(t);if(n==null)throw new Error(`Expected \`${ne(e)}.serialize(${ne(t)})\` to return non-nullable value, returned: ${ne(n)}`);return n}function CH(e,t,n,r,i,s){var o;let u=(o=t.resolveType)!==null&&o!==void 0?o:e.typeResolver,l=e.contextValue,d=u(s,l,r,t);return ni(d)?d.then(p=>Pb(e,yx(p,e,t,n,r,s),n,r,i,s)):Pb(e,yx(d,e,t,n,r,s),n,r,i,s)}function yx(e,t,n,r,i,s){if(e==null)throw new Y(`Abstract type "${n.name}" must resolve to an Object type at runtime for field "${i.parentType.name}.${i.fieldName}". Either the "${n.name}" type should provide a "resolveType" function or each possible type should provide an "isTypeOf" function.`,r);if(ot(e))throw new Y("Support for returning GraphQLObjectType from resolveType was removed in graphql-js@16.0.0 please return type name instead.");if(typeof e!="string")throw new Y(`Abstract type "${n.name}" must resolve to an Object type at runtime for field "${i.parentType.name}.${i.fieldName}" with value ${ne(s)}, received "${ne(e)}".`);let o=t.schema.getType(e);if(o==null)throw new Y(`Abstract type "${n.name}" was resolved to a type "${e}" that does not exist inside the schema.`,{nodes:r});if(!ot(o))throw new Y(`Abstract type "${n.name}" was resolved to a non-object type "${e}".`,{nodes:r});if(!t.schema.isSubType(n,o))throw new Y(`Runtime Object type "${o.name}" is not a possible type for "${n.name}".`,{nodes:r});return o}function Pb(e,t,n,r,i,s){let o=wH(e,t,n);if(t.isTypeOf){let u=t.isTypeOf(s,e.contextValue,r);if(ni(u))return u.then(l=>{if(!l)throw Nx(t,s,n);return oN(e,t,s,i,o)});if(!u)throw Nx(t,s,n)}return oN(e,t,s,i,o)}function Nx(e,t,n){return new Y(`Expected value of type "${e.name}" but got: ${ne(t)}.`,{nodes:n})}function Ub(e,t,n){let r=n.name.value;return r===Fa.name&&e.getQueryType()===t?Fa:r===wa.name&&e.getQueryType()===t?wa:r===La.name?La:t.getFields()[r]}var wH,uN,Mm,Vm=ue(()=>{"use strict";m();T();h();Ni();Nn();ri();Ky();Lo();by();dx();Tm();px();mx();st();iN();Po();Xt();Zt();As();Wf();Zy();Kd();wH=lx((e,t,n)=>sx(e.schema,e.fragments,e.variableValues,t,n));uN=function(e,t,n,r){if(sr(e)&&typeof e.__typename=="string")return e.__typename;let i=n.schema.getPossibleTypes(r),s=[];for(let o=0;o{for(let u=0;ut(vx(e)))}function Ix(e){let t=vx(e);if(ni(t))throw new Error("GraphQL execution failed to complete synchronously.");return t}function vx(e){arguments.length<2||rt(!1,"graphql@16 dropped long-deprecated support for positional arguments, please pass an object instead.");let{schema:t,source:n,rootValue:r,contextValue:i,variableValues:s,operationName:o,fieldResolver:u,typeResolver:l}=e,d=Ud(t);if(d.length>0)return{errors:d};let p;try{p=io(n)}catch(N){return{errors:[N]}}let y=xm(t,p);return y.length>0?{errors:y}:pc({schema:t,document:p,rootValue:r,contextValue:i,variableValues:s,operationName:o,fieldResolver:u,typeResolver:l})}var _x=ue(()=>{"use strict";m();T();h();Ni();by();bd();Wf();Cm();Vm()});var bx=ue(()=>{"use strict";m();T();h();sl();Zt();Ui();Co();As();Wf();xf()});var Ox=ue(()=>{"use strict";m();T();h();Cy();Oy();n_();Xt();Af();Py();bd();is();Wc();Po();cl();gd()});function Mb(e){return typeof(e==null?void 0:e[Symbol.asyncIterator])=="function"}var Sx=ue(()=>{"use strict";m();T();h()});function Dx(e,t){let n=e[Symbol.asyncIterator]();function r(s){return yr(this,null,function*(){if(s.done)return s;try{return{value:yield t(s.value),done:!1}}catch(o){if(typeof n.return=="function")try{yield n.return()}catch(u){}throw o}})}return{next(){return yr(this,null,function*(){return r(yield n.next())})},return(){return yr(this,null,function*(){return typeof n.return=="function"?r(yield n.return()):{value:void 0,done:!0}})},throw(s){return yr(this,null,function*(){if(typeof n.throw=="function")return r(yield n.throw(s));throw s})},[Symbol.asyncIterator](){return this}}}var Ax=ue(()=>{"use strict";m();T();h()});function Bb(t){return yr(this,arguments,function*(e){arguments.length<2||rt(!1,"graphql@16 dropped long-deprecated support for positional arguments, please pass an object instead.");let n=yield cN(e);return Mb(n)?Dx(n,i=>pc(K(k({},e),{rootValue:i}))):n})}function UH(e){let t=e[0];return t&&"document"in t?t:{schema:t,document:e[1],rootValue:e[2],contextValue:e[3],variableValues:e[4],operationName:e[5],subscribeFieldResolver:e[6]}}function cN(...e){return yr(this,null,function*(){let t=UH(e),{schema:n,document:r,variableValues:i}=t;kb(n,r,i);let s=xb(t);if(!("schema"in s))return{errors:s};try{let o=yield MH(s);if(!Mb(o))throw new Error(`Subscription field must return Async Iterable. Received: ${ne(o)}.`);return o}catch(o){if(o instanceof Y)return{errors:[o]};throw o}})}function MH(e){return yr(this,null,function*(){let{schema:t,fragments:n,operation:r,variableValues:i,rootValue:s}=e,o=t.getSubscriptionType();if(o==null)throw new Y("Schema is not configured to execute subscription operation.",{nodes:r});let u=Gd(t,n,i,o,r.selectionSet),[l,d]=[...u.entries()][0],p=Ub(t,o,d[0]);if(!p){let b=d[0].name.value;throw new Y(`The subscription field "${b}" is not defined.`,{nodes:d})}let y=ka(void 0,l,o.name),N=Cb(e,p,d,o,y);try{var I;let b=dc(p,d[0],i),C=e.contextValue,Q=yield((I=p.subscribe)!==null&&I!==void 0?I:e.subscribeFieldResolver)(s,b,C,N);if(Q instanceof Error)throw Q;return Q}catch(b){throw jo(b,d,br(y))}})}var Rx=ue(()=>{"use strict";m();T();h();Ni();Nn();Sx();Tm();st();iN();Zy();Vm();Ax();Kd()});var Fx=ue(()=>{"use strict";m();T();h();Tm();Vm();Rx();Kd()});function Vb(e){return{Field(t){let n=e.getFieldDef(),r=n==null?void 0:n.deprecationReason;if(n&&r!=null){let i=e.getParentType();i!=null||Qt(!1),e.reportError(new Y(`The field ${i.name}.${n.name} is deprecated. ${r}`,{nodes:t}))}},Argument(t){let n=e.getArgument(),r=n==null?void 0:n.deprecationReason;if(n&&r!=null){let i=e.getDirective();if(i!=null)e.reportError(new Y(`Directive "@${i.name}" argument "${n.name}" is deprecated. ${r}`,{nodes:t}));else{let s=e.getParentType(),o=e.getFieldDef();s!=null&&o!=null||Qt(!1),e.reportError(new Y(`Field "${s.name}.${o.name}" argument "${n.name}" is deprecated. ${r}`,{nodes:t}))}}},ObjectField(t){let n=Gn(e.getParentInputType());if(It(n)){let r=n.getFields()[t.name.value],i=r==null?void 0:r.deprecationReason;i!=null&&e.reportError(new Y(`The input field ${n.name}.${r.name} is deprecated. ${i}`,{nodes:t}))}},EnumValue(t){let n=e.getEnumValue(),r=n==null?void 0:n.deprecationReason;if(n&&r!=null){let i=Gn(e.getInputType());i!=null||Qt(!1),e.reportError(new Y(`The enum value "${i.name}.${n.name}" is deprecated. ${r}`,{nodes:t}))}}}}var wx=ue(()=>{"use strict";m();T();h();ri();st();Zt()});function jb(e){return{Field(t){let n=Gn(e.getType());n&&ui(n)&&e.reportError(new Y(`GraphQL introspection has been disabled, but the requested query contained the field "${t.name.value}".`,{nodes:t}))}}}var Lx=ue(()=>{"use strict";m();T();h();st();Zt();As()});var Px=ue(()=>{"use strict";m();T();h();Cm();Fb();Rb();M_();B_();V_();$_();q_();K_();G_();Q_();z_();H_();W_();X_();ib();sb();ub();cb();fb();hb();yb();gb();Ib();vb();Ob();Sb();Db();Ab();J_();Y_();_b();bb();Nb();Eb();mb();Tb();ob();wx();Lx()});var kx=ue(()=>{"use strict";m();T();h();st();Sy();iN()});function jm(e){let t=k({descriptions:!0,specifiedByUrl:!1,directiveIsRepeatable:!1,schemaDescription:!1,inputValueDeprecation:!1,oneOf:!1},e),n=t.descriptions?"description":"",r=t.specifiedByUrl?"specifiedByURL":"",i=t.directiveIsRepeatable?"isRepeatable":"",s=t.schemaDescription?n:"";function o(l){return t.inputValueDeprecation?l:""}let u=t.oneOf?"isOneOf":"";return` +`))}var Um=ue(()=>{"use strict";m();T();h();Ni();ot();Zc();Xf();Yy();Rb();Fb()});function px(e){let t;return function(r,i,s){t===void 0&&(t=new WeakMap);let o=t.get(r);o===void 0&&(o=new WeakMap,t.set(r,o));let u=o.get(i);u===void 0&&(u=new WeakMap,o.set(i,u));let l=u.get(s);return l===void 0&&(l=e(r,i,s),u.set(s,l)),l}}var fx=ue(()=>{"use strict";m();T();h()});function wb(e){return Promise.all(Object.values(e)).then(t=>{let n=Object.create(null);for(let[r,i]of Object.keys(e).entries())n[i]=t[r];return n})}var mx=ue(()=>{"use strict";m();T();h()});function hx(e,t,n){let r=n;for(let i of e)r=ni(r)?r.then(s=>t(s,i)):t(r,i);return r}var Tx=ue(()=>{"use strict";m();T();h();Oy()});function yx(e){return e instanceof Error?e:new Lb(e)}var Lb,Nx=ue(()=>{"use strict";m();T();h();Nn();Lb=class extends Error{constructor(t){super("Unexpected error value: "+ne(t)),this.name="NonErrorThrown",this.thrownValue=t}}});function jo(e,t,n){var r;let i=yx(e);return FH(i)?i:new Y(i.message,{nodes:(r=i.nodes)!==null&&r!==void 0?r:t,source:i.source,positions:i.positions,path:n,originalError:i})}function FH(e){return Array.isArray(e.path)}var sN=ue(()=>{"use strict";m();T();h();Nx();ot()});function pc(e){arguments.length<2||rt(!1,"graphql@16 dropped long-deprecated support for positional arguments, please pass an object instead.");let{schema:t,document:n,variableValues:r,rootValue:i}=e;kb(t,n,r);let s=xb(e);if(!("schema"in s))return{errors:s};try{let{operation:o}=s,u=LH(s,o,i);return ni(u)?u.then(l=>oN(l,s.errors),l=>(s.errors.push(l),oN(null,s.errors))):oN(u,s.errors)}catch(o){return s.errors.push(o),oN(null,s.errors)}}function Vm(e){let t=pc(e);if(ni(t))throw new Error("GraphQL execution failed to complete synchronously.");return t}function oN(e,t){return t.length===0?{data:e}:{errors:t,data:e}}function kb(e,t,n){t||rt(!1,"Must provide document."),cl(e),n==null||sr(n)||rt(!1,"Variables must be provided as an Object where each property is a variable value. Perhaps look to see if an unparsed JSON string was provided.")}function xb(e){var t,n;let{schema:r,document:i,rootValue:s,contextValue:o,variableValues:u,operationName:l,fieldResolver:d,typeResolver:p,subscribeFieldResolver:y}=e,N,I=Object.create(null);for(let j of i.definitions)switch(j.kind){case R.OPERATION_DEFINITION:if(l==null){if(N!==void 0)return[new Y("Must provide operation name if query contains multiple operations.")];N=j}else((t=j.name)===null||t===void 0?void 0:t.value)===l&&(N=j);break;case R.FRAGMENT_DEFINITION:I[j.name.value]=j;break;default:}if(!N)return l!=null?[new Y(`Unknown operation named "${l}".`)]:[new Y("Must provide an operation.")];let O=(n=N.variableDefinitions)!==null&&n!==void 0?n:[],x=Im(r,O,u!=null?u:{},{maxErrors:50});return x.errors?x.errors:{schema:r,fragments:I,rootValue:s,contextValue:o,operation:N,variableValues:x.coerced,fieldResolver:d!=null?d:Bm,typeResolver:p!=null?p:cN,subscribeFieldResolver:y!=null?y:Bm,errors:[]}}function LH(e,t,n){let r=e.schema.getRootType(t.operation);if(r==null)throw new Y(`Schema is not configured to execute ${t.operation} operation.`,{nodes:t});let i=Yd(e.schema,e.fragments,e.variableValues,r,t.selectionSet),s=void 0;switch(t.operation){case Un.QUERY:return aN(e,r,n,s,i);case Un.MUTATION:return PH(e,r,n,s,i);case Un.SUBSCRIPTION:return aN(e,r,n,s,i)}}function PH(e,t,n,r,i){return hx(i.entries(),(s,[o,u])=>{let l=ka(r,o,t.name),d=Ix(e,t,n,u,l);return d===void 0?s:ni(d)?d.then(p=>(s[o]=p,s)):(s[o]=d,s)},Object.create(null))}function aN(e,t,n,r,i){let s=Object.create(null),o=!1;try{for(let[u,l]of i.entries()){let d=ka(r,u,t.name),p=Ix(e,t,n,l,d);p!==void 0&&(s[u]=p,ni(p)&&(o=!0))}}catch(u){if(o)return wb(s).finally(()=>{throw u});throw u}return o?wb(s):s}function Ix(e,t,n,r,i){var s;let o=Ub(e.schema,t,r[0]);if(!o)return;let u=o.type,l=(s=o.resolve)!==null&&s!==void 0?s:e.fieldResolver,d=Cb(e,o,r,t,i);try{let p=dc(o,r[0],e.variableValues),y=e.contextValue,N=l(n,p,y,d),I;return ni(N)?I=N.then(O=>Mm(e,u,r,d,i,O)):I=Mm(e,u,r,d,i,N),ni(I)?I.then(void 0,O=>{let x=jo(O,r,br(i));return uN(x,u,e)}):I}catch(p){let y=jo(p,r,br(i));return uN(y,u,e)}}function Cb(e,t,n,r,i){return{fieldName:t.name,fieldNodes:n,returnType:t.type,parentType:r,path:i,schema:e.schema,fragments:e.fragments,rootValue:e.rootValue,operation:e.operation,variableValues:e.variableValues}}function uN(e,t,n){if(Qe(t))throw e;return n.errors.push(e),null}function Mm(e,t,n,r,i,s){if(s instanceof Error)throw s;if(Qe(t)){let o=Mm(e,t.ofType,n,r,i,s);if(o===null)throw new Error(`Cannot return null for non-nullable field ${r.parentType.name}.${r.fieldName}.`);return o}if(s==null)return null;if(Pt(t))return kH(e,t,n,r,i,s);if(Rr(t))return xH(t,s);if(zr(t))return CH(e,t,n,r,i,s);if(at(t))return Pb(e,t,n,r,i,s);Qt(!1,"Cannot complete value of unexpected output type: "+ne(t))}function kH(e,t,n,r,i,s){if(!Md(s))throw new Y(`Expected Iterable, but did not find one for field "${r.parentType.name}.${r.fieldName}".`);let o=t.ofType,u=!1,l=Array.from(s,(d,p)=>{let y=ka(i,p,void 0);try{let N;return ni(d)?N=d.then(I=>Mm(e,o,n,r,y,I)):N=Mm(e,o,n,r,y,d),ni(N)?(u=!0,N.then(void 0,I=>{let O=jo(I,n,br(y));return uN(O,o,e)})):N}catch(N){let I=jo(N,n,br(y));return uN(I,o,e)}});return u?Promise.all(l):l}function xH(e,t){let n=e.serialize(t);if(n==null)throw new Error(`Expected \`${ne(e)}.serialize(${ne(t)})\` to return non-nullable value, returned: ${ne(n)}`);return n}function CH(e,t,n,r,i,s){var o;let u=(o=t.resolveType)!==null&&o!==void 0?o:e.typeResolver,l=e.contextValue,d=u(s,l,r,t);return ni(d)?d.then(p=>Pb(e,Ex(p,e,t,n,r,s),n,r,i,s)):Pb(e,Ex(d,e,t,n,r,s),n,r,i,s)}function Ex(e,t,n,r,i,s){if(e==null)throw new Y(`Abstract type "${n.name}" must resolve to an Object type at runtime for field "${i.parentType.name}.${i.fieldName}". Either the "${n.name}" type should provide a "resolveType" function or each possible type should provide an "isTypeOf" function.`,r);if(at(e))throw new Y("Support for returning GraphQLObjectType from resolveType was removed in graphql-js@16.0.0 please return type name instead.");if(typeof e!="string")throw new Y(`Abstract type "${n.name}" must resolve to an Object type at runtime for field "${i.parentType.name}.${i.fieldName}" with value ${ne(s)}, received "${ne(e)}".`);let o=t.schema.getType(e);if(o==null)throw new Y(`Abstract type "${n.name}" was resolved to a type "${e}" that does not exist inside the schema.`,{nodes:r});if(!at(o))throw new Y(`Abstract type "${n.name}" was resolved to a non-object type "${e}".`,{nodes:r});if(!t.schema.isSubType(n,o))throw new Y(`Runtime Object type "${o.name}" is not a possible type for "${n.name}".`,{nodes:r});return o}function Pb(e,t,n,r,i,s){let o=wH(e,t,n);if(t.isTypeOf){let u=t.isTypeOf(s,e.contextValue,r);if(ni(u))return u.then(l=>{if(!l)throw gx(t,s,n);return aN(e,t,s,i,o)});if(!u)throw gx(t,s,n)}return aN(e,t,s,i,o)}function gx(e,t,n){return new Y(`Expected value of type "${e.name}" but got: ${ne(t)}.`,{nodes:n})}function Ub(e,t,n){let r=n.name.value;return r===Fa.name&&e.getQueryType()===t?Fa:r===wa.name&&e.getQueryType()===t?wa:r===La.name?La:t.getFields()[r]}var wH,cN,Bm,jm=ue(()=>{"use strict";m();T();h();Ni();Nn();ri();Gy();Lo();Oy();fx();ym();mx();Tx();ot();sN();Po();Xt();Zt();Rs();Xf();eN();Qd();wH=px((e,t,n)=>ax(e.schema,e.fragments,e.variableValues,t,n));cN=function(e,t,n,r){if(sr(e)&&typeof e.__typename=="string")return e.__typename;let i=n.schema.getPossibleTypes(r),s=[];for(let o=0;o{for(let u=0;ut(bx(e)))}function _x(e){let t=bx(e);if(ni(t))throw new Error("GraphQL execution failed to complete synchronously.");return t}function bx(e){arguments.length<2||rt(!1,"graphql@16 dropped long-deprecated support for positional arguments, please pass an object instead.");let{schema:t,source:n,rootValue:r,contextValue:i,variableValues:s,operationName:o,fieldResolver:u,typeResolver:l}=e,d=Bd(t);if(d.length>0)return{errors:d};let p;try{p=io(n)}catch(N){return{errors:[N]}}let y=Cm(t,p);return y.length>0?{errors:y}:pc({schema:t,document:p,rootValue:r,contextValue:i,variableValues:s,operationName:o,fieldResolver:u,typeResolver:l})}var Ox=ue(()=>{"use strict";m();T();h();Ni();Oy();Sd();Xf();Um();jm()});var Sx=ue(()=>{"use strict";m();T();h();al();Zt();Ui();Co();Rs();Xf();Cf()});var Dx=ue(()=>{"use strict";m();T();h();Uy();Sy();n_();Xt();Rf();ky();Sd();is();Zc();Po();dl();vd()});function Mb(e){return typeof(e==null?void 0:e[Symbol.asyncIterator])=="function"}var Ax=ue(()=>{"use strict";m();T();h()});function Rx(e,t){let n=e[Symbol.asyncIterator]();function r(s){return yr(this,null,function*(){if(s.done)return s;try{return{value:yield t(s.value),done:!1}}catch(o){if(typeof n.return=="function")try{yield n.return()}catch(u){}throw o}})}return{next(){return yr(this,null,function*(){return r(yield n.next())})},return(){return yr(this,null,function*(){return typeof n.return=="function"?r(yield n.return()):{value:void 0,done:!0}})},throw(s){return yr(this,null,function*(){if(typeof n.throw=="function")return r(yield n.throw(s));throw s})},[Symbol.asyncIterator](){return this}}}var Fx=ue(()=>{"use strict";m();T();h()});function Bb(t){return yr(this,arguments,function*(e){arguments.length<2||rt(!1,"graphql@16 dropped long-deprecated support for positional arguments, please pass an object instead.");let n=yield lN(e);return Mb(n)?Rx(n,i=>pc(K(k({},e),{rootValue:i}))):n})}function UH(e){let t=e[0];return t&&"document"in t?t:{schema:t,document:e[1],rootValue:e[2],contextValue:e[3],variableValues:e[4],operationName:e[5],subscribeFieldResolver:e[6]}}function lN(...e){return yr(this,null,function*(){let t=UH(e),{schema:n,document:r,variableValues:i}=t;kb(n,r,i);let s=xb(t);if(!("schema"in s))return{errors:s};try{let o=yield MH(s);if(!Mb(o))throw new Error(`Subscription field must return Async Iterable. Received: ${ne(o)}.`);return o}catch(o){if(o instanceof Y)return{errors:[o]};throw o}})}function MH(e){return yr(this,null,function*(){let{schema:t,fragments:n,operation:r,variableValues:i,rootValue:s}=e,o=t.getSubscriptionType();if(o==null)throw new Y("Schema is not configured to execute subscription operation.",{nodes:r});let u=Yd(t,n,i,o,r.selectionSet),[l,d]=[...u.entries()][0],p=Ub(t,o,d[0]);if(!p){let O=d[0].name.value;throw new Y(`The subscription field "${O}" is not defined.`,{nodes:d})}let y=ka(void 0,l,o.name),N=Cb(e,p,d,o,y);try{var I;let O=dc(p,d[0],i),x=e.contextValue,Q=yield((I=p.subscribe)!==null&&I!==void 0?I:e.subscribeFieldResolver)(s,O,x,N);if(Q instanceof Error)throw Q;return Q}catch(O){throw jo(O,d,br(y))}})}var wx=ue(()=>{"use strict";m();T();h();Ni();Nn();Ax();ym();ot();sN();eN();jm();Fx();Qd()});var Lx=ue(()=>{"use strict";m();T();h();ym();jm();wx();Qd()});function Vb(e){return{Field(t){let n=e.getFieldDef(),r=n==null?void 0:n.deprecationReason;if(n&&r!=null){let i=e.getParentType();i!=null||Qt(!1),e.reportError(new Y(`The field ${i.name}.${n.name} is deprecated. ${r}`,{nodes:t}))}},Argument(t){let n=e.getArgument(),r=n==null?void 0:n.deprecationReason;if(n&&r!=null){let i=e.getDirective();if(i!=null)e.reportError(new Y(`Directive "@${i.name}" argument "${n.name}" is deprecated. ${r}`,{nodes:t}));else{let s=e.getParentType(),o=e.getFieldDef();s!=null&&o!=null||Qt(!1),e.reportError(new Y(`Field "${s.name}.${o.name}" argument "${n.name}" is deprecated. ${r}`,{nodes:t}))}}},ObjectField(t){let n=Gn(e.getParentInputType());if(It(n)){let r=n.getFields()[t.name.value],i=r==null?void 0:r.deprecationReason;i!=null&&e.reportError(new Y(`The input field ${n.name}.${r.name} is deprecated. ${i}`,{nodes:t}))}},EnumValue(t){let n=e.getEnumValue(),r=n==null?void 0:n.deprecationReason;if(n&&r!=null){let i=Gn(e.getInputType());i!=null||Qt(!1),e.reportError(new Y(`The enum value "${i.name}.${n.name}" is deprecated. ${r}`,{nodes:t}))}}}}var Px=ue(()=>{"use strict";m();T();h();ri();ot();Zt()});function jb(e){return{Field(t){let n=Gn(e.getType());n&&ui(n)&&e.reportError(new Y(`GraphQL introspection has been disabled, but the requested query contained the field "${t.name.value}".`,{nodes:t}))}}}var kx=ue(()=>{"use strict";m();T();h();ot();Zt();Rs()});var xx=ue(()=>{"use strict";m();T();h();Um();Fb();Rb();M_();B_();V_();$_();q_();K_();G_();Q_();z_();H_();W_();X_();ib();sb();ub();cb();fb();hb();yb();gb();Ib();vb();Ob();Sb();Db();Ab();J_();Y_();_b();bb();Nb();Eb();mb();Tb();ob();Px();kx()});var Cx=ue(()=>{"use strict";m();T();h();ot();Dy();sN()});function $m(e){let t=k({descriptions:!0,specifiedByUrl:!1,directiveIsRepeatable:!1,schemaDescription:!1,inputValueDeprecation:!1,oneOf:!1},e),n=t.descriptions?"description":"",r=t.specifiedByUrl?"specifiedByURL":"",i=t.directiveIsRepeatable?"isRepeatable":"",s=t.schemaDescription?n:"";function o(l){return t.inputValueDeprecation?l:""}let u=t.oneOf?"isOneOf":"";return` query IntrospectionQuery { __schema { ${s} @@ -173,30 +173,30 @@ In some cases, you need to provide options to alter GraphQL's execution behavior } } } - `}var $b=ue(()=>{"use strict";m();T();h()});function qb(e,t){let n=null;for(let i of e.definitions)if(i.kind===R.OPERATION_DEFINITION){var r;if(t==null){if(n)return null;n=i}else if(((r=i.name)===null||r===void 0?void 0:r.value)===t)return i}return n}var xx=ue(()=>{"use strict";m();T();h();Xt()});function Kb(e,t){if(t.operation==="query"){let n=e.getQueryType();if(!n)throw new Y("Schema does not define the required query root type.",{nodes:t});return n}if(t.operation==="mutation"){let n=e.getMutationType();if(!n)throw new Y("Schema is not configured for mutations.",{nodes:t});return n}if(t.operation==="subscription"){let n=e.getSubscriptionType();if(!n)throw new Y("Schema is not configured for subscriptions.",{nodes:t});return n}throw new Y("Can only have query, mutation and subscription operations.",{nodes:t})}var Cx=ue(()=>{"use strict";m();T();h();st()});function Gb(e,t){let n=k({specifiedByUrl:!0,directiveIsRepeatable:!0,schemaDescription:!0,inputValueDeprecation:!0,oneOf:!0},t),r=io(jm(n)),i=Bm({schema:e,document:r});return!i.errors&&i.data||Qt(!1),i.data}var Ux=ue(()=>{"use strict";m();T();h();ri();bd();Vm();$b()});function Qb(e,t){sr(e)&&sr(e.__schema)||rt(!1,`Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${ne(e)}.`);let n=e.__schema,r=Ss(n.types,B=>B.name,B=>N(B));for(let B of[...xo,...Mo])r[B.name]&&(r[B.name]=B);let i=n.queryType?p(n.queryType):null,s=n.mutationType?p(n.mutationType):null,o=n.subscriptionType?p(n.subscriptionType):null,u=n.directives?n.directives.map(xt):[];return new Bi({description:n.description,query:i,mutation:s,subscription:o,types:Object.values(r),directives:u,assumeValid:t==null?void 0:t.assumeValid});function l(B){if(B.kind===mn.LIST){let he=B.ofType;if(!he)throw new Error("Decorated type deeper than introspection query.");return new Mn(l(he))}if(B.kind===mn.NON_NULL){let he=B.ofType;if(!he)throw new Error("Decorated type deeper than introspection query.");let nt=l(he);return new pt(Bf(nt))}return d(B)}function d(B){let he=B.name;if(!he)throw new Error(`Unknown type reference: ${ne(B)}.`);let nt=r[he];if(!nt)throw new Error(`Invalid or incomplete schema, unknown type: ${he}. Ensure that a full introspection query is used in order to build a client schema.`);return nt}function p(B){return Cf(d(B))}function y(B){return Uf(d(B))}function N(B){if(B!=null&&B.name!=null&&B.kind!=null)switch(B.kind){case mn.SCALAR:return I(B);case mn.OBJECT:return C(B);case mn.INTERFACE:return j(B);case mn.UNION:return Q(B);case mn.ENUM:return re(B);case mn.INPUT_OBJECT:return se(B)}let he=ne(B);throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${he}.`)}function I(B){return new Jr({name:B.name,description:B.description,specifiedByURL:B.specifiedByURL})}function b(B){if(B.interfaces===null&&B.kind===mn.INTERFACE)return[];if(!B.interfaces){let he=ne(B);throw new Error(`Introspection result missing interfaces: ${he}.`)}return B.interfaces.map(y)}function C(B){return new _r({name:B.name,description:B.description,interfaces:()=>b(B),fields:()=>pe(B)})}function j(B){return new ss({name:B.name,description:B.description,interfaces:()=>b(B),fields:()=>pe(B)})}function Q(B){if(!B.possibleTypes){let he=ne(B);throw new Error(`Introspection result missing possibleTypes: ${he}.`)}return new os({name:B.name,description:B.description,types:()=>B.possibleTypes.map(p)})}function re(B){if(!B.enumValues){let he=ne(B);throw new Error(`Introspection result missing enumValues: ${he}.`)}return new oi({name:B.name,description:B.description,values:Ss(B.enumValues,he=>he.name,he=>({description:he.description,deprecationReason:he.deprecationReason}))})}function se(B){if(!B.inputFields){let he=ne(B);throw new Error(`Introspection result missing inputFields: ${he}.`)}return new as({name:B.name,description:B.description,fields:()=>Ce(B.inputFields),isOneOf:B.isOneOf})}function pe(B){if(!B.fields)throw new Error(`Introspection result missing fields: ${ne(B)}.`);return Ss(B.fields,he=>he.name,ye)}function ye(B){let he=l(B.type);if(!us(he)){let nt=ne(he);throw new Error(`Introspection must provide output type for fields, but received: ${nt}.`)}if(!B.args){let nt=ne(B);throw new Error(`Introspection result missing field args: ${nt}.`)}return{description:B.description,deprecationReason:B.deprecationReason,type:he,args:Ce(B.args)}}function Ce(B){return Ss(B,he=>he.name,ht)}function ht(B){let he=l(B.type);if(!Nr(he)){let Ct=ne(he);throw new Error(`Introspection must provide input type for arguments, but received: ${Ct}.`)}let nt=B.defaultValue!=null?_i(wf(B.defaultValue),he):void 0;return{description:B.description,type:he,defaultValue:nt,deprecationReason:B.deprecationReason}}function xt(B){if(!B.args){let he=ne(B);throw new Error(`Introspection result missing directive args: ${he}.`)}if(!B.locations){let he=ne(B);throw new Error(`Introspection result missing directive locations: ${he}.`)}return new Vr({name:B.name,description:B.description,isRepeatable:B.isRepeatable,locations:B.locations.slice(),args:Ce(B.args)})}}var Mx=ue(()=>{"use strict";m();T();h();Ni();Nn();Lo();Lf();bd();Zt();Ui();As();Co();sl();Em()});function Yb(e,t,n){il(e),t!=null&&t.kind===R.DOCUMENT||rt(!1,"Must provide valid Document AST."),(n==null?void 0:n.assumeValid)!==!0&&(n==null?void 0:n.assumeValidSDL)!==!0&&cx(t,e);let r=e.toConfig(),i=Jb(r,t,n);return r===i?e:new Bi(i)}function Jb(e,t,n){var r,i,s,o;let u=[],l=Object.create(null),d=[],p,y=[];for(let U of t.definitions)if(U.kind===R.SCHEMA_DEFINITION)p=U;else if(U.kind===R.SCHEMA_EXTENSION)y.push(U);else if(Rs(U))u.push(U);else if(lc(U)){let ae=U.name.value,te=l[ae];l[ae]=te?te.concat([U]):[U]}else U.kind===R.DIRECTIVE_DEFINITION&&d.push(U);if(Object.keys(l).length===0&&u.length===0&&d.length===0&&y.length===0&&p==null)return e;let N=Object.create(null);for(let U of e.types)N[U.name]=re(U);for(let U of u){var I;let ae=U.name.value;N[ae]=(I=Bx[ae])!==null&&I!==void 0?I:$n(U)}let b=k(k({query:e.query&&j(e.query),mutation:e.mutation&&j(e.mutation),subscription:e.subscription&&j(e.subscription)},p&&nt([p])),nt(y));return K(k({description:(r=p)===null||r===void 0||(i=r.description)===null||i===void 0?void 0:i.value},b),{types:Object.values(N),directives:[...e.directives.map(Q),...d.map(Fn)],extensions:Object.create(null),astNode:(s=p)!==null&&s!==void 0?s:e.astNode,extensionASTNodes:e.extensionASTNodes.concat(y),assumeValid:(o=n==null?void 0:n.assumeValid)!==null&&o!==void 0?o:!1});function C(U){return Pt(U)?new Mn(C(U.ofType)):Qe(U)?new pt(C(U.ofType)):j(U)}function j(U){return N[U.name]}function Q(U){let ae=U.toConfig();return new Vr(K(k({},ae),{args:so(ae.args,he)}))}function re(U){if(ui(U)||uo(U))return U;if(tr(U))return ye(U);if(ot(U))return Ce(U);if(Nt(U))return ht(U);if(fn(U))return xt(U);if(rn(U))return pe(U);if(It(U))return se(U);Qt(!1,"Unexpected type: "+ne(U))}function se(U){var ae;let te=U.toConfig(),ce=(ae=l[te.name])!==null&&ae!==void 0?ae:[];return new as(K(k({},te),{fields:()=>k(k({},so(te.fields,Ke=>K(k({},Ke),{type:C(Ke.type)}))),mi(ce)),extensionASTNodes:te.extensionASTNodes.concat(ce)}))}function pe(U){var ae;let te=U.toConfig(),ce=(ae=l[U.name])!==null&&ae!==void 0?ae:[];return new oi(K(k({},te),{values:k(k({},te.values),Xr(ce)),extensionASTNodes:te.extensionASTNodes.concat(ce)}))}function ye(U){var ae;let te=U.toConfig(),ce=(ae=l[te.name])!==null&&ae!==void 0?ae:[],Ke=te.specifiedByURL;for(let ee of ce){var G;Ke=(G=Vx(ee))!==null&&G!==void 0?G:Ke}return new Jr(K(k({},te),{specifiedByURL:Ke,extensionASTNodes:te.extensionASTNodes.concat(ce)}))}function Ce(U){var ae;let te=U.toConfig(),ce=(ae=l[te.name])!==null&&ae!==void 0?ae:[];return new _r(K(k({},te),{interfaces:()=>[...U.getInterfaces().map(j),...Pn(ce)],fields:()=>k(k({},so(te.fields,B)),_n(ce)),extensionASTNodes:te.extensionASTNodes.concat(ce)}))}function ht(U){var ae;let te=U.toConfig(),ce=(ae=l[te.name])!==null&&ae!==void 0?ae:[];return new ss(K(k({},te),{interfaces:()=>[...U.getInterfaces().map(j),...Pn(ce)],fields:()=>k(k({},so(te.fields,B)),_n(ce)),extensionASTNodes:te.extensionASTNodes.concat(ce)}))}function xt(U){var ae;let te=U.toConfig(),ce=(ae=l[te.name])!==null&&ae!==void 0?ae:[];return new os(K(k({},te),{types:()=>[...U.getTypes().map(j),...on(ce)],extensionASTNodes:te.extensionASTNodes.concat(ce)}))}function B(U){return K(k({},U),{type:C(U.type),args:U.args&&so(U.args,he)})}function he(U){return K(k({},U),{type:C(U.type)})}function nt(U){let ae={};for(let ce of U){var te;let Ke=(te=ce.operationTypes)!==null&&te!==void 0?te:[];for(let G of Ke)ae[G.operation]=Ct(G.type)}return ae}function Ct(U){var ae;let te=U.name.value,ce=(ae=Bx[te])!==null&&ae!==void 0?ae:N[te];if(ce===void 0)throw new Error(`Unknown type: "${te}".`);return ce}function sn(U){return U.kind===R.LIST_TYPE?new Mn(sn(U.type)):U.kind===R.NON_NULL_TYPE?new pt(sn(U.type)):Ct(U)}function Fn(U){var ae;return new Vr({name:U.name.value,description:(ae=U.description)===null||ae===void 0?void 0:ae.value,locations:U.locations.map(({value:te})=>te),isRepeatable:U.repeatable,args:bn(U.arguments),astNode:U})}function _n(U){let ae=Object.create(null);for(let Ke of U){var te;let G=(te=Ke.fields)!==null&&te!==void 0?te:[];for(let ee of G){var ce;ae[ee.name.value]={type:sn(ee.type),description:(ce=ee.description)===null||ce===void 0?void 0:ce.value,args:bn(ee.arguments),deprecationReason:lN(ee),astNode:ee}}}return ae}function bn(U){let ae=U!=null?U:[],te=Object.create(null);for(let Ke of ae){var ce;let G=sn(Ke.type);te[Ke.name.value]={type:G,description:(ce=Ke.description)===null||ce===void 0?void 0:ce.value,defaultValue:_i(Ke.defaultValue,G),deprecationReason:lN(Ke),astNode:Ke}}return te}function mi(U){let ae=Object.create(null);for(let Ke of U){var te;let G=(te=Ke.fields)!==null&&te!==void 0?te:[];for(let ee of G){var ce;let Ue=sn(ee.type);ae[ee.name.value]={type:Ue,description:(ce=ee.description)===null||ce===void 0?void 0:ce.value,defaultValue:_i(ee.defaultValue,Ue),deprecationReason:lN(ee),astNode:ee}}}return ae}function Xr(U){let ae=Object.create(null);for(let Ke of U){var te;let G=(te=Ke.values)!==null&&te!==void 0?te:[];for(let ee of G){var ce;ae[ee.name.value]={description:(ce=ee.description)===null||ce===void 0?void 0:ce.value,deprecationReason:lN(ee),astNode:ee}}}return ae}function Pn(U){return U.flatMap(ae=>{var te,ce;return(te=(ce=ae.interfaces)===null||ce===void 0?void 0:ce.map(Ct))!==null&&te!==void 0?te:[]})}function on(U){return U.flatMap(ae=>{var te,ce;return(te=(ce=ae.types)===null||ce===void 0?void 0:ce.map(Ct))!==null&&te!==void 0?te:[]})}function $n(U){var ae;let te=U.name.value,ce=(ae=l[te])!==null&&ae!==void 0?ae:[];switch(U.kind){case R.OBJECT_TYPE_DEFINITION:{var Ke;let Je=[U,...ce];return new _r({name:te,description:(Ke=U.description)===null||Ke===void 0?void 0:Ke.value,interfaces:()=>Pn(Je),fields:()=>_n(Je),astNode:U,extensionASTNodes:ce})}case R.INTERFACE_TYPE_DEFINITION:{var G;let Je=[U,...ce];return new ss({name:te,description:(G=U.description)===null||G===void 0?void 0:G.value,interfaces:()=>Pn(Je),fields:()=>_n(Je),astNode:U,extensionASTNodes:ce})}case R.ENUM_TYPE_DEFINITION:{var ee;let Je=[U,...ce];return new oi({name:te,description:(ee=U.description)===null||ee===void 0?void 0:ee.value,values:Xr(Je),astNode:U,extensionASTNodes:ce})}case R.UNION_TYPE_DEFINITION:{var Ue;let Je=[U,...ce];return new os({name:te,description:(Ue=U.description)===null||Ue===void 0?void 0:Ue.value,types:()=>on(Je),astNode:U,extensionASTNodes:ce})}case R.SCALAR_TYPE_DEFINITION:{var Xe;return new Jr({name:te,description:(Xe=U.description)===null||Xe===void 0?void 0:Xe.value,specifiedByURL:Vx(U),astNode:U,extensionASTNodes:ce})}case R.INPUT_OBJECT_TYPE_DEFINITION:{var jt;let Je=[U,...ce];return new as({name:te,description:(jt=U.description)===null||jt===void 0?void 0:jt.value,fields:()=>mi(Je),astNode:U,extensionASTNodes:ce,isOneOf:BH(U)})}}}}function lN(e){let t=Vo(Uo,e);return t==null?void 0:t.reason}function Vx(e){let t=Vo(kd,e);return t==null?void 0:t.url}function BH(e){return!!Vo(xd,e)}var Bx,zb=ue(()=>{"use strict";m();T();h();Ni();Nn();ri();ic();l_();Xt();cl();Zt();Ui();As();Co();sl();Cm();Kd();Em();Bx=si([...xo,...Mo],e=>e.name)});function dN(e,t){e!=null&&e.kind===R.DOCUMENT||rt(!1,"Must provide valid Document AST."),(t==null?void 0:t.assumeValid)!==!0&&(t==null?void 0:t.assumeValidSDL)!==!0&&ux(e);let r=Jb({description:void 0,types:[],directives:[],extensions:Object.create(null),extensionASTNodes:[],assumeValid:!1},e,t);if(r.astNode==null)for(let s of r.types)switch(s.name){case"Query":r.query=s;break;case"Mutation":r.mutation=s;break;case"Subscription":r.subscription=s;break}let i=[...r.directives,...ai.filter(s=>r.directives.every(o=>o.name!==s.name))];return new Bi(K(k({},r),{directives:i}))}function Hb(e,t){let n=io(e,{noLocation:t==null?void 0:t.noLocation,allowLegacyFragmentVariables:t==null?void 0:t.allowLegacyFragmentVariables});return dN(n,{assumeValidSDL:t==null?void 0:t.assumeValidSDL,assumeValid:t==null?void 0:t.assumeValid})}var jx=ue(()=>{"use strict";m();T();h();Ni();Xt();bd();Ui();sl();Cm();zb()});function $m(e){let t=e.toConfig(),n=Ss(Wb(t.types),N=>N.name,y);return new Bi(K(k({},t),{types:Object.values(n),directives:Wb(t.directives).map(o),query:s(t.query),mutation:s(t.mutation),subscription:s(t.subscription)}));function r(N){return Pt(N)?new Mn(r(N.ofType)):Qe(N)?new pt(r(N.ofType)):i(N)}function i(N){return n[N.name]}function s(N){return N&&i(N)}function o(N){let I=N.toConfig();return new Vr(K(k({},I),{locations:$x(I.locations,b=>b),args:u(I.args)}))}function u(N){return pN(N,I=>K(k({},I),{type:r(I.type)}))}function l(N){return pN(N,I=>K(k({},I),{type:r(I.type),args:I.args&&u(I.args)}))}function d(N){return pN(N,I=>K(k({},I),{type:r(I.type)}))}function p(N){return Wb(N).map(i)}function y(N){if(tr(N)||ui(N))return N;if(ot(N)){let I=N.toConfig();return new _r(K(k({},I),{interfaces:()=>p(I.interfaces),fields:()=>l(I.fields)}))}if(Nt(N)){let I=N.toConfig();return new ss(K(k({},I),{interfaces:()=>p(I.interfaces),fields:()=>l(I.fields)}))}if(fn(N)){let I=N.toConfig();return new os(K(k({},I),{types:()=>p(I.types)}))}if(rn(N)){let I=N.toConfig();return new oi(K(k({},I),{values:pN(I.values,b=>b)}))}if(It(N)){let I=N.toConfig();return new as(K(k({},I),{fields:()=>d(I.fields)}))}Qt(!1,"Unexpected type: "+ne(N))}}function pN(e,t){let n=Object.create(null);for(let r of Object.keys(e).sort(Sa))n[r]=t(e[r]);return n}function Wb(e){return $x(e,t=>t.name)}function $x(e,t){return e.slice().sort((n,r)=>{let i=t(n),s=t(r);return Sa(i,s)})}var qx=ue(()=>{"use strict";m();T();h();Nn();ri();Lf();Pf();Zt();Ui();As();sl()});function Hd(e){return Kx(e,t=>!cc(t),VH)}function Zb(e){return Kx(e,cc,ui)}function VH(e){return!uo(e)&&!ui(e)}function Kx(e,t,n){let r=e.getDirectives().filter(t),i=Object.values(e.getTypeMap()).filter(n);return[jH(e),...r.map(s=>zH(s)),...i.map(s=>fN(s))].filter(Boolean).join(` + `}var $b=ue(()=>{"use strict";m();T();h()});function qb(e,t){let n=null;for(let i of e.definitions)if(i.kind===R.OPERATION_DEFINITION){var r;if(t==null){if(n)return null;n=i}else if(((r=i.name)===null||r===void 0?void 0:r.value)===t)return i}return n}var Ux=ue(()=>{"use strict";m();T();h();Xt()});function Kb(e,t){if(t.operation==="query"){let n=e.getQueryType();if(!n)throw new Y("Schema does not define the required query root type.",{nodes:t});return n}if(t.operation==="mutation"){let n=e.getMutationType();if(!n)throw new Y("Schema is not configured for mutations.",{nodes:t});return n}if(t.operation==="subscription"){let n=e.getSubscriptionType();if(!n)throw new Y("Schema is not configured for subscriptions.",{nodes:t});return n}throw new Y("Can only have query, mutation and subscription operations.",{nodes:t})}var Mx=ue(()=>{"use strict";m();T();h();ot()});function Gb(e,t){let n=k({specifiedByUrl:!0,directiveIsRepeatable:!0,schemaDescription:!0,inputValueDeprecation:!0,oneOf:!0},t),r=io($m(n)),i=Vm({schema:e,document:r});return!i.errors&&i.data||Qt(!1),i.data}var Bx=ue(()=>{"use strict";m();T();h();ri();Sd();jm();$b()});function Qb(e,t){sr(e)&&sr(e.__schema)||rt(!1,`Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${ne(e)}.`);let n=e.__schema,r=Ds(n.types,B=>B.name,B=>N(B));for(let B of[...xo,...Mo])r[B.name]&&(r[B.name]=B);let i=n.queryType?p(n.queryType):null,s=n.mutationType?p(n.mutationType):null,o=n.subscriptionType?p(n.subscriptionType):null,u=n.directives?n.directives.map(xt):[];return new Bi({description:n.description,query:i,mutation:s,subscription:o,types:Object.values(r),directives:u,assumeValid:t==null?void 0:t.assumeValid});function l(B){if(B.kind===mn.LIST){let he=B.ofType;if(!he)throw new Error("Decorated type deeper than introspection query.");return new Mn(l(he))}if(B.kind===mn.NON_NULL){let he=B.ofType;if(!he)throw new Error("Decorated type deeper than introspection query.");let nt=l(he);return new pt(Vf(nt))}return d(B)}function d(B){let he=B.name;if(!he)throw new Error(`Unknown type reference: ${ne(B)}.`);let nt=r[he];if(!nt)throw new Error(`Invalid or incomplete schema, unknown type: ${he}. Ensure that a full introspection query is used in order to build a client schema.`);return nt}function p(B){return Uf(d(B))}function y(B){return Mf(d(B))}function N(B){if(B!=null&&B.name!=null&&B.kind!=null)switch(B.kind){case mn.SCALAR:return I(B);case mn.OBJECT:return x(B);case mn.INTERFACE:return j(B);case mn.UNION:return Q(B);case mn.ENUM:return re(B);case mn.INPUT_OBJECT:return se(B)}let he=ne(B);throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${he}.`)}function I(B){return new Jr({name:B.name,description:B.description,specifiedByURL:B.specifiedByURL})}function O(B){if(B.interfaces===null&&B.kind===mn.INTERFACE)return[];if(!B.interfaces){let he=ne(B);throw new Error(`Introspection result missing interfaces: ${he}.`)}return B.interfaces.map(y)}function x(B){return new _r({name:B.name,description:B.description,interfaces:()=>O(B),fields:()=>pe(B)})}function j(B){return new ss({name:B.name,description:B.description,interfaces:()=>O(B),fields:()=>pe(B)})}function Q(B){if(!B.possibleTypes){let he=ne(B);throw new Error(`Introspection result missing possibleTypes: ${he}.`)}return new os({name:B.name,description:B.description,types:()=>B.possibleTypes.map(p)})}function re(B){if(!B.enumValues){let he=ne(B);throw new Error(`Introspection result missing enumValues: ${he}.`)}return new oi({name:B.name,description:B.description,values:Ds(B.enumValues,he=>he.name,he=>({description:he.description,deprecationReason:he.deprecationReason}))})}function se(B){if(!B.inputFields){let he=ne(B);throw new Error(`Introspection result missing inputFields: ${he}.`)}return new as({name:B.name,description:B.description,fields:()=>Ce(B.inputFields),isOneOf:B.isOneOf})}function pe(B){if(!B.fields)throw new Error(`Introspection result missing fields: ${ne(B)}.`);return Ds(B.fields,he=>he.name,ye)}function ye(B){let he=l(B.type);if(!us(he)){let nt=ne(he);throw new Error(`Introspection must provide output type for fields, but received: ${nt}.`)}if(!B.args){let nt=ne(B);throw new Error(`Introspection result missing field args: ${nt}.`)}return{description:B.description,deprecationReason:B.deprecationReason,type:he,args:Ce(B.args)}}function Ce(B){return Ds(B,he=>he.name,ht)}function ht(B){let he=l(B.type);if(!Nr(he)){let Ct=ne(he);throw new Error(`Introspection must provide input type for arguments, but received: ${Ct}.`)}let nt=B.defaultValue!=null?_i(Lf(B.defaultValue),he):void 0;return{description:B.description,type:he,defaultValue:nt,deprecationReason:B.deprecationReason}}function xt(B){if(!B.args){let he=ne(B);throw new Error(`Introspection result missing directive args: ${he}.`)}if(!B.locations){let he=ne(B);throw new Error(`Introspection result missing directive locations: ${he}.`)}return new Vr({name:B.name,description:B.description,isRepeatable:B.isRepeatable,locations:B.locations.slice(),args:Ce(B.args)})}}var Vx=ue(()=>{"use strict";m();T();h();Ni();Nn();Lo();Pf();Sd();Zt();Ui();Rs();Co();al();gm()});function Yb(e,t,n){ol(e),t!=null&&t.kind===R.DOCUMENT||rt(!1,"Must provide valid Document AST."),(n==null?void 0:n.assumeValid)!==!0&&(n==null?void 0:n.assumeValidSDL)!==!0&&dx(t,e);let r=e.toConfig(),i=Jb(r,t,n);return r===i?e:new Bi(i)}function Jb(e,t,n){var r,i,s,o;let u=[],l=Object.create(null),d=[],p,y=[];for(let U of t.definitions)if(U.kind===R.SCHEMA_DEFINITION)p=U;else if(U.kind===R.SCHEMA_EXTENSION)y.push(U);else if(Fs(U))u.push(U);else if(lc(U)){let ae=U.name.value,te=l[ae];l[ae]=te?te.concat([U]):[U]}else U.kind===R.DIRECTIVE_DEFINITION&&d.push(U);if(Object.keys(l).length===0&&u.length===0&&d.length===0&&y.length===0&&p==null)return e;let N=Object.create(null);for(let U of e.types)N[U.name]=re(U);for(let U of u){var I;let ae=U.name.value;N[ae]=(I=jx[ae])!==null&&I!==void 0?I:$n(U)}let O=k(k({query:e.query&&j(e.query),mutation:e.mutation&&j(e.mutation),subscription:e.subscription&&j(e.subscription)},p&&nt([p])),nt(y));return K(k({description:(r=p)===null||r===void 0||(i=r.description)===null||i===void 0?void 0:i.value},O),{types:Object.values(N),directives:[...e.directives.map(Q),...d.map(Fn)],extensions:Object.create(null),astNode:(s=p)!==null&&s!==void 0?s:e.astNode,extensionASTNodes:e.extensionASTNodes.concat(y),assumeValid:(o=n==null?void 0:n.assumeValid)!==null&&o!==void 0?o:!1});function x(U){return Pt(U)?new Mn(x(U.ofType)):Qe(U)?new pt(x(U.ofType)):j(U)}function j(U){return N[U.name]}function Q(U){let ae=U.toConfig();return new Vr(K(k({},ae),{args:so(ae.args,he)}))}function re(U){if(ui(U)||uo(U))return U;if(tr(U))return ye(U);if(at(U))return Ce(U);if(Nt(U))return ht(U);if(fn(U))return xt(U);if(rn(U))return pe(U);if(It(U))return se(U);Qt(!1,"Unexpected type: "+ne(U))}function se(U){var ae;let te=U.toConfig(),ce=(ae=l[te.name])!==null&&ae!==void 0?ae:[];return new as(K(k({},te),{fields:()=>k(k({},so(te.fields,Ke=>K(k({},Ke),{type:x(Ke.type)}))),mi(ce)),extensionASTNodes:te.extensionASTNodes.concat(ce)}))}function pe(U){var ae;let te=U.toConfig(),ce=(ae=l[U.name])!==null&&ae!==void 0?ae:[];return new oi(K(k({},te),{values:k(k({},te.values),Xr(ce)),extensionASTNodes:te.extensionASTNodes.concat(ce)}))}function ye(U){var ae;let te=U.toConfig(),ce=(ae=l[te.name])!==null&&ae!==void 0?ae:[],Ke=te.specifiedByURL;for(let ee of ce){var G;Ke=(G=$x(ee))!==null&&G!==void 0?G:Ke}return new Jr(K(k({},te),{specifiedByURL:Ke,extensionASTNodes:te.extensionASTNodes.concat(ce)}))}function Ce(U){var ae;let te=U.toConfig(),ce=(ae=l[te.name])!==null&&ae!==void 0?ae:[];return new _r(K(k({},te),{interfaces:()=>[...U.getInterfaces().map(j),...Pn(ce)],fields:()=>k(k({},so(te.fields,B)),_n(ce)),extensionASTNodes:te.extensionASTNodes.concat(ce)}))}function ht(U){var ae;let te=U.toConfig(),ce=(ae=l[te.name])!==null&&ae!==void 0?ae:[];return new ss(K(k({},te),{interfaces:()=>[...U.getInterfaces().map(j),...Pn(ce)],fields:()=>k(k({},so(te.fields,B)),_n(ce)),extensionASTNodes:te.extensionASTNodes.concat(ce)}))}function xt(U){var ae;let te=U.toConfig(),ce=(ae=l[te.name])!==null&&ae!==void 0?ae:[];return new os(K(k({},te),{types:()=>[...U.getTypes().map(j),...on(ce)],extensionASTNodes:te.extensionASTNodes.concat(ce)}))}function B(U){return K(k({},U),{type:x(U.type),args:U.args&&so(U.args,he)})}function he(U){return K(k({},U),{type:x(U.type)})}function nt(U){let ae={};for(let ce of U){var te;let Ke=(te=ce.operationTypes)!==null&&te!==void 0?te:[];for(let G of Ke)ae[G.operation]=Ct(G.type)}return ae}function Ct(U){var ae;let te=U.name.value,ce=(ae=jx[te])!==null&&ae!==void 0?ae:N[te];if(ce===void 0)throw new Error(`Unknown type: "${te}".`);return ce}function sn(U){return U.kind===R.LIST_TYPE?new Mn(sn(U.type)):U.kind===R.NON_NULL_TYPE?new pt(sn(U.type)):Ct(U)}function Fn(U){var ae;return new Vr({name:U.name.value,description:(ae=U.description)===null||ae===void 0?void 0:ae.value,locations:U.locations.map(({value:te})=>te),isRepeatable:U.repeatable,args:bn(U.arguments),astNode:U})}function _n(U){let ae=Object.create(null);for(let Ke of U){var te;let G=(te=Ke.fields)!==null&&te!==void 0?te:[];for(let ee of G){var ce;ae[ee.name.value]={type:sn(ee.type),description:(ce=ee.description)===null||ce===void 0?void 0:ce.value,args:bn(ee.arguments),deprecationReason:dN(ee),astNode:ee}}}return ae}function bn(U){let ae=U!=null?U:[],te=Object.create(null);for(let Ke of ae){var ce;let G=sn(Ke.type);te[Ke.name.value]={type:G,description:(ce=Ke.description)===null||ce===void 0?void 0:ce.value,defaultValue:_i(Ke.defaultValue,G),deprecationReason:dN(Ke),astNode:Ke}}return te}function mi(U){let ae=Object.create(null);for(let Ke of U){var te;let G=(te=Ke.fields)!==null&&te!==void 0?te:[];for(let ee of G){var ce;let Ue=sn(ee.type);ae[ee.name.value]={type:Ue,description:(ce=ee.description)===null||ce===void 0?void 0:ce.value,defaultValue:_i(ee.defaultValue,Ue),deprecationReason:dN(ee),astNode:ee}}}return ae}function Xr(U){let ae=Object.create(null);for(let Ke of U){var te;let G=(te=Ke.values)!==null&&te!==void 0?te:[];for(let ee of G){var ce;ae[ee.name.value]={description:(ce=ee.description)===null||ce===void 0?void 0:ce.value,deprecationReason:dN(ee),astNode:ee}}}return ae}function Pn(U){return U.flatMap(ae=>{var te,ce;return(te=(ce=ae.interfaces)===null||ce===void 0?void 0:ce.map(Ct))!==null&&te!==void 0?te:[]})}function on(U){return U.flatMap(ae=>{var te,ce;return(te=(ce=ae.types)===null||ce===void 0?void 0:ce.map(Ct))!==null&&te!==void 0?te:[]})}function $n(U){var ae;let te=U.name.value,ce=(ae=l[te])!==null&&ae!==void 0?ae:[];switch(U.kind){case R.OBJECT_TYPE_DEFINITION:{var Ke;let Je=[U,...ce];return new _r({name:te,description:(Ke=U.description)===null||Ke===void 0?void 0:Ke.value,interfaces:()=>Pn(Je),fields:()=>_n(Je),astNode:U,extensionASTNodes:ce})}case R.INTERFACE_TYPE_DEFINITION:{var G;let Je=[U,...ce];return new ss({name:te,description:(G=U.description)===null||G===void 0?void 0:G.value,interfaces:()=>Pn(Je),fields:()=>_n(Je),astNode:U,extensionASTNodes:ce})}case R.ENUM_TYPE_DEFINITION:{var ee;let Je=[U,...ce];return new oi({name:te,description:(ee=U.description)===null||ee===void 0?void 0:ee.value,values:Xr(Je),astNode:U,extensionASTNodes:ce})}case R.UNION_TYPE_DEFINITION:{var Ue;let Je=[U,...ce];return new os({name:te,description:(Ue=U.description)===null||Ue===void 0?void 0:Ue.value,types:()=>on(Je),astNode:U,extensionASTNodes:ce})}case R.SCALAR_TYPE_DEFINITION:{var Xe;return new Jr({name:te,description:(Xe=U.description)===null||Xe===void 0?void 0:Xe.value,specifiedByURL:$x(U),astNode:U,extensionASTNodes:ce})}case R.INPUT_OBJECT_TYPE_DEFINITION:{var $t;let Je=[U,...ce];return new as({name:te,description:($t=U.description)===null||$t===void 0?void 0:$t.value,fields:()=>mi(Je),astNode:U,extensionASTNodes:ce,isOneOf:BH(U)})}}}}function dN(e){let t=Vo(Uo,e);return t==null?void 0:t.reason}function $x(e){let t=Vo(Cd,e);return t==null?void 0:t.url}function BH(e){return!!Vo(Ud,e)}var jx,zb=ue(()=>{"use strict";m();T();h();Ni();Nn();ri();ic();l_();Xt();dl();Zt();Ui();Rs();Co();al();Um();Qd();gm();jx=si([...xo,...Mo],e=>e.name)});function pN(e,t){e!=null&&e.kind===R.DOCUMENT||rt(!1,"Must provide valid Document AST."),(t==null?void 0:t.assumeValid)!==!0&&(t==null?void 0:t.assumeValidSDL)!==!0&&lx(e);let r=Jb({description:void 0,types:[],directives:[],extensions:Object.create(null),extensionASTNodes:[],assumeValid:!1},e,t);if(r.astNode==null)for(let s of r.types)switch(s.name){case"Query":r.query=s;break;case"Mutation":r.mutation=s;break;case"Subscription":r.subscription=s;break}let i=[...r.directives,...ai.filter(s=>r.directives.every(o=>o.name!==s.name))];return new Bi(K(k({},r),{directives:i}))}function Hb(e,t){let n=io(e,{noLocation:t==null?void 0:t.noLocation,allowLegacyFragmentVariables:t==null?void 0:t.allowLegacyFragmentVariables});return pN(n,{assumeValidSDL:t==null?void 0:t.assumeValidSDL,assumeValid:t==null?void 0:t.assumeValid})}var qx=ue(()=>{"use strict";m();T();h();Ni();Xt();Sd();Ui();al();Um();zb()});function qm(e){let t=e.toConfig(),n=Ds(Wb(t.types),N=>N.name,y);return new Bi(K(k({},t),{types:Object.values(n),directives:Wb(t.directives).map(o),query:s(t.query),mutation:s(t.mutation),subscription:s(t.subscription)}));function r(N){return Pt(N)?new Mn(r(N.ofType)):Qe(N)?new pt(r(N.ofType)):i(N)}function i(N){return n[N.name]}function s(N){return N&&i(N)}function o(N){let I=N.toConfig();return new Vr(K(k({},I),{locations:Kx(I.locations,O=>O),args:u(I.args)}))}function u(N){return fN(N,I=>K(k({},I),{type:r(I.type)}))}function l(N){return fN(N,I=>K(k({},I),{type:r(I.type),args:I.args&&u(I.args)}))}function d(N){return fN(N,I=>K(k({},I),{type:r(I.type)}))}function p(N){return Wb(N).map(i)}function y(N){if(tr(N)||ui(N))return N;if(at(N)){let I=N.toConfig();return new _r(K(k({},I),{interfaces:()=>p(I.interfaces),fields:()=>l(I.fields)}))}if(Nt(N)){let I=N.toConfig();return new ss(K(k({},I),{interfaces:()=>p(I.interfaces),fields:()=>l(I.fields)}))}if(fn(N)){let I=N.toConfig();return new os(K(k({},I),{types:()=>p(I.types)}))}if(rn(N)){let I=N.toConfig();return new oi(K(k({},I),{values:fN(I.values,O=>O)}))}if(It(N)){let I=N.toConfig();return new as(K(k({},I),{fields:()=>d(I.fields)}))}Qt(!1,"Unexpected type: "+ne(N))}}function fN(e,t){let n=Object.create(null);for(let r of Object.keys(e).sort(Sa))n[r]=t(e[r]);return n}function Wb(e){return Kx(e,t=>t.name)}function Kx(e,t){return e.slice().sort((n,r)=>{let i=t(n),s=t(r);return Sa(i,s)})}var Gx=ue(()=>{"use strict";m();T();h();Nn();ri();Pf();kf();Zt();Ui();Rs();al()});function Xd(e){return Qx(e,t=>!cc(t),VH)}function Zb(e){return Qx(e,cc,ui)}function VH(e){return!uo(e)&&!ui(e)}function Qx(e,t,n){let r=e.getDirectives().filter(t),i=Object.values(e.getTypeMap()).filter(n);return[jH(e),...r.map(s=>zH(s)),...i.map(s=>mN(s))].filter(Boolean).join(` -`)}function jH(e){if(e.description==null&&$H(e))return;let t=[],n=e.getQueryType();n&&t.push(` query: ${n.name}`);let r=e.getMutationType();r&&t.push(` mutation: ${r.name}`);let i=e.getSubscriptionType();return i&&t.push(` subscription: ${i.name}`),Fs(e)+`schema { +`)}function jH(e){if(e.description==null&&$H(e))return;let t=[],n=e.getQueryType();n&&t.push(` query: ${n.name}`);let r=e.getMutationType();r&&t.push(` mutation: ${r.name}`);let i=e.getSubscriptionType();return i&&t.push(` subscription: ${i.name}`),ws(e)+`schema { ${t.join(` `)} -}`}function $H(e){let t=e.getQueryType();if(t&&t.name!=="Query")return!1;let n=e.getMutationType();if(n&&n.name!=="Mutation")return!1;let r=e.getSubscriptionType();return!(r&&r.name!=="Subscription")}function fN(e){if(tr(e))return qH(e);if(ot(e))return KH(e);if(Nt(e))return GH(e);if(fn(e))return QH(e);if(rn(e))return YH(e);if(It(e))return JH(e);Qt(!1,"Unexpected type: "+ne(e))}function qH(e){return Fs(e)+`scalar ${e.name}`+HH(e)}function Gx(e){let t=e.getInterfaces();return t.length?" implements "+t.map(n=>n.name).join(" & "):""}function KH(e){return Fs(e)+`type ${e.name}`+Gx(e)+Qx(e)}function GH(e){return Fs(e)+`interface ${e.name}`+Gx(e)+Qx(e)}function QH(e){let t=e.getTypes(),n=t.length?" = "+t.join(" | "):"";return Fs(e)+"union "+e.name+n}function YH(e){let t=e.getValues().map((n,r)=>Fs(n," ",!r)+" "+n.name+tO(n.deprecationReason));return Fs(e)+`enum ${e.name}`+eO(t)}function JH(e){let t=Object.values(e.getFields()).map((n,r)=>Fs(n," ",!r)+" "+Xb(n));return Fs(e)+`input ${e.name}`+(e.isOneOf?" @oneOf":"")+eO(t)}function Qx(e){let t=Object.values(e.getFields()).map((n,r)=>Fs(n," ",!r)+" "+n.name+Yx(n.args," ")+": "+String(n.type)+tO(n.deprecationReason));return eO(t)}function eO(e){return e.length!==0?` { +}`}function $H(e){let t=e.getQueryType();if(t&&t.name!=="Query")return!1;let n=e.getMutationType();if(n&&n.name!=="Mutation")return!1;let r=e.getSubscriptionType();return!(r&&r.name!=="Subscription")}function mN(e){if(tr(e))return qH(e);if(at(e))return KH(e);if(Nt(e))return GH(e);if(fn(e))return QH(e);if(rn(e))return YH(e);if(It(e))return JH(e);Qt(!1,"Unexpected type: "+ne(e))}function qH(e){return ws(e)+`scalar ${e.name}`+HH(e)}function Yx(e){let t=e.getInterfaces();return t.length?" implements "+t.map(n=>n.name).join(" & "):""}function KH(e){return ws(e)+`type ${e.name}`+Yx(e)+Jx(e)}function GH(e){return ws(e)+`interface ${e.name}`+Yx(e)+Jx(e)}function QH(e){let t=e.getTypes(),n=t.length?" = "+t.join(" | "):"";return ws(e)+"union "+e.name+n}function YH(e){let t=e.getValues().map((n,r)=>ws(n," ",!r)+" "+n.name+tO(n.deprecationReason));return ws(e)+`enum ${e.name}`+eO(t)}function JH(e){let t=Object.values(e.getFields()).map((n,r)=>ws(n," ",!r)+" "+Xb(n));return ws(e)+`input ${e.name}`+(e.isOneOf?" @oneOf":"")+eO(t)}function Jx(e){let t=Object.values(e.getFields()).map((n,r)=>ws(n," ",!r)+" "+n.name+zx(n.args," ")+": "+String(n.type)+tO(n.deprecationReason));return eO(t)}function eO(e){return e.length!==0?` { `+e.join(` `)+` -}`:""}function Yx(e,t=""){return e.length===0?"":e.every(n=>!n.description)?"("+e.map(Xb).join(", ")+")":`( -`+e.map((n,r)=>Fs(n," "+t,!r)+" "+t+Xb(n)).join(` +}`:""}function zx(e,t=""){return e.length===0?"":e.every(n=>!n.description)?"("+e.map(Xb).join(", ")+")":`( +`+e.map((n,r)=>ws(n," "+t,!r)+" "+t+Xb(n)).join(` `)+` -`+t+")"}function Xb(e){let t=Hr(e.defaultValue,e.type),n=e.name+": "+String(e.type);return t&&(n+=` = ${Ft(t)}`),n+tO(e.deprecationReason)}function zH(e){return Fs(e)+"directive @"+e.name+Yx(e.args)+(e.isRepeatable?" repeatable":"")+" on "+e.locations.join(" | ")}function tO(e){return e==null?"":e!==Pd?` @deprecated(reason: ${Ft({kind:R.STRING,value:e})})`:" @deprecated"}function HH(e){return e.specifiedByURL==null?"":` @specifiedBy(url: ${Ft({kind:R.STRING,value:e.specifiedByURL})})`}function Fs(e,t="",n=!0){let{description:r}=e;if(r==null)return"";let i=Ft({kind:R.STRING,value:r,block:Pk(r)});return(t&&!n?` +`+t+")"}function Xb(e){let t=Hr(e.defaultValue,e.type),n=e.name+": "+String(e.type);return t&&(n+=` = ${Ft(t)}`),n+tO(e.deprecationReason)}function zH(e){return ws(e)+"directive @"+e.name+zx(e.args)+(e.isRepeatable?" repeatable":"")+" on "+e.locations.join(" | ")}function tO(e){return e==null?"":e!==xd?` @deprecated(reason: ${Ft({kind:R.STRING,value:e})})`:" @deprecated"}function HH(e){return e.specifiedByURL==null?"":` @specifiedBy(url: ${Ft({kind:R.STRING,value:e.specifiedByURL})})`}function ws(e,t="",n=!0){let{description:r}=e;if(r==null)return"";let i=Ft({kind:R.STRING,value:r,block:xk(r)});return(t&&!n?` `+t:t)+i.replace(/\n/g,` `+t)+` -`}var Jx=ue(()=>{"use strict";m();T();h();Nn();ri();Df();Xt();is();Zt();Ui();As();Co();Kf()});function nO(e){let t=[];for(let n of e)t.push(...n.definitions);return{kind:R.DOCUMENT,definitions:t}}var zx=ue(()=>{"use strict";m();T();h();Xt()});function rO(e){let t=[],n=Object.create(null);for(let i of e.definitions)switch(i.kind){case R.OPERATION_DEFINITION:t.push(i);break;case R.FRAGMENT_DEFINITION:n[i.name.value]=Hx(i.selectionSet);break;default:}let r=Object.create(null);for(let i of t){let s=new Set;for(let u of Hx(i.selectionSet))Wx(s,n,u);let o=i.name?i.name.value:"";r[o]={kind:R.DOCUMENT,definitions:e.definitions.filter(u=>u===i||u.kind===R.FRAGMENT_DEFINITION&&s.has(u.name.value))}}return r}function Wx(e,t,n){if(!e.has(n)){e.add(n);let r=t[n];if(r!==void 0)for(let i of r)Wx(e,t,i)}}function Hx(e){let t=[];return Ds(e,{FragmentSpread(n){t.push(n.name.value)}}),t}var Xx=ue(()=>{"use strict";m();T();h();Xt();Wc()});function iO(e){let t=xy(e)?e:new ko(e),n=t.body,r=new Oa(t),i="",s=!1;for(;r.advance().kind!==le.EOF;){let o=r.token,u=o.kind,l=!wy(o.kind);s&&(l||o.kind===le.SPREAD)&&(i+=" ");let d=n.slice(o.start,o.end);u===le.BLOCK_STRING?i+=Fy(o.value,{minimize:!0}):i+=d,s=l}return i}var Zx=ue(()=>{"use strict";m();T();h();Df();Py();Cy();Af()});function sO(e){let t=mN(e);if(t)throw t;return e}function mN(e){if(typeof e=="string"||rt(!1,"Expected name to be a string."),e.startsWith("__"))return new Y(`Name "${e}" must not begin with "__", which is reserved by GraphQL introspection.`);try{Mr(e)}catch(t){return t}}var eC=ue(()=>{"use strict";m();T();h();Ni();st();xf()});function oO(e,t){return sC(e,t).filter(n=>n.type in Yn)}function aO(e,t){return sC(e,t).filter(n=>n.type in ls)}function sC(e,t){return[...XH(e,t),...WH(e,t)]}function WH(e,t){let n=[],r=xa(e.getDirectives(),t.getDirectives());for(let i of r.removed)n.push({type:Yn.DIRECTIVE_REMOVED,description:`${i.name} was removed.`});for(let[i,s]of r.persisted){let o=xa(i.args,s.args);for(let u of o.added)cs(u)&&n.push({type:Yn.REQUIRED_DIRECTIVE_ARG_ADDED,description:`A required arg ${u.name} on directive ${i.name} was added.`});for(let u of o.removed)n.push({type:Yn.DIRECTIVE_ARG_REMOVED,description:`${u.name} was removed from ${i.name}.`});i.isRepeatable&&!s.isRepeatable&&n.push({type:Yn.DIRECTIVE_REPEATABLE_REMOVED,description:`Repeatable flag was removed from ${i.name}.`});for(let u of i.locations)s.locations.includes(u)||n.push({type:Yn.DIRECTIVE_LOCATION_REMOVED,description:`${u} was removed from ${i.name}.`})}return n}function XH(e,t){let n=[],r=xa(Object.values(e.getTypeMap()),Object.values(t.getTypeMap()));for(let i of r.removed)n.push({type:Yn.TYPE_REMOVED,description:uo(i)?`Standard scalar ${i.name} was removed because it is not referenced anymore.`:`${i.name} was removed.`});for(let[i,s]of r.persisted)rn(i)&&rn(s)?n.push(...t4(i,s)):fn(i)&&fn(s)?n.push(...e4(i,s)):It(i)&&It(s)?n.push(...ZH(i,s)):ot(i)&&ot(s)?n.push(...nC(i,s),...tC(i,s)):Nt(i)&&Nt(s)?n.push(...nC(i,s),...tC(i,s)):i.constructor!==s.constructor&&n.push({type:Yn.TYPE_CHANGED_KIND,description:`${i.name} changed from ${rC(i)} to ${rC(s)}.`});return n}function ZH(e,t){let n=[],r=xa(Object.values(e.getFields()),Object.values(t.getFields()));for(let i of r.added)Ra(i)?n.push({type:Yn.REQUIRED_INPUT_FIELD_ADDED,description:`A required field ${i.name} on input type ${e.name} was added.`}):n.push({type:ls.OPTIONAL_INPUT_FIELD_ADDED,description:`An optional field ${i.name} on input type ${e.name} was added.`});for(let i of r.removed)n.push({type:Yn.FIELD_REMOVED,description:`${e.name}.${i.name} was removed.`});for(let[i,s]of r.persisted)Km(i.type,s.type)||n.push({type:Yn.FIELD_CHANGED_KIND,description:`${e.name}.${i.name} changed type from ${String(i.type)} to ${String(s.type)}.`});return n}function e4(e,t){let n=[],r=xa(e.getTypes(),t.getTypes());for(let i of r.added)n.push({type:ls.TYPE_ADDED_TO_UNION,description:`${i.name} was added to union type ${e.name}.`});for(let i of r.removed)n.push({type:Yn.TYPE_REMOVED_FROM_UNION,description:`${i.name} was removed from union type ${e.name}.`});return n}function t4(e,t){let n=[],r=xa(e.getValues(),t.getValues());for(let i of r.added)n.push({type:ls.VALUE_ADDED_TO_ENUM,description:`${i.name} was added to enum type ${e.name}.`});for(let i of r.removed)n.push({type:Yn.VALUE_REMOVED_FROM_ENUM,description:`${i.name} was removed from enum type ${e.name}.`});return n}function tC(e,t){let n=[],r=xa(e.getInterfaces(),t.getInterfaces());for(let i of r.added)n.push({type:ls.IMPLEMENTED_INTERFACE_ADDED,description:`${i.name} added to interfaces implemented by ${e.name}.`});for(let i of r.removed)n.push({type:Yn.IMPLEMENTED_INTERFACE_REMOVED,description:`${e.name} no longer implements interface ${i.name}.`});return n}function nC(e,t){let n=[],r=xa(Object.values(e.getFields()),Object.values(t.getFields()));for(let i of r.removed)n.push({type:Yn.FIELD_REMOVED,description:`${e.name}.${i.name} was removed.`});for(let[i,s]of r.persisted)n.push(...n4(e,i,s)),qm(i.type,s.type)||n.push({type:Yn.FIELD_CHANGED_KIND,description:`${e.name}.${i.name} changed type from ${String(i.type)} to ${String(s.type)}.`});return n}function n4(e,t,n){let r=[],i=xa(t.args,n.args);for(let s of i.removed)r.push({type:Yn.ARG_REMOVED,description:`${e.name}.${t.name} arg ${s.name} was removed.`});for(let[s,o]of i.persisted)if(!Km(s.type,o.type))r.push({type:Yn.ARG_CHANGED_KIND,description:`${e.name}.${t.name} arg ${s.name} has changed type from ${String(s.type)} to ${String(o.type)}.`});else if(s.defaultValue!==void 0)if(o.defaultValue===void 0)r.push({type:ls.ARG_DEFAULT_VALUE_CHANGE,description:`${e.name}.${t.name} arg ${s.name} defaultValue was removed.`});else{let l=iC(s.defaultValue,s.type),d=iC(o.defaultValue,o.type);l!==d&&r.push({type:ls.ARG_DEFAULT_VALUE_CHANGE,description:`${e.name}.${t.name} arg ${s.name} has changed defaultValue from ${l} to ${d}.`})}for(let s of i.added)cs(s)?r.push({type:Yn.REQUIRED_ARG_ADDED,description:`A required arg ${s.name} on ${e.name}.${t.name} was added.`}):r.push({type:ls.OPTIONAL_ARG_ADDED,description:`An optional arg ${s.name} on ${e.name}.${t.name} was added.`});return r}function qm(e,t){return Pt(e)?Pt(t)&&qm(e.ofType,t.ofType)||Qe(t)&&qm(e,t.ofType):Qe(e)?Qe(t)&&qm(e.ofType,t.ofType):Aa(t)&&e.name===t.name||Qe(t)&&qm(e,t.ofType)}function Km(e,t){return Pt(e)?Pt(t)&&Km(e.ofType,t.ofType):Qe(e)?Qe(t)&&Km(e.ofType,t.ofType)||!Qe(t)&&Km(e.ofType,t):Aa(t)&&e.name===t.name}function rC(e){if(tr(e))return"a Scalar type";if(ot(e))return"an Object type";if(Nt(e))return"an Interface type";if(fn(e))return"a Union type";if(rn(e))return"an Enum type";if(It(e))return"an Input type";Qt(!1,"Unexpected type: "+ne(e))}function iC(e,t){let n=Hr(e,t);return n!=null||Qt(!1),Ft(qd(n))}function xa(e,t){let n=[],r=[],i=[],s=si(e,({name:u})=>u),o=si(t,({name:u})=>u);for(let u of e){let l=o[u.name];l===void 0?r.push(u):i.push([u,l])}for(let u of t)s[u.name]===void 0&&n.push(u);return{added:n,persisted:i,removed:r}}var Yn,ls,oC=ue(()=>{"use strict";m();T();h();Nn();ri();ic();is();Zt();Co();Kf();Z_();(function(e){e.TYPE_REMOVED="TYPE_REMOVED",e.TYPE_CHANGED_KIND="TYPE_CHANGED_KIND",e.TYPE_REMOVED_FROM_UNION="TYPE_REMOVED_FROM_UNION",e.VALUE_REMOVED_FROM_ENUM="VALUE_REMOVED_FROM_ENUM",e.REQUIRED_INPUT_FIELD_ADDED="REQUIRED_INPUT_FIELD_ADDED",e.IMPLEMENTED_INTERFACE_REMOVED="IMPLEMENTED_INTERFACE_REMOVED",e.FIELD_REMOVED="FIELD_REMOVED",e.FIELD_CHANGED_KIND="FIELD_CHANGED_KIND",e.REQUIRED_ARG_ADDED="REQUIRED_ARG_ADDED",e.ARG_REMOVED="ARG_REMOVED",e.ARG_CHANGED_KIND="ARG_CHANGED_KIND",e.DIRECTIVE_REMOVED="DIRECTIVE_REMOVED",e.DIRECTIVE_ARG_REMOVED="DIRECTIVE_ARG_REMOVED",e.REQUIRED_DIRECTIVE_ARG_ADDED="REQUIRED_DIRECTIVE_ARG_ADDED",e.DIRECTIVE_REPEATABLE_REMOVED="DIRECTIVE_REPEATABLE_REMOVED",e.DIRECTIVE_LOCATION_REMOVED="DIRECTIVE_LOCATION_REMOVED"})(Yn||(Yn={}));(function(e){e.VALUE_ADDED_TO_ENUM="VALUE_ADDED_TO_ENUM",e.TYPE_ADDED_TO_UNION="TYPE_ADDED_TO_UNION",e.OPTIONAL_INPUT_FIELD_ADDED="OPTIONAL_INPUT_FIELD_ADDED",e.OPTIONAL_ARG_ADDED="OPTIONAL_ARG_ADDED",e.IMPLEMENTED_INTERFACE_ADDED="IMPLEMENTED_INTERFACE_ADDED",e.ARG_DEFAULT_VALUE_CHANGE="ARG_DEFAULT_VALUE_CHANGE"})(ls||(ls={}))});var aC=ue(()=>{"use strict";m();T();h();$b();xx();Cx();Ux();Mx();jx();zb();qx();Jx();Bo();Em();m_();Kf();Qy();db();zx();Xx();Zx();$f();eC();oC()});var je={};vf(je,{BREAK:()=>oc,BreakingChangeType:()=>Yn,DEFAULT_DEPRECATION_REASON:()=>Pd,DangerousChangeType:()=>ls,DirectiveLocation:()=>He,ExecutableDefinitionsRule:()=>Zf,FieldsOnCorrectTypeRule:()=>em,FragmentsOnCompositeTypesRule:()=>tm,GRAPHQL_MAX_INT:()=>Ad,GRAPHQL_MIN_INT:()=>Rd,GraphQLBoolean:()=>Br,GraphQLDeprecatedDirective:()=>Uo,GraphQLDirective:()=>Vr,GraphQLEnumType:()=>oi,GraphQLError:()=>Y,GraphQLFloat:()=>qy,GraphQLID:()=>Fd,GraphQLIncludeDirective:()=>wd,GraphQLInputObjectType:()=>as,GraphQLInt:()=>$y,GraphQLInterfaceType:()=>ss,GraphQLList:()=>Mn,GraphQLNonNull:()=>pt,GraphQLObjectType:()=>_r,GraphQLOneOfDirective:()=>xd,GraphQLScalarType:()=>Jr,GraphQLSchema:()=>Bi,GraphQLSkipDirective:()=>Ld,GraphQLSpecifiedByDirective:()=>kd,GraphQLString:()=>Bn,GraphQLUnionType:()=>os,Kind:()=>R,KnownArgumentNamesRule:()=>nm,KnownDirectivesRule:()=>jd,KnownFragmentNamesRule:()=>rm,KnownTypeNamesRule:()=>$d,Lexer:()=>Oa,Location:()=>zc,LoneAnonymousOperationRule:()=>im,LoneSchemaDefinitionRule:()=>sm,MaxIntrospectionDepthRule:()=>om,NoDeprecatedCustomRule:()=>Vb,NoFragmentCyclesRule:()=>am,NoSchemaIntrospectionCustomRule:()=>jb,NoUndefinedVariablesRule:()=>um,NoUnusedFragmentsRule:()=>cm,NoUnusedVariablesRule:()=>lm,OperationTypeNode:()=>Un,OverlappingFieldsCanBeMergedRule:()=>dm,PossibleFragmentSpreadsRule:()=>pm,PossibleTypeExtensionsRule:()=>fm,ProvidedRequiredArgumentsRule:()=>mm,ScalarLeafsRule:()=>hm,SchemaMetaFieldDef:()=>Fa,SingleFieldSubscriptionsRule:()=>Im,Source:()=>ko,Token:()=>nc,TokenKind:()=>le,TypeInfo:()=>Pa,TypeKind:()=>mn,TypeMetaFieldDef:()=>wa,TypeNameMetaFieldDef:()=>La,UniqueArgumentDefinitionNamesRule:()=>vm,UniqueArgumentNamesRule:()=>Yd,UniqueDirectiveNamesRule:()=>_m,UniqueDirectivesPerLocationRule:()=>Jd,UniqueEnumValueNamesRule:()=>bm,UniqueFieldDefinitionNamesRule:()=>Om,UniqueFragmentNamesRule:()=>Sm,UniqueInputFieldNamesRule:()=>zd,UniqueOperationNamesRule:()=>Dm,UniqueOperationTypesRule:()=>Am,UniqueTypeNamesRule:()=>Rm,UniqueVariableNamesRule:()=>Fm,ValidationContext:()=>dl,ValuesOfCorrectTypeRule:()=>wm,VariablesAreInputTypesRule:()=>Lm,VariablesInAllowedPositionRule:()=>Pm,__Directive:()=>Gf,__DirectiveLocation:()=>Qf,__EnumValue:()=>Jf,__Field:()=>Yf,__InputValue:()=>rl,__Schema:()=>nl,__Type:()=>Mi,__TypeKind:()=>zf,assertAbstractType:()=>S_,assertCompositeType:()=>O_,assertDirective:()=>w_,assertEnumType:()=>N_,assertEnumValueName:()=>kf,assertInputObjectType:()=>E_,assertInputType:()=>v_,assertInterfaceType:()=>Uf,assertLeafType:()=>b_,assertListType:()=>g_,assertName:()=>Mr,assertNamedType:()=>A_,assertNonNullType:()=>I_,assertNullableType:()=>Bf,assertObjectType:()=>Cf,assertOutputType:()=>__,assertScalarType:()=>T_,assertSchema:()=>il,assertType:()=>h_,assertUnionType:()=>y_,assertValidName:()=>sO,assertValidSchema:()=>al,assertWrappingType:()=>D_,astFromValue:()=>Hr,buildASTSchema:()=>dN,buildClientSchema:()=>Qb,buildSchema:()=>Hb,coerceInputValue:()=>Nm,concatAST:()=>nO,createSourceEventStream:()=>cN,defaultFieldResolver:()=>Mm,defaultTypeResolver:()=>uN,doTypesOverlap:()=>Dd,execute:()=>pc,executeSync:()=>Bm,extendSchema:()=>Yb,findBreakingChanges:()=>oO,findDangerousChanges:()=>aO,formatError:()=>i_,getArgumentValues:()=>dc,getDirectiveValues:()=>Vo,getEnterLeaveForKind:()=>Da,getIntrospectionQuery:()=>jm,getLocation:()=>tc,getNamedType:()=>Gn,getNullableType:()=>el,getOperationAST:()=>qb,getOperationRootType:()=>Kb,getVariableValues:()=>gm,getVisitFn:()=>f_,graphql:()=>gx,graphqlSync:()=>Ix,introspectionFromSchema:()=>Gb,introspectionTypes:()=>Mo,isAbstractType:()=>zr,isCompositeType:()=>vi,isConstValueNode:()=>Xf,isDefinitionNode:()=>x_,isDirective:()=>uc,isEnumType:()=>rn,isEqualType:()=>tl,isExecutableDefinitionNode:()=>Md,isInputObjectType:()=>It,isInputType:()=>Nr,isInterfaceType:()=>Nt,isIntrospectionType:()=>ui,isLeafType:()=>Rr,isListType:()=>Pt,isNamedType:()=>Aa,isNonNullType:()=>Qe,isNullableType:()=>Mf,isObjectType:()=>ot,isOutputType:()=>us,isRequiredArgument:()=>cs,isRequiredInputField:()=>Ra,isScalarType:()=>tr,isSchema:()=>Gy,isSelectionNode:()=>C_,isSpecifiedDirective:()=>cc,isSpecifiedScalarType:()=>uo,isType:()=>ac,isTypeDefinitionNode:()=>Rs,isTypeExtensionNode:()=>lc,isTypeNode:()=>U_,isTypeSubTypeOf:()=>ao,isTypeSystemDefinitionNode:()=>Bd,isTypeSystemExtensionNode:()=>Vd,isUnionType:()=>fn,isValidNameError:()=>mN,isValueNode:()=>Yy,isWrappingType:()=>Zc,lexicographicSortSchema:()=>$m,locatedError:()=>jo,parse:()=>io,parseConstValue:()=>a_,parseType:()=>u_,parseValue:()=>wf,print:()=>Ft,printError:()=>r_,printIntrospectionSchema:()=>Zb,printLocation:()=>bf,printSchema:()=>Hd,printSourceLocation:()=>Ed,printType:()=>fN,recommendedRules:()=>tN,resolveObjMapThunk:()=>jf,resolveReadonlyArrayThunk:()=>Vf,responsePathAsArray:()=>br,separateOperations:()=>rO,specifiedDirectives:()=>ai,specifiedRules:()=>km,specifiedScalarTypes:()=>xo,stripIgnoredCharacters:()=>iO,subscribe:()=>Bb,syntaxError:()=>er,typeFromAST:()=>Qn,validate:()=>xm,validateSchema:()=>Ud,valueFromAST:()=>_i,valueFromASTUntyped:()=>Xc,version:()=>Sk,versionInfo:()=>Dk,visit:()=>Ds,visitInParallel:()=>Od,visitWithTypeInfo:()=>ul});var we=ue(()=>{"use strict";m();T();h();Ak();_x();bx();Ox();Fx();Px();kx();aC()});var bi=V(P=>{"use strict";m();T();h();Object.defineProperty(P,"__esModule",{value:!0});P.INPUT_FIELD=P.INLINE_FRAGMENT_UPPER=P.INLINE_FRAGMENT=P.INACCESSIBLE=P.IN_UPPER=P.FROM=P.FRAGMENT_SPREAD_UPPER=P.FRAGMENT_DEFINITION_UPPER=P.FLOAT_SCALAR=P.FIELD_DEFINITION_UPPER=P.FIELDS=P.FIELD_SET_SCALAR=P.FIELD_UPPER=P.FIELD_PATH=P.FIELD=P.EXTENSIONS=P.EXTENDS=P.EXTERNAL=P.ENUM_VALUE_UPPER=P.ENUM_VALUE=P.ENUM_UPPER=P.ENUM=P.ENTITY_UNION=P.ENTITIES_FIELD=P.ENTITIES=P.EDFS_NATS_STREAM_CONFIGURATION=P.EDFS_PUBLISH_RESULT=P.EDFS_NATS_SUBSCRIBE=P.EDFS_NATS_REQUEST=P.EDFS_NATS_PUBLISH=P.EDFS_KAFKA_SUBSCRIBE=P.EDFS_KAFKA_PUBLISH=P.DIRECTIVE_DEFINITION=P.DEPRECATED_DEFAULT_ARGUMENT_VALUE=P.DEPRECATED=P.DEFAULT_SUBSCRIPTION=P.DEFAULT_QUERY=P.DEFAULT_MUTATION=P.DEFAULT_EDFS_PROVIDER_ID=P.DEFAULT=P.CONSUMER_NAME=P.CONDITION=P.COMPOSE_DIRECTIVE=P.BOOLEAN_SCALAR=P.BOOLEAN=P.ARGUMENT_DEFINITION_UPPER=P.AUTHENTICATED=P.ARGUMENT=P.ANY_SCALAR=P.AND_UPPER=void 0;P.SCHEMA_UPPER=P.SCHEMA=P.SCALAR_UPPER=P.SCALAR=P.RESOLVABLE=P.REQUIRES_SCOPES=P.REQUIRES=P.REQUEST=P.REASON=P.QUOTATION_JOIN=P.QUERY_UPPER=P.QUERY=P.PUBLISH=P.PROVIDES=P.PROVIDER_ID=P.PERIOD=P.PARENT_EXTENSION_DATA_MAP=P.PARENT_DEFINITION_DATA_MAP=P.PARENT_DEFINITION_DATA=P.OVERRIDE=P.OR_UPPER=P.OBJECT_UPPER=P.OBJECT=P.OPERATION_TO_DEFAULT=P.NULL=P.NOT_UPPER=P.NON_NULLABLE_STRING=P.NON_NULLABLE_BOOLEAN=P.NON_NULLABLE_EDFS_PUBLISH_EVENT_RESULT=P.NAME=P.N_A=P.PROVIDER_TYPE_NATS=P.PROVIDER_TYPE_KAFKA=P.MUTATION_UPPER=P.MUTATION=P.NUMBER=P.LITERAL_NEW_LINE=P.LITERAL_SPACE=P.LIST=P.LINK=P.LEFT_PARENTHESIS=P.KEY=P.INTERFACE_OBJECT=P.INTERFACE_UPPER=P.INTERFACE=P.INT_SCALAR=P.INPUT_VALUE=P.INPUT_OBJECT_UPPER=P.INPUT_OBJECT=P.INPUT_FIELD_DEFINITION_UPPER=void 0;P.SUBSCRIPTION_FILTER_LIST_INPUT_NAMES=P.SUBSCRIPTION_FILTER_INPUT_NAMES=P.PERSISTED_CLIENT_DIRECTIVES=P.STREAM_CONFIGURATION_FIELD_NAMES=P.EVENT_DIRECTIVE_NAMES=P.ROOT_TYPE_NAMES=P.IGNORED_PARENT_DIRECTIVES=P.EXECUTABLE_DIRECTIVE_LOCATIONS=P.VARIABLE_DEFINITION_UPPER=P.VALUES=P.URL_LOWER=P.UNION_UPPER=P.UNION=P.TOPICS=P.TOPIC=P.TAG=P.SUCCESS=P.SUBSCRIPTION_UPPER=P.SUBSCRIBE=P.SUBSCRIPTION_FILTER_VALUE=P.SUBSCRIPTION_FILTER_CONDITION=P.SUBSCRIPTION_FILTER=P.SUBSCRIPTION_FIELD_CONDITION=P.SUBSCRIPTION=P.SUBJECTS=P.SUBJECT=P.STRING_SCALAR=P.STRING=P.STREAM_NAME=P.STREAM_CONFIGURATION=P.SPECIFIED_BY=P.SHAREABLE=P.SERVICE_FIELD=P.SERVICE_OBJECT=P.SELECTION_REPRESENTATION=P.SCOPE_SCALAR=P.SCOPES=void 0;P.AND_UPPER="AND";P.ANY_SCALAR="_Any";P.ARGUMENT="Argument";P.AUTHENTICATED="authenticated";P.ARGUMENT_DEFINITION_UPPER="ARGUMENT_DEFINITION";P.BOOLEAN="boolean";P.BOOLEAN_SCALAR="Boolean";P.COMPOSE_DIRECTIVE="composeDirective";P.CONDITION="condition";P.CONSUMER_NAME="consumerName";P.DEFAULT="default";P.DEFAULT_EDFS_PROVIDER_ID="default";P.DEFAULT_MUTATION="Mutation";P.DEFAULT_QUERY="Query";P.DEFAULT_SUBSCRIPTION="Subscription";P.DEPRECATED="deprecated";P.DEPRECATED_DEFAULT_ARGUMENT_VALUE="No longer supported";P.DIRECTIVE_DEFINITION="directive definition";P.EDFS_KAFKA_PUBLISH="edfs__kafkaPublish";P.EDFS_KAFKA_SUBSCRIBE="edfs__kafkaSubscribe";P.EDFS_NATS_PUBLISH="edfs__natsPublish";P.EDFS_NATS_REQUEST="edfs__natsRequest";P.EDFS_NATS_SUBSCRIBE="edfs__natsSubscribe";P.EDFS_PUBLISH_RESULT="edfs__PublishResult";P.EDFS_NATS_STREAM_CONFIGURATION="edfs__NatsStreamConfiguration";P.ENTITIES="entities";P.ENTITIES_FIELD="_entities";P.ENTITY_UNION="_Entity";P.ENUM="Enum";P.ENUM_UPPER="ENUM";P.ENUM_VALUE="Enum Value";P.ENUM_VALUE_UPPER="ENUM_VALUE";P.EXTERNAL="external";P.EXTENDS="extends";P.EXTENSIONS="extensions";P.FIELD="Field";P.FIELD_PATH="fieldPath";P.FIELD_UPPER="FIELD";P.FIELD_SET_SCALAR="openfed__FieldSet";P.FIELDS="fields";P.FIELD_DEFINITION_UPPER="FIELD_DEFINITION";P.FLOAT_SCALAR="Float";P.FRAGMENT_DEFINITION_UPPER="FRAGMENT_DEFINITION";P.FRAGMENT_SPREAD_UPPER="FRAGMENT_SPREAD";P.FROM="from";P.IN_UPPER="IN";P.INACCESSIBLE="inaccessible";P.INLINE_FRAGMENT="inlineFragment";P.INLINE_FRAGMENT_UPPER="INLINE_FRAGMENT";P.INPUT_FIELD="Input Field";P.INPUT_FIELD_DEFINITION_UPPER="INPUT_FIELD_DEFINITION";P.INPUT_OBJECT="Input Object";P.INPUT_OBJECT_UPPER="INPUT_OBJECT";P.INPUT_VALUE="Input Value";P.INT_SCALAR="Int";P.INTERFACE="Interface";P.INTERFACE_UPPER="INTERFACE";P.INTERFACE_OBJECT="interfaceObject";P.KEY="key";P.LEFT_PARENTHESIS="(";P.LINK="link";P.LIST="list";P.LITERAL_SPACE=" ";P.LITERAL_NEW_LINE=` -`;P.NUMBER="number";P.MUTATION="Mutation";P.MUTATION_UPPER="MUTATION";P.PROVIDER_TYPE_KAFKA="kafka";P.PROVIDER_TYPE_NATS="nats";P.N_A="N/A";P.NAME="name";P.NON_NULLABLE_EDFS_PUBLISH_EVENT_RESULT="edfs__PublishResult!";P.NON_NULLABLE_BOOLEAN="Boolean!";P.NON_NULLABLE_STRING="String!";P.NOT_UPPER="NOT";P.NULL="Null";P.OPERATION_TO_DEFAULT="operationTypeNodeToDefaultType";P.OBJECT="Object";P.OBJECT_UPPER="OBJECT";P.OR_UPPER="OR";P.OVERRIDE="override";P.PARENT_DEFINITION_DATA="parentDefinitionDataByTypeName";P.PARENT_DEFINITION_DATA_MAP="parentDefinitionDataByParentTypeName";P.PARENT_EXTENSION_DATA_MAP="parentExtensionDataByParentTypeName";P.PERIOD=".";P.PROVIDER_ID="providerId";P.PROVIDES="provides";P.PUBLISH="publish";P.QUERY="Query";P.QUERY_UPPER="QUERY";P.QUOTATION_JOIN='", "';P.REASON="reason";P.REQUEST="request";P.REQUIRES="requires";P.REQUIRES_SCOPES="requiresScopes";P.RESOLVABLE="resolvable";P.SCALAR="Scalar";P.SCALAR_UPPER="SCALAR";P.SCHEMA="schema";P.SCHEMA_UPPER="SCHEMA";P.SCOPES="scopes";P.SCOPE_SCALAR="openfed__Scope";P.SELECTION_REPRESENTATION=" { ... }";P.SERVICE_OBJECT="_Service";P.SERVICE_FIELD="_service";P.SHAREABLE="shareable";P.SPECIFIED_BY="specifiedBy";P.STREAM_CONFIGURATION="streamConfiguration";P.STREAM_NAME="streamName";P.STRING="string";P.STRING_SCALAR="String";P.SUBJECT="subject";P.SUBJECTS="subjects";P.SUBSCRIPTION="Subscription";P.SUBSCRIPTION_FIELD_CONDITION="openfed__SubscriptionFieldCondition";P.SUBSCRIPTION_FILTER="openfed__subscriptionFilter";P.SUBSCRIPTION_FILTER_CONDITION="openfed__SubscriptionFilterCondition";P.SUBSCRIPTION_FILTER_VALUE="openfed__SubscriptionFilterValue";P.SUBSCRIBE="subscribe";P.SUBSCRIPTION_UPPER="SUBSCRIPTION";P.SUCCESS="success";P.TAG="tag";P.TOPIC="topic";P.TOPICS="topics";P.UNION="Union";P.UNION_UPPER="UNION";P.URL_LOWER="url";P.VALUES="values";P.VARIABLE_DEFINITION_UPPER="VARIABLE_DEFINITION";P.EXECUTABLE_DIRECTIVE_LOCATIONS=new Set([P.FIELD_UPPER,P.FRAGMENT_DEFINITION_UPPER,P.FRAGMENT_SPREAD_UPPER,P.INLINE_FRAGMENT_UPPER,P.MUTATION_UPPER,P.QUERY_UPPER,P.SUBSCRIPTION_UPPER]);P.IGNORED_PARENT_DIRECTIVES=new Set([P.AUTHENTICATED,P.REQUIRES_SCOPES]);P.ROOT_TYPE_NAMES=new Set([P.MUTATION,P.QUERY,P.SUBSCRIPTION]);P.EVENT_DIRECTIVE_NAMES=new Set([P.EDFS_KAFKA_PUBLISH,P.EDFS_KAFKA_SUBSCRIBE,P.EDFS_NATS_PUBLISH,P.EDFS_NATS_REQUEST,P.EDFS_NATS_SUBSCRIBE]);P.STREAM_CONFIGURATION_FIELD_NAMES=new Set([P.CONSUMER_NAME,P.STREAM_NAME]);P.PERSISTED_CLIENT_DIRECTIVES=new Set([P.AUTHENTICATED,P.DEPRECATED,P.REQUIRES_SCOPES]);P.SUBSCRIPTION_FILTER_INPUT_NAMES=new Set([P.AND_UPPER,P.IN_UPPER,P.NOT_UPPER,P.OR_UPPER]);P.SUBSCRIPTION_FILTER_LIST_INPUT_NAMES=new Set([P.AND_UPPER,P.OR_UPPER])});var Vi=V(or=>{"use strict";m();T();h();Object.defineProperty(or,"__esModule",{value:!0});or.operationTypeNodeToDefaultType=void 0;or.isObjectLikeNodeEntity=r4;or.isNodeInterfaceObject=i4;or.isNodeExtension=s4;or.areBaseAndExtensionKindsCompatible=o4;or.stringToNameNode=TN;or.stringArrayToNameNodeArray=a4;or.setToNameNodeArray=u4;or.stringToNamedTypeNode=uC;or.setToNamedTypeNodeArray=c4;or.nodeKindToDirectiveLocation=l4;or.isKindAbstract=d4;or.extractExecutableDirectiveLocations=p4;or.formatDescription=f4;or.lexicographicallySortArgumentNodes=cC;or.lexicographicallySortSelectionSetNode=hN;or.lexicographicallySortDocumentNode=m4;or.parse=lC;or.safeParse=h4;var vt=(we(),Me(je)),Jn=bi();function r4(e){var t;if(!((t=e.directives)!=null&&t.length))return!1;for(let n of e.directives)if(n.name.value===Jn.KEY)return!0;return!1}function i4(e){var t;if(!((t=e.directives)!=null&&t.length))return!1;for(let n of e.directives)if(n.name.value===Jn.INTERFACE_OBJECT)return!0;return!1}function s4(e){var t;if(!((t=e.directives)!=null&&t.length))return!1;for(let n of e.directives)if(n.name.value===Jn.EXTENDS)return!0;return!1}function o4(e,t,n){switch(e){case vt.Kind.ENUM_TYPE_DEFINITION:return t===vt.Kind.ENUM_TYPE_EXTENSION;case vt.Kind.INPUT_OBJECT_TYPE_DEFINITION:return t===vt.Kind.INPUT_OBJECT_TYPE_EXTENSION;case vt.Kind.INTERFACE_TYPE_DEFINITION:return t===vt.Kind.INTERFACE_TYPE_EXTENSION;case vt.Kind.OBJECT_TYPE_DEFINITION:return t===vt.Kind.OBJECT_TYPE_EXTENSION;case vt.Kind.SCALAR_TYPE_DEFINITION:return t===vt.Kind.SCALAR_TYPE_EXTENSION;case vt.Kind.UNION_TYPE_DEFINITION:return t===vt.Kind.UNION_TYPE_EXTENSION;default:return!1}}function TN(e){return{kind:vt.Kind.NAME,value:e}}function a4(e){let t=[];for(let n of e)t.push(TN(n));return t}function u4(e){let t=[];for(let n of e)t.push(TN(n));return t}function uC(e){return{kind:vt.Kind.NAMED_TYPE,name:TN(e)}}function c4(e){let t=[];for(let n of e)t.push(uC(n));return t}function l4(e){switch(e){case vt.Kind.ARGUMENT:return Jn.ARGUMENT_DEFINITION_UPPER;case vt.Kind.ENUM_TYPE_DEFINITION:case vt.Kind.ENUM_TYPE_EXTENSION:return Jn.ENUM_UPPER;case vt.Kind.ENUM_VALUE_DEFINITION:return Jn.ENUM_VALUE_UPPER;case vt.Kind.FIELD_DEFINITION:return Jn.FIELD_DEFINITION_UPPER;case vt.Kind.FRAGMENT_DEFINITION:return Jn.FRAGMENT_DEFINITION_UPPER;case vt.Kind.FRAGMENT_SPREAD:return Jn.FRAGMENT_SPREAD_UPPER;case vt.Kind.INLINE_FRAGMENT:return Jn.INLINE_FRAGMENT_UPPER;case vt.Kind.INPUT_VALUE_DEFINITION:return Jn.INPUT_FIELD_DEFINITION_UPPER;case vt.Kind.INPUT_OBJECT_TYPE_DEFINITION:case vt.Kind.INPUT_OBJECT_TYPE_EXTENSION:return Jn.INPUT_OBJECT_UPPER;case vt.Kind.INTERFACE_TYPE_DEFINITION:case vt.Kind.INTERFACE_TYPE_EXTENSION:return Jn.INTERFACE_UPPER;case vt.Kind.OBJECT_TYPE_DEFINITION:case vt.Kind.OBJECT_TYPE_EXTENSION:return Jn.OBJECT_UPPER;case vt.Kind.SCALAR_TYPE_DEFINITION:case vt.Kind.SCALAR_TYPE_EXTENSION:return Jn.SCALAR_UPPER;case vt.Kind.SCHEMA_DEFINITION:case vt.Kind.SCHEMA_EXTENSION:return Jn.SCHEMA_UPPER;case vt.Kind.UNION_TYPE_DEFINITION:case vt.Kind.UNION_TYPE_EXTENSION:return Jn.UNION_UPPER;default:return e}}or.operationTypeNodeToDefaultType=new Map([[vt.OperationTypeNode.MUTATION,Jn.MUTATION],[vt.OperationTypeNode.QUERY,Jn.QUERY],[vt.OperationTypeNode.SUBSCRIPTION,Jn.SUBSCRIPTION]]);function d4(e){return e===vt.Kind.INTERFACE_TYPE_DEFINITION||e===vt.Kind.UNION_TYPE_DEFINITION}function p4(e,t){for(let n of e){let r=n.value;Jn.EXECUTABLE_DIRECTIVE_LOCATIONS.has(r)&&t.add(r)}return t}function f4(e){if(!e)return e;let t=e.value;if(e.block){let n=t.split(` +`}var Hx=ue(()=>{"use strict";m();T();h();Nn();ri();Af();Xt();is();Zt();Ui();Rs();Co();Gf()});function nO(e){let t=[];for(let n of e)t.push(...n.definitions);return{kind:R.DOCUMENT,definitions:t}}var Wx=ue(()=>{"use strict";m();T();h();Xt()});function rO(e){let t=[],n=Object.create(null);for(let i of e.definitions)switch(i.kind){case R.OPERATION_DEFINITION:t.push(i);break;case R.FRAGMENT_DEFINITION:n[i.name.value]=Xx(i.selectionSet);break;default:}let r=Object.create(null);for(let i of t){let s=new Set;for(let u of Xx(i.selectionSet))Zx(s,n,u);let o=i.name?i.name.value:"";r[o]={kind:R.DOCUMENT,definitions:e.definitions.filter(u=>u===i||u.kind===R.FRAGMENT_DEFINITION&&s.has(u.name.value))}}return r}function Zx(e,t,n){if(!e.has(n)){e.add(n);let r=t[n];if(r!==void 0)for(let i of r)Zx(e,t,i)}}function Xx(e){let t=[];return As(e,{FragmentSpread(n){t.push(n.name.value)}}),t}var eC=ue(()=>{"use strict";m();T();h();Xt();Zc()});function iO(e){let t=Cy(e)?e:new ko(e),n=t.body,r=new Oa(t),i="",s=!1;for(;r.advance().kind!==le.EOF;){let o=r.token,u=o.kind,l=!Ly(o.kind);s&&(l||o.kind===le.SPREAD)&&(i+=" ");let d=n.slice(o.start,o.end);u===le.BLOCK_STRING?i+=wy(o.value,{minimize:!0}):i+=d,s=l}return i}var tC=ue(()=>{"use strict";m();T();h();Af();ky();Uy();Rf()});function sO(e){let t=hN(e);if(t)throw t;return e}function hN(e){if(typeof e=="string"||rt(!1,"Expected name to be a string."),e.startsWith("__"))return new Y(`Name "${e}" must not begin with "__", which is reserved by GraphQL introspection.`);try{Mr(e)}catch(t){return t}}var nC=ue(()=>{"use strict";m();T();h();Ni();ot();Cf()});function oO(e,t){return aC(e,t).filter(n=>n.type in Yn)}function aO(e,t){return aC(e,t).filter(n=>n.type in ls)}function aC(e,t){return[...XH(e,t),...WH(e,t)]}function WH(e,t){let n=[],r=xa(e.getDirectives(),t.getDirectives());for(let i of r.removed)n.push({type:Yn.DIRECTIVE_REMOVED,description:`${i.name} was removed.`});for(let[i,s]of r.persisted){let o=xa(i.args,s.args);for(let u of o.added)cs(u)&&n.push({type:Yn.REQUIRED_DIRECTIVE_ARG_ADDED,description:`A required arg ${u.name} on directive ${i.name} was added.`});for(let u of o.removed)n.push({type:Yn.DIRECTIVE_ARG_REMOVED,description:`${u.name} was removed from ${i.name}.`});i.isRepeatable&&!s.isRepeatable&&n.push({type:Yn.DIRECTIVE_REPEATABLE_REMOVED,description:`Repeatable flag was removed from ${i.name}.`});for(let u of i.locations)s.locations.includes(u)||n.push({type:Yn.DIRECTIVE_LOCATION_REMOVED,description:`${u} was removed from ${i.name}.`})}return n}function XH(e,t){let n=[],r=xa(Object.values(e.getTypeMap()),Object.values(t.getTypeMap()));for(let i of r.removed)n.push({type:Yn.TYPE_REMOVED,description:uo(i)?`Standard scalar ${i.name} was removed because it is not referenced anymore.`:`${i.name} was removed.`});for(let[i,s]of r.persisted)rn(i)&&rn(s)?n.push(...t4(i,s)):fn(i)&&fn(s)?n.push(...e4(i,s)):It(i)&&It(s)?n.push(...ZH(i,s)):at(i)&&at(s)?n.push(...iC(i,s),...rC(i,s)):Nt(i)&&Nt(s)?n.push(...iC(i,s),...rC(i,s)):i.constructor!==s.constructor&&n.push({type:Yn.TYPE_CHANGED_KIND,description:`${i.name} changed from ${sC(i)} to ${sC(s)}.`});return n}function ZH(e,t){let n=[],r=xa(Object.values(e.getFields()),Object.values(t.getFields()));for(let i of r.added)Ra(i)?n.push({type:Yn.REQUIRED_INPUT_FIELD_ADDED,description:`A required field ${i.name} on input type ${e.name} was added.`}):n.push({type:ls.OPTIONAL_INPUT_FIELD_ADDED,description:`An optional field ${i.name} on input type ${e.name} was added.`});for(let i of r.removed)n.push({type:Yn.FIELD_REMOVED,description:`${e.name}.${i.name} was removed.`});for(let[i,s]of r.persisted)Gm(i.type,s.type)||n.push({type:Yn.FIELD_CHANGED_KIND,description:`${e.name}.${i.name} changed type from ${String(i.type)} to ${String(s.type)}.`});return n}function e4(e,t){let n=[],r=xa(e.getTypes(),t.getTypes());for(let i of r.added)n.push({type:ls.TYPE_ADDED_TO_UNION,description:`${i.name} was added to union type ${e.name}.`});for(let i of r.removed)n.push({type:Yn.TYPE_REMOVED_FROM_UNION,description:`${i.name} was removed from union type ${e.name}.`});return n}function t4(e,t){let n=[],r=xa(e.getValues(),t.getValues());for(let i of r.added)n.push({type:ls.VALUE_ADDED_TO_ENUM,description:`${i.name} was added to enum type ${e.name}.`});for(let i of r.removed)n.push({type:Yn.VALUE_REMOVED_FROM_ENUM,description:`${i.name} was removed from enum type ${e.name}.`});return n}function rC(e,t){let n=[],r=xa(e.getInterfaces(),t.getInterfaces());for(let i of r.added)n.push({type:ls.IMPLEMENTED_INTERFACE_ADDED,description:`${i.name} added to interfaces implemented by ${e.name}.`});for(let i of r.removed)n.push({type:Yn.IMPLEMENTED_INTERFACE_REMOVED,description:`${e.name} no longer implements interface ${i.name}.`});return n}function iC(e,t){let n=[],r=xa(Object.values(e.getFields()),Object.values(t.getFields()));for(let i of r.removed)n.push({type:Yn.FIELD_REMOVED,description:`${e.name}.${i.name} was removed.`});for(let[i,s]of r.persisted)n.push(...n4(e,i,s)),Km(i.type,s.type)||n.push({type:Yn.FIELD_CHANGED_KIND,description:`${e.name}.${i.name} changed type from ${String(i.type)} to ${String(s.type)}.`});return n}function n4(e,t,n){let r=[],i=xa(t.args,n.args);for(let s of i.removed)r.push({type:Yn.ARG_REMOVED,description:`${e.name}.${t.name} arg ${s.name} was removed.`});for(let[s,o]of i.persisted)if(!Gm(s.type,o.type))r.push({type:Yn.ARG_CHANGED_KIND,description:`${e.name}.${t.name} arg ${s.name} has changed type from ${String(s.type)} to ${String(o.type)}.`});else if(s.defaultValue!==void 0)if(o.defaultValue===void 0)r.push({type:ls.ARG_DEFAULT_VALUE_CHANGE,description:`${e.name}.${t.name} arg ${s.name} defaultValue was removed.`});else{let l=oC(s.defaultValue,s.type),d=oC(o.defaultValue,o.type);l!==d&&r.push({type:ls.ARG_DEFAULT_VALUE_CHANGE,description:`${e.name}.${t.name} arg ${s.name} has changed defaultValue from ${l} to ${d}.`})}for(let s of i.added)cs(s)?r.push({type:Yn.REQUIRED_ARG_ADDED,description:`A required arg ${s.name} on ${e.name}.${t.name} was added.`}):r.push({type:ls.OPTIONAL_ARG_ADDED,description:`An optional arg ${s.name} on ${e.name}.${t.name} was added.`});return r}function Km(e,t){return Pt(e)?Pt(t)&&Km(e.ofType,t.ofType)||Qe(t)&&Km(e,t.ofType):Qe(e)?Qe(t)&&Km(e.ofType,t.ofType):Aa(t)&&e.name===t.name||Qe(t)&&Km(e,t.ofType)}function Gm(e,t){return Pt(e)?Pt(t)&&Gm(e.ofType,t.ofType):Qe(e)?Qe(t)&&Gm(e.ofType,t.ofType)||!Qe(t)&&Gm(e.ofType,t):Aa(t)&&e.name===t.name}function sC(e){if(tr(e))return"a Scalar type";if(at(e))return"an Object type";if(Nt(e))return"an Interface type";if(fn(e))return"a Union type";if(rn(e))return"an Enum type";if(It(e))return"an Input type";Qt(!1,"Unexpected type: "+ne(e))}function oC(e,t){let n=Hr(e,t);return n!=null||Qt(!1),Ft(Gd(n))}function xa(e,t){let n=[],r=[],i=[],s=si(e,({name:u})=>u),o=si(t,({name:u})=>u);for(let u of e){let l=o[u.name];l===void 0?r.push(u):i.push([u,l])}for(let u of t)s[u.name]===void 0&&n.push(u);return{added:n,persisted:i,removed:r}}var Yn,ls,uC=ue(()=>{"use strict";m();T();h();Nn();ri();ic();is();Zt();Co();Gf();Z_();(function(e){e.TYPE_REMOVED="TYPE_REMOVED",e.TYPE_CHANGED_KIND="TYPE_CHANGED_KIND",e.TYPE_REMOVED_FROM_UNION="TYPE_REMOVED_FROM_UNION",e.VALUE_REMOVED_FROM_ENUM="VALUE_REMOVED_FROM_ENUM",e.REQUIRED_INPUT_FIELD_ADDED="REQUIRED_INPUT_FIELD_ADDED",e.IMPLEMENTED_INTERFACE_REMOVED="IMPLEMENTED_INTERFACE_REMOVED",e.FIELD_REMOVED="FIELD_REMOVED",e.FIELD_CHANGED_KIND="FIELD_CHANGED_KIND",e.REQUIRED_ARG_ADDED="REQUIRED_ARG_ADDED",e.ARG_REMOVED="ARG_REMOVED",e.ARG_CHANGED_KIND="ARG_CHANGED_KIND",e.DIRECTIVE_REMOVED="DIRECTIVE_REMOVED",e.DIRECTIVE_ARG_REMOVED="DIRECTIVE_ARG_REMOVED",e.REQUIRED_DIRECTIVE_ARG_ADDED="REQUIRED_DIRECTIVE_ARG_ADDED",e.DIRECTIVE_REPEATABLE_REMOVED="DIRECTIVE_REPEATABLE_REMOVED",e.DIRECTIVE_LOCATION_REMOVED="DIRECTIVE_LOCATION_REMOVED"})(Yn||(Yn={}));(function(e){e.VALUE_ADDED_TO_ENUM="VALUE_ADDED_TO_ENUM",e.TYPE_ADDED_TO_UNION="TYPE_ADDED_TO_UNION",e.OPTIONAL_INPUT_FIELD_ADDED="OPTIONAL_INPUT_FIELD_ADDED",e.OPTIONAL_ARG_ADDED="OPTIONAL_ARG_ADDED",e.IMPLEMENTED_INTERFACE_ADDED="IMPLEMENTED_INTERFACE_ADDED",e.ARG_DEFAULT_VALUE_CHANGE="ARG_DEFAULT_VALUE_CHANGE"})(ls||(ls={}))});var cC=ue(()=>{"use strict";m();T();h();$b();Ux();Mx();Bx();Vx();qx();zb();Gx();Hx();Bo();gm();m_();Gf();Yy();db();Wx();eC();tC();qf();nC();uC()});var je={};_f(je,{BREAK:()=>oc,BreakingChangeType:()=>Yn,DEFAULT_DEPRECATION_REASON:()=>xd,DangerousChangeType:()=>ls,DirectiveLocation:()=>He,ExecutableDefinitionsRule:()=>em,FieldsOnCorrectTypeRule:()=>tm,FragmentsOnCompositeTypesRule:()=>nm,GRAPHQL_MAX_INT:()=>Fd,GRAPHQL_MIN_INT:()=>wd,GraphQLBoolean:()=>Br,GraphQLDeprecatedDirective:()=>Uo,GraphQLDirective:()=>Vr,GraphQLEnumType:()=>oi,GraphQLError:()=>Y,GraphQLFloat:()=>Ky,GraphQLID:()=>Ld,GraphQLIncludeDirective:()=>Pd,GraphQLInputObjectType:()=>as,GraphQLInt:()=>qy,GraphQLInterfaceType:()=>ss,GraphQLList:()=>Mn,GraphQLNonNull:()=>pt,GraphQLObjectType:()=>_r,GraphQLOneOfDirective:()=>Ud,GraphQLScalarType:()=>Jr,GraphQLSchema:()=>Bi,GraphQLSkipDirective:()=>kd,GraphQLSpecifiedByDirective:()=>Cd,GraphQLString:()=>Bn,GraphQLUnionType:()=>os,Kind:()=>R,KnownArgumentNamesRule:()=>rm,KnownDirectivesRule:()=>qd,KnownFragmentNamesRule:()=>im,KnownTypeNamesRule:()=>Kd,Lexer:()=>Oa,Location:()=>Wc,LoneAnonymousOperationRule:()=>sm,LoneSchemaDefinitionRule:()=>om,MaxIntrospectionDepthRule:()=>am,NoDeprecatedCustomRule:()=>Vb,NoFragmentCyclesRule:()=>um,NoSchemaIntrospectionCustomRule:()=>jb,NoUndefinedVariablesRule:()=>cm,NoUnusedFragmentsRule:()=>lm,NoUnusedVariablesRule:()=>dm,OperationTypeNode:()=>Un,OverlappingFieldsCanBeMergedRule:()=>pm,PossibleFragmentSpreadsRule:()=>fm,PossibleTypeExtensionsRule:()=>mm,ProvidedRequiredArgumentsRule:()=>hm,ScalarLeafsRule:()=>Tm,SchemaMetaFieldDef:()=>Fa,SingleFieldSubscriptionsRule:()=>vm,Source:()=>ko,Token:()=>nc,TokenKind:()=>le,TypeInfo:()=>Pa,TypeKind:()=>mn,TypeMetaFieldDef:()=>wa,TypeNameMetaFieldDef:()=>La,UniqueArgumentDefinitionNamesRule:()=>_m,UniqueArgumentNamesRule:()=>zd,UniqueDirectiveNamesRule:()=>bm,UniqueDirectivesPerLocationRule:()=>Hd,UniqueEnumValueNamesRule:()=>Om,UniqueFieldDefinitionNamesRule:()=>Sm,UniqueFragmentNamesRule:()=>Dm,UniqueInputFieldNamesRule:()=>Wd,UniqueOperationNamesRule:()=>Am,UniqueOperationTypesRule:()=>Rm,UniqueTypeNamesRule:()=>Fm,UniqueVariableNamesRule:()=>wm,ValidationContext:()=>fl,ValuesOfCorrectTypeRule:()=>Lm,VariablesAreInputTypesRule:()=>Pm,VariablesInAllowedPositionRule:()=>km,__Directive:()=>Qf,__DirectiveLocation:()=>Yf,__EnumValue:()=>zf,__Field:()=>Jf,__InputValue:()=>sl,__Schema:()=>il,__Type:()=>Mi,__TypeKind:()=>Hf,assertAbstractType:()=>S_,assertCompositeType:()=>O_,assertDirective:()=>w_,assertEnumType:()=>N_,assertEnumValueName:()=>xf,assertInputObjectType:()=>E_,assertInputType:()=>v_,assertInterfaceType:()=>Mf,assertLeafType:()=>b_,assertListType:()=>g_,assertName:()=>Mr,assertNamedType:()=>A_,assertNonNullType:()=>I_,assertNullableType:()=>Vf,assertObjectType:()=>Uf,assertOutputType:()=>__,assertScalarType:()=>T_,assertSchema:()=>ol,assertType:()=>h_,assertUnionType:()=>y_,assertValidName:()=>sO,assertValidSchema:()=>cl,assertWrappingType:()=>D_,astFromValue:()=>Hr,buildASTSchema:()=>pN,buildClientSchema:()=>Qb,buildSchema:()=>Hb,coerceInputValue:()=>Em,concatAST:()=>nO,createSourceEventStream:()=>lN,defaultFieldResolver:()=>Bm,defaultTypeResolver:()=>cN,doTypesOverlap:()=>Rd,execute:()=>pc,executeSync:()=>Vm,extendSchema:()=>Yb,findBreakingChanges:()=>oO,findDangerousChanges:()=>aO,formatError:()=>i_,getArgumentValues:()=>dc,getDirectiveValues:()=>Vo,getEnterLeaveForKind:()=>Da,getIntrospectionQuery:()=>$m,getLocation:()=>tc,getNamedType:()=>Gn,getNullableType:()=>nl,getOperationAST:()=>qb,getOperationRootType:()=>Kb,getVariableValues:()=>Im,getVisitFn:()=>f_,graphql:()=>vx,graphqlSync:()=>_x,introspectionFromSchema:()=>Gb,introspectionTypes:()=>Mo,isAbstractType:()=>zr,isCompositeType:()=>vi,isConstValueNode:()=>Zf,isDefinitionNode:()=>x_,isDirective:()=>uc,isEnumType:()=>rn,isEqualType:()=>rl,isExecutableDefinitionNode:()=>Vd,isInputObjectType:()=>It,isInputType:()=>Nr,isInterfaceType:()=>Nt,isIntrospectionType:()=>ui,isLeafType:()=>Rr,isListType:()=>Pt,isNamedType:()=>Aa,isNonNullType:()=>Qe,isNullableType:()=>Bf,isObjectType:()=>at,isOutputType:()=>us,isRequiredArgument:()=>cs,isRequiredInputField:()=>Ra,isScalarType:()=>tr,isSchema:()=>Qy,isSelectionNode:()=>C_,isSpecifiedDirective:()=>cc,isSpecifiedScalarType:()=>uo,isType:()=>ac,isTypeDefinitionNode:()=>Fs,isTypeExtensionNode:()=>lc,isTypeNode:()=>U_,isTypeSubTypeOf:()=>ao,isTypeSystemDefinitionNode:()=>jd,isTypeSystemExtensionNode:()=>$d,isUnionType:()=>fn,isValidNameError:()=>hN,isValueNode:()=>Jy,isWrappingType:()=>tl,lexicographicSortSchema:()=>qm,locatedError:()=>jo,parse:()=>io,parseConstValue:()=>a_,parseType:()=>u_,parseValue:()=>Lf,print:()=>Ft,printError:()=>r_,printIntrospectionSchema:()=>Zb,printLocation:()=>Of,printSchema:()=>Xd,printSourceLocation:()=>Id,printType:()=>mN,recommendedRules:()=>nN,resolveObjMapThunk:()=>$f,resolveReadonlyArrayThunk:()=>jf,responsePathAsArray:()=>br,separateOperations:()=>rO,specifiedDirectives:()=>ai,specifiedRules:()=>xm,specifiedScalarTypes:()=>xo,stripIgnoredCharacters:()=>iO,subscribe:()=>Bb,syntaxError:()=>er,typeFromAST:()=>Qn,validate:()=>Cm,validateSchema:()=>Bd,valueFromAST:()=>_i,valueFromASTUntyped:()=>el,version:()=>Ak,versionInfo:()=>Rk,visit:()=>As,visitInParallel:()=>Dd,visitWithTypeInfo:()=>ll});var we=ue(()=>{"use strict";m();T();h();Fk();Ox();Sx();Dx();Lx();xx();Cx();cC()});var bi=V(P=>{"use strict";m();T();h();Object.defineProperty(P,"__esModule",{value:!0});P.INPUT_FIELD=P.INLINE_FRAGMENT_UPPER=P.INLINE_FRAGMENT=P.INACCESSIBLE=P.IN_UPPER=P.FROM=P.FRAGMENT_SPREAD_UPPER=P.FRAGMENT_DEFINITION_UPPER=P.FLOAT_SCALAR=P.FIELD_DEFINITION_UPPER=P.FIELDS=P.FIELD_SET_SCALAR=P.FIELD_UPPER=P.FIELD_PATH=P.FIELD=P.EXTENSIONS=P.EXTENDS=P.EXTERNAL=P.ENUM_VALUE_UPPER=P.ENUM_VALUE=P.ENUM_UPPER=P.ENUM=P.ENTITY_UNION=P.ENTITIES_FIELD=P.ENTITIES=P.EDFS_NATS_STREAM_CONFIGURATION=P.EDFS_PUBLISH_RESULT=P.EDFS_NATS_SUBSCRIBE=P.EDFS_NATS_REQUEST=P.EDFS_NATS_PUBLISH=P.EDFS_KAFKA_SUBSCRIBE=P.EDFS_KAFKA_PUBLISH=P.DIRECTIVE_DEFINITION=P.DEPRECATED_DEFAULT_ARGUMENT_VALUE=P.DEPRECATED=P.DEFAULT_SUBSCRIPTION=P.DEFAULT_QUERY=P.DEFAULT_MUTATION=P.DEFAULT_EDFS_PROVIDER_ID=P.DEFAULT=P.CONSUMER_NAME=P.CONDITION=P.COMPOSE_DIRECTIVE=P.BOOLEAN_SCALAR=P.BOOLEAN=P.ARGUMENT_DEFINITION_UPPER=P.AUTHENTICATED=P.ARGUMENT=P.ANY_SCALAR=P.AND_UPPER=void 0;P.SCHEMA_UPPER=P.SCHEMA=P.SCALAR_UPPER=P.SCALAR=P.RESOLVABLE=P.REQUIRES_SCOPES=P.REQUIRES=P.REQUEST=P.REASON=P.QUOTATION_JOIN=P.QUERY_UPPER=P.QUERY=P.PUBLISH=P.PROVIDES=P.PROVIDER_ID=P.PERIOD=P.PARENT_EXTENSION_DATA_MAP=P.PARENT_DEFINITION_DATA_MAP=P.PARENT_DEFINITION_DATA=P.OVERRIDE=P.OR_UPPER=P.OBJECT_UPPER=P.OBJECT=P.OPERATION_TO_DEFAULT=P.NULL=P.NOT_UPPER=P.NON_NULLABLE_STRING=P.NON_NULLABLE_BOOLEAN=P.NON_NULLABLE_EDFS_PUBLISH_EVENT_RESULT=P.NAME=P.N_A=P.PROVIDER_TYPE_NATS=P.PROVIDER_TYPE_KAFKA=P.MUTATION_UPPER=P.MUTATION=P.NUMBER=P.LITERAL_NEW_LINE=P.LITERAL_SPACE=P.LIST=P.LINK=P.LEFT_PARENTHESIS=P.KEY=P.INTERFACE_OBJECT=P.INTERFACE_UPPER=P.INTERFACE=P.INT_SCALAR=P.INPUT_VALUE=P.INPUT_OBJECT_UPPER=P.INPUT_OBJECT=P.INPUT_FIELD_DEFINITION_UPPER=void 0;P.SUBSCRIPTION_FILTER_LIST_INPUT_NAMES=P.SUBSCRIPTION_FILTER_INPUT_NAMES=P.PERSISTED_CLIENT_DIRECTIVES=P.STREAM_CONFIGURATION_FIELD_NAMES=P.EVENT_DIRECTIVE_NAMES=P.ROOT_TYPE_NAMES=P.IGNORED_PARENT_DIRECTIVES=P.EXECUTABLE_DIRECTIVE_LOCATIONS=P.VARIABLE_DEFINITION_UPPER=P.VALUES=P.URL_LOWER=P.UNION_UPPER=P.UNION=P.TOPICS=P.TOPIC=P.TAG=P.SUCCESS=P.SUBSCRIPTION_UPPER=P.SUBSCRIBE=P.SUBSCRIPTION_FILTER_VALUE=P.SUBSCRIPTION_FILTER_CONDITION=P.SUBSCRIPTION_FILTER=P.SUBSCRIPTION_FIELD_CONDITION=P.SUBSCRIPTION=P.SUBJECTS=P.SUBJECT=P.STRING_SCALAR=P.STRING=P.STREAM_NAME=P.STREAM_CONFIGURATION=P.SPECIFIED_BY=P.SHAREABLE=P.SERVICE_FIELD=P.SERVICE_OBJECT=P.SELECTION_REPRESENTATION=P.SCOPE_SCALAR=P.SCOPES=void 0;P.AND_UPPER="AND";P.ANY_SCALAR="_Any";P.ARGUMENT="Argument";P.AUTHENTICATED="authenticated";P.ARGUMENT_DEFINITION_UPPER="ARGUMENT_DEFINITION";P.BOOLEAN="boolean";P.BOOLEAN_SCALAR="Boolean";P.COMPOSE_DIRECTIVE="composeDirective";P.CONDITION="condition";P.CONSUMER_NAME="consumerName";P.DEFAULT="default";P.DEFAULT_EDFS_PROVIDER_ID="default";P.DEFAULT_MUTATION="Mutation";P.DEFAULT_QUERY="Query";P.DEFAULT_SUBSCRIPTION="Subscription";P.DEPRECATED="deprecated";P.DEPRECATED_DEFAULT_ARGUMENT_VALUE="No longer supported";P.DIRECTIVE_DEFINITION="directive definition";P.EDFS_KAFKA_PUBLISH="edfs__kafkaPublish";P.EDFS_KAFKA_SUBSCRIBE="edfs__kafkaSubscribe";P.EDFS_NATS_PUBLISH="edfs__natsPublish";P.EDFS_NATS_REQUEST="edfs__natsRequest";P.EDFS_NATS_SUBSCRIBE="edfs__natsSubscribe";P.EDFS_PUBLISH_RESULT="edfs__PublishResult";P.EDFS_NATS_STREAM_CONFIGURATION="edfs__NatsStreamConfiguration";P.ENTITIES="entities";P.ENTITIES_FIELD="_entities";P.ENTITY_UNION="_Entity";P.ENUM="Enum";P.ENUM_UPPER="ENUM";P.ENUM_VALUE="Enum Value";P.ENUM_VALUE_UPPER="ENUM_VALUE";P.EXTERNAL="external";P.EXTENDS="extends";P.EXTENSIONS="extensions";P.FIELD="Field";P.FIELD_PATH="fieldPath";P.FIELD_UPPER="FIELD";P.FIELD_SET_SCALAR="openfed__FieldSet";P.FIELDS="fields";P.FIELD_DEFINITION_UPPER="FIELD_DEFINITION";P.FLOAT_SCALAR="Float";P.FRAGMENT_DEFINITION_UPPER="FRAGMENT_DEFINITION";P.FRAGMENT_SPREAD_UPPER="FRAGMENT_SPREAD";P.FROM="from";P.IN_UPPER="IN";P.INACCESSIBLE="inaccessible";P.INLINE_FRAGMENT="inlineFragment";P.INLINE_FRAGMENT_UPPER="INLINE_FRAGMENT";P.INPUT_FIELD="Input Field";P.INPUT_FIELD_DEFINITION_UPPER="INPUT_FIELD_DEFINITION";P.INPUT_OBJECT="Input Object";P.INPUT_OBJECT_UPPER="INPUT_OBJECT";P.INPUT_VALUE="Input Value";P.INT_SCALAR="Int";P.INTERFACE="Interface";P.INTERFACE_UPPER="INTERFACE";P.INTERFACE_OBJECT="interfaceObject";P.KEY="key";P.LEFT_PARENTHESIS="(";P.LINK="link";P.LIST="list";P.LITERAL_SPACE=" ";P.LITERAL_NEW_LINE=` +`;P.NUMBER="number";P.MUTATION="Mutation";P.MUTATION_UPPER="MUTATION";P.PROVIDER_TYPE_KAFKA="kafka";P.PROVIDER_TYPE_NATS="nats";P.N_A="N/A";P.NAME="name";P.NON_NULLABLE_EDFS_PUBLISH_EVENT_RESULT="edfs__PublishResult!";P.NON_NULLABLE_BOOLEAN="Boolean!";P.NON_NULLABLE_STRING="String!";P.NOT_UPPER="NOT";P.NULL="Null";P.OPERATION_TO_DEFAULT="operationTypeNodeToDefaultType";P.OBJECT="Object";P.OBJECT_UPPER="OBJECT";P.OR_UPPER="OR";P.OVERRIDE="override";P.PARENT_DEFINITION_DATA="parentDefinitionDataByTypeName";P.PARENT_DEFINITION_DATA_MAP="parentDefinitionDataByParentTypeName";P.PARENT_EXTENSION_DATA_MAP="parentExtensionDataByParentTypeName";P.PERIOD=".";P.PROVIDER_ID="providerId";P.PROVIDES="provides";P.PUBLISH="publish";P.QUERY="Query";P.QUERY_UPPER="QUERY";P.QUOTATION_JOIN='", "';P.REASON="reason";P.REQUEST="request";P.REQUIRES="requires";P.REQUIRES_SCOPES="requiresScopes";P.RESOLVABLE="resolvable";P.SCALAR="Scalar";P.SCALAR_UPPER="SCALAR";P.SCHEMA="schema";P.SCHEMA_UPPER="SCHEMA";P.SCOPES="scopes";P.SCOPE_SCALAR="openfed__Scope";P.SELECTION_REPRESENTATION=" { ... }";P.SERVICE_OBJECT="_Service";P.SERVICE_FIELD="_service";P.SHAREABLE="shareable";P.SPECIFIED_BY="specifiedBy";P.STREAM_CONFIGURATION="streamConfiguration";P.STREAM_NAME="streamName";P.STRING="string";P.STRING_SCALAR="String";P.SUBJECT="subject";P.SUBJECTS="subjects";P.SUBSCRIPTION="Subscription";P.SUBSCRIPTION_FIELD_CONDITION="openfed__SubscriptionFieldCondition";P.SUBSCRIPTION_FILTER="openfed__subscriptionFilter";P.SUBSCRIPTION_FILTER_CONDITION="openfed__SubscriptionFilterCondition";P.SUBSCRIPTION_FILTER_VALUE="openfed__SubscriptionFilterValue";P.SUBSCRIBE="subscribe";P.SUBSCRIPTION_UPPER="SUBSCRIPTION";P.SUCCESS="success";P.TAG="tag";P.TOPIC="topic";P.TOPICS="topics";P.UNION="Union";P.UNION_UPPER="UNION";P.URL_LOWER="url";P.VALUES="values";P.VARIABLE_DEFINITION_UPPER="VARIABLE_DEFINITION";P.EXECUTABLE_DIRECTIVE_LOCATIONS=new Set([P.FIELD_UPPER,P.FRAGMENT_DEFINITION_UPPER,P.FRAGMENT_SPREAD_UPPER,P.INLINE_FRAGMENT_UPPER,P.MUTATION_UPPER,P.QUERY_UPPER,P.SUBSCRIPTION_UPPER]);P.IGNORED_PARENT_DIRECTIVES=new Set([P.AUTHENTICATED,P.REQUIRES_SCOPES]);P.ROOT_TYPE_NAMES=new Set([P.MUTATION,P.QUERY,P.SUBSCRIPTION]);P.EVENT_DIRECTIVE_NAMES=new Set([P.EDFS_KAFKA_PUBLISH,P.EDFS_KAFKA_SUBSCRIBE,P.EDFS_NATS_PUBLISH,P.EDFS_NATS_REQUEST,P.EDFS_NATS_SUBSCRIBE]);P.STREAM_CONFIGURATION_FIELD_NAMES=new Set([P.CONSUMER_NAME,P.STREAM_NAME]);P.PERSISTED_CLIENT_DIRECTIVES=new Set([P.AUTHENTICATED,P.DEPRECATED,P.REQUIRES_SCOPES]);P.SUBSCRIPTION_FILTER_INPUT_NAMES=new Set([P.AND_UPPER,P.IN_UPPER,P.NOT_UPPER,P.OR_UPPER]);P.SUBSCRIPTION_FILTER_LIST_INPUT_NAMES=new Set([P.AND_UPPER,P.OR_UPPER])});var Vi=V(or=>{"use strict";m();T();h();Object.defineProperty(or,"__esModule",{value:!0});or.operationTypeNodeToDefaultType=void 0;or.isObjectLikeNodeEntity=r4;or.isNodeInterfaceObject=i4;or.isNodeExtension=s4;or.areBaseAndExtensionKindsCompatible=o4;or.stringToNameNode=yN;or.stringArrayToNameNodeArray=a4;or.setToNameNodeArray=u4;or.stringToNamedTypeNode=lC;or.setToNamedTypeNodeArray=c4;or.nodeKindToDirectiveLocation=l4;or.isKindAbstract=d4;or.extractExecutableDirectiveLocations=p4;or.formatDescription=f4;or.lexicographicallySortArgumentNodes=dC;or.lexicographicallySortSelectionSetNode=TN;or.lexicographicallySortDocumentNode=m4;or.parse=pC;or.safeParse=h4;var vt=(we(),Me(je)),Jn=bi();function r4(e){var t;if(!((t=e.directives)!=null&&t.length))return!1;for(let n of e.directives)if(n.name.value===Jn.KEY)return!0;return!1}function i4(e){var t;if(!((t=e.directives)!=null&&t.length))return!1;for(let n of e.directives)if(n.name.value===Jn.INTERFACE_OBJECT)return!0;return!1}function s4(e){var t;if(!((t=e.directives)!=null&&t.length))return!1;for(let n of e.directives)if(n.name.value===Jn.EXTENDS)return!0;return!1}function o4(e,t,n){switch(e){case vt.Kind.ENUM_TYPE_DEFINITION:return t===vt.Kind.ENUM_TYPE_EXTENSION;case vt.Kind.INPUT_OBJECT_TYPE_DEFINITION:return t===vt.Kind.INPUT_OBJECT_TYPE_EXTENSION;case vt.Kind.INTERFACE_TYPE_DEFINITION:return t===vt.Kind.INTERFACE_TYPE_EXTENSION;case vt.Kind.OBJECT_TYPE_DEFINITION:return t===vt.Kind.OBJECT_TYPE_EXTENSION;case vt.Kind.SCALAR_TYPE_DEFINITION:return t===vt.Kind.SCALAR_TYPE_EXTENSION;case vt.Kind.UNION_TYPE_DEFINITION:return t===vt.Kind.UNION_TYPE_EXTENSION;default:return!1}}function yN(e){return{kind:vt.Kind.NAME,value:e}}function a4(e){let t=[];for(let n of e)t.push(yN(n));return t}function u4(e){let t=[];for(let n of e)t.push(yN(n));return t}function lC(e){return{kind:vt.Kind.NAMED_TYPE,name:yN(e)}}function c4(e){let t=[];for(let n of e)t.push(lC(n));return t}function l4(e){switch(e){case vt.Kind.ARGUMENT:return Jn.ARGUMENT_DEFINITION_UPPER;case vt.Kind.ENUM_TYPE_DEFINITION:case vt.Kind.ENUM_TYPE_EXTENSION:return Jn.ENUM_UPPER;case vt.Kind.ENUM_VALUE_DEFINITION:return Jn.ENUM_VALUE_UPPER;case vt.Kind.FIELD_DEFINITION:return Jn.FIELD_DEFINITION_UPPER;case vt.Kind.FRAGMENT_DEFINITION:return Jn.FRAGMENT_DEFINITION_UPPER;case vt.Kind.FRAGMENT_SPREAD:return Jn.FRAGMENT_SPREAD_UPPER;case vt.Kind.INLINE_FRAGMENT:return Jn.INLINE_FRAGMENT_UPPER;case vt.Kind.INPUT_VALUE_DEFINITION:return Jn.INPUT_FIELD_DEFINITION_UPPER;case vt.Kind.INPUT_OBJECT_TYPE_DEFINITION:case vt.Kind.INPUT_OBJECT_TYPE_EXTENSION:return Jn.INPUT_OBJECT_UPPER;case vt.Kind.INTERFACE_TYPE_DEFINITION:case vt.Kind.INTERFACE_TYPE_EXTENSION:return Jn.INTERFACE_UPPER;case vt.Kind.OBJECT_TYPE_DEFINITION:case vt.Kind.OBJECT_TYPE_EXTENSION:return Jn.OBJECT_UPPER;case vt.Kind.SCALAR_TYPE_DEFINITION:case vt.Kind.SCALAR_TYPE_EXTENSION:return Jn.SCALAR_UPPER;case vt.Kind.SCHEMA_DEFINITION:case vt.Kind.SCHEMA_EXTENSION:return Jn.SCHEMA_UPPER;case vt.Kind.UNION_TYPE_DEFINITION:case vt.Kind.UNION_TYPE_EXTENSION:return Jn.UNION_UPPER;default:return e}}or.operationTypeNodeToDefaultType=new Map([[vt.OperationTypeNode.MUTATION,Jn.MUTATION],[vt.OperationTypeNode.QUERY,Jn.QUERY],[vt.OperationTypeNode.SUBSCRIPTION,Jn.SUBSCRIPTION]]);function d4(e){return e===vt.Kind.INTERFACE_TYPE_DEFINITION||e===vt.Kind.UNION_TYPE_DEFINITION}function p4(e,t){for(let n of e){let r=n.value;Jn.EXECUTABLE_DIRECTIVE_LOCATIONS.has(r)&&t.add(r)}return t}function f4(e){if(!e)return e;let t=e.value;if(e.block){let n=t.split(` `);n.length>1&&(t=n.map(r=>r.trimStart()).join(` -`))}return K(k({},e),{value:t,block:!0})}function cC(e){return e.arguments?e.arguments.sort((n,r)=>n.name.value.localeCompare(r.name.value)):e.arguments}function hN(e){let t=e.selections;return K(k({},e),{selections:t.sort((n,r)=>{var s,o,u,l;return Jn.NAME in n?Jn.NAME in r?n.name.value.localeCompare(r.name.value):-1:Jn.NAME in r?1:((o=(s=n.typeCondition)==null?void 0:s.name.value)!=null?o:"").localeCompare((l=(u=r.typeCondition)==null?void 0:u.name.value)!=null?l:"")}).map(n=>{switch(n.kind){case vt.Kind.FIELD:return K(k({},n),{arguments:cC(n),selectionSet:n.selectionSet?hN(n.selectionSet):n.selectionSet});case vt.Kind.FRAGMENT_SPREAD:return n;case vt.Kind.INLINE_FRAGMENT:return K(k({},n),{selectionSet:hN(n.selectionSet)})}})})}function m4(e){return K(k({},e),{definitions:e.definitions.map(t=>t.kind!==vt.Kind.OPERATION_DEFINITION?t:K(k({},t),{selectionSet:hN(t.selectionSet)}))})}function lC(e,t=!0){return(0,vt.parse)(e,{noLocation:t})}function h4(e,t=!0){try{return{documentNode:lC(e,t)}}catch(n){return{error:n}}}});var Oi=V(uO=>{"use strict";m();T();h();Object.defineProperty(uO,"__esModule",{value:!0});uO.devAssert=T4;function T4(e,t){if(!!!e)throw new Error(t)}});var $o=V(cO=>{"use strict";m();T();h();Object.defineProperty(cO,"__esModule",{value:!0});cO.isObjectLike=y4;function y4(e){return typeof e=="object"&&e!==null}});var ci=V(lO=>{"use strict";m();T();h();Object.defineProperty(lO,"__esModule",{value:!0});lO.invariant=N4;function N4(e,t){if(!!!e)throw new Error(t!=null?t:"Unexpected invariant triggered.")}});var yN=V(dO=>{"use strict";m();T();h();Object.defineProperty(dO,"__esModule",{value:!0});dO.getLocation=I4;var E4=ci(),g4=/\r\n|[\n\r]/g;function I4(e,t){let n=0,r=1;for(let i of e.body.matchAll(g4)){if(typeof i.index=="number"||(0,E4.invariant)(!1),i.index>=t)break;n=i.index+i[0].length,r+=1}return{line:r,column:t+1-n}}});var pO=V(NN=>{"use strict";m();T();h();Object.defineProperty(NN,"__esModule",{value:!0});NN.printLocation=_4;NN.printSourceLocation=pC;var v4=yN();function _4(e){return pC(e.source,(0,v4.getLocation)(e.source,e.start))}function pC(e,t){let n=e.locationOffset.column-1,r="".padStart(n)+e.body,i=t.line-1,s=e.locationOffset.line-1,o=t.line+s,u=t.line===1?n:0,l=t.column+u,d=`${e.name}:${o}:${l} -`,p=r.split(/\r\n|[\n\r]/g),y=p[i];if(y.length>120){let N=Math.floor(l/80),I=l%80,b=[];for(let C=0;C["|",C]),["|","^".padStart(I)],["|",b[N+1]]])}return d+dC([[`${o-1} |`,p[i-1]],[`${o} |`,y],["|","^".padStart(l)],[`${o+1} |`,p[i+1]]])}function dC(e){let t=e.filter(([r,i])=>i!==void 0),n=Math.max(...t.map(([r])=>r.length));return t.map(([r,i])=>r.padStart(n)+(i?" "+i:"")).join(` -`)}});var at=V(Wd=>{"use strict";m();T();h();Object.defineProperty(Wd,"__esModule",{value:!0});Wd.GraphQLError=void 0;Wd.formatError=D4;Wd.printError=S4;var b4=$o(),fC=yN(),mC=pO();function O4(e){let t=e[0];return t==null||"kind"in t||"length"in t?{nodes:t,source:e[1],positions:e[2],path:e[3],originalError:e[4],extensions:e[5]}:t}var fO=class e extends Error{constructor(t,...n){var r,i,s;let{nodes:o,source:u,positions:l,path:d,originalError:p,extensions:y}=O4(n);super(t),this.name="GraphQLError",this.path=d!=null?d:void 0,this.originalError=p!=null?p:void 0,this.nodes=hC(Array.isArray(o)?o:o?[o]:void 0);let N=hC((r=this.nodes)===null||r===void 0?void 0:r.map(b=>b.loc).filter(b=>b!=null));this.source=u!=null?u:N==null||(i=N[0])===null||i===void 0?void 0:i.source,this.positions=l!=null?l:N==null?void 0:N.map(b=>b.start),this.locations=l&&u?l.map(b=>(0,fC.getLocation)(u,b)):N==null?void 0:N.map(b=>(0,fC.getLocation)(b.source,b.start));let I=(0,b4.isObjectLike)(p==null?void 0:p.extensions)?p==null?void 0:p.extensions:void 0;this.extensions=(s=y!=null?y:I)!==null&&s!==void 0?s:Object.create(null),Object.defineProperties(this,{message:{writable:!0,enumerable:!0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),p!=null&&p.stack?Object.defineProperty(this,"stack",{value:p.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}get[Symbol.toStringTag](){return"GraphQLError"}toString(){let t=this.message;if(this.nodes)for(let n of this.nodes)n.loc&&(t+=` +`))}return K(k({},e),{value:t,block:!0})}function dC(e){return e.arguments?e.arguments.sort((n,r)=>n.name.value.localeCompare(r.name.value)):e.arguments}function TN(e){let t=e.selections;return K(k({},e),{selections:t.sort((n,r)=>{var s,o,u,l;return Jn.NAME in n?Jn.NAME in r?n.name.value.localeCompare(r.name.value):-1:Jn.NAME in r?1:((o=(s=n.typeCondition)==null?void 0:s.name.value)!=null?o:"").localeCompare((l=(u=r.typeCondition)==null?void 0:u.name.value)!=null?l:"")}).map(n=>{switch(n.kind){case vt.Kind.FIELD:return K(k({},n),{arguments:dC(n),selectionSet:n.selectionSet?TN(n.selectionSet):n.selectionSet});case vt.Kind.FRAGMENT_SPREAD:return n;case vt.Kind.INLINE_FRAGMENT:return K(k({},n),{selectionSet:TN(n.selectionSet)})}})})}function m4(e){return K(k({},e),{definitions:e.definitions.map(t=>t.kind!==vt.Kind.OPERATION_DEFINITION?t:K(k({},t),{selectionSet:TN(t.selectionSet)}))})}function pC(e,t=!0){return(0,vt.parse)(e,{noLocation:t})}function h4(e,t=!0){try{return{documentNode:pC(e,t)}}catch(n){return{error:n}}}});var Oi=V(uO=>{"use strict";m();T();h();Object.defineProperty(uO,"__esModule",{value:!0});uO.devAssert=T4;function T4(e,t){if(!!!e)throw new Error(t)}});var $o=V(cO=>{"use strict";m();T();h();Object.defineProperty(cO,"__esModule",{value:!0});cO.isObjectLike=y4;function y4(e){return typeof e=="object"&&e!==null}});var ci=V(lO=>{"use strict";m();T();h();Object.defineProperty(lO,"__esModule",{value:!0});lO.invariant=N4;function N4(e,t){if(!!!e)throw new Error(t!=null?t:"Unexpected invariant triggered.")}});var NN=V(dO=>{"use strict";m();T();h();Object.defineProperty(dO,"__esModule",{value:!0});dO.getLocation=I4;var E4=ci(),g4=/\r\n|[\n\r]/g;function I4(e,t){let n=0,r=1;for(let i of e.body.matchAll(g4)){if(typeof i.index=="number"||(0,E4.invariant)(!1),i.index>=t)break;n=i.index+i[0].length,r+=1}return{line:r,column:t+1-n}}});var pO=V(EN=>{"use strict";m();T();h();Object.defineProperty(EN,"__esModule",{value:!0});EN.printLocation=_4;EN.printSourceLocation=mC;var v4=NN();function _4(e){return mC(e.source,(0,v4.getLocation)(e.source,e.start))}function mC(e,t){let n=e.locationOffset.column-1,r="".padStart(n)+e.body,i=t.line-1,s=e.locationOffset.line-1,o=t.line+s,u=t.line===1?n:0,l=t.column+u,d=`${e.name}:${o}:${l} +`,p=r.split(/\r\n|[\n\r]/g),y=p[i];if(y.length>120){let N=Math.floor(l/80),I=l%80,O=[];for(let x=0;x["|",x]),["|","^".padStart(I)],["|",O[N+1]]])}return d+fC([[`${o-1} |`,p[i-1]],[`${o} |`,y],["|","^".padStart(l)],[`${o+1} |`,p[i+1]]])}function fC(e){let t=e.filter(([r,i])=>i!==void 0),n=Math.max(...t.map(([r])=>r.length));return t.map(([r,i])=>r.padStart(n)+(i?" "+i:"")).join(` +`)}});var ut=V(Zd=>{"use strict";m();T();h();Object.defineProperty(Zd,"__esModule",{value:!0});Zd.GraphQLError=void 0;Zd.formatError=D4;Zd.printError=S4;var b4=$o(),hC=NN(),TC=pO();function O4(e){let t=e[0];return t==null||"kind"in t||"length"in t?{nodes:t,source:e[1],positions:e[2],path:e[3],originalError:e[4],extensions:e[5]}:t}var fO=class e extends Error{constructor(t,...n){var r,i,s;let{nodes:o,source:u,positions:l,path:d,originalError:p,extensions:y}=O4(n);super(t),this.name="GraphQLError",this.path=d!=null?d:void 0,this.originalError=p!=null?p:void 0,this.nodes=yC(Array.isArray(o)?o:o?[o]:void 0);let N=yC((r=this.nodes)===null||r===void 0?void 0:r.map(O=>O.loc).filter(O=>O!=null));this.source=u!=null?u:N==null||(i=N[0])===null||i===void 0?void 0:i.source,this.positions=l!=null?l:N==null?void 0:N.map(O=>O.start),this.locations=l&&u?l.map(O=>(0,hC.getLocation)(u,O)):N==null?void 0:N.map(O=>(0,hC.getLocation)(O.source,O.start));let I=(0,b4.isObjectLike)(p==null?void 0:p.extensions)?p==null?void 0:p.extensions:void 0;this.extensions=(s=y!=null?y:I)!==null&&s!==void 0?s:Object.create(null),Object.defineProperties(this,{message:{writable:!0,enumerable:!0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),p!=null&&p.stack?Object.defineProperty(this,"stack",{value:p.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}get[Symbol.toStringTag](){return"GraphQLError"}toString(){let t=this.message;if(this.nodes)for(let n of this.nodes)n.loc&&(t+=` -`+(0,mC.printLocation)(n.loc));else if(this.source&&this.locations)for(let n of this.locations)t+=` +`+(0,TC.printLocation)(n.loc));else if(this.source&&this.locations)for(let n of this.locations)t+=` -`+(0,mC.printSourceLocation)(this.source,n);return t}toJSON(){let t={message:this.message};return this.locations!=null&&(t.locations=this.locations),this.path!=null&&(t.path=this.path),this.extensions!=null&&Object.keys(this.extensions).length>0&&(t.extensions=this.extensions),t}};Wd.GraphQLError=fO;function hC(e){return e===void 0||e.length===0?void 0:e}function S4(e){return e.toString()}function D4(e){return e.toJSON()}});var En=V(mO=>{"use strict";m();T();h();Object.defineProperty(mO,"__esModule",{value:!0});mO.inspect=R4;var A4=10,TC=2;function R4(e){return EN(e,[])}function EN(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return F4(e,t);default:return String(e)}}function F4(e,t){if(e===null)return"null";if(t.includes(e))return"[Circular]";let n=[...t,e];if(w4(e)){let r=e.toJSON();if(r!==e)return typeof r=="string"?r:EN(r,n)}else if(Array.isArray(e))return P4(e,n);return L4(e,n)}function w4(e){return typeof e.toJSON=="function"}function L4(e,t){let n=Object.entries(e);return n.length===0?"{}":t.length>TC?"["+k4(e)+"]":"{ "+n.map(([i,s])=>i+": "+EN(s,t)).join(", ")+" }"}function P4(e,t){if(e.length===0)return"[]";if(t.length>TC)return"[Array]";let n=Math.min(A4,e.length),r=e.length-n,i=[];for(let s=0;s1&&i.push(`... ${r} more items`),"["+i.join(", ")+"]"}function k4(e){let t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if(t==="Object"&&typeof e.constructor=="function"){let n=e.constructor.name;if(typeof n=="string"&&n!=="")return n}return t}});var qo=V(ws=>{"use strict";m();T();h();Object.defineProperty(ws,"__esModule",{value:!0});ws.Token=ws.QueryDocumentKeys=ws.OperationTypeNode=ws.Location=void 0;ws.isNode=C4;var hO=class{constructor(t,n,r){this.start=t.start,this.end=n.end,this.startToken=t,this.endToken=n,this.source=r}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}};ws.Location=hO;var TO=class{constructor(t,n,r,i,s,o){this.kind=t,this.start=n,this.end=r,this.line=i,this.column=s,this.value=o,this.prev=null,this.next=null}get[Symbol.toStringTag](){return"Token"}toJSON(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}};ws.Token=TO;var yC={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:["description","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","interfaces","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","interfaces","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"]};ws.QueryDocumentKeys=yC;var x4=new Set(Object.keys(yC));function C4(e){let t=e==null?void 0:e.kind;return typeof t=="string"&&x4.has(t)}var yO;ws.OperationTypeNode=yO;(function(e){e.QUERY="query",e.MUTATION="mutation",e.SUBSCRIPTION="subscription"})(yO||(ws.OperationTypeNode=yO={}))});var en=V(Gm=>{"use strict";m();T();h();Object.defineProperty(Gm,"__esModule",{value:!0});Gm.Kind=void 0;var NO;Gm.Kind=NO;(function(e){e.NAME="Name",e.DOCUMENT="Document",e.OPERATION_DEFINITION="OperationDefinition",e.VARIABLE_DEFINITION="VariableDefinition",e.SELECTION_SET="SelectionSet",e.FIELD="Field",e.ARGUMENT="Argument",e.FRAGMENT_SPREAD="FragmentSpread",e.INLINE_FRAGMENT="InlineFragment",e.FRAGMENT_DEFINITION="FragmentDefinition",e.VARIABLE="Variable",e.INT="IntValue",e.FLOAT="FloatValue",e.STRING="StringValue",e.BOOLEAN="BooleanValue",e.NULL="NullValue",e.ENUM="EnumValue",e.LIST="ListValue",e.OBJECT="ObjectValue",e.OBJECT_FIELD="ObjectField",e.DIRECTIVE="Directive",e.NAMED_TYPE="NamedType",e.LIST_TYPE="ListType",e.NON_NULL_TYPE="NonNullType",e.SCHEMA_DEFINITION="SchemaDefinition",e.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",e.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",e.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",e.FIELD_DEFINITION="FieldDefinition",e.INPUT_VALUE_DEFINITION="InputValueDefinition",e.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",e.UNION_TYPE_DEFINITION="UnionTypeDefinition",e.ENUM_TYPE_DEFINITION="EnumTypeDefinition",e.ENUM_VALUE_DEFINITION="EnumValueDefinition",e.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",e.DIRECTIVE_DEFINITION="DirectiveDefinition",e.SCHEMA_EXTENSION="SchemaExtension",e.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",e.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",e.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",e.UNION_TYPE_EXTENSION="UnionTypeExtension",e.ENUM_TYPE_EXTENSION="EnumTypeExtension",e.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension"})(NO||(Gm.Kind=NO={}))});var pl=V(fc=>{"use strict";m();T();h();Object.defineProperty(fc,"__esModule",{value:!0});fc.BREAK=void 0;fc.getEnterLeaveForKind=gN;fc.getVisitFn=j4;fc.visit=B4;fc.visitInParallel=V4;var U4=Oi(),M4=En(),EO=qo(),NC=en(),Xd=Object.freeze({});fc.BREAK=Xd;function B4(e,t,n=EO.QueryDocumentKeys){let r=new Map;for(let Q of Object.values(NC.Kind))r.set(Q,gN(t,Q));let i,s=Array.isArray(e),o=[e],u=-1,l=[],d=e,p,y,N=[],I=[];do{u++;let Q=u===o.length,re=Q&&l.length!==0;if(Q){if(p=I.length===0?void 0:N[N.length-1],d=y,y=I.pop(),re)if(s){d=d.slice();let pe=0;for(let[ye,Ce]of l){let ht=ye-pe;Ce===null?(d.splice(ht,1),pe++):d[ht]=Ce}}else{d=Object.defineProperties({},Object.getOwnPropertyDescriptors(d));for(let[pe,ye]of l)d[pe]=ye}u=i.index,o=i.keys,l=i.edits,s=i.inArray,i=i.prev}else if(y){if(p=s?u:o[u],d=y[p],d==null)continue;N.push(p)}let se;if(!Array.isArray(d)){var b,C;(0,EO.isNode)(d)||(0,U4.devAssert)(!1,`Invalid AST Node: ${(0,M4.inspect)(d)}.`);let pe=Q?(b=r.get(d.kind))===null||b===void 0?void 0:b.leave:(C=r.get(d.kind))===null||C===void 0?void 0:C.enter;if(se=pe==null?void 0:pe.call(t,d,p,y,N,I),se===Xd)break;if(se===!1){if(!Q){N.pop();continue}}else if(se!==void 0&&(l.push([p,se]),!Q))if((0,EO.isNode)(se))d=se;else{N.pop();continue}}if(se===void 0&&re&&l.push([p,d]),Q)N.pop();else{var j;i={inArray:s,index:u,keys:o,edits:l,prev:i},s=Array.isArray(d),o=s?d:(j=n[d.kind])!==null&&j!==void 0?j:[],u=-1,l=[],y&&I.push(y),y=d}}while(i!==void 0);return l.length!==0?l[l.length-1][1]:e}function V4(e){let t=new Array(e.length).fill(null),n=Object.create(null);for(let r of Object.values(NC.Kind)){let i=!1,s=new Array(e.length).fill(void 0),o=new Array(e.length).fill(void 0);for(let l=0;l{"use strict";m();T();h();Object.defineProperty(gO,"__esModule",{value:!0});gO.didYouMean=q4;var $4=5;function q4(e,t){let[n,r]=t?[e,t]:[void 0,e],i=" Did you mean ";n&&(i+=n+" ");let s=r.map(l=>`"${l}"`);switch(s.length){case 0:return"";case 1:return i+s[0]+"?";case 2:return i+s[0]+" or "+s[1]+"?"}let o=s.slice(0,$4),u=o.pop();return i+o.join(", ")+", or "+u+"?"}});var EC=V(IO=>{"use strict";m();T();h();Object.defineProperty(IO,"__esModule",{value:!0});IO.identityFunc=K4;function K4(e){return e}});var Qm=V(IN=>{"use strict";m();T();h();Object.defineProperty(IN,"__esModule",{value:!0});IN.instanceOf=void 0;var G4=En(),Q4=globalThis.process&&O.env.NODE_ENV==="production",Y4=Q4?function(t,n){return t instanceof n}:function(t,n){if(t instanceof n)return!0;if(typeof t=="object"&&t!==null){var r;let i=n.prototype[Symbol.toStringTag],s=Symbol.toStringTag in t?t[Symbol.toStringTag]:(r=t.constructor)===null||r===void 0?void 0:r.name;if(i===s){let o=(0,G4.inspect)(t);throw new Error(`Cannot use ${i} "${o}" from another module or realm. +`+(0,TC.printSourceLocation)(this.source,n);return t}toJSON(){let t={message:this.message};return this.locations!=null&&(t.locations=this.locations),this.path!=null&&(t.path=this.path),this.extensions!=null&&Object.keys(this.extensions).length>0&&(t.extensions=this.extensions),t}};Zd.GraphQLError=fO;function yC(e){return e===void 0||e.length===0?void 0:e}function S4(e){return e.toString()}function D4(e){return e.toJSON()}});var En=V(mO=>{"use strict";m();T();h();Object.defineProperty(mO,"__esModule",{value:!0});mO.inspect=R4;var A4=10,NC=2;function R4(e){return gN(e,[])}function gN(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return F4(e,t);default:return String(e)}}function F4(e,t){if(e===null)return"null";if(t.includes(e))return"[Circular]";let n=[...t,e];if(w4(e)){let r=e.toJSON();if(r!==e)return typeof r=="string"?r:gN(r,n)}else if(Array.isArray(e))return P4(e,n);return L4(e,n)}function w4(e){return typeof e.toJSON=="function"}function L4(e,t){let n=Object.entries(e);return n.length===0?"{}":t.length>NC?"["+k4(e)+"]":"{ "+n.map(([i,s])=>i+": "+gN(s,t)).join(", ")+" }"}function P4(e,t){if(e.length===0)return"[]";if(t.length>NC)return"[Array]";let n=Math.min(A4,e.length),r=e.length-n,i=[];for(let s=0;s1&&i.push(`... ${r} more items`),"["+i.join(", ")+"]"}function k4(e){let t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if(t==="Object"&&typeof e.constructor=="function"){let n=e.constructor.name;if(typeof n=="string"&&n!=="")return n}return t}});var qo=V(Ls=>{"use strict";m();T();h();Object.defineProperty(Ls,"__esModule",{value:!0});Ls.Token=Ls.QueryDocumentKeys=Ls.OperationTypeNode=Ls.Location=void 0;Ls.isNode=C4;var hO=class{constructor(t,n,r){this.start=t.start,this.end=n.end,this.startToken=t,this.endToken=n,this.source=r}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}};Ls.Location=hO;var TO=class{constructor(t,n,r,i,s,o){this.kind=t,this.start=n,this.end=r,this.line=i,this.column=s,this.value=o,this.prev=null,this.next=null}get[Symbol.toStringTag](){return"Token"}toJSON(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}};Ls.Token=TO;var EC={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:["description","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","interfaces","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","interfaces","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"]};Ls.QueryDocumentKeys=EC;var x4=new Set(Object.keys(EC));function C4(e){let t=e==null?void 0:e.kind;return typeof t=="string"&&x4.has(t)}var yO;Ls.OperationTypeNode=yO;(function(e){e.QUERY="query",e.MUTATION="mutation",e.SUBSCRIPTION="subscription"})(yO||(Ls.OperationTypeNode=yO={}))});var en=V(Qm=>{"use strict";m();T();h();Object.defineProperty(Qm,"__esModule",{value:!0});Qm.Kind=void 0;var NO;Qm.Kind=NO;(function(e){e.NAME="Name",e.DOCUMENT="Document",e.OPERATION_DEFINITION="OperationDefinition",e.VARIABLE_DEFINITION="VariableDefinition",e.SELECTION_SET="SelectionSet",e.FIELD="Field",e.ARGUMENT="Argument",e.FRAGMENT_SPREAD="FragmentSpread",e.INLINE_FRAGMENT="InlineFragment",e.FRAGMENT_DEFINITION="FragmentDefinition",e.VARIABLE="Variable",e.INT="IntValue",e.FLOAT="FloatValue",e.STRING="StringValue",e.BOOLEAN="BooleanValue",e.NULL="NullValue",e.ENUM="EnumValue",e.LIST="ListValue",e.OBJECT="ObjectValue",e.OBJECT_FIELD="ObjectField",e.DIRECTIVE="Directive",e.NAMED_TYPE="NamedType",e.LIST_TYPE="ListType",e.NON_NULL_TYPE="NonNullType",e.SCHEMA_DEFINITION="SchemaDefinition",e.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",e.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",e.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",e.FIELD_DEFINITION="FieldDefinition",e.INPUT_VALUE_DEFINITION="InputValueDefinition",e.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",e.UNION_TYPE_DEFINITION="UnionTypeDefinition",e.ENUM_TYPE_DEFINITION="EnumTypeDefinition",e.ENUM_VALUE_DEFINITION="EnumValueDefinition",e.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",e.DIRECTIVE_DEFINITION="DirectiveDefinition",e.SCHEMA_EXTENSION="SchemaExtension",e.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",e.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",e.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",e.UNION_TYPE_EXTENSION="UnionTypeExtension",e.ENUM_TYPE_EXTENSION="EnumTypeExtension",e.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension"})(NO||(Qm.Kind=NO={}))});var ml=V(fc=>{"use strict";m();T();h();Object.defineProperty(fc,"__esModule",{value:!0});fc.BREAK=void 0;fc.getEnterLeaveForKind=IN;fc.getVisitFn=j4;fc.visit=B4;fc.visitInParallel=V4;var U4=Oi(),M4=En(),EO=qo(),gC=en(),ep=Object.freeze({});fc.BREAK=ep;function B4(e,t,n=EO.QueryDocumentKeys){let r=new Map;for(let Q of Object.values(gC.Kind))r.set(Q,IN(t,Q));let i,s=Array.isArray(e),o=[e],u=-1,l=[],d=e,p,y,N=[],I=[];do{u++;let Q=u===o.length,re=Q&&l.length!==0;if(Q){if(p=I.length===0?void 0:N[N.length-1],d=y,y=I.pop(),re)if(s){d=d.slice();let pe=0;for(let[ye,Ce]of l){let ht=ye-pe;Ce===null?(d.splice(ht,1),pe++):d[ht]=Ce}}else{d=Object.defineProperties({},Object.getOwnPropertyDescriptors(d));for(let[pe,ye]of l)d[pe]=ye}u=i.index,o=i.keys,l=i.edits,s=i.inArray,i=i.prev}else if(y){if(p=s?u:o[u],d=y[p],d==null)continue;N.push(p)}let se;if(!Array.isArray(d)){var O,x;(0,EO.isNode)(d)||(0,U4.devAssert)(!1,`Invalid AST Node: ${(0,M4.inspect)(d)}.`);let pe=Q?(O=r.get(d.kind))===null||O===void 0?void 0:O.leave:(x=r.get(d.kind))===null||x===void 0?void 0:x.enter;if(se=pe==null?void 0:pe.call(t,d,p,y,N,I),se===ep)break;if(se===!1){if(!Q){N.pop();continue}}else if(se!==void 0&&(l.push([p,se]),!Q))if((0,EO.isNode)(se))d=se;else{N.pop();continue}}if(se===void 0&&re&&l.push([p,d]),Q)N.pop();else{var j;i={inArray:s,index:u,keys:o,edits:l,prev:i},s=Array.isArray(d),o=s?d:(j=n[d.kind])!==null&&j!==void 0?j:[],u=-1,l=[],y&&I.push(y),y=d}}while(i!==void 0);return l.length!==0?l[l.length-1][1]:e}function V4(e){let t=new Array(e.length).fill(null),n=Object.create(null);for(let r of Object.values(gC.Kind)){let i=!1,s=new Array(e.length).fill(void 0),o=new Array(e.length).fill(void 0);for(let l=0;l{"use strict";m();T();h();Object.defineProperty(gO,"__esModule",{value:!0});gO.didYouMean=q4;var $4=5;function q4(e,t){let[n,r]=t?[e,t]:[void 0,e],i=" Did you mean ";n&&(i+=n+" ");let s=r.map(l=>`"${l}"`);switch(s.length){case 0:return"";case 1:return i+s[0]+"?";case 2:return i+s[0]+" or "+s[1]+"?"}let o=s.slice(0,$4),u=o.pop();return i+o.join(", ")+", or "+u+"?"}});var IC=V(IO=>{"use strict";m();T();h();Object.defineProperty(IO,"__esModule",{value:!0});IO.identityFunc=K4;function K4(e){return e}});var Ym=V(vN=>{"use strict";m();T();h();Object.defineProperty(vN,"__esModule",{value:!0});vN.instanceOf=void 0;var G4=En(),Q4=globalThis.process&&b.env.NODE_ENV==="production",Y4=Q4?function(t,n){return t instanceof n}:function(t,n){if(t instanceof n)return!0;if(typeof t=="object"&&t!==null){var r;let i=n.prototype[Symbol.toStringTag],s=Symbol.toStringTag in t?t[Symbol.toStringTag]:(r=t.constructor)===null||r===void 0?void 0:r.name;if(i===s){let o=(0,G4.inspect)(t);throw new Error(`Cannot use ${i} "${o}" from another module or realm. Ensure that there is only one instance of "graphql" in the node_modules directory. If different versions of "graphql" are the dependencies of other @@ -207,19 +207,19 @@ https://yarnpkg.com/en/docs/selective-version-resolutions Duplicate "graphql" modules cannot be used at the same time since different versions may have different capabilities and behavior. The data from one version used in the function from another could produce confusing and -spurious results.`)}}return!1};IN.instanceOf=Y4});var hc=V(vO=>{"use strict";m();T();h();Object.defineProperty(vO,"__esModule",{value:!0});vO.keyMap=J4;function J4(e,t){let n=Object.create(null);for(let r of e)n[t(r)]=r;return n}});var Ym=V(_O=>{"use strict";m();T();h();Object.defineProperty(_O,"__esModule",{value:!0});_O.keyValMap=z4;function z4(e,t,n){let r=Object.create(null);for(let i of e)r[t(i)]=n(i);return r}});var OO=V(bO=>{"use strict";m();T();h();Object.defineProperty(bO,"__esModule",{value:!0});bO.mapValue=H4;function H4(e,t){let n=Object.create(null);for(let r of Object.keys(e))n[r]=t(e[r],r);return n}});var Jm=V(DO=>{"use strict";m();T();h();Object.defineProperty(DO,"__esModule",{value:!0});DO.naturalCompare=W4;function W4(e,t){let n=0,r=0;for(;n0);let u=0;do++r,u=u*10+s-SO,s=t.charCodeAt(r);while(vN(s)&&u>0);if(ou)return 1}else{if(is)return 1;++n,++r}}return e.length-t.length}var SO=48,X4=57;function vN(e){return!isNaN(e)&&SO<=e&&e<=X4}});var Tc=V(RO=>{"use strict";m();T();h();Object.defineProperty(RO,"__esModule",{value:!0});RO.suggestionList=e8;var Z4=Jm();function e8(e,t){let n=Object.create(null),r=new AO(e),i=Math.floor(e.length*.4)+1;for(let s of t){let o=r.measure(s,i);o!==void 0&&(n[s]=o)}return Object.keys(n).sort((s,o)=>{let u=n[s]-n[o];return u!==0?u:(0,Z4.naturalCompare)(s,o)})}var AO=class{constructor(t){this._input=t,this._inputLowerCase=t.toLowerCase(),this._inputArray=gC(this._inputLowerCase),this._rows=[new Array(t.length+1).fill(0),new Array(t.length+1).fill(0),new Array(t.length+1).fill(0)]}measure(t,n){if(this._input===t)return 0;let r=t.toLowerCase();if(this._inputLowerCase===r)return 1;let i=gC(r),s=this._inputArray;if(i.lengthn)return;let l=this._rows;for(let p=0;p<=u;p++)l[0][p]=p;for(let p=1;p<=o;p++){let y=l[(p-1)%3],N=l[p%3],I=N[0]=p;for(let b=1;b<=u;b++){let C=i[p-1]===s[b-1]?0:1,j=Math.min(y[b]+1,N[b-1]+1,y[b-1]+C);if(p>1&&b>1&&i[p-1]===s[b-2]&&i[p-2]===s[b-1]){let Q=l[(p-2)%3][b-2];j=Math.min(j,Q+1)}jn)return}let d=l[o%3][u];return d<=n?d:void 0}};function gC(e){let t=e.length,n=new Array(t);for(let r=0;r{"use strict";m();T();h();Object.defineProperty(FO,"__esModule",{value:!0});FO.toObjMap=t8;function t8(e){if(e==null)return Object.create(null);if(Object.getPrototypeOf(e)===null)return e;let t=Object.create(null);for(let[n,r]of Object.entries(e))t[n]=r;return t}});var bN=V(fl=>{"use strict";m();T();h();Object.defineProperty(fl,"__esModule",{value:!0});fl.isDigit=IC;fl.isLetter=wO;fl.isNameContinue=i8;fl.isNameStart=r8;fl.isWhiteSpace=n8;function n8(e){return e===9||e===32}function IC(e){return e>=48&&e<=57}function wO(e){return e>=97&&e<=122||e>=65&&e<=90}function r8(e){return wO(e)||e===95}function i8(e){return wO(e)||IC(e)||e===95}});var Hm=V(zm=>{"use strict";m();T();h();Object.defineProperty(zm,"__esModule",{value:!0});zm.dedentBlockStringLines=s8;zm.isPrintableAsBlockString=a8;zm.printBlockString=u8;var LO=bN();function s8(e){var t;let n=Number.MAX_SAFE_INTEGER,r=null,i=-1;for(let o=0;ou===0?o:o.slice(n)).slice((t=r)!==null&&t!==void 0?t:0,i+1)}function o8(e){let t=0;for(;t1&&r.slice(1).every(I=>I.length===0||(0,LO.isWhiteSpace)(I.charCodeAt(0))),o=n.endsWith('\\"""'),u=e.endsWith('"')&&!o,l=e.endsWith("\\"),d=u||l,p=!(t!=null&&t.minimize)&&(!i||e.length>70||d||s||o),y="",N=i&&(0,LO.isWhiteSpace)(e.charCodeAt(0));return(p&&!N||s)&&(y+=` +spurious results.`)}}return!1};vN.instanceOf=Y4});var hc=V(vO=>{"use strict";m();T();h();Object.defineProperty(vO,"__esModule",{value:!0});vO.keyMap=J4;function J4(e,t){let n=Object.create(null);for(let r of e)n[t(r)]=r;return n}});var Jm=V(_O=>{"use strict";m();T();h();Object.defineProperty(_O,"__esModule",{value:!0});_O.keyValMap=z4;function z4(e,t,n){let r=Object.create(null);for(let i of e)r[t(i)]=n(i);return r}});var OO=V(bO=>{"use strict";m();T();h();Object.defineProperty(bO,"__esModule",{value:!0});bO.mapValue=H4;function H4(e,t){let n=Object.create(null);for(let r of Object.keys(e))n[r]=t(e[r],r);return n}});var zm=V(DO=>{"use strict";m();T();h();Object.defineProperty(DO,"__esModule",{value:!0});DO.naturalCompare=W4;function W4(e,t){let n=0,r=0;for(;n0);let u=0;do++r,u=u*10+s-SO,s=t.charCodeAt(r);while(_N(s)&&u>0);if(ou)return 1}else{if(is)return 1;++n,++r}}return e.length-t.length}var SO=48,X4=57;function _N(e){return!isNaN(e)&&SO<=e&&e<=X4}});var Tc=V(RO=>{"use strict";m();T();h();Object.defineProperty(RO,"__esModule",{value:!0});RO.suggestionList=e8;var Z4=zm();function e8(e,t){let n=Object.create(null),r=new AO(e),i=Math.floor(e.length*.4)+1;for(let s of t){let o=r.measure(s,i);o!==void 0&&(n[s]=o)}return Object.keys(n).sort((s,o)=>{let u=n[s]-n[o];return u!==0?u:(0,Z4.naturalCompare)(s,o)})}var AO=class{constructor(t){this._input=t,this._inputLowerCase=t.toLowerCase(),this._inputArray=vC(this._inputLowerCase),this._rows=[new Array(t.length+1).fill(0),new Array(t.length+1).fill(0),new Array(t.length+1).fill(0)]}measure(t,n){if(this._input===t)return 0;let r=t.toLowerCase();if(this._inputLowerCase===r)return 1;let i=vC(r),s=this._inputArray;if(i.lengthn)return;let l=this._rows;for(let p=0;p<=u;p++)l[0][p]=p;for(let p=1;p<=o;p++){let y=l[(p-1)%3],N=l[p%3],I=N[0]=p;for(let O=1;O<=u;O++){let x=i[p-1]===s[O-1]?0:1,j=Math.min(y[O]+1,N[O-1]+1,y[O-1]+x);if(p>1&&O>1&&i[p-1]===s[O-2]&&i[p-2]===s[O-1]){let Q=l[(p-2)%3][O-2];j=Math.min(j,Q+1)}jn)return}let d=l[o%3][u];return d<=n?d:void 0}};function vC(e){let t=e.length,n=new Array(t);for(let r=0;r{"use strict";m();T();h();Object.defineProperty(FO,"__esModule",{value:!0});FO.toObjMap=t8;function t8(e){if(e==null)return Object.create(null);if(Object.getPrototypeOf(e)===null)return e;let t=Object.create(null);for(let[n,r]of Object.entries(e))t[n]=r;return t}});var ON=V(hl=>{"use strict";m();T();h();Object.defineProperty(hl,"__esModule",{value:!0});hl.isDigit=_C;hl.isLetter=wO;hl.isNameContinue=i8;hl.isNameStart=r8;hl.isWhiteSpace=n8;function n8(e){return e===9||e===32}function _C(e){return e>=48&&e<=57}function wO(e){return e>=97&&e<=122||e>=65&&e<=90}function r8(e){return wO(e)||e===95}function i8(e){return wO(e)||_C(e)||e===95}});var Wm=V(Hm=>{"use strict";m();T();h();Object.defineProperty(Hm,"__esModule",{value:!0});Hm.dedentBlockStringLines=s8;Hm.isPrintableAsBlockString=a8;Hm.printBlockString=u8;var LO=ON();function s8(e){var t;let n=Number.MAX_SAFE_INTEGER,r=null,i=-1;for(let o=0;ou===0?o:o.slice(n)).slice((t=r)!==null&&t!==void 0?t:0,i+1)}function o8(e){let t=0;for(;t1&&r.slice(1).every(I=>I.length===0||(0,LO.isWhiteSpace)(I.charCodeAt(0))),o=n.endsWith('\\"""'),u=e.endsWith('"')&&!o,l=e.endsWith("\\"),d=u||l,p=!(t!=null&&t.minimize)&&(!i||e.length>70||d||s||o),y="",N=i&&(0,LO.isWhiteSpace)(e.charCodeAt(0));return(p&&!N||s)&&(y+=` `),y+=n,(p||d)&&(y+=` -`),'"""'+y+'"""'}});var vC=V(PO=>{"use strict";m();T();h();Object.defineProperty(PO,"__esModule",{value:!0});PO.printString=c8;function c8(e){return`"${e.replace(l8,d8)}"`}var l8=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function d8(e){return p8[e.charCodeAt(0)]}var p8=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F","","",'\\"',"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\\\","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\u007F","\\u0080","\\u0081","\\u0082","\\u0083","\\u0084","\\u0085","\\u0086","\\u0087","\\u0088","\\u0089","\\u008A","\\u008B","\\u008C","\\u008D","\\u008E","\\u008F","\\u0090","\\u0091","\\u0092","\\u0093","\\u0094","\\u0095","\\u0096","\\u0097","\\u0098","\\u0099","\\u009A","\\u009B","\\u009C","\\u009D","\\u009E","\\u009F"]});var ds=V(kO=>{"use strict";m();T();h();Object.defineProperty(kO,"__esModule",{value:!0});kO.print=T8;var f8=Hm(),m8=vC(),h8=pl();function T8(e){return(0,h8.visit)(e,N8)}var y8=80,N8={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>Ye(e.definitions,` +`),'"""'+y+'"""'}});var bC=V(PO=>{"use strict";m();T();h();Object.defineProperty(PO,"__esModule",{value:!0});PO.printString=c8;function c8(e){return`"${e.replace(l8,d8)}"`}var l8=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function d8(e){return p8[e.charCodeAt(0)]}var p8=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F","","",'\\"',"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\\\","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\u007F","\\u0080","\\u0081","\\u0082","\\u0083","\\u0084","\\u0085","\\u0086","\\u0087","\\u0088","\\u0089","\\u008A","\\u008B","\\u008C","\\u008D","\\u008E","\\u008F","\\u0090","\\u0091","\\u0092","\\u0093","\\u0094","\\u0095","\\u0096","\\u0097","\\u0098","\\u0099","\\u009A","\\u009B","\\u009C","\\u009D","\\u009E","\\u009F"]});var ds=V(kO=>{"use strict";m();T();h();Object.defineProperty(kO,"__esModule",{value:!0});kO.print=T8;var f8=Wm(),m8=bC(),h8=ml();function T8(e){return(0,h8.visit)(e,N8)}var y8=80,N8={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>Ye(e.definitions,` `)},OperationDefinition:{leave(e){let t=Jt("(",Ye(e.variableDefinitions,", "),")"),n=Ye([e.operation,Ye([e.name,t]),Ye(e.directives," ")]," ");return(n==="query"?"":n+" ")+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:n,directives:r})=>e+": "+t+Jt(" = ",n)+Jt(" ",Ye(r," "))},SelectionSet:{leave:({selections:e})=>lo(e)},Field:{leave({alias:e,name:t,arguments:n,directives:r,selectionSet:i}){let s=Jt("",e,": ")+t,o=s+Jt("(",Ye(n,", "),")");return o.length>y8&&(o=s+Jt(`( -`,ON(Ye(n,` +`,SN(Ye(n,` `)),` )`)),Ye([o,Ye(r," "),i]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+Jt(" ",Ye(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:n})=>Ye(["...",Jt("on ",e),Ye(t," "),n]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:n,directives:r,selectionSet:i})=>`fragment ${e}${Jt("(",Ye(n,", "),")")} on ${t} ${Jt("",Ye(r," ")," ")}`+i},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?(0,f8.printBlockString)(e):(0,m8.printString)(e)},BooleanValue:{leave:({value:e})=>e?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:e})=>e},ListValue:{leave:({values:e})=>"["+Ye(e,", ")+"]"},ObjectValue:{leave:({fields:e})=>"{"+Ye(e,", ")+"}"},ObjectField:{leave:({name:e,value:t})=>e+": "+t},Directive:{leave:({name:e,arguments:t})=>"@"+e+Jt("(",Ye(t,", "),")")},NamedType:{leave:({name:e})=>e},ListType:{leave:({type:e})=>"["+e+"]"},NonNullType:{leave:({type:e})=>e+"!"},SchemaDefinition:{leave:({description:e,directives:t,operationTypes:n})=>Jt("",e,` `)+Ye(["schema",Ye(t," "),lo(n)]," ")},OperationTypeDefinition:{leave:({operation:e,type:t})=>e+": "+t},ScalarTypeDefinition:{leave:({description:e,name:t,directives:n})=>Jt("",e,` `)+Ye(["scalar",t,Ye(n," ")]," ")},ObjectTypeDefinition:{leave:({description:e,name:t,interfaces:n,directives:r,fields:i})=>Jt("",e,` `)+Ye(["type",t,Jt("implements ",Ye(n," & ")),Ye(r," "),lo(i)]," ")},FieldDefinition:{leave:({description:e,name:t,arguments:n,type:r,directives:i})=>Jt("",e,` -`)+t+(_C(n)?Jt(`( -`,ON(Ye(n,` +`)+t+(OC(n)?Jt(`( +`,SN(Ye(n,` `)),` )`):Jt("(",Ye(n,", "),")"))+": "+r+Jt(" ",Ye(i," "))},InputValueDefinition:{leave:({description:e,name:t,type:n,defaultValue:r,directives:i})=>Jt("",e,` `)+Ye([t+": "+n,Jt("= ",r),Ye(i," ")]," ")},InterfaceTypeDefinition:{leave:({description:e,name:t,interfaces:n,directives:r,fields:i})=>Jt("",e,` @@ -228,23 +228,23 @@ spurious results.`)}}return!1};IN.instanceOf=Y4});var hc=V(vO=>{"use strict";m() `)+Ye(["enum",t,Ye(n," "),lo(r)]," ")},EnumValueDefinition:{leave:({description:e,name:t,directives:n})=>Jt("",e,` `)+Ye([t,Ye(n," ")]," ")},InputObjectTypeDefinition:{leave:({description:e,name:t,directives:n,fields:r})=>Jt("",e,` `)+Ye(["input",t,Ye(n," "),lo(r)]," ")},DirectiveDefinition:{leave:({description:e,name:t,arguments:n,repeatable:r,locations:i})=>Jt("",e,` -`)+"directive @"+t+(_C(n)?Jt(`( -`,ON(Ye(n,` +`)+"directive @"+t+(OC(n)?Jt(`( +`,SN(Ye(n,` `)),` )`):Jt("(",Ye(n,", "),")"))+(r?" repeatable":"")+" on "+Ye(i," | ")},SchemaExtension:{leave:({directives:e,operationTypes:t})=>Ye(["extend schema",Ye(e," "),lo(t)]," ")},ScalarTypeExtension:{leave:({name:e,directives:t})=>Ye(["extend scalar",e,Ye(t," ")]," ")},ObjectTypeExtension:{leave:({name:e,interfaces:t,directives:n,fields:r})=>Ye(["extend type",e,Jt("implements ",Ye(t," & ")),Ye(n," "),lo(r)]," ")},InterfaceTypeExtension:{leave:({name:e,interfaces:t,directives:n,fields:r})=>Ye(["extend interface",e,Jt("implements ",Ye(t," & ")),Ye(n," "),lo(r)]," ")},UnionTypeExtension:{leave:({name:e,directives:t,types:n})=>Ye(["extend union",e,Ye(t," "),Jt("= ",Ye(n," | "))]," ")},EnumTypeExtension:{leave:({name:e,directives:t,values:n})=>Ye(["extend enum",e,Ye(t," "),lo(n)]," ")},InputObjectTypeExtension:{leave:({name:e,directives:t,fields:n})=>Ye(["extend input",e,Ye(t," "),lo(n)]," ")}};function Ye(e,t=""){var n;return(n=e==null?void 0:e.filter(r=>r).join(t))!==null&&n!==void 0?n:""}function lo(e){return Jt(`{ -`,ON(Ye(e,` +`,SN(Ye(e,` `)),` -}`)}function Jt(e,t,n=""){return t!=null&&t!==""?e+t+n:""}function ON(e){return Jt(" ",e.replace(/\n/g,` - `))}function _C(e){var t;return(t=e==null?void 0:e.some(n=>n.includes(` -`)))!==null&&t!==void 0?t:!1}});var UO=V(CO=>{"use strict";m();T();h();Object.defineProperty(CO,"__esModule",{value:!0});CO.valueFromASTUntyped=xO;var E8=Ym(),Ca=en();function xO(e,t){switch(e.kind){case Ca.Kind.NULL:return null;case Ca.Kind.INT:return parseInt(e.value,10);case Ca.Kind.FLOAT:return parseFloat(e.value);case Ca.Kind.STRING:case Ca.Kind.ENUM:case Ca.Kind.BOOLEAN:return e.value;case Ca.Kind.LIST:return e.values.map(n=>xO(n,t));case Ca.Kind.OBJECT:return(0,E8.keyValMap)(e.fields,n=>n.name.value,n=>xO(n.value,t));case Ca.Kind.VARIABLE:return t==null?void 0:t[e.name.value]}}});var Wm=V(DN=>{"use strict";m();T();h();Object.defineProperty(DN,"__esModule",{value:!0});DN.assertEnumValueName=g8;DN.assertName=SC;var bC=Oi(),SN=at(),OC=bN();function SC(e){if(e!=null||(0,bC.devAssert)(!1,"Must provide name."),typeof e=="string"||(0,bC.devAssert)(!1,"Expected name to be a string."),e.length===0)throw new SN.GraphQLError("Expected name to be a non-empty string.");for(let t=1;t{"use strict";m();T();h();Object.defineProperty(We,"__esModule",{value:!0});We.GraphQLUnionType=We.GraphQLScalarType=We.GraphQLObjectType=We.GraphQLNonNull=We.GraphQLList=We.GraphQLInterfaceType=We.GraphQLInputObjectType=We.GraphQLEnumType=void 0;We.argsToArgsConfig=BC;We.assertAbstractType=V8;We.assertCompositeType=B8;We.assertEnumType=L8;We.assertInputObjectType=P8;We.assertInputType=C8;We.assertInterfaceType=F8;We.assertLeafType=M8;We.assertListType=k8;We.assertNamedType=K8;We.assertNonNullType=x8;We.assertNullableType=$8;We.assertObjectType=R8;We.assertOutputType=U8;We.assertScalarType=A8;We.assertType=D8;We.assertUnionType=w8;We.assertWrappingType=j8;We.defineArguments=UC;We.getNamedType=G8;We.getNullableType=q8;We.isAbstractType=PC;We.isCompositeType=LC;We.isEnumType=yl;We.isInputObjectType=Zm;We.isInputType=MO;We.isInterfaceType=hl;We.isLeafType=wC;We.isListType=BN;We.isNamedType=kC;We.isNonNullType=Nc;We.isNullableType=VO;We.isObjectType=ep;We.isOutputType=BO;We.isRequiredArgument=Q8;We.isRequiredInputField=z8;We.isScalarType=ml;We.isType=MN;We.isUnionType=Tl;We.isWrappingType=eh;We.resolveObjMapThunk=$O;We.resolveReadonlyArrayThunk=jO;var jr=Oi(),I8=mc(),DC=EC(),Ln=En(),yc=Qm(),v8=$o(),_8=hc(),FC=Ym(),UN=OO(),b8=Tc(),Ko=_N(),Xm=at(),O8=en(),AC=ds(),S8=UO(),Go=Wm();function MN(e){return ml(e)||ep(e)||hl(e)||Tl(e)||yl(e)||Zm(e)||BN(e)||Nc(e)}function D8(e){if(!MN(e))throw new Error(`Expected ${(0,Ln.inspect)(e)} to be a GraphQL type.`);return e}function ml(e){return(0,yc.instanceOf)(e,wN)}function A8(e){if(!ml(e))throw new Error(`Expected ${(0,Ln.inspect)(e)} to be a GraphQL Scalar type.`);return e}function ep(e){return(0,yc.instanceOf)(e,LN)}function R8(e){if(!ep(e))throw new Error(`Expected ${(0,Ln.inspect)(e)} to be a GraphQL Object type.`);return e}function hl(e){return(0,yc.instanceOf)(e,PN)}function F8(e){if(!hl(e))throw new Error(`Expected ${(0,Ln.inspect)(e)} to be a GraphQL Interface type.`);return e}function Tl(e){return(0,yc.instanceOf)(e,kN)}function w8(e){if(!Tl(e))throw new Error(`Expected ${(0,Ln.inspect)(e)} to be a GraphQL Union type.`);return e}function yl(e){return(0,yc.instanceOf)(e,xN)}function L8(e){if(!yl(e))throw new Error(`Expected ${(0,Ln.inspect)(e)} to be a GraphQL Enum type.`);return e}function Zm(e){return(0,yc.instanceOf)(e,CN)}function P8(e){if(!Zm(e))throw new Error(`Expected ${(0,Ln.inspect)(e)} to be a GraphQL Input Object type.`);return e}function BN(e){return(0,yc.instanceOf)(e,RN)}function k8(e){if(!BN(e))throw new Error(`Expected ${(0,Ln.inspect)(e)} to be a GraphQL List type.`);return e}function Nc(e){return(0,yc.instanceOf)(e,FN)}function x8(e){if(!Nc(e))throw new Error(`Expected ${(0,Ln.inspect)(e)} to be a GraphQL Non-Null type.`);return e}function MO(e){return ml(e)||yl(e)||Zm(e)||eh(e)&&MO(e.ofType)}function C8(e){if(!MO(e))throw new Error(`Expected ${(0,Ln.inspect)(e)} to be a GraphQL input type.`);return e}function BO(e){return ml(e)||ep(e)||hl(e)||Tl(e)||yl(e)||eh(e)&&BO(e.ofType)}function U8(e){if(!BO(e))throw new Error(`Expected ${(0,Ln.inspect)(e)} to be a GraphQL output type.`);return e}function wC(e){return ml(e)||yl(e)}function M8(e){if(!wC(e))throw new Error(`Expected ${(0,Ln.inspect)(e)} to be a GraphQL leaf type.`);return e}function LC(e){return ep(e)||hl(e)||Tl(e)}function B8(e){if(!LC(e))throw new Error(`Expected ${(0,Ln.inspect)(e)} to be a GraphQL composite type.`);return e}function PC(e){return hl(e)||Tl(e)}function V8(e){if(!PC(e))throw new Error(`Expected ${(0,Ln.inspect)(e)} to be a GraphQL abstract type.`);return e}var RN=class{constructor(t){MN(t)||(0,jr.devAssert)(!1,`Expected ${(0,Ln.inspect)(t)} to be a GraphQL type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLList"}toString(){return"["+String(this.ofType)+"]"}toJSON(){return this.toString()}};We.GraphQLList=RN;var FN=class{constructor(t){VO(t)||(0,jr.devAssert)(!1,`Expected ${(0,Ln.inspect)(t)} to be a GraphQL nullable type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLNonNull"}toString(){return String(this.ofType)+"!"}toJSON(){return this.toString()}};We.GraphQLNonNull=FN;function eh(e){return BN(e)||Nc(e)}function j8(e){if(!eh(e))throw new Error(`Expected ${(0,Ln.inspect)(e)} to be a GraphQL wrapping type.`);return e}function VO(e){return MN(e)&&!Nc(e)}function $8(e){if(!VO(e))throw new Error(`Expected ${(0,Ln.inspect)(e)} to be a GraphQL nullable type.`);return e}function q8(e){if(e)return Nc(e)?e.ofType:e}function kC(e){return ml(e)||ep(e)||hl(e)||Tl(e)||yl(e)||Zm(e)}function K8(e){if(!kC(e))throw new Error(`Expected ${(0,Ln.inspect)(e)} to be a GraphQL named type.`);return e}function G8(e){if(e){let t=e;for(;eh(t);)t=t.ofType;return t}}function jO(e){return typeof e=="function"?e():e}function $O(e){return typeof e=="function"?e():e}var wN=class{constructor(t){var n,r,i,s;let o=(n=t.parseValue)!==null&&n!==void 0?n:DC.identityFunc;this.name=(0,Go.assertName)(t.name),this.description=t.description,this.specifiedByURL=t.specifiedByURL,this.serialize=(r=t.serialize)!==null&&r!==void 0?r:DC.identityFunc,this.parseValue=o,this.parseLiteral=(i=t.parseLiteral)!==null&&i!==void 0?i:(u,l)=>o((0,S8.valueFromASTUntyped)(u,l)),this.extensions=(0,Ko.toObjMap)(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(s=t.extensionASTNodes)!==null&&s!==void 0?s:[],t.specifiedByURL==null||typeof t.specifiedByURL=="string"||(0,jr.devAssert)(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${(0,Ln.inspect)(t.specifiedByURL)}.`),t.serialize==null||typeof t.serialize=="function"||(0,jr.devAssert)(!1,`${this.name} must provide "serialize" function. If this custom Scalar is also used as an input type, ensure "parseValue" and "parseLiteral" functions are also provided.`),t.parseLiteral&&(typeof t.parseValue=="function"&&typeof t.parseLiteral=="function"||(0,jr.devAssert)(!1,`${this.name} must provide both "parseValue" and "parseLiteral" functions.`))}get[Symbol.toStringTag](){return"GraphQLScalarType"}toConfig(){return{name:this.name,description:this.description,specifiedByURL:this.specifiedByURL,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};We.GraphQLScalarType=wN;var LN=class{constructor(t){var n;this.name=(0,Go.assertName)(t.name),this.description=t.description,this.isTypeOf=t.isTypeOf,this.extensions=(0,Ko.toObjMap)(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this._fields=()=>CC(t),this._interfaces=()=>xC(t),t.isTypeOf==null||typeof t.isTypeOf=="function"||(0,jr.devAssert)(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${(0,Ln.inspect)(t.isTypeOf)}.`)}get[Symbol.toStringTag](){return"GraphQLObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:MC(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};We.GraphQLObjectType=LN;function xC(e){var t;let n=jO((t=e.interfaces)!==null&&t!==void 0?t:[]);return Array.isArray(n)||(0,jr.devAssert)(!1,`${e.name} interfaces must be an Array or a function which returns an Array.`),n}function CC(e){let t=$O(e.fields);return Zd(t)||(0,jr.devAssert)(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),(0,UN.mapValue)(t,(n,r)=>{var i;Zd(n)||(0,jr.devAssert)(!1,`${e.name}.${r} field config must be an object.`),n.resolve==null||typeof n.resolve=="function"||(0,jr.devAssert)(!1,`${e.name}.${r} field resolver must be a function if provided, but got: ${(0,Ln.inspect)(n.resolve)}.`);let s=(i=n.args)!==null&&i!==void 0?i:{};return Zd(s)||(0,jr.devAssert)(!1,`${e.name}.${r} args must be an object with argument names as keys.`),{name:(0,Go.assertName)(r),description:n.description,type:n.type,args:UC(s),resolve:n.resolve,subscribe:n.subscribe,deprecationReason:n.deprecationReason,extensions:(0,Ko.toObjMap)(n.extensions),astNode:n.astNode}})}function UC(e){return Object.entries(e).map(([t,n])=>({name:(0,Go.assertName)(t),description:n.description,type:n.type,defaultValue:n.defaultValue,deprecationReason:n.deprecationReason,extensions:(0,Ko.toObjMap)(n.extensions),astNode:n.astNode}))}function Zd(e){return(0,v8.isObjectLike)(e)&&!Array.isArray(e)}function MC(e){return(0,UN.mapValue)(e,t=>({description:t.description,type:t.type,args:BC(t.args),resolve:t.resolve,subscribe:t.subscribe,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}function BC(e){return(0,FC.keyValMap)(e,t=>t.name,t=>({description:t.description,type:t.type,defaultValue:t.defaultValue,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}function Q8(e){return Nc(e.type)&&e.defaultValue===void 0}var PN=class{constructor(t){var n;this.name=(0,Go.assertName)(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=(0,Ko.toObjMap)(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this._fields=CC.bind(void 0,t),this._interfaces=xC.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||(0,jr.devAssert)(!1,`${this.name} must provide "resolveType" as a function, but got: ${(0,Ln.inspect)(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLInterfaceType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:MC(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};We.GraphQLInterfaceType=PN;var kN=class{constructor(t){var n;this.name=(0,Go.assertName)(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=(0,Ko.toObjMap)(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this._types=Y8.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||(0,jr.devAssert)(!1,`${this.name} must provide "resolveType" as a function, but got: ${(0,Ln.inspect)(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLUnionType"}getTypes(){return typeof this._types=="function"&&(this._types=this._types()),this._types}toConfig(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};We.GraphQLUnionType=kN;function Y8(e){let t=jO(e.types);return Array.isArray(t)||(0,jr.devAssert)(!1,`Must provide Array of types or a function which returns such an array for Union ${e.name}.`),t}var xN=class{constructor(t){var n;this.name=(0,Go.assertName)(t.name),this.description=t.description,this.extensions=(0,Ko.toObjMap)(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this._values=typeof t.values=="function"?t.values:RC(this.name,t.values),this._valueLookup=null,this._nameLookup=null}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return typeof this._values=="function"&&(this._values=RC(this.name,this._values())),this._values}getValue(t){return this._nameLookup===null&&(this._nameLookup=(0,_8.keyMap)(this.getValues(),n=>n.name)),this._nameLookup[t]}serialize(t){this._valueLookup===null&&(this._valueLookup=new Map(this.getValues().map(r=>[r.value,r])));let n=this._valueLookup.get(t);if(n===void 0)throw new Xm.GraphQLError(`Enum "${this.name}" cannot represent value: ${(0,Ln.inspect)(t)}`);return n.name}parseValue(t){if(typeof t!="string"){let r=(0,Ln.inspect)(t);throw new Xm.GraphQLError(`Enum "${this.name}" cannot represent non-string value: ${r}.`+AN(this,r))}let n=this.getValue(t);if(n==null)throw new Xm.GraphQLError(`Value "${t}" does not exist in "${this.name}" enum.`+AN(this,t));return n.value}parseLiteral(t,n){if(t.kind!==O8.Kind.ENUM){let i=(0,AC.print)(t);throw new Xm.GraphQLError(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+AN(this,i),{nodes:t})}let r=this.getValue(t.value);if(r==null){let i=(0,AC.print)(t);throw new Xm.GraphQLError(`Value "${i}" does not exist in "${this.name}" enum.`+AN(this,i),{nodes:t})}return r.value}toConfig(){let t=(0,FC.keyValMap)(this.getValues(),n=>n.name,n=>({description:n.description,value:n.value,deprecationReason:n.deprecationReason,extensions:n.extensions,astNode:n.astNode}));return{name:this.name,description:this.description,values:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};We.GraphQLEnumType=xN;function AN(e,t){let n=e.getValues().map(i=>i.name),r=(0,b8.suggestionList)(t,n);return(0,I8.didYouMean)("the enum value",r)}function RC(e,t){return Zd(t)||(0,jr.devAssert)(!1,`${e} values must be an object with value names as keys.`),Object.entries(t).map(([n,r])=>(Zd(r)||(0,jr.devAssert)(!1,`${e}.${n} must refer to an object with a "value" key representing an internal value but got: ${(0,Ln.inspect)(r)}.`),{name:(0,Go.assertEnumValueName)(n),description:r.description,value:r.value!==void 0?r.value:n,deprecationReason:r.deprecationReason,extensions:(0,Ko.toObjMap)(r.extensions),astNode:r.astNode}))}var CN=class{constructor(t){var n,r;this.name=(0,Go.assertName)(t.name),this.description=t.description,this.extensions=(0,Ko.toObjMap)(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this.isOneOf=(r=t.isOneOf)!==null&&r!==void 0?r:!1,this._fields=J8.bind(void 0,t)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){let t=(0,UN.mapValue)(this.getFields(),n=>({description:n.description,type:n.type,defaultValue:n.defaultValue,deprecationReason:n.deprecationReason,extensions:n.extensions,astNode:n.astNode}));return{name:this.name,description:this.description,fields:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,isOneOf:this.isOneOf}}toString(){return this.name}toJSON(){return this.toString()}};We.GraphQLInputObjectType=CN;function J8(e){let t=$O(e.fields);return Zd(t)||(0,jr.devAssert)(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),(0,UN.mapValue)(t,(n,r)=>(!("resolve"in n)||(0,jr.devAssert)(!1,`${e.name}.${r} field has a resolve property, but Input Types cannot define resolvers.`),{name:(0,Go.assertName)(r),description:n.description,type:n.type,defaultValue:n.defaultValue,deprecationReason:n.deprecationReason,extensions:(0,Ko.toObjMap)(n.extensions),astNode:n.astNode}))}function z8(e){return Nc(e.type)&&e.defaultValue===void 0}});var nh=V(th=>{"use strict";m();T();h();Object.defineProperty(th,"__esModule",{value:!0});th.doTypesOverlap=H8;th.isEqualType=qO;th.isTypeSubTypeOf=VN;var li=tn();function qO(e,t){return e===t?!0:(0,li.isNonNullType)(e)&&(0,li.isNonNullType)(t)||(0,li.isListType)(e)&&(0,li.isListType)(t)?qO(e.ofType,t.ofType):!1}function VN(e,t,n){return t===n?!0:(0,li.isNonNullType)(n)?(0,li.isNonNullType)(t)?VN(e,t.ofType,n.ofType):!1:(0,li.isNonNullType)(t)?VN(e,t.ofType,n):(0,li.isListType)(n)?(0,li.isListType)(t)?VN(e,t.ofType,n.ofType):!1:(0,li.isListType)(t)?!1:(0,li.isAbstractType)(n)&&((0,li.isInterfaceType)(t)||(0,li.isObjectType)(t))&&e.isSubType(n,t)}function H8(e,t,n){return t===n?!0:(0,li.isAbstractType)(t)?(0,li.isAbstractType)(n)?e.getPossibleTypes(t).some(r=>e.isSubType(n,r)):e.isSubType(t,n):(0,li.isAbstractType)(n)?e.isSubType(n,t):!1}});var tp=V(rh=>{"use strict";m();T();h();Object.defineProperty(rh,"__esModule",{value:!0});rh.DirectiveLocation=void 0;var KO;rh.DirectiveLocation=KO;(function(e){e.QUERY="QUERY",e.MUTATION="MUTATION",e.SUBSCRIPTION="SUBSCRIPTION",e.FIELD="FIELD",e.FRAGMENT_DEFINITION="FRAGMENT_DEFINITION",e.FRAGMENT_SPREAD="FRAGMENT_SPREAD",e.INLINE_FRAGMENT="INLINE_FRAGMENT",e.VARIABLE_DEFINITION="VARIABLE_DEFINITION",e.SCHEMA="SCHEMA",e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.FIELD_DEFINITION="FIELD_DEFINITION",e.ARGUMENT_DEFINITION="ARGUMENT_DEFINITION",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.ENUM_VALUE="ENUM_VALUE",e.INPUT_OBJECT="INPUT_OBJECT",e.INPUT_FIELD_DEFINITION="INPUT_FIELD_DEFINITION"})(KO||(rh.DirectiveLocation=KO={}))});var Qo=V(Fr=>{"use strict";m();T();h();Object.defineProperty(Fr,"__esModule",{value:!0});Fr.GraphQLString=Fr.GraphQLInt=Fr.GraphQLID=Fr.GraphQLFloat=Fr.GraphQLBoolean=Fr.GRAPHQL_MIN_INT=Fr.GRAPHQL_MAX_INT=void 0;Fr.isSpecifiedScalarType=W8;Fr.specifiedScalarTypes=void 0;var po=En(),VC=$o(),$r=at(),Nl=en(),ih=ds(),sh=tn(),jN=2147483647;Fr.GRAPHQL_MAX_INT=jN;var $N=-2147483648;Fr.GRAPHQL_MIN_INT=$N;var jC=new sh.GraphQLScalarType({name:"Int",description:"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.",serialize(e){let t=oh(e);if(typeof t=="boolean")return t?1:0;let n=t;if(typeof t=="string"&&t!==""&&(n=Number(t)),typeof n!="number"||!Number.isInteger(n))throw new $r.GraphQLError(`Int cannot represent non-integer value: ${(0,po.inspect)(t)}`);if(n>jN||n<$N)throw new $r.GraphQLError("Int cannot represent non 32-bit signed integer value: "+(0,po.inspect)(t));return n},parseValue(e){if(typeof e!="number"||!Number.isInteger(e))throw new $r.GraphQLError(`Int cannot represent non-integer value: ${(0,po.inspect)(e)}`);if(e>jN||e<$N)throw new $r.GraphQLError(`Int cannot represent non 32-bit signed integer value: ${e}`);return e},parseLiteral(e){if(e.kind!==Nl.Kind.INT)throw new $r.GraphQLError(`Int cannot represent non-integer value: ${(0,ih.print)(e)}`,{nodes:e});let t=parseInt(e.value,10);if(t>jN||t<$N)throw new $r.GraphQLError(`Int cannot represent non 32-bit signed integer value: ${e.value}`,{nodes:e});return t}});Fr.GraphQLInt=jC;var $C=new sh.GraphQLScalarType({name:"Float",description:"The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).",serialize(e){let t=oh(e);if(typeof t=="boolean")return t?1:0;let n=t;if(typeof t=="string"&&t!==""&&(n=Number(t)),typeof n!="number"||!Number.isFinite(n))throw new $r.GraphQLError(`Float cannot represent non numeric value: ${(0,po.inspect)(t)}`);return n},parseValue(e){if(typeof e!="number"||!Number.isFinite(e))throw new $r.GraphQLError(`Float cannot represent non numeric value: ${(0,po.inspect)(e)}`);return e},parseLiteral(e){if(e.kind!==Nl.Kind.FLOAT&&e.kind!==Nl.Kind.INT)throw new $r.GraphQLError(`Float cannot represent non numeric value: ${(0,ih.print)(e)}`,e);return parseFloat(e.value)}});Fr.GraphQLFloat=$C;var qC=new sh.GraphQLScalarType({name:"String",description:"The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.",serialize(e){let t=oh(e);if(typeof t=="string")return t;if(typeof t=="boolean")return t?"true":"false";if(typeof t=="number"&&Number.isFinite(t))return t.toString();throw new $r.GraphQLError(`String cannot represent value: ${(0,po.inspect)(e)}`)},parseValue(e){if(typeof e!="string")throw new $r.GraphQLError(`String cannot represent a non string value: ${(0,po.inspect)(e)}`);return e},parseLiteral(e){if(e.kind!==Nl.Kind.STRING)throw new $r.GraphQLError(`String cannot represent a non string value: ${(0,ih.print)(e)}`,{nodes:e});return e.value}});Fr.GraphQLString=qC;var KC=new sh.GraphQLScalarType({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",serialize(e){let t=oh(e);if(typeof t=="boolean")return t;if(Number.isFinite(t))return t!==0;throw new $r.GraphQLError(`Boolean cannot represent a non boolean value: ${(0,po.inspect)(t)}`)},parseValue(e){if(typeof e!="boolean")throw new $r.GraphQLError(`Boolean cannot represent a non boolean value: ${(0,po.inspect)(e)}`);return e},parseLiteral(e){if(e.kind!==Nl.Kind.BOOLEAN)throw new $r.GraphQLError(`Boolean cannot represent a non boolean value: ${(0,ih.print)(e)}`,{nodes:e});return e.value}});Fr.GraphQLBoolean=KC;var GC=new sh.GraphQLScalarType({name:"ID",description:'The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `"4"`) or integer (such as `4`) input value will be accepted as an ID.',serialize(e){let t=oh(e);if(typeof t=="string")return t;if(Number.isInteger(t))return String(t);throw new $r.GraphQLError(`ID cannot represent value: ${(0,po.inspect)(e)}`)},parseValue(e){if(typeof e=="string")return e;if(typeof e=="number"&&Number.isInteger(e))return e.toString();throw new $r.GraphQLError(`ID cannot represent value: ${(0,po.inspect)(e)}`)},parseLiteral(e){if(e.kind!==Nl.Kind.STRING&&e.kind!==Nl.Kind.INT)throw new $r.GraphQLError("ID cannot represent a non-string and non-integer value: "+(0,ih.print)(e),{nodes:e});return e.value}});Fr.GraphQLID=GC;var QC=Object.freeze([qC,jC,$C,KC,GC]);Fr.specifiedScalarTypes=QC;function W8(e){return QC.some(({name:t})=>e.name===t)}function oh(e){if((0,VC.isObjectLike)(e)){if(typeof e.valueOf=="function"){let t=e.valueOf();if(!(0,VC.isObjectLike)(t))return t}if(typeof e.toJSON=="function")return e.toJSON()}return e}});var ji=V(Er=>{"use strict";m();T();h();Object.defineProperty(Er,"__esModule",{value:!0});Er.GraphQLSpecifiedByDirective=Er.GraphQLSkipDirective=Er.GraphQLOneOfDirective=Er.GraphQLIncludeDirective=Er.GraphQLDirective=Er.GraphQLDeprecatedDirective=Er.DEFAULT_DEPRECATION_REASON=void 0;Er.assertDirective=rW;Er.isDirective=JC;Er.isSpecifiedDirective=iW;Er.specifiedDirectives=void 0;var YC=Oi(),X8=En(),Z8=Qm(),eW=$o(),tW=_N(),Ls=tp(),nW=Wm(),ah=tn(),qN=Qo();function JC(e){return(0,Z8.instanceOf)(e,Ua)}function rW(e){if(!JC(e))throw new Error(`Expected ${(0,X8.inspect)(e)} to be a GraphQL directive.`);return e}var Ua=class{constructor(t){var n,r;this.name=(0,nW.assertName)(t.name),this.description=t.description,this.locations=t.locations,this.isRepeatable=(n=t.isRepeatable)!==null&&n!==void 0?n:!1,this.extensions=(0,tW.toObjMap)(t.extensions),this.astNode=t.astNode,Array.isArray(t.locations)||(0,YC.devAssert)(!1,`@${t.name} locations must be an Array.`);let i=(r=t.args)!==null&&r!==void 0?r:{};(0,eW.isObjectLike)(i)&&!Array.isArray(i)||(0,YC.devAssert)(!1,`@${t.name} args must be an object with argument names as keys.`),this.args=(0,ah.defineArguments)(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:(0,ah.argsToArgsConfig)(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}};Er.GraphQLDirective=Ua;var zC=new Ua({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[Ls.DirectiveLocation.FIELD,Ls.DirectiveLocation.FRAGMENT_SPREAD,Ls.DirectiveLocation.INLINE_FRAGMENT],args:{if:{type:new ah.GraphQLNonNull(qN.GraphQLBoolean),description:"Included when true."}}});Er.GraphQLIncludeDirective=zC;var HC=new Ua({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[Ls.DirectiveLocation.FIELD,Ls.DirectiveLocation.FRAGMENT_SPREAD,Ls.DirectiveLocation.INLINE_FRAGMENT],args:{if:{type:new ah.GraphQLNonNull(qN.GraphQLBoolean),description:"Skipped when true."}}});Er.GraphQLSkipDirective=HC;var WC="No longer supported";Er.DEFAULT_DEPRECATION_REASON=WC;var XC=new Ua({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[Ls.DirectiveLocation.FIELD_DEFINITION,Ls.DirectiveLocation.ARGUMENT_DEFINITION,Ls.DirectiveLocation.INPUT_FIELD_DEFINITION,Ls.DirectiveLocation.ENUM_VALUE],args:{reason:{type:qN.GraphQLString,description:"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).",defaultValue:WC}}});Er.GraphQLDeprecatedDirective=XC;var ZC=new Ua({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[Ls.DirectiveLocation.SCALAR],args:{url:{type:new ah.GraphQLNonNull(qN.GraphQLString),description:"The URL that specifies the behavior of this scalar."}}});Er.GraphQLSpecifiedByDirective=ZC;var eU=new Ua({name:"oneOf",description:"Indicates exactly one field must be supplied and this field must not be `null`.",locations:[Ls.DirectiveLocation.INPUT_OBJECT],args:{}});Er.GraphQLOneOfDirective=eU;var tU=Object.freeze([zC,HC,XC,ZC,eU]);Er.specifiedDirectives=tU;function iW(e){return tU.some(({name:t})=>t===e.name)}});var KN=V(GO=>{"use strict";m();T();h();Object.defineProperty(GO,"__esModule",{value:!0});GO.isIterableObject=sW;function sW(e){return typeof e=="object"&&typeof(e==null?void 0:e[Symbol.iterator])=="function"}});var lh=V(QO=>{"use strict";m();T();h();Object.defineProperty(QO,"__esModule",{value:!0});QO.astFromValue=ch;var nU=En(),oW=ci(),aW=KN(),uW=$o(),Ps=en(),uh=tn(),cW=Qo();function ch(e,t){if((0,uh.isNonNullType)(t)){let n=ch(e,t.ofType);return(n==null?void 0:n.kind)===Ps.Kind.NULL?null:n}if(e===null)return{kind:Ps.Kind.NULL};if(e===void 0)return null;if((0,uh.isListType)(t)){let n=t.ofType;if((0,aW.isIterableObject)(e)){let r=[];for(let i of e){let s=ch(i,n);s!=null&&r.push(s)}return{kind:Ps.Kind.LIST,values:r}}return ch(e,n)}if((0,uh.isInputObjectType)(t)){if(!(0,uW.isObjectLike)(e))return null;let n=[];for(let r of Object.values(t.getFields())){let i=ch(e[r.name],r.type);i&&n.push({kind:Ps.Kind.OBJECT_FIELD,name:{kind:Ps.Kind.NAME,value:r.name},value:i})}return{kind:Ps.Kind.OBJECT,fields:n}}if((0,uh.isLeafType)(t)){let n=t.serialize(e);if(n==null)return null;if(typeof n=="boolean")return{kind:Ps.Kind.BOOLEAN,value:n};if(typeof n=="number"&&Number.isFinite(n)){let r=String(n);return rU.test(r)?{kind:Ps.Kind.INT,value:r}:{kind:Ps.Kind.FLOAT,value:r}}if(typeof n=="string")return(0,uh.isEnumType)(t)?{kind:Ps.Kind.ENUM,value:n}:t===cW.GraphQLID&&rU.test(n)?{kind:Ps.Kind.INT,value:n}:{kind:Ps.Kind.STRING,value:n};throw new TypeError(`Cannot convert value to AST: ${(0,nU.inspect)(n)}.`)}(0,oW.invariant)(!1,"Unexpected input type: "+(0,nU.inspect)(t))}var rU=/^-?(?:0|[1-9][0-9]*)$/});var xs=V(gn=>{"use strict";m();T();h();Object.defineProperty(gn,"__esModule",{value:!0});gn.introspectionTypes=gn.__TypeKind=gn.__Type=gn.__Schema=gn.__InputValue=gn.__Field=gn.__EnumValue=gn.__DirectiveLocation=gn.__Directive=gn.TypeNameMetaFieldDef=gn.TypeMetaFieldDef=gn.TypeKind=gn.SchemaMetaFieldDef=void 0;gn.isIntrospectionType=yW;var lW=En(),dW=ci(),wr=tp(),pW=ds(),fW=lh(),$e=tn(),An=Qo(),YO=new $e.GraphQLObjectType({name:"__Schema",description:"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.",fields:()=>({description:{type:An.GraphQLString,resolve:e=>e.description},types:{description:"A list of all types supported by this server.",type:new $e.GraphQLNonNull(new $e.GraphQLList(new $e.GraphQLNonNull(ks))),resolve(e){return Object.values(e.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:new $e.GraphQLNonNull(ks),resolve:e=>e.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:ks,resolve:e=>e.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:ks,resolve:e=>e.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new $e.GraphQLNonNull(new $e.GraphQLList(new $e.GraphQLNonNull(JO))),resolve:e=>e.getDirectives()}})});gn.__Schema=YO;var JO=new $e.GraphQLObjectType({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document. +}`)}function Jt(e,t,n=""){return t!=null&&t!==""?e+t+n:""}function SN(e){return Jt(" ",e.replace(/\n/g,` + `))}function OC(e){var t;return(t=e==null?void 0:e.some(n=>n.includes(` +`)))!==null&&t!==void 0?t:!1}});var UO=V(CO=>{"use strict";m();T();h();Object.defineProperty(CO,"__esModule",{value:!0});CO.valueFromASTUntyped=xO;var E8=Jm(),Ca=en();function xO(e,t){switch(e.kind){case Ca.Kind.NULL:return null;case Ca.Kind.INT:return parseInt(e.value,10);case Ca.Kind.FLOAT:return parseFloat(e.value);case Ca.Kind.STRING:case Ca.Kind.ENUM:case Ca.Kind.BOOLEAN:return e.value;case Ca.Kind.LIST:return e.values.map(n=>xO(n,t));case Ca.Kind.OBJECT:return(0,E8.keyValMap)(e.fields,n=>n.name.value,n=>xO(n.value,t));case Ca.Kind.VARIABLE:return t==null?void 0:t[e.name.value]}}});var Xm=V(AN=>{"use strict";m();T();h();Object.defineProperty(AN,"__esModule",{value:!0});AN.assertEnumValueName=g8;AN.assertName=AC;var SC=Oi(),DN=ut(),DC=ON();function AC(e){if(e!=null||(0,SC.devAssert)(!1,"Must provide name."),typeof e=="string"||(0,SC.devAssert)(!1,"Expected name to be a string."),e.length===0)throw new DN.GraphQLError("Expected name to be a non-empty string.");for(let t=1;t{"use strict";m();T();h();Object.defineProperty(We,"__esModule",{value:!0});We.GraphQLUnionType=We.GraphQLScalarType=We.GraphQLObjectType=We.GraphQLNonNull=We.GraphQLList=We.GraphQLInterfaceType=We.GraphQLInputObjectType=We.GraphQLEnumType=void 0;We.argsToArgsConfig=jC;We.assertAbstractType=V8;We.assertCompositeType=B8;We.assertEnumType=L8;We.assertInputObjectType=P8;We.assertInputType=C8;We.assertInterfaceType=F8;We.assertLeafType=M8;We.assertListType=k8;We.assertNamedType=K8;We.assertNonNullType=x8;We.assertNullableType=$8;We.assertObjectType=R8;We.assertOutputType=U8;We.assertScalarType=A8;We.assertType=D8;We.assertUnionType=w8;We.assertWrappingType=j8;We.defineArguments=BC;We.getNamedType=G8;We.getNullableType=q8;We.isAbstractType=xC;We.isCompositeType=kC;We.isEnumType=El;We.isInputObjectType=eh;We.isInputType=MO;We.isInterfaceType=yl;We.isLeafType=PC;We.isListType=VN;We.isNamedType=CC;We.isNonNullType=Nc;We.isNullableType=VO;We.isObjectType=np;We.isOutputType=BO;We.isRequiredArgument=Q8;We.isRequiredInputField=z8;We.isScalarType=Tl;We.isType=BN;We.isUnionType=Nl;We.isWrappingType=th;We.resolveObjMapThunk=$O;We.resolveReadonlyArrayThunk=jO;var jr=Oi(),I8=mc(),RC=IC(),Ln=En(),yc=Ym(),v8=$o(),_8=hc(),LC=Jm(),MN=OO(),b8=Tc(),Ko=bN(),Zm=ut(),O8=en(),FC=ds(),S8=UO(),Go=Xm();function BN(e){return Tl(e)||np(e)||yl(e)||Nl(e)||El(e)||eh(e)||VN(e)||Nc(e)}function D8(e){if(!BN(e))throw new Error(`Expected ${(0,Ln.inspect)(e)} to be a GraphQL type.`);return e}function Tl(e){return(0,yc.instanceOf)(e,LN)}function A8(e){if(!Tl(e))throw new Error(`Expected ${(0,Ln.inspect)(e)} to be a GraphQL Scalar type.`);return e}function np(e){return(0,yc.instanceOf)(e,PN)}function R8(e){if(!np(e))throw new Error(`Expected ${(0,Ln.inspect)(e)} to be a GraphQL Object type.`);return e}function yl(e){return(0,yc.instanceOf)(e,kN)}function F8(e){if(!yl(e))throw new Error(`Expected ${(0,Ln.inspect)(e)} to be a GraphQL Interface type.`);return e}function Nl(e){return(0,yc.instanceOf)(e,xN)}function w8(e){if(!Nl(e))throw new Error(`Expected ${(0,Ln.inspect)(e)} to be a GraphQL Union type.`);return e}function El(e){return(0,yc.instanceOf)(e,CN)}function L8(e){if(!El(e))throw new Error(`Expected ${(0,Ln.inspect)(e)} to be a GraphQL Enum type.`);return e}function eh(e){return(0,yc.instanceOf)(e,UN)}function P8(e){if(!eh(e))throw new Error(`Expected ${(0,Ln.inspect)(e)} to be a GraphQL Input Object type.`);return e}function VN(e){return(0,yc.instanceOf)(e,FN)}function k8(e){if(!VN(e))throw new Error(`Expected ${(0,Ln.inspect)(e)} to be a GraphQL List type.`);return e}function Nc(e){return(0,yc.instanceOf)(e,wN)}function x8(e){if(!Nc(e))throw new Error(`Expected ${(0,Ln.inspect)(e)} to be a GraphQL Non-Null type.`);return e}function MO(e){return Tl(e)||El(e)||eh(e)||th(e)&&MO(e.ofType)}function C8(e){if(!MO(e))throw new Error(`Expected ${(0,Ln.inspect)(e)} to be a GraphQL input type.`);return e}function BO(e){return Tl(e)||np(e)||yl(e)||Nl(e)||El(e)||th(e)&&BO(e.ofType)}function U8(e){if(!BO(e))throw new Error(`Expected ${(0,Ln.inspect)(e)} to be a GraphQL output type.`);return e}function PC(e){return Tl(e)||El(e)}function M8(e){if(!PC(e))throw new Error(`Expected ${(0,Ln.inspect)(e)} to be a GraphQL leaf type.`);return e}function kC(e){return np(e)||yl(e)||Nl(e)}function B8(e){if(!kC(e))throw new Error(`Expected ${(0,Ln.inspect)(e)} to be a GraphQL composite type.`);return e}function xC(e){return yl(e)||Nl(e)}function V8(e){if(!xC(e))throw new Error(`Expected ${(0,Ln.inspect)(e)} to be a GraphQL abstract type.`);return e}var FN=class{constructor(t){BN(t)||(0,jr.devAssert)(!1,`Expected ${(0,Ln.inspect)(t)} to be a GraphQL type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLList"}toString(){return"["+String(this.ofType)+"]"}toJSON(){return this.toString()}};We.GraphQLList=FN;var wN=class{constructor(t){VO(t)||(0,jr.devAssert)(!1,`Expected ${(0,Ln.inspect)(t)} to be a GraphQL nullable type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLNonNull"}toString(){return String(this.ofType)+"!"}toJSON(){return this.toString()}};We.GraphQLNonNull=wN;function th(e){return VN(e)||Nc(e)}function j8(e){if(!th(e))throw new Error(`Expected ${(0,Ln.inspect)(e)} to be a GraphQL wrapping type.`);return e}function VO(e){return BN(e)&&!Nc(e)}function $8(e){if(!VO(e))throw new Error(`Expected ${(0,Ln.inspect)(e)} to be a GraphQL nullable type.`);return e}function q8(e){if(e)return Nc(e)?e.ofType:e}function CC(e){return Tl(e)||np(e)||yl(e)||Nl(e)||El(e)||eh(e)}function K8(e){if(!CC(e))throw new Error(`Expected ${(0,Ln.inspect)(e)} to be a GraphQL named type.`);return e}function G8(e){if(e){let t=e;for(;th(t);)t=t.ofType;return t}}function jO(e){return typeof e=="function"?e():e}function $O(e){return typeof e=="function"?e():e}var LN=class{constructor(t){var n,r,i,s;let o=(n=t.parseValue)!==null&&n!==void 0?n:RC.identityFunc;this.name=(0,Go.assertName)(t.name),this.description=t.description,this.specifiedByURL=t.specifiedByURL,this.serialize=(r=t.serialize)!==null&&r!==void 0?r:RC.identityFunc,this.parseValue=o,this.parseLiteral=(i=t.parseLiteral)!==null&&i!==void 0?i:(u,l)=>o((0,S8.valueFromASTUntyped)(u,l)),this.extensions=(0,Ko.toObjMap)(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(s=t.extensionASTNodes)!==null&&s!==void 0?s:[],t.specifiedByURL==null||typeof t.specifiedByURL=="string"||(0,jr.devAssert)(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${(0,Ln.inspect)(t.specifiedByURL)}.`),t.serialize==null||typeof t.serialize=="function"||(0,jr.devAssert)(!1,`${this.name} must provide "serialize" function. If this custom Scalar is also used as an input type, ensure "parseValue" and "parseLiteral" functions are also provided.`),t.parseLiteral&&(typeof t.parseValue=="function"&&typeof t.parseLiteral=="function"||(0,jr.devAssert)(!1,`${this.name} must provide both "parseValue" and "parseLiteral" functions.`))}get[Symbol.toStringTag](){return"GraphQLScalarType"}toConfig(){return{name:this.name,description:this.description,specifiedByURL:this.specifiedByURL,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};We.GraphQLScalarType=LN;var PN=class{constructor(t){var n;this.name=(0,Go.assertName)(t.name),this.description=t.description,this.isTypeOf=t.isTypeOf,this.extensions=(0,Ko.toObjMap)(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this._fields=()=>MC(t),this._interfaces=()=>UC(t),t.isTypeOf==null||typeof t.isTypeOf=="function"||(0,jr.devAssert)(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${(0,Ln.inspect)(t.isTypeOf)}.`)}get[Symbol.toStringTag](){return"GraphQLObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:VC(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};We.GraphQLObjectType=PN;function UC(e){var t;let n=jO((t=e.interfaces)!==null&&t!==void 0?t:[]);return Array.isArray(n)||(0,jr.devAssert)(!1,`${e.name} interfaces must be an Array or a function which returns an Array.`),n}function MC(e){let t=$O(e.fields);return tp(t)||(0,jr.devAssert)(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),(0,MN.mapValue)(t,(n,r)=>{var i;tp(n)||(0,jr.devAssert)(!1,`${e.name}.${r} field config must be an object.`),n.resolve==null||typeof n.resolve=="function"||(0,jr.devAssert)(!1,`${e.name}.${r} field resolver must be a function if provided, but got: ${(0,Ln.inspect)(n.resolve)}.`);let s=(i=n.args)!==null&&i!==void 0?i:{};return tp(s)||(0,jr.devAssert)(!1,`${e.name}.${r} args must be an object with argument names as keys.`),{name:(0,Go.assertName)(r),description:n.description,type:n.type,args:BC(s),resolve:n.resolve,subscribe:n.subscribe,deprecationReason:n.deprecationReason,extensions:(0,Ko.toObjMap)(n.extensions),astNode:n.astNode}})}function BC(e){return Object.entries(e).map(([t,n])=>({name:(0,Go.assertName)(t),description:n.description,type:n.type,defaultValue:n.defaultValue,deprecationReason:n.deprecationReason,extensions:(0,Ko.toObjMap)(n.extensions),astNode:n.astNode}))}function tp(e){return(0,v8.isObjectLike)(e)&&!Array.isArray(e)}function VC(e){return(0,MN.mapValue)(e,t=>({description:t.description,type:t.type,args:jC(t.args),resolve:t.resolve,subscribe:t.subscribe,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}function jC(e){return(0,LC.keyValMap)(e,t=>t.name,t=>({description:t.description,type:t.type,defaultValue:t.defaultValue,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}function Q8(e){return Nc(e.type)&&e.defaultValue===void 0}var kN=class{constructor(t){var n;this.name=(0,Go.assertName)(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=(0,Ko.toObjMap)(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this._fields=MC.bind(void 0,t),this._interfaces=UC.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||(0,jr.devAssert)(!1,`${this.name} must provide "resolveType" as a function, but got: ${(0,Ln.inspect)(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLInterfaceType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:VC(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};We.GraphQLInterfaceType=kN;var xN=class{constructor(t){var n;this.name=(0,Go.assertName)(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=(0,Ko.toObjMap)(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this._types=Y8.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||(0,jr.devAssert)(!1,`${this.name} must provide "resolveType" as a function, but got: ${(0,Ln.inspect)(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLUnionType"}getTypes(){return typeof this._types=="function"&&(this._types=this._types()),this._types}toConfig(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};We.GraphQLUnionType=xN;function Y8(e){let t=jO(e.types);return Array.isArray(t)||(0,jr.devAssert)(!1,`Must provide Array of types or a function which returns such an array for Union ${e.name}.`),t}var CN=class{constructor(t){var n;this.name=(0,Go.assertName)(t.name),this.description=t.description,this.extensions=(0,Ko.toObjMap)(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this._values=typeof t.values=="function"?t.values:wC(this.name,t.values),this._valueLookup=null,this._nameLookup=null}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return typeof this._values=="function"&&(this._values=wC(this.name,this._values())),this._values}getValue(t){return this._nameLookup===null&&(this._nameLookup=(0,_8.keyMap)(this.getValues(),n=>n.name)),this._nameLookup[t]}serialize(t){this._valueLookup===null&&(this._valueLookup=new Map(this.getValues().map(r=>[r.value,r])));let n=this._valueLookup.get(t);if(n===void 0)throw new Zm.GraphQLError(`Enum "${this.name}" cannot represent value: ${(0,Ln.inspect)(t)}`);return n.name}parseValue(t){if(typeof t!="string"){let r=(0,Ln.inspect)(t);throw new Zm.GraphQLError(`Enum "${this.name}" cannot represent non-string value: ${r}.`+RN(this,r))}let n=this.getValue(t);if(n==null)throw new Zm.GraphQLError(`Value "${t}" does not exist in "${this.name}" enum.`+RN(this,t));return n.value}parseLiteral(t,n){if(t.kind!==O8.Kind.ENUM){let i=(0,FC.print)(t);throw new Zm.GraphQLError(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+RN(this,i),{nodes:t})}let r=this.getValue(t.value);if(r==null){let i=(0,FC.print)(t);throw new Zm.GraphQLError(`Value "${i}" does not exist in "${this.name}" enum.`+RN(this,i),{nodes:t})}return r.value}toConfig(){let t=(0,LC.keyValMap)(this.getValues(),n=>n.name,n=>({description:n.description,value:n.value,deprecationReason:n.deprecationReason,extensions:n.extensions,astNode:n.astNode}));return{name:this.name,description:this.description,values:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};We.GraphQLEnumType=CN;function RN(e,t){let n=e.getValues().map(i=>i.name),r=(0,b8.suggestionList)(t,n);return(0,I8.didYouMean)("the enum value",r)}function wC(e,t){return tp(t)||(0,jr.devAssert)(!1,`${e} values must be an object with value names as keys.`),Object.entries(t).map(([n,r])=>(tp(r)||(0,jr.devAssert)(!1,`${e}.${n} must refer to an object with a "value" key representing an internal value but got: ${(0,Ln.inspect)(r)}.`),{name:(0,Go.assertEnumValueName)(n),description:r.description,value:r.value!==void 0?r.value:n,deprecationReason:r.deprecationReason,extensions:(0,Ko.toObjMap)(r.extensions),astNode:r.astNode}))}var UN=class{constructor(t){var n,r;this.name=(0,Go.assertName)(t.name),this.description=t.description,this.extensions=(0,Ko.toObjMap)(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this.isOneOf=(r=t.isOneOf)!==null&&r!==void 0?r:!1,this._fields=J8.bind(void 0,t)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){let t=(0,MN.mapValue)(this.getFields(),n=>({description:n.description,type:n.type,defaultValue:n.defaultValue,deprecationReason:n.deprecationReason,extensions:n.extensions,astNode:n.astNode}));return{name:this.name,description:this.description,fields:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,isOneOf:this.isOneOf}}toString(){return this.name}toJSON(){return this.toString()}};We.GraphQLInputObjectType=UN;function J8(e){let t=$O(e.fields);return tp(t)||(0,jr.devAssert)(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),(0,MN.mapValue)(t,(n,r)=>(!("resolve"in n)||(0,jr.devAssert)(!1,`${e.name}.${r} field has a resolve property, but Input Types cannot define resolvers.`),{name:(0,Go.assertName)(r),description:n.description,type:n.type,defaultValue:n.defaultValue,deprecationReason:n.deprecationReason,extensions:(0,Ko.toObjMap)(n.extensions),astNode:n.astNode}))}function z8(e){return Nc(e.type)&&e.defaultValue===void 0}});var rh=V(nh=>{"use strict";m();T();h();Object.defineProperty(nh,"__esModule",{value:!0});nh.doTypesOverlap=H8;nh.isEqualType=qO;nh.isTypeSubTypeOf=jN;var li=tn();function qO(e,t){return e===t?!0:(0,li.isNonNullType)(e)&&(0,li.isNonNullType)(t)||(0,li.isListType)(e)&&(0,li.isListType)(t)?qO(e.ofType,t.ofType):!1}function jN(e,t,n){return t===n?!0:(0,li.isNonNullType)(n)?(0,li.isNonNullType)(t)?jN(e,t.ofType,n.ofType):!1:(0,li.isNonNullType)(t)?jN(e,t.ofType,n):(0,li.isListType)(n)?(0,li.isListType)(t)?jN(e,t.ofType,n.ofType):!1:(0,li.isListType)(t)?!1:(0,li.isAbstractType)(n)&&((0,li.isInterfaceType)(t)||(0,li.isObjectType)(t))&&e.isSubType(n,t)}function H8(e,t,n){return t===n?!0:(0,li.isAbstractType)(t)?(0,li.isAbstractType)(n)?e.getPossibleTypes(t).some(r=>e.isSubType(n,r)):e.isSubType(t,n):(0,li.isAbstractType)(n)?e.isSubType(n,t):!1}});var rp=V(ih=>{"use strict";m();T();h();Object.defineProperty(ih,"__esModule",{value:!0});ih.DirectiveLocation=void 0;var KO;ih.DirectiveLocation=KO;(function(e){e.QUERY="QUERY",e.MUTATION="MUTATION",e.SUBSCRIPTION="SUBSCRIPTION",e.FIELD="FIELD",e.FRAGMENT_DEFINITION="FRAGMENT_DEFINITION",e.FRAGMENT_SPREAD="FRAGMENT_SPREAD",e.INLINE_FRAGMENT="INLINE_FRAGMENT",e.VARIABLE_DEFINITION="VARIABLE_DEFINITION",e.SCHEMA="SCHEMA",e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.FIELD_DEFINITION="FIELD_DEFINITION",e.ARGUMENT_DEFINITION="ARGUMENT_DEFINITION",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.ENUM_VALUE="ENUM_VALUE",e.INPUT_OBJECT="INPUT_OBJECT",e.INPUT_FIELD_DEFINITION="INPUT_FIELD_DEFINITION"})(KO||(ih.DirectiveLocation=KO={}))});var Qo=V(Fr=>{"use strict";m();T();h();Object.defineProperty(Fr,"__esModule",{value:!0});Fr.GraphQLString=Fr.GraphQLInt=Fr.GraphQLID=Fr.GraphQLFloat=Fr.GraphQLBoolean=Fr.GRAPHQL_MIN_INT=Fr.GRAPHQL_MAX_INT=void 0;Fr.isSpecifiedScalarType=W8;Fr.specifiedScalarTypes=void 0;var po=En(),$C=$o(),$r=ut(),gl=en(),sh=ds(),oh=tn(),$N=2147483647;Fr.GRAPHQL_MAX_INT=$N;var qN=-2147483648;Fr.GRAPHQL_MIN_INT=qN;var qC=new oh.GraphQLScalarType({name:"Int",description:"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.",serialize(e){let t=ah(e);if(typeof t=="boolean")return t?1:0;let n=t;if(typeof t=="string"&&t!==""&&(n=Number(t)),typeof n!="number"||!Number.isInteger(n))throw new $r.GraphQLError(`Int cannot represent non-integer value: ${(0,po.inspect)(t)}`);if(n>$N||n$N||e$N||te.name===t)}function ah(e){if((0,$C.isObjectLike)(e)){if(typeof e.valueOf=="function"){let t=e.valueOf();if(!(0,$C.isObjectLike)(t))return t}if(typeof e.toJSON=="function")return e.toJSON()}return e}});var ji=V(Er=>{"use strict";m();T();h();Object.defineProperty(Er,"__esModule",{value:!0});Er.GraphQLSpecifiedByDirective=Er.GraphQLSkipDirective=Er.GraphQLOneOfDirective=Er.GraphQLIncludeDirective=Er.GraphQLDirective=Er.GraphQLDeprecatedDirective=Er.DEFAULT_DEPRECATION_REASON=void 0;Er.assertDirective=rW;Er.isDirective=HC;Er.isSpecifiedDirective=iW;Er.specifiedDirectives=void 0;var zC=Oi(),X8=En(),Z8=Ym(),eW=$o(),tW=bN(),Ps=rp(),nW=Xm(),uh=tn(),KN=Qo();function HC(e){return(0,Z8.instanceOf)(e,Ua)}function rW(e){if(!HC(e))throw new Error(`Expected ${(0,X8.inspect)(e)} to be a GraphQL directive.`);return e}var Ua=class{constructor(t){var n,r;this.name=(0,nW.assertName)(t.name),this.description=t.description,this.locations=t.locations,this.isRepeatable=(n=t.isRepeatable)!==null&&n!==void 0?n:!1,this.extensions=(0,tW.toObjMap)(t.extensions),this.astNode=t.astNode,Array.isArray(t.locations)||(0,zC.devAssert)(!1,`@${t.name} locations must be an Array.`);let i=(r=t.args)!==null&&r!==void 0?r:{};(0,eW.isObjectLike)(i)&&!Array.isArray(i)||(0,zC.devAssert)(!1,`@${t.name} args must be an object with argument names as keys.`),this.args=(0,uh.defineArguments)(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:(0,uh.argsToArgsConfig)(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}};Er.GraphQLDirective=Ua;var WC=new Ua({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[Ps.DirectiveLocation.FIELD,Ps.DirectiveLocation.FRAGMENT_SPREAD,Ps.DirectiveLocation.INLINE_FRAGMENT],args:{if:{type:new uh.GraphQLNonNull(KN.GraphQLBoolean),description:"Included when true."}}});Er.GraphQLIncludeDirective=WC;var XC=new Ua({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[Ps.DirectiveLocation.FIELD,Ps.DirectiveLocation.FRAGMENT_SPREAD,Ps.DirectiveLocation.INLINE_FRAGMENT],args:{if:{type:new uh.GraphQLNonNull(KN.GraphQLBoolean),description:"Skipped when true."}}});Er.GraphQLSkipDirective=XC;var ZC="No longer supported";Er.DEFAULT_DEPRECATION_REASON=ZC;var eU=new Ua({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[Ps.DirectiveLocation.FIELD_DEFINITION,Ps.DirectiveLocation.ARGUMENT_DEFINITION,Ps.DirectiveLocation.INPUT_FIELD_DEFINITION,Ps.DirectiveLocation.ENUM_VALUE],args:{reason:{type:KN.GraphQLString,description:"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).",defaultValue:ZC}}});Er.GraphQLDeprecatedDirective=eU;var tU=new Ua({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[Ps.DirectiveLocation.SCALAR],args:{url:{type:new uh.GraphQLNonNull(KN.GraphQLString),description:"The URL that specifies the behavior of this scalar."}}});Er.GraphQLSpecifiedByDirective=tU;var nU=new Ua({name:"oneOf",description:"Indicates exactly one field must be supplied and this field must not be `null`.",locations:[Ps.DirectiveLocation.INPUT_OBJECT],args:{}});Er.GraphQLOneOfDirective=nU;var rU=Object.freeze([WC,XC,eU,tU,nU]);Er.specifiedDirectives=rU;function iW(e){return rU.some(({name:t})=>t===e.name)}});var GN=V(GO=>{"use strict";m();T();h();Object.defineProperty(GO,"__esModule",{value:!0});GO.isIterableObject=sW;function sW(e){return typeof e=="object"&&typeof(e==null?void 0:e[Symbol.iterator])=="function"}});var dh=V(QO=>{"use strict";m();T();h();Object.defineProperty(QO,"__esModule",{value:!0});QO.astFromValue=lh;var iU=En(),oW=ci(),aW=GN(),uW=$o(),ks=en(),ch=tn(),cW=Qo();function lh(e,t){if((0,ch.isNonNullType)(t)){let n=lh(e,t.ofType);return(n==null?void 0:n.kind)===ks.Kind.NULL?null:n}if(e===null)return{kind:ks.Kind.NULL};if(e===void 0)return null;if((0,ch.isListType)(t)){let n=t.ofType;if((0,aW.isIterableObject)(e)){let r=[];for(let i of e){let s=lh(i,n);s!=null&&r.push(s)}return{kind:ks.Kind.LIST,values:r}}return lh(e,n)}if((0,ch.isInputObjectType)(t)){if(!(0,uW.isObjectLike)(e))return null;let n=[];for(let r of Object.values(t.getFields())){let i=lh(e[r.name],r.type);i&&n.push({kind:ks.Kind.OBJECT_FIELD,name:{kind:ks.Kind.NAME,value:r.name},value:i})}return{kind:ks.Kind.OBJECT,fields:n}}if((0,ch.isLeafType)(t)){let n=t.serialize(e);if(n==null)return null;if(typeof n=="boolean")return{kind:ks.Kind.BOOLEAN,value:n};if(typeof n=="number"&&Number.isFinite(n)){let r=String(n);return sU.test(r)?{kind:ks.Kind.INT,value:r}:{kind:ks.Kind.FLOAT,value:r}}if(typeof n=="string")return(0,ch.isEnumType)(t)?{kind:ks.Kind.ENUM,value:n}:t===cW.GraphQLID&&sU.test(n)?{kind:ks.Kind.INT,value:n}:{kind:ks.Kind.STRING,value:n};throw new TypeError(`Cannot convert value to AST: ${(0,iU.inspect)(n)}.`)}(0,oW.invariant)(!1,"Unexpected input type: "+(0,iU.inspect)(t))}var sU=/^-?(?:0|[1-9][0-9]*)$/});var Cs=V(gn=>{"use strict";m();T();h();Object.defineProperty(gn,"__esModule",{value:!0});gn.introspectionTypes=gn.__TypeKind=gn.__Type=gn.__Schema=gn.__InputValue=gn.__Field=gn.__EnumValue=gn.__DirectiveLocation=gn.__Directive=gn.TypeNameMetaFieldDef=gn.TypeMetaFieldDef=gn.TypeKind=gn.SchemaMetaFieldDef=void 0;gn.isIntrospectionType=yW;var lW=En(),dW=ci(),wr=rp(),pW=ds(),fW=dh(),$e=tn(),An=Qo(),YO=new $e.GraphQLObjectType({name:"__Schema",description:"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.",fields:()=>({description:{type:An.GraphQLString,resolve:e=>e.description},types:{description:"A list of all types supported by this server.",type:new $e.GraphQLNonNull(new $e.GraphQLList(new $e.GraphQLNonNull(xs))),resolve(e){return Object.values(e.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:new $e.GraphQLNonNull(xs),resolve:e=>e.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:xs,resolve:e=>e.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:xs,resolve:e=>e.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new $e.GraphQLNonNull(new $e.GraphQLList(new $e.GraphQLNonNull(JO))),resolve:e=>e.getDirectives()}})});gn.__Schema=YO;var JO=new $e.GraphQLObjectType({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document. -In some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.`,fields:()=>({name:{type:new $e.GraphQLNonNull(An.GraphQLString),resolve:e=>e.name},description:{type:An.GraphQLString,resolve:e=>e.description},isRepeatable:{type:new $e.GraphQLNonNull(An.GraphQLBoolean),resolve:e=>e.isRepeatable},locations:{type:new $e.GraphQLNonNull(new $e.GraphQLList(new $e.GraphQLNonNull(zO))),resolve:e=>e.locations},args:{type:new $e.GraphQLNonNull(new $e.GraphQLList(new $e.GraphQLNonNull(dh))),args:{includeDeprecated:{type:An.GraphQLBoolean,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(n=>n.deprecationReason==null)}}})});gn.__Directive=JO;var zO=new $e.GraphQLEnumType({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value:wr.DirectiveLocation.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:wr.DirectiveLocation.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:wr.DirectiveLocation.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:wr.DirectiveLocation.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:wr.DirectiveLocation.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:wr.DirectiveLocation.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:wr.DirectiveLocation.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:wr.DirectiveLocation.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:wr.DirectiveLocation.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:wr.DirectiveLocation.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:wr.DirectiveLocation.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:wr.DirectiveLocation.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:wr.DirectiveLocation.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:wr.DirectiveLocation.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:wr.DirectiveLocation.UNION,description:"Location adjacent to a union definition."},ENUM:{value:wr.DirectiveLocation.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:wr.DirectiveLocation.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:wr.DirectiveLocation.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:wr.DirectiveLocation.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}});gn.__DirectiveLocation=zO;var ks=new $e.GraphQLObjectType({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:()=>({kind:{type:new $e.GraphQLNonNull(XO),resolve(e){if((0,$e.isScalarType)(e))return Lr.SCALAR;if((0,$e.isObjectType)(e))return Lr.OBJECT;if((0,$e.isInterfaceType)(e))return Lr.INTERFACE;if((0,$e.isUnionType)(e))return Lr.UNION;if((0,$e.isEnumType)(e))return Lr.ENUM;if((0,$e.isInputObjectType)(e))return Lr.INPUT_OBJECT;if((0,$e.isListType)(e))return Lr.LIST;if((0,$e.isNonNullType)(e))return Lr.NON_NULL;(0,dW.invariant)(!1,`Unexpected type: "${(0,lW.inspect)(e)}".`)}},name:{type:An.GraphQLString,resolve:e=>"name"in e?e.name:void 0},description:{type:An.GraphQLString,resolve:e=>"description"in e?e.description:void 0},specifiedByURL:{type:An.GraphQLString,resolve:e=>"specifiedByURL"in e?e.specifiedByURL:void 0},fields:{type:new $e.GraphQLList(new $e.GraphQLNonNull(HO)),args:{includeDeprecated:{type:An.GraphQLBoolean,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if((0,$e.isObjectType)(e)||(0,$e.isInterfaceType)(e)){let n=Object.values(e.getFields());return t?n:n.filter(r=>r.deprecationReason==null)}}},interfaces:{type:new $e.GraphQLList(new $e.GraphQLNonNull(ks)),resolve(e){if((0,$e.isObjectType)(e)||(0,$e.isInterfaceType)(e))return e.getInterfaces()}},possibleTypes:{type:new $e.GraphQLList(new $e.GraphQLNonNull(ks)),resolve(e,t,n,{schema:r}){if((0,$e.isAbstractType)(e))return r.getPossibleTypes(e)}},enumValues:{type:new $e.GraphQLList(new $e.GraphQLNonNull(WO)),args:{includeDeprecated:{type:An.GraphQLBoolean,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if((0,$e.isEnumType)(e)){let n=e.getValues();return t?n:n.filter(r=>r.deprecationReason==null)}}},inputFields:{type:new $e.GraphQLList(new $e.GraphQLNonNull(dh)),args:{includeDeprecated:{type:An.GraphQLBoolean,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if((0,$e.isInputObjectType)(e)){let n=Object.values(e.getFields());return t?n:n.filter(r=>r.deprecationReason==null)}}},ofType:{type:ks,resolve:e=>"ofType"in e?e.ofType:void 0},isOneOf:{type:An.GraphQLBoolean,resolve:e=>{if((0,$e.isInputObjectType)(e))return e.isOneOf}}})});gn.__Type=ks;var HO=new $e.GraphQLObjectType({name:"__Field",description:"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",fields:()=>({name:{type:new $e.GraphQLNonNull(An.GraphQLString),resolve:e=>e.name},description:{type:An.GraphQLString,resolve:e=>e.description},args:{type:new $e.GraphQLNonNull(new $e.GraphQLList(new $e.GraphQLNonNull(dh))),args:{includeDeprecated:{type:An.GraphQLBoolean,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(n=>n.deprecationReason==null)}},type:{type:new $e.GraphQLNonNull(ks),resolve:e=>e.type},isDeprecated:{type:new $e.GraphQLNonNull(An.GraphQLBoolean),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:An.GraphQLString,resolve:e=>e.deprecationReason}})});gn.__Field=HO;var dh=new $e.GraphQLObjectType({name:"__InputValue",description:"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",fields:()=>({name:{type:new $e.GraphQLNonNull(An.GraphQLString),resolve:e=>e.name},description:{type:An.GraphQLString,resolve:e=>e.description},type:{type:new $e.GraphQLNonNull(ks),resolve:e=>e.type},defaultValue:{type:An.GraphQLString,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(e){let{type:t,defaultValue:n}=e,r=(0,fW.astFromValue)(n,t);return r?(0,pW.print)(r):null}},isDeprecated:{type:new $e.GraphQLNonNull(An.GraphQLBoolean),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:An.GraphQLString,resolve:e=>e.deprecationReason}})});gn.__InputValue=dh;var WO=new $e.GraphQLObjectType({name:"__EnumValue",description:"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",fields:()=>({name:{type:new $e.GraphQLNonNull(An.GraphQLString),resolve:e=>e.name},description:{type:An.GraphQLString,resolve:e=>e.description},isDeprecated:{type:new $e.GraphQLNonNull(An.GraphQLBoolean),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:An.GraphQLString,resolve:e=>e.deprecationReason}})});gn.__EnumValue=WO;var Lr;gn.TypeKind=Lr;(function(e){e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.INPUT_OBJECT="INPUT_OBJECT",e.LIST="LIST",e.NON_NULL="NON_NULL"})(Lr||(gn.TypeKind=Lr={}));var XO=new $e.GraphQLEnumType({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:Lr.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:Lr.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:Lr.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:Lr.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:Lr.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:Lr.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:Lr.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:Lr.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}});gn.__TypeKind=XO;var mW={name:"__schema",type:new $e.GraphQLNonNull(YO),description:"Access the current type schema of this server.",args:[],resolve:(e,t,n,{schema:r})=>r,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0};gn.SchemaMetaFieldDef=mW;var hW={name:"__type",type:ks,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new $e.GraphQLNonNull(An.GraphQLString),defaultValue:void 0,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0}],resolve:(e,{name:t},n,{schema:r})=>r.getType(t),deprecationReason:void 0,extensions:Object.create(null),astNode:void 0};gn.TypeMetaFieldDef=hW;var TW={name:"__typename",type:new $e.GraphQLNonNull(An.GraphQLString),description:"The name of the current Object type at runtime.",args:[],resolve:(e,t,n,{parentType:r})=>r.name,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0};gn.TypeNameMetaFieldDef=TW;var iU=Object.freeze([YO,JO,zO,ks,HO,dh,WO,XO]);gn.introspectionTypes=iU;function yW(e){return iU.some(({name:t})=>e.name===t)}});var El=V(np=>{"use strict";m();T();h();Object.defineProperty(np,"__esModule",{value:!0});np.GraphQLSchema=void 0;np.assertSchema=vW;np.isSchema=oU;var GN=Oi(),eS=En(),NW=Qm(),EW=$o(),gW=_N(),ZO=qo(),fo=tn(),sU=ji(),IW=xs();function oU(e){return(0,NW.instanceOf)(e,QN)}function vW(e){if(!oU(e))throw new Error(`Expected ${(0,eS.inspect)(e)} to be a GraphQL schema.`);return e}var QN=class{constructor(t){var n,r;this.__validationErrors=t.assumeValid===!0?[]:void 0,(0,EW.isObjectLike)(t)||(0,GN.devAssert)(!1,"Must provide configuration object."),!t.types||Array.isArray(t.types)||(0,GN.devAssert)(!1,`"types" must be Array if provided but got: ${(0,eS.inspect)(t.types)}.`),!t.directives||Array.isArray(t.directives)||(0,GN.devAssert)(!1,`"directives" must be Array if provided but got: ${(0,eS.inspect)(t.directives)}.`),this.description=t.description,this.extensions=(0,gW.toObjMap)(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this._queryType=t.query,this._mutationType=t.mutation,this._subscriptionType=t.subscription,this._directives=(r=t.directives)!==null&&r!==void 0?r:sU.specifiedDirectives;let i=new Set(t.types);if(t.types!=null)for(let s of t.types)i.delete(s),mo(s,i);this._queryType!=null&&mo(this._queryType,i),this._mutationType!=null&&mo(this._mutationType,i),this._subscriptionType!=null&&mo(this._subscriptionType,i);for(let s of this._directives)if((0,sU.isDirective)(s))for(let o of s.args)mo(o.type,i);mo(IW.__Schema,i),this._typeMap=Object.create(null),this._subTypeMap=Object.create(null),this._implementationsMap=Object.create(null);for(let s of i){if(s==null)continue;let o=s.name;if(o||(0,GN.devAssert)(!1,"One of the provided types for building the Schema is missing a name."),this._typeMap[o]!==void 0)throw new Error(`Schema must contain uniquely named types but contains multiple types named "${o}".`);if(this._typeMap[o]=s,(0,fo.isInterfaceType)(s)){for(let u of s.getInterfaces())if((0,fo.isInterfaceType)(u)){let l=this._implementationsMap[u.name];l===void 0&&(l=this._implementationsMap[u.name]={objects:[],interfaces:[]}),l.interfaces.push(s)}}else if((0,fo.isObjectType)(s)){for(let u of s.getInterfaces())if((0,fo.isInterfaceType)(u)){let l=this._implementationsMap[u.name];l===void 0&&(l=this._implementationsMap[u.name]={objects:[],interfaces:[]}),l.objects.push(s)}}}}get[Symbol.toStringTag](){return"GraphQLSchema"}getQueryType(){return this._queryType}getMutationType(){return this._mutationType}getSubscriptionType(){return this._subscriptionType}getRootType(t){switch(t){case ZO.OperationTypeNode.QUERY:return this.getQueryType();case ZO.OperationTypeNode.MUTATION:return this.getMutationType();case ZO.OperationTypeNode.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(t){return this.getTypeMap()[t]}getPossibleTypes(t){return(0,fo.isUnionType)(t)?t.getTypes():this.getImplementations(t).objects}getImplementations(t){let n=this._implementationsMap[t.name];return n!=null?n:{objects:[],interfaces:[]}}isSubType(t,n){let r=this._subTypeMap[t.name];if(r===void 0){if(r=Object.create(null),(0,fo.isUnionType)(t))for(let i of t.getTypes())r[i.name]=!0;else{let i=this.getImplementations(t);for(let s of i.objects)r[s.name]=!0;for(let s of i.interfaces)r[s.name]=!0}this._subTypeMap[t.name]=r}return r[n.name]!==void 0}getDirectives(){return this._directives}getDirective(t){return this.getDirectives().find(n=>n.name===t)}toConfig(){return{description:this.description,query:this.getQueryType(),mutation:this.getMutationType(),subscription:this.getSubscriptionType(),types:Object.values(this.getTypeMap()),directives:this.getDirectives(),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,assumeValid:this.__validationErrors!==void 0}}};np.GraphQLSchema=QN;function mo(e,t){let n=(0,fo.getNamedType)(e);if(!t.has(n)){if(t.add(n),(0,fo.isUnionType)(n))for(let r of n.getTypes())mo(r,t);else if((0,fo.isObjectType)(n)||(0,fo.isInterfaceType)(n)){for(let r of n.getInterfaces())mo(r,t);for(let r of Object.values(n.getFields())){mo(r.type,t);for(let i of r.args)mo(i.type,t)}}else if((0,fo.isInputObjectType)(n))for(let r of Object.values(n.getFields()))mo(r.type,t)}return t}});var fh=V(YN=>{"use strict";m();T();h();Object.defineProperty(YN,"__esModule",{value:!0});YN.assertValidSchema=SW;YN.validateSchema=pU;var di=En(),_W=at(),tS=qo(),aU=nh(),ar=tn(),dU=ji(),bW=xs(),OW=El();function pU(e){if((0,OW.assertSchema)(e),e.__validationErrors)return e.__validationErrors;let t=new rS(e);DW(t),AW(t),RW(t);let n=t.getErrors();return e.__validationErrors=n,n}function SW(e){let t=pU(e);if(t.length!==0)throw new Error(t.map(n=>n.message).join(` +In some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.`,fields:()=>({name:{type:new $e.GraphQLNonNull(An.GraphQLString),resolve:e=>e.name},description:{type:An.GraphQLString,resolve:e=>e.description},isRepeatable:{type:new $e.GraphQLNonNull(An.GraphQLBoolean),resolve:e=>e.isRepeatable},locations:{type:new $e.GraphQLNonNull(new $e.GraphQLList(new $e.GraphQLNonNull(zO))),resolve:e=>e.locations},args:{type:new $e.GraphQLNonNull(new $e.GraphQLList(new $e.GraphQLNonNull(ph))),args:{includeDeprecated:{type:An.GraphQLBoolean,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(n=>n.deprecationReason==null)}}})});gn.__Directive=JO;var zO=new $e.GraphQLEnumType({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value:wr.DirectiveLocation.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:wr.DirectiveLocation.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:wr.DirectiveLocation.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:wr.DirectiveLocation.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:wr.DirectiveLocation.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:wr.DirectiveLocation.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:wr.DirectiveLocation.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:wr.DirectiveLocation.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:wr.DirectiveLocation.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:wr.DirectiveLocation.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:wr.DirectiveLocation.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:wr.DirectiveLocation.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:wr.DirectiveLocation.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:wr.DirectiveLocation.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:wr.DirectiveLocation.UNION,description:"Location adjacent to a union definition."},ENUM:{value:wr.DirectiveLocation.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:wr.DirectiveLocation.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:wr.DirectiveLocation.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:wr.DirectiveLocation.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}});gn.__DirectiveLocation=zO;var xs=new $e.GraphQLObjectType({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:()=>({kind:{type:new $e.GraphQLNonNull(XO),resolve(e){if((0,$e.isScalarType)(e))return Lr.SCALAR;if((0,$e.isObjectType)(e))return Lr.OBJECT;if((0,$e.isInterfaceType)(e))return Lr.INTERFACE;if((0,$e.isUnionType)(e))return Lr.UNION;if((0,$e.isEnumType)(e))return Lr.ENUM;if((0,$e.isInputObjectType)(e))return Lr.INPUT_OBJECT;if((0,$e.isListType)(e))return Lr.LIST;if((0,$e.isNonNullType)(e))return Lr.NON_NULL;(0,dW.invariant)(!1,`Unexpected type: "${(0,lW.inspect)(e)}".`)}},name:{type:An.GraphQLString,resolve:e=>"name"in e?e.name:void 0},description:{type:An.GraphQLString,resolve:e=>"description"in e?e.description:void 0},specifiedByURL:{type:An.GraphQLString,resolve:e=>"specifiedByURL"in e?e.specifiedByURL:void 0},fields:{type:new $e.GraphQLList(new $e.GraphQLNonNull(HO)),args:{includeDeprecated:{type:An.GraphQLBoolean,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if((0,$e.isObjectType)(e)||(0,$e.isInterfaceType)(e)){let n=Object.values(e.getFields());return t?n:n.filter(r=>r.deprecationReason==null)}}},interfaces:{type:new $e.GraphQLList(new $e.GraphQLNonNull(xs)),resolve(e){if((0,$e.isObjectType)(e)||(0,$e.isInterfaceType)(e))return e.getInterfaces()}},possibleTypes:{type:new $e.GraphQLList(new $e.GraphQLNonNull(xs)),resolve(e,t,n,{schema:r}){if((0,$e.isAbstractType)(e))return r.getPossibleTypes(e)}},enumValues:{type:new $e.GraphQLList(new $e.GraphQLNonNull(WO)),args:{includeDeprecated:{type:An.GraphQLBoolean,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if((0,$e.isEnumType)(e)){let n=e.getValues();return t?n:n.filter(r=>r.deprecationReason==null)}}},inputFields:{type:new $e.GraphQLList(new $e.GraphQLNonNull(ph)),args:{includeDeprecated:{type:An.GraphQLBoolean,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if((0,$e.isInputObjectType)(e)){let n=Object.values(e.getFields());return t?n:n.filter(r=>r.deprecationReason==null)}}},ofType:{type:xs,resolve:e=>"ofType"in e?e.ofType:void 0},isOneOf:{type:An.GraphQLBoolean,resolve:e=>{if((0,$e.isInputObjectType)(e))return e.isOneOf}}})});gn.__Type=xs;var HO=new $e.GraphQLObjectType({name:"__Field",description:"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",fields:()=>({name:{type:new $e.GraphQLNonNull(An.GraphQLString),resolve:e=>e.name},description:{type:An.GraphQLString,resolve:e=>e.description},args:{type:new $e.GraphQLNonNull(new $e.GraphQLList(new $e.GraphQLNonNull(ph))),args:{includeDeprecated:{type:An.GraphQLBoolean,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(n=>n.deprecationReason==null)}},type:{type:new $e.GraphQLNonNull(xs),resolve:e=>e.type},isDeprecated:{type:new $e.GraphQLNonNull(An.GraphQLBoolean),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:An.GraphQLString,resolve:e=>e.deprecationReason}})});gn.__Field=HO;var ph=new $e.GraphQLObjectType({name:"__InputValue",description:"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",fields:()=>({name:{type:new $e.GraphQLNonNull(An.GraphQLString),resolve:e=>e.name},description:{type:An.GraphQLString,resolve:e=>e.description},type:{type:new $e.GraphQLNonNull(xs),resolve:e=>e.type},defaultValue:{type:An.GraphQLString,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(e){let{type:t,defaultValue:n}=e,r=(0,fW.astFromValue)(n,t);return r?(0,pW.print)(r):null}},isDeprecated:{type:new $e.GraphQLNonNull(An.GraphQLBoolean),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:An.GraphQLString,resolve:e=>e.deprecationReason}})});gn.__InputValue=ph;var WO=new $e.GraphQLObjectType({name:"__EnumValue",description:"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",fields:()=>({name:{type:new $e.GraphQLNonNull(An.GraphQLString),resolve:e=>e.name},description:{type:An.GraphQLString,resolve:e=>e.description},isDeprecated:{type:new $e.GraphQLNonNull(An.GraphQLBoolean),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:An.GraphQLString,resolve:e=>e.deprecationReason}})});gn.__EnumValue=WO;var Lr;gn.TypeKind=Lr;(function(e){e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.INPUT_OBJECT="INPUT_OBJECT",e.LIST="LIST",e.NON_NULL="NON_NULL"})(Lr||(gn.TypeKind=Lr={}));var XO=new $e.GraphQLEnumType({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:Lr.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:Lr.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:Lr.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:Lr.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:Lr.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:Lr.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:Lr.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:Lr.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}});gn.__TypeKind=XO;var mW={name:"__schema",type:new $e.GraphQLNonNull(YO),description:"Access the current type schema of this server.",args:[],resolve:(e,t,n,{schema:r})=>r,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0};gn.SchemaMetaFieldDef=mW;var hW={name:"__type",type:xs,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new $e.GraphQLNonNull(An.GraphQLString),defaultValue:void 0,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0}],resolve:(e,{name:t},n,{schema:r})=>r.getType(t),deprecationReason:void 0,extensions:Object.create(null),astNode:void 0};gn.TypeMetaFieldDef=hW;var TW={name:"__typename",type:new $e.GraphQLNonNull(An.GraphQLString),description:"The name of the current Object type at runtime.",args:[],resolve:(e,t,n,{parentType:r})=>r.name,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0};gn.TypeNameMetaFieldDef=TW;var oU=Object.freeze([YO,JO,zO,xs,HO,ph,WO,XO]);gn.introspectionTypes=oU;function yW(e){return oU.some(({name:t})=>e.name===t)}});var Il=V(ip=>{"use strict";m();T();h();Object.defineProperty(ip,"__esModule",{value:!0});ip.GraphQLSchema=void 0;ip.assertSchema=vW;ip.isSchema=uU;var QN=Oi(),eS=En(),NW=Ym(),EW=$o(),gW=bN(),ZO=qo(),fo=tn(),aU=ji(),IW=Cs();function uU(e){return(0,NW.instanceOf)(e,YN)}function vW(e){if(!uU(e))throw new Error(`Expected ${(0,eS.inspect)(e)} to be a GraphQL schema.`);return e}var YN=class{constructor(t){var n,r;this.__validationErrors=t.assumeValid===!0?[]:void 0,(0,EW.isObjectLike)(t)||(0,QN.devAssert)(!1,"Must provide configuration object."),!t.types||Array.isArray(t.types)||(0,QN.devAssert)(!1,`"types" must be Array if provided but got: ${(0,eS.inspect)(t.types)}.`),!t.directives||Array.isArray(t.directives)||(0,QN.devAssert)(!1,`"directives" must be Array if provided but got: ${(0,eS.inspect)(t.directives)}.`),this.description=t.description,this.extensions=(0,gW.toObjMap)(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this._queryType=t.query,this._mutationType=t.mutation,this._subscriptionType=t.subscription,this._directives=(r=t.directives)!==null&&r!==void 0?r:aU.specifiedDirectives;let i=new Set(t.types);if(t.types!=null)for(let s of t.types)i.delete(s),mo(s,i);this._queryType!=null&&mo(this._queryType,i),this._mutationType!=null&&mo(this._mutationType,i),this._subscriptionType!=null&&mo(this._subscriptionType,i);for(let s of this._directives)if((0,aU.isDirective)(s))for(let o of s.args)mo(o.type,i);mo(IW.__Schema,i),this._typeMap=Object.create(null),this._subTypeMap=Object.create(null),this._implementationsMap=Object.create(null);for(let s of i){if(s==null)continue;let o=s.name;if(o||(0,QN.devAssert)(!1,"One of the provided types for building the Schema is missing a name."),this._typeMap[o]!==void 0)throw new Error(`Schema must contain uniquely named types but contains multiple types named "${o}".`);if(this._typeMap[o]=s,(0,fo.isInterfaceType)(s)){for(let u of s.getInterfaces())if((0,fo.isInterfaceType)(u)){let l=this._implementationsMap[u.name];l===void 0&&(l=this._implementationsMap[u.name]={objects:[],interfaces:[]}),l.interfaces.push(s)}}else if((0,fo.isObjectType)(s)){for(let u of s.getInterfaces())if((0,fo.isInterfaceType)(u)){let l=this._implementationsMap[u.name];l===void 0&&(l=this._implementationsMap[u.name]={objects:[],interfaces:[]}),l.objects.push(s)}}}}get[Symbol.toStringTag](){return"GraphQLSchema"}getQueryType(){return this._queryType}getMutationType(){return this._mutationType}getSubscriptionType(){return this._subscriptionType}getRootType(t){switch(t){case ZO.OperationTypeNode.QUERY:return this.getQueryType();case ZO.OperationTypeNode.MUTATION:return this.getMutationType();case ZO.OperationTypeNode.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(t){return this.getTypeMap()[t]}getPossibleTypes(t){return(0,fo.isUnionType)(t)?t.getTypes():this.getImplementations(t).objects}getImplementations(t){let n=this._implementationsMap[t.name];return n!=null?n:{objects:[],interfaces:[]}}isSubType(t,n){let r=this._subTypeMap[t.name];if(r===void 0){if(r=Object.create(null),(0,fo.isUnionType)(t))for(let i of t.getTypes())r[i.name]=!0;else{let i=this.getImplementations(t);for(let s of i.objects)r[s.name]=!0;for(let s of i.interfaces)r[s.name]=!0}this._subTypeMap[t.name]=r}return r[n.name]!==void 0}getDirectives(){return this._directives}getDirective(t){return this.getDirectives().find(n=>n.name===t)}toConfig(){return{description:this.description,query:this.getQueryType(),mutation:this.getMutationType(),subscription:this.getSubscriptionType(),types:Object.values(this.getTypeMap()),directives:this.getDirectives(),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,assumeValid:this.__validationErrors!==void 0}}};ip.GraphQLSchema=YN;function mo(e,t){let n=(0,fo.getNamedType)(e);if(!t.has(n)){if(t.add(n),(0,fo.isUnionType)(n))for(let r of n.getTypes())mo(r,t);else if((0,fo.isObjectType)(n)||(0,fo.isInterfaceType)(n)){for(let r of n.getInterfaces())mo(r,t);for(let r of Object.values(n.getFields())){mo(r.type,t);for(let i of r.args)mo(i.type,t)}}else if((0,fo.isInputObjectType)(n))for(let r of Object.values(n.getFields()))mo(r.type,t)}return t}});var mh=V(JN=>{"use strict";m();T();h();Object.defineProperty(JN,"__esModule",{value:!0});JN.assertValidSchema=SW;JN.validateSchema=mU;var di=En(),_W=ut(),tS=qo(),cU=rh(),ar=tn(),fU=ji(),bW=Cs(),OW=Il();function mU(e){if((0,OW.assertSchema)(e),e.__validationErrors)return e.__validationErrors;let t=new rS(e);DW(t),AW(t),RW(t);let n=t.getErrors();return e.__validationErrors=n,n}function SW(e){let t=mU(e);if(t.length!==0)throw new Error(t.map(n=>n.message).join(` -`))}var rS=class{constructor(t){this._errors=[],this.schema=t}reportError(t,n){let r=Array.isArray(n)?n.filter(Boolean):n;this._errors.push(new _W.GraphQLError(t,{nodes:r}))}getErrors(){return this._errors}};function DW(e){let t=e.schema,n=t.getQueryType();if(!n)e.reportError("Query root type must be provided.",t.astNode);else if(!(0,ar.isObjectType)(n)){var r;e.reportError(`Query root type must be Object type, it cannot be ${(0,di.inspect)(n)}.`,(r=nS(t,tS.OperationTypeNode.QUERY))!==null&&r!==void 0?r:n.astNode)}let i=t.getMutationType();if(i&&!(0,ar.isObjectType)(i)){var s;e.reportError(`Mutation root type must be Object type if provided, it cannot be ${(0,di.inspect)(i)}.`,(s=nS(t,tS.OperationTypeNode.MUTATION))!==null&&s!==void 0?s:i.astNode)}let o=t.getSubscriptionType();if(o&&!(0,ar.isObjectType)(o)){var u;e.reportError(`Subscription root type must be Object type if provided, it cannot be ${(0,di.inspect)(o)}.`,(u=nS(t,tS.OperationTypeNode.SUBSCRIPTION))!==null&&u!==void 0?u:o.astNode)}}function nS(e,t){var n;return(n=[e.astNode,...e.extensionASTNodes].flatMap(r=>{var i;return(i=r==null?void 0:r.operationTypes)!==null&&i!==void 0?i:[]}).find(r=>r.operation===t))===null||n===void 0?void 0:n.type}function AW(e){for(let n of e.schema.getDirectives()){if(!(0,dU.isDirective)(n)){e.reportError(`Expected directive but got: ${(0,di.inspect)(n)}.`,n==null?void 0:n.astNode);continue}gl(e,n);for(let r of n.args)if(gl(e,r),(0,ar.isInputType)(r.type)||e.reportError(`The type of @${n.name}(${r.name}:) must be Input Type but got: ${(0,di.inspect)(r.type)}.`,r.astNode),(0,ar.isRequiredArgument)(r)&&r.deprecationReason!=null){var t;e.reportError(`Required argument @${n.name}(${r.name}:) cannot be deprecated.`,[iS(r.astNode),(t=r.astNode)===null||t===void 0?void 0:t.type])}}}function gl(e,t){t.name.startsWith("__")&&e.reportError(`Name "${t.name}" must not begin with "__", which is reserved by GraphQL introspection.`,t.astNode)}function RW(e){let t=CW(e),n=e.schema.getTypeMap();for(let r of Object.values(n)){if(!(0,ar.isNamedType)(r)){e.reportError(`Expected GraphQL named type but got: ${(0,di.inspect)(r)}.`,r.astNode);continue}(0,bW.isIntrospectionType)(r)||gl(e,r),(0,ar.isObjectType)(r)||(0,ar.isInterfaceType)(r)?(uU(e,r),cU(e,r)):(0,ar.isUnionType)(r)?LW(e,r):(0,ar.isEnumType)(r)?PW(e,r):(0,ar.isInputObjectType)(r)&&(kW(e,r),t(r))}}function uU(e,t){let n=Object.values(t.getFields());n.length===0&&e.reportError(`Type ${t.name} must define one or more fields.`,[t.astNode,...t.extensionASTNodes]);for(let o of n){if(gl(e,o),!(0,ar.isOutputType)(o.type)){var r;e.reportError(`The type of ${t.name}.${o.name} must be Output Type but got: ${(0,di.inspect)(o.type)}.`,(r=o.astNode)===null||r===void 0?void 0:r.type)}for(let u of o.args){let l=u.name;if(gl(e,u),!(0,ar.isInputType)(u.type)){var i;e.reportError(`The type of ${t.name}.${o.name}(${l}:) must be Input Type but got: ${(0,di.inspect)(u.type)}.`,(i=u.astNode)===null||i===void 0?void 0:i.type)}if((0,ar.isRequiredArgument)(u)&&u.deprecationReason!=null){var s;e.reportError(`Required argument ${t.name}.${o.name}(${l}:) cannot be deprecated.`,[iS(u.astNode),(s=u.astNode)===null||s===void 0?void 0:s.type])}}}}function cU(e,t){let n=Object.create(null);for(let r of t.getInterfaces()){if(!(0,ar.isInterfaceType)(r)){e.reportError(`Type ${(0,di.inspect)(t)} must only implement Interface types, it cannot implement ${(0,di.inspect)(r)}.`,ph(t,r));continue}if(t===r){e.reportError(`Type ${t.name} cannot implement itself because it would create a circular reference.`,ph(t,r));continue}if(n[r.name]){e.reportError(`Type ${t.name} can only implement ${r.name} once.`,ph(t,r));continue}n[r.name]=!0,wW(e,t,r),FW(e,t,r)}}function FW(e,t,n){let r=t.getFields();for(let l of Object.values(n.getFields())){let d=l.name,p=r[d];if(!p){e.reportError(`Interface field ${n.name}.${d} expected but ${t.name} does not provide it.`,[l.astNode,t.astNode,...t.extensionASTNodes]);continue}if(!(0,aU.isTypeSubTypeOf)(e.schema,p.type,l.type)){var i,s;e.reportError(`Interface field ${n.name}.${d} expects type ${(0,di.inspect)(l.type)} but ${t.name}.${d} is type ${(0,di.inspect)(p.type)}.`,[(i=l.astNode)===null||i===void 0?void 0:i.type,(s=p.astNode)===null||s===void 0?void 0:s.type])}for(let y of l.args){let N=y.name,I=p.args.find(b=>b.name===N);if(!I){e.reportError(`Interface field argument ${n.name}.${d}(${N}:) expected but ${t.name}.${d} does not provide it.`,[y.astNode,p.astNode]);continue}if(!(0,aU.isEqualType)(y.type,I.type)){var o,u;e.reportError(`Interface field argument ${n.name}.${d}(${N}:) expects type ${(0,di.inspect)(y.type)} but ${t.name}.${d}(${N}:) is type ${(0,di.inspect)(I.type)}.`,[(o=y.astNode)===null||o===void 0?void 0:o.type,(u=I.astNode)===null||u===void 0?void 0:u.type])}}for(let y of p.args){let N=y.name;!l.args.find(b=>b.name===N)&&(0,ar.isRequiredArgument)(y)&&e.reportError(`Object field ${t.name}.${d} includes required argument ${N} that is missing from the Interface field ${n.name}.${d}.`,[y.astNode,l.astNode])}}}function wW(e,t,n){let r=t.getInterfaces();for(let i of n.getInterfaces())r.includes(i)||e.reportError(i===t?`Type ${t.name} cannot implement ${n.name} because it would create a circular reference.`:`Type ${t.name} must implement ${i.name} because it is implemented by ${n.name}.`,[...ph(n,i),...ph(t,n)])}function LW(e,t){let n=t.getTypes();n.length===0&&e.reportError(`Union type ${t.name} must define one or more member types.`,[t.astNode,...t.extensionASTNodes]);let r=Object.create(null);for(let i of n){if(r[i.name]){e.reportError(`Union type ${t.name} can only include type ${i.name} once.`,lU(t,i.name));continue}r[i.name]=!0,(0,ar.isObjectType)(i)||e.reportError(`Union type ${t.name} can only include Object types, it cannot include ${(0,di.inspect)(i)}.`,lU(t,String(i)))}}function PW(e,t){let n=t.getValues();n.length===0&&e.reportError(`Enum type ${t.name} must define one or more values.`,[t.astNode,...t.extensionASTNodes]);for(let r of n)gl(e,r)}function kW(e,t){let n=Object.values(t.getFields());n.length===0&&e.reportError(`Input Object type ${t.name} must define one or more fields.`,[t.astNode,...t.extensionASTNodes]);for(let s of n){if(gl(e,s),!(0,ar.isInputType)(s.type)){var r;e.reportError(`The type of ${t.name}.${s.name} must be Input Type but got: ${(0,di.inspect)(s.type)}.`,(r=s.astNode)===null||r===void 0?void 0:r.type)}if((0,ar.isRequiredInputField)(s)&&s.deprecationReason!=null){var i;e.reportError(`Required input field ${t.name}.${s.name} cannot be deprecated.`,[iS(s.astNode),(i=s.astNode)===null||i===void 0?void 0:i.type])}t.isOneOf&&xW(t,s,e)}}function xW(e,t,n){if((0,ar.isNonNullType)(t.type)){var r;n.reportError(`OneOf input field ${e.name}.${t.name} must be nullable.`,(r=t.astNode)===null||r===void 0?void 0:r.type)}t.defaultValue!==void 0&&n.reportError(`OneOf input field ${e.name}.${t.name} cannot have a default value.`,t.astNode)}function CW(e){let t=Object.create(null),n=[],r=Object.create(null);return i;function i(s){if(t[s.name])return;t[s.name]=!0,r[s.name]=n.length;let o=Object.values(s.getFields());for(let u of o)if((0,ar.isNonNullType)(u.type)&&(0,ar.isInputObjectType)(u.type.ofType)){let l=u.type.ofType,d=r[l.name];if(n.push(u),d===void 0)i(l);else{let p=n.slice(d),y=p.map(N=>N.name).join(".");e.reportError(`Cannot reference Input Object "${l.name}" within itself through a series of non-null fields: "${y}".`,p.map(N=>N.astNode))}n.pop()}r[s.name]=void 0}}function ph(e,t){let{astNode:n,extensionASTNodes:r}=e;return(n!=null?[n,...r]:r).flatMap(s=>{var o;return(o=s.interfaces)!==null&&o!==void 0?o:[]}).filter(s=>s.name.value===t.name)}function lU(e,t){let{astNode:n,extensionASTNodes:r}=e;return(n!=null?[n,...r]:r).flatMap(s=>{var o;return(o=s.types)!==null&&o!==void 0?o:[]}).filter(s=>s.name.value===t)}function iS(e){var t;return e==null||(t=e.directives)===null||t===void 0?void 0:t.find(n=>n.name.value===dU.GraphQLDeprecatedDirective.name)}});var Yo=V(aS=>{"use strict";m();T();h();Object.defineProperty(aS,"__esModule",{value:!0});aS.typeFromAST=oS;var sS=en(),fU=tn();function oS(e,t){switch(t.kind){case sS.Kind.LIST_TYPE:{let n=oS(e,t.type);return n&&new fU.GraphQLList(n)}case sS.Kind.NON_NULL_TYPE:{let n=oS(e,t.type);return n&&new fU.GraphQLNonNull(n)}case sS.Kind.NAMED_TYPE:return e.getType(t.name.value)}}});var JN=V(mh=>{"use strict";m();T();h();Object.defineProperty(mh,"__esModule",{value:!0});mh.TypeInfo=void 0;mh.visitWithTypeInfo=BW;var UW=qo(),ur=en(),mU=pl(),cr=tn(),rp=xs(),hU=Yo(),uS=class{constructor(t,n,r){this._schema=t,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=r!=null?r:MW,n&&((0,cr.isInputType)(n)&&this._inputTypeStack.push(n),(0,cr.isCompositeType)(n)&&this._parentTypeStack.push(n),(0,cr.isOutputType)(n)&&this._typeStack.push(n))}get[Symbol.toStringTag](){return"TypeInfo"}getType(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]}getParentType(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]}getInputType(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]}getParentInputType(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]}getFieldDef(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]}getDefaultValue(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]}getDirective(){return this._directive}getArgument(){return this._argument}getEnumValue(){return this._enumValue}enter(t){let n=this._schema;switch(t.kind){case ur.Kind.SELECTION_SET:{let i=(0,cr.getNamedType)(this.getType());this._parentTypeStack.push((0,cr.isCompositeType)(i)?i:void 0);break}case ur.Kind.FIELD:{let i=this.getParentType(),s,o;i&&(s=this._getFieldDef(n,i,t),s&&(o=s.type)),this._fieldDefStack.push(s),this._typeStack.push((0,cr.isOutputType)(o)?o:void 0);break}case ur.Kind.DIRECTIVE:this._directive=n.getDirective(t.name.value);break;case ur.Kind.OPERATION_DEFINITION:{let i=n.getRootType(t.operation);this._typeStack.push((0,cr.isObjectType)(i)?i:void 0);break}case ur.Kind.INLINE_FRAGMENT:case ur.Kind.FRAGMENT_DEFINITION:{let i=t.typeCondition,s=i?(0,hU.typeFromAST)(n,i):(0,cr.getNamedType)(this.getType());this._typeStack.push((0,cr.isOutputType)(s)?s:void 0);break}case ur.Kind.VARIABLE_DEFINITION:{let i=(0,hU.typeFromAST)(n,t.type);this._inputTypeStack.push((0,cr.isInputType)(i)?i:void 0);break}case ur.Kind.ARGUMENT:{var r;let i,s,o=(r=this.getDirective())!==null&&r!==void 0?r:this.getFieldDef();o&&(i=o.args.find(u=>u.name===t.name.value),i&&(s=i.type)),this._argument=i,this._defaultValueStack.push(i?i.defaultValue:void 0),this._inputTypeStack.push((0,cr.isInputType)(s)?s:void 0);break}case ur.Kind.LIST:{let i=(0,cr.getNullableType)(this.getInputType()),s=(0,cr.isListType)(i)?i.ofType:i;this._defaultValueStack.push(void 0),this._inputTypeStack.push((0,cr.isInputType)(s)?s:void 0);break}case ur.Kind.OBJECT_FIELD:{let i=(0,cr.getNamedType)(this.getInputType()),s,o;(0,cr.isInputObjectType)(i)&&(o=i.getFields()[t.name.value],o&&(s=o.type)),this._defaultValueStack.push(o?o.defaultValue:void 0),this._inputTypeStack.push((0,cr.isInputType)(s)?s:void 0);break}case ur.Kind.ENUM:{let i=(0,cr.getNamedType)(this.getInputType()),s;(0,cr.isEnumType)(i)&&(s=i.getValue(t.value)),this._enumValue=s;break}default:}}leave(t){switch(t.kind){case ur.Kind.SELECTION_SET:this._parentTypeStack.pop();break;case ur.Kind.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case ur.Kind.DIRECTIVE:this._directive=null;break;case ur.Kind.OPERATION_DEFINITION:case ur.Kind.INLINE_FRAGMENT:case ur.Kind.FRAGMENT_DEFINITION:this._typeStack.pop();break;case ur.Kind.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case ur.Kind.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case ur.Kind.LIST:case ur.Kind.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case ur.Kind.ENUM:this._enumValue=null;break;default:}}};mh.TypeInfo=uS;function MW(e,t,n){let r=n.name.value;if(r===rp.SchemaMetaFieldDef.name&&e.getQueryType()===t)return rp.SchemaMetaFieldDef;if(r===rp.TypeMetaFieldDef.name&&e.getQueryType()===t)return rp.TypeMetaFieldDef;if(r===rp.TypeNameMetaFieldDef.name&&(0,cr.isCompositeType)(t))return rp.TypeNameMetaFieldDef;if((0,cr.isObjectType)(t)||(0,cr.isInterfaceType)(t))return t.getFields()[r]}function BW(e,t){return{enter(...n){let r=n[0];e.enter(r);let i=(0,mU.getEnterLeaveForKind)(t,r.kind).enter;if(i){let s=i.apply(t,n);return s!==void 0&&(e.leave(r),(0,UW.isNode)(s)&&e.enter(s)),s}},leave(...n){let r=n[0],i=(0,mU.getEnterLeaveForKind)(t,r.kind).leave,s;return i&&(s=i.apply(t,n)),e.leave(r),s}}}});var Il=V(Cs=>{"use strict";m();T();h();Object.defineProperty(Cs,"__esModule",{value:!0});Cs.isConstValueNode=cS;Cs.isDefinitionNode=VW;Cs.isExecutableDefinitionNode=TU;Cs.isSelectionNode=jW;Cs.isTypeDefinitionNode=EU;Cs.isTypeExtensionNode=IU;Cs.isTypeNode=$W;Cs.isTypeSystemDefinitionNode=NU;Cs.isTypeSystemExtensionNode=gU;Cs.isValueNode=yU;var nn=en();function VW(e){return TU(e)||NU(e)||gU(e)}function TU(e){return e.kind===nn.Kind.OPERATION_DEFINITION||e.kind===nn.Kind.FRAGMENT_DEFINITION}function jW(e){return e.kind===nn.Kind.FIELD||e.kind===nn.Kind.FRAGMENT_SPREAD||e.kind===nn.Kind.INLINE_FRAGMENT}function yU(e){return e.kind===nn.Kind.VARIABLE||e.kind===nn.Kind.INT||e.kind===nn.Kind.FLOAT||e.kind===nn.Kind.STRING||e.kind===nn.Kind.BOOLEAN||e.kind===nn.Kind.NULL||e.kind===nn.Kind.ENUM||e.kind===nn.Kind.LIST||e.kind===nn.Kind.OBJECT}function cS(e){return yU(e)&&(e.kind===nn.Kind.LIST?e.values.some(cS):e.kind===nn.Kind.OBJECT?e.fields.some(t=>cS(t.value)):e.kind!==nn.Kind.VARIABLE)}function $W(e){return e.kind===nn.Kind.NAMED_TYPE||e.kind===nn.Kind.LIST_TYPE||e.kind===nn.Kind.NON_NULL_TYPE}function NU(e){return e.kind===nn.Kind.SCHEMA_DEFINITION||EU(e)||e.kind===nn.Kind.DIRECTIVE_DEFINITION}function EU(e){return e.kind===nn.Kind.SCALAR_TYPE_DEFINITION||e.kind===nn.Kind.OBJECT_TYPE_DEFINITION||e.kind===nn.Kind.INTERFACE_TYPE_DEFINITION||e.kind===nn.Kind.UNION_TYPE_DEFINITION||e.kind===nn.Kind.ENUM_TYPE_DEFINITION||e.kind===nn.Kind.INPUT_OBJECT_TYPE_DEFINITION}function gU(e){return e.kind===nn.Kind.SCHEMA_EXTENSION||IU(e)}function IU(e){return e.kind===nn.Kind.SCALAR_TYPE_EXTENSION||e.kind===nn.Kind.OBJECT_TYPE_EXTENSION||e.kind===nn.Kind.INTERFACE_TYPE_EXTENSION||e.kind===nn.Kind.UNION_TYPE_EXTENSION||e.kind===nn.Kind.ENUM_TYPE_EXTENSION||e.kind===nn.Kind.INPUT_OBJECT_TYPE_EXTENSION}});var dS=V(lS=>{"use strict";m();T();h();Object.defineProperty(lS,"__esModule",{value:!0});lS.ExecutableDefinitionsRule=GW;var qW=at(),vU=en(),KW=Il();function GW(e){return{Document(t){for(let n of t.definitions)if(!(0,KW.isExecutableDefinitionNode)(n)){let r=n.kind===vU.Kind.SCHEMA_DEFINITION||n.kind===vU.Kind.SCHEMA_EXTENSION?"schema":'"'+n.name.value+'"';e.reportError(new qW.GraphQLError(`The ${r} definition is not executable.`,{nodes:n}))}return!1}}}});var fS=V(pS=>{"use strict";m();T();h();Object.defineProperty(pS,"__esModule",{value:!0});pS.FieldsOnCorrectTypeRule=zW;var _U=mc(),QW=Jm(),YW=Tc(),JW=at(),hh=tn();function zW(e){return{Field(t){let n=e.getParentType();if(n&&!e.getFieldDef()){let i=e.getSchema(),s=t.name.value,o=(0,_U.didYouMean)("to use an inline fragment on",HW(i,n,s));o===""&&(o=(0,_U.didYouMean)(WW(n,s))),e.reportError(new JW.GraphQLError(`Cannot query field "${s}" on type "${n.name}".`+o,{nodes:t}))}}}}function HW(e,t,n){if(!(0,hh.isAbstractType)(t))return[];let r=new Set,i=Object.create(null);for(let o of e.getPossibleTypes(t))if(o.getFields()[n]){r.add(o),i[o.name]=1;for(let u of o.getInterfaces()){var s;u.getFields()[n]&&(r.add(u),i[u.name]=((s=i[u.name])!==null&&s!==void 0?s:0)+1)}}return[...r].sort((o,u)=>{let l=i[u.name]-i[o.name];return l!==0?l:(0,hh.isInterfaceType)(o)&&e.isSubType(o,u)?-1:(0,hh.isInterfaceType)(u)&&e.isSubType(u,o)?1:(0,QW.naturalCompare)(o.name,u.name)}).map(o=>o.name)}function WW(e,t){if((0,hh.isObjectType)(e)||(0,hh.isInterfaceType)(e)){let n=Object.keys(e.getFields());return(0,YW.suggestionList)(t,n)}return[]}});var hS=V(mS=>{"use strict";m();T();h();Object.defineProperty(mS,"__esModule",{value:!0});mS.FragmentsOnCompositeTypesRule=XW;var bU=at(),OU=ds(),SU=tn(),DU=Yo();function XW(e){return{InlineFragment(t){let n=t.typeCondition;if(n){let r=(0,DU.typeFromAST)(e.getSchema(),n);if(r&&!(0,SU.isCompositeType)(r)){let i=(0,OU.print)(n);e.reportError(new bU.GraphQLError(`Fragment cannot condition on non composite type "${i}".`,{nodes:n}))}}},FragmentDefinition(t){let n=(0,DU.typeFromAST)(e.getSchema(),t.typeCondition);if(n&&!(0,SU.isCompositeType)(n)){let r=(0,OU.print)(t.typeCondition);e.reportError(new bU.GraphQLError(`Fragment "${t.name.value}" cannot condition on non composite type "${r}".`,{nodes:t.typeCondition}))}}}}});var TS=V(zN=>{"use strict";m();T();h();Object.defineProperty(zN,"__esModule",{value:!0});zN.KnownArgumentNamesOnDirectivesRule=wU;zN.KnownArgumentNamesRule=tX;var AU=mc(),RU=Tc(),FU=at(),ZW=en(),eX=ji();function tX(e){return K(k({},wU(e)),{Argument(t){let n=e.getArgument(),r=e.getFieldDef(),i=e.getParentType();if(!n&&r&&i){let s=t.name.value,o=r.args.map(l=>l.name),u=(0,RU.suggestionList)(s,o);e.reportError(new FU.GraphQLError(`Unknown argument "${s}" on field "${i.name}.${r.name}".`+(0,AU.didYouMean)(u),{nodes:t}))}}})}function wU(e){let t=Object.create(null),n=e.getSchema(),r=n?n.getDirectives():eX.specifiedDirectives;for(let o of r)t[o.name]=o.args.map(u=>u.name);let i=e.getDocument().definitions;for(let o of i)if(o.kind===ZW.Kind.DIRECTIVE_DEFINITION){var s;let u=(s=o.arguments)!==null&&s!==void 0?s:[];t[o.name.value]=u.map(l=>l.name.value)}return{Directive(o){let u=o.name.value,l=t[u];if(o.arguments&&l)for(let d of o.arguments){let p=d.name.value;if(!l.includes(p)){let y=(0,RU.suggestionList)(p,l);e.reportError(new FU.GraphQLError(`Unknown argument "${p}" on directive "@${u}".`+(0,AU.didYouMean)(y),{nodes:d}))}}return!1}}}});var gS=V(ES=>{"use strict";m();T();h();Object.defineProperty(ES,"__esModule",{value:!0});ES.KnownDirectivesRule=iX;var nX=En(),yS=ci(),LU=at(),NS=qo(),Pr=tp(),jn=en(),rX=ji();function iX(e){let t=Object.create(null),n=e.getSchema(),r=n?n.getDirectives():rX.specifiedDirectives;for(let s of r)t[s.name]=s.locations;let i=e.getDocument().definitions;for(let s of i)s.kind===jn.Kind.DIRECTIVE_DEFINITION&&(t[s.name.value]=s.locations.map(o=>o.value));return{Directive(s,o,u,l,d){let p=s.name.value,y=t[p];if(!y){e.reportError(new LU.GraphQLError(`Unknown directive "@${p}".`,{nodes:s}));return}let N=sX(d);N&&!y.includes(N)&&e.reportError(new LU.GraphQLError(`Directive "@${p}" may not be used on ${N}.`,{nodes:s}))}}}function sX(e){let t=e[e.length-1];switch("kind"in t||(0,yS.invariant)(!1),t.kind){case jn.Kind.OPERATION_DEFINITION:return oX(t.operation);case jn.Kind.FIELD:return Pr.DirectiveLocation.FIELD;case jn.Kind.FRAGMENT_SPREAD:return Pr.DirectiveLocation.FRAGMENT_SPREAD;case jn.Kind.INLINE_FRAGMENT:return Pr.DirectiveLocation.INLINE_FRAGMENT;case jn.Kind.FRAGMENT_DEFINITION:return Pr.DirectiveLocation.FRAGMENT_DEFINITION;case jn.Kind.VARIABLE_DEFINITION:return Pr.DirectiveLocation.VARIABLE_DEFINITION;case jn.Kind.SCHEMA_DEFINITION:case jn.Kind.SCHEMA_EXTENSION:return Pr.DirectiveLocation.SCHEMA;case jn.Kind.SCALAR_TYPE_DEFINITION:case jn.Kind.SCALAR_TYPE_EXTENSION:return Pr.DirectiveLocation.SCALAR;case jn.Kind.OBJECT_TYPE_DEFINITION:case jn.Kind.OBJECT_TYPE_EXTENSION:return Pr.DirectiveLocation.OBJECT;case jn.Kind.FIELD_DEFINITION:return Pr.DirectiveLocation.FIELD_DEFINITION;case jn.Kind.INTERFACE_TYPE_DEFINITION:case jn.Kind.INTERFACE_TYPE_EXTENSION:return Pr.DirectiveLocation.INTERFACE;case jn.Kind.UNION_TYPE_DEFINITION:case jn.Kind.UNION_TYPE_EXTENSION:return Pr.DirectiveLocation.UNION;case jn.Kind.ENUM_TYPE_DEFINITION:case jn.Kind.ENUM_TYPE_EXTENSION:return Pr.DirectiveLocation.ENUM;case jn.Kind.ENUM_VALUE_DEFINITION:return Pr.DirectiveLocation.ENUM_VALUE;case jn.Kind.INPUT_OBJECT_TYPE_DEFINITION:case jn.Kind.INPUT_OBJECT_TYPE_EXTENSION:return Pr.DirectiveLocation.INPUT_OBJECT;case jn.Kind.INPUT_VALUE_DEFINITION:{let n=e[e.length-3];return"kind"in n||(0,yS.invariant)(!1),n.kind===jn.Kind.INPUT_OBJECT_TYPE_DEFINITION?Pr.DirectiveLocation.INPUT_FIELD_DEFINITION:Pr.DirectiveLocation.ARGUMENT_DEFINITION}default:(0,yS.invariant)(!1,"Unexpected kind: "+(0,nX.inspect)(t.kind))}}function oX(e){switch(e){case NS.OperationTypeNode.QUERY:return Pr.DirectiveLocation.QUERY;case NS.OperationTypeNode.MUTATION:return Pr.DirectiveLocation.MUTATION;case NS.OperationTypeNode.SUBSCRIPTION:return Pr.DirectiveLocation.SUBSCRIPTION}}});var vS=V(IS=>{"use strict";m();T();h();Object.defineProperty(IS,"__esModule",{value:!0});IS.KnownFragmentNamesRule=uX;var aX=at();function uX(e){return{FragmentSpread(t){let n=t.name.value;e.getFragment(n)||e.reportError(new aX.GraphQLError(`Unknown fragment "${n}".`,{nodes:t.name}))}}}});var OS=V(bS=>{"use strict";m();T();h();Object.defineProperty(bS,"__esModule",{value:!0});bS.KnownTypeNamesRule=mX;var cX=mc(),lX=Tc(),dX=at(),_S=Il(),pX=xs(),fX=Qo();function mX(e){let t=e.getSchema(),n=t?t.getTypeMap():Object.create(null),r=Object.create(null);for(let s of e.getDocument().definitions)(0,_S.isTypeDefinitionNode)(s)&&(r[s.name.value]=!0);let i=[...Object.keys(n),...Object.keys(r)];return{NamedType(s,o,u,l,d){let p=s.name.value;if(!n[p]&&!r[p]){var y;let N=(y=d[2])!==null&&y!==void 0?y:u,I=N!=null&&hX(N);if(I&&PU.includes(p))return;let b=(0,lX.suggestionList)(p,I?PU.concat(i):i);e.reportError(new dX.GraphQLError(`Unknown type "${p}".`+(0,cX.didYouMean)(b),{nodes:s}))}}}}var PU=[...fX.specifiedScalarTypes,...pX.introspectionTypes].map(e=>e.name);function hX(e){return"kind"in e&&((0,_S.isTypeSystemDefinitionNode)(e)||(0,_S.isTypeSystemExtensionNode)(e))}});var DS=V(SS=>{"use strict";m();T();h();Object.defineProperty(SS,"__esModule",{value:!0});SS.LoneAnonymousOperationRule=NX;var TX=at(),yX=en();function NX(e){let t=0;return{Document(n){t=n.definitions.filter(r=>r.kind===yX.Kind.OPERATION_DEFINITION).length},OperationDefinition(n){!n.name&&t>1&&e.reportError(new TX.GraphQLError("This anonymous operation must be the only defined operation.",{nodes:n}))}}}});var RS=V(AS=>{"use strict";m();T();h();Object.defineProperty(AS,"__esModule",{value:!0});AS.LoneSchemaDefinitionRule=EX;var kU=at();function EX(e){var t,n,r;let i=e.getSchema(),s=(t=(n=(r=i==null?void 0:i.astNode)!==null&&r!==void 0?r:i==null?void 0:i.getQueryType())!==null&&n!==void 0?n:i==null?void 0:i.getMutationType())!==null&&t!==void 0?t:i==null?void 0:i.getSubscriptionType(),o=0;return{SchemaDefinition(u){if(s){e.reportError(new kU.GraphQLError("Cannot define a new schema within a schema extension.",{nodes:u}));return}o>0&&e.reportError(new kU.GraphQLError("Must provide only one schema definition.",{nodes:u})),++o}}}});var wS=V(FS=>{"use strict";m();T();h();Object.defineProperty(FS,"__esModule",{value:!0});FS.MaxIntrospectionDepthRule=vX;var gX=at(),xU=en(),IX=3;function vX(e){function t(n,r=Object.create(null),i=0){if(n.kind===xU.Kind.FRAGMENT_SPREAD){let s=n.name.value;if(r[s]===!0)return!1;let o=e.getFragment(s);if(!o)return!1;try{return r[s]=!0,t(o,r,i)}finally{r[s]=void 0}}if(n.kind===xU.Kind.FIELD&&(n.name.value==="fields"||n.name.value==="interfaces"||n.name.value==="possibleTypes"||n.name.value==="inputFields")&&(i++,i>=IX))return!0;if("selectionSet"in n&&n.selectionSet){for(let s of n.selectionSet.selections)if(t(s,r,i))return!0}return!1}return{Field(n){if((n.name.value==="__schema"||n.name.value==="__type")&&t(n))return e.reportError(new gX.GraphQLError("Maximum introspection depth exceeded",{nodes:[n]})),!1}}}});var PS=V(LS=>{"use strict";m();T();h();Object.defineProperty(LS,"__esModule",{value:!0});LS.NoFragmentCyclesRule=bX;var _X=at();function bX(e){let t=Object.create(null),n=[],r=Object.create(null);return{OperationDefinition:()=>!1,FragmentDefinition(s){return i(s),!1}};function i(s){if(t[s.name.value])return;let o=s.name.value;t[o]=!0;let u=e.getFragmentSpreads(s.selectionSet);if(u.length!==0){r[o]=n.length;for(let l of u){let d=l.name.value,p=r[d];if(n.push(l),p===void 0){let y=e.getFragment(d);y&&i(y)}else{let y=n.slice(p),N=y.slice(0,-1).map(I=>'"'+I.name.value+'"').join(", ");e.reportError(new _X.GraphQLError(`Cannot spread fragment "${d}" within itself`+(N!==""?` via ${N}.`:"."),{nodes:y}))}n.pop()}r[o]=void 0}}}});var xS=V(kS=>{"use strict";m();T();h();Object.defineProperty(kS,"__esModule",{value:!0});kS.NoUndefinedVariablesRule=SX;var OX=at();function SX(e){let t=Object.create(null);return{OperationDefinition:{enter(){t=Object.create(null)},leave(n){let r=e.getRecursiveVariableUsages(n);for(let{node:i}of r){let s=i.name.value;t[s]!==!0&&e.reportError(new OX.GraphQLError(n.name?`Variable "$${s}" is not defined by operation "${n.name.value}".`:`Variable "$${s}" is not defined.`,{nodes:[i,n]}))}}},VariableDefinition(n){t[n.variable.name.value]=!0}}}});var US=V(CS=>{"use strict";m();T();h();Object.defineProperty(CS,"__esModule",{value:!0});CS.NoUnusedFragmentsRule=AX;var DX=at();function AX(e){let t=[],n=[];return{OperationDefinition(r){return t.push(r),!1},FragmentDefinition(r){return n.push(r),!1},Document:{leave(){let r=Object.create(null);for(let i of t)for(let s of e.getRecursivelyReferencedFragments(i))r[s.name.value]=!0;for(let i of n){let s=i.name.value;r[s]!==!0&&e.reportError(new DX.GraphQLError(`Fragment "${s}" is never used.`,{nodes:i}))}}}}}});var BS=V(MS=>{"use strict";m();T();h();Object.defineProperty(MS,"__esModule",{value:!0});MS.NoUnusedVariablesRule=FX;var RX=at();function FX(e){let t=[];return{OperationDefinition:{enter(){t=[]},leave(n){let r=Object.create(null),i=e.getRecursiveVariableUsages(n);for(let{node:s}of i)r[s.name.value]=!0;for(let s of t){let o=s.variable.name.value;r[o]!==!0&&e.reportError(new RX.GraphQLError(n.name?`Variable "$${o}" is never used in operation "${n.name.value}".`:`Variable "$${o}" is never used.`,{nodes:s}))}}},VariableDefinition(n){t.push(n)}}}});var $S=V(jS=>{"use strict";m();T();h();Object.defineProperty(jS,"__esModule",{value:!0});jS.sortValueNode=VS;var wX=Jm(),Ma=en();function VS(e){switch(e.kind){case Ma.Kind.OBJECT:return K(k({},e),{fields:LX(e.fields)});case Ma.Kind.LIST:return K(k({},e),{values:e.values.map(VS)});case Ma.Kind.INT:case Ma.Kind.FLOAT:case Ma.Kind.STRING:case Ma.Kind.BOOLEAN:case Ma.Kind.NULL:case Ma.Kind.ENUM:case Ma.Kind.VARIABLE:return e}}function LX(e){return e.map(t=>K(k({},t),{value:VS(t.value)})).sort((t,n)=>(0,wX.naturalCompare)(t.name.value,n.name.value))}});var zS=V(JS=>{"use strict";m();T();h();Object.defineProperty(JS,"__esModule",{value:!0});JS.OverlappingFieldsCanBeMergedRule=CX;var CU=En(),PX=at(),qS=en(),kX=ds(),$i=tn(),xX=$S(),MU=Yo();function BU(e){return Array.isArray(e)?e.map(([t,n])=>`subfields "${t}" conflict because `+BU(n)).join(" and "):e}function CX(e){let t=new QS,n=new Map;return{SelectionSet(r){let i=UX(e,n,t,e.getParentType(),r);for(let[[s,o],u,l]of i){let d=BU(o);e.reportError(new PX.GraphQLError(`Fields "${s}" conflict because ${d}. Use different aliases on the fields to fetch both if this was intentional.`,{nodes:u.concat(l)}))}}}}function UX(e,t,n,r,i){let s=[],[o,u]=XN(e,t,r,i);if(BX(e,s,t,n,o),u.length!==0)for(let l=0;l1)for(let u=0;u[s.value,o]));return n.every(s=>{let o=s.value,u=i.get(s.name.value);return u===void 0?!1:UU(o)===UU(u)})}function UU(e){return(0,kX.print)((0,xX.sortValueNode)(e))}function KS(e,t){return(0,$i.isListType)(e)?(0,$i.isListType)(t)?KS(e.ofType,t.ofType):!0:(0,$i.isListType)(t)?!0:(0,$i.isNonNullType)(e)?(0,$i.isNonNullType)(t)?KS(e.ofType,t.ofType):!0:(0,$i.isNonNullType)(t)?!0:(0,$i.isLeafType)(e)||(0,$i.isLeafType)(t)?e!==t:!1}function XN(e,t,n,r){let i=t.get(r);if(i)return i;let s=Object.create(null),o=Object.create(null);jU(e,n,r,s,o);let u=[s,Object.keys(o)];return t.set(r,u),u}function GS(e,t,n){let r=t.get(n.selectionSet);if(r)return r;let i=(0,MU.typeFromAST)(e.getSchema(),n.typeCondition);return XN(e,t,i,n.selectionSet)}function jU(e,t,n,r,i){for(let s of n.selections)switch(s.kind){case qS.Kind.FIELD:{let o=s.name.value,u;((0,$i.isObjectType)(t)||(0,$i.isInterfaceType)(t))&&(u=t.getFields()[o]);let l=s.alias?s.alias.value:o;r[l]||(r[l]=[]),r[l].push([t,s,u]);break}case qS.Kind.FRAGMENT_SPREAD:i[s.name.value]=!0;break;case qS.Kind.INLINE_FRAGMENT:{let o=s.typeCondition,u=o?(0,MU.typeFromAST)(e.getSchema(),o):t;jU(e,u,s.selectionSet,r,i);break}}}function jX(e,t,n,r){if(e.length>0)return[[t,e.map(([i])=>i)],[n,...e.map(([,i])=>i).flat()],[r,...e.map(([,,i])=>i).flat()]]}var QS=class{constructor(){this._data=new Map}has(t,n,r){var i;let[s,o]=t{"use strict";m();T();h();Object.defineProperty(WS,"__esModule",{value:!0});WS.PossibleFragmentSpreadsRule=qX;var ZN=En(),$U=at(),HS=tn(),qU=nh(),$X=Yo();function qX(e){return{InlineFragment(t){let n=e.getType(),r=e.getParentType();if((0,HS.isCompositeType)(n)&&(0,HS.isCompositeType)(r)&&!(0,qU.doTypesOverlap)(e.getSchema(),n,r)){let i=(0,ZN.inspect)(r),s=(0,ZN.inspect)(n);e.reportError(new $U.GraphQLError(`Fragment cannot be spread here as objects of type "${i}" can never be of type "${s}".`,{nodes:t}))}},FragmentSpread(t){let n=t.name.value,r=KX(e,n),i=e.getParentType();if(r&&i&&!(0,qU.doTypesOverlap)(e.getSchema(),r,i)){let s=(0,ZN.inspect)(i),o=(0,ZN.inspect)(r);e.reportError(new $U.GraphQLError(`Fragment "${n}" cannot be spread here as objects of type "${s}" can never be of type "${o}".`,{nodes:t}))}}}}function KX(e,t){let n=e.getFragment(t);if(n){let r=(0,$X.typeFromAST)(e.getSchema(),n.typeCondition);if((0,HS.isCompositeType)(r))return r}}});var e0=V(ZS=>{"use strict";m();T();h();Object.defineProperty(ZS,"__esModule",{value:!0});ZS.PossibleTypeExtensionsRule=JX;var GX=mc(),GU=En(),QU=ci(),QX=Tc(),KU=at(),zn=en(),YX=Il(),ip=tn();function JX(e){let t=e.getSchema(),n=Object.create(null);for(let i of e.getDocument().definitions)(0,YX.isTypeDefinitionNode)(i)&&(n[i.name.value]=i);return{ScalarTypeExtension:r,ObjectTypeExtension:r,InterfaceTypeExtension:r,UnionTypeExtension:r,EnumTypeExtension:r,InputObjectTypeExtension:r};function r(i){let s=i.name.value,o=n[s],u=t==null?void 0:t.getType(s),l;if(o?l=zX[o.kind]:u&&(l=HX(u)),l){if(l!==i.kind){let d=WX(i.kind);e.reportError(new KU.GraphQLError(`Cannot extend non-${d} type "${s}".`,{nodes:o?[o,i]:i}))}}else{let d=Object.keys(k(k({},n),t==null?void 0:t.getTypeMap())),p=(0,QX.suggestionList)(s,d);e.reportError(new KU.GraphQLError(`Cannot extend type "${s}" because it is not defined.`+(0,GX.didYouMean)(p),{nodes:i.name}))}}}var zX={[zn.Kind.SCALAR_TYPE_DEFINITION]:zn.Kind.SCALAR_TYPE_EXTENSION,[zn.Kind.OBJECT_TYPE_DEFINITION]:zn.Kind.OBJECT_TYPE_EXTENSION,[zn.Kind.INTERFACE_TYPE_DEFINITION]:zn.Kind.INTERFACE_TYPE_EXTENSION,[zn.Kind.UNION_TYPE_DEFINITION]:zn.Kind.UNION_TYPE_EXTENSION,[zn.Kind.ENUM_TYPE_DEFINITION]:zn.Kind.ENUM_TYPE_EXTENSION,[zn.Kind.INPUT_OBJECT_TYPE_DEFINITION]:zn.Kind.INPUT_OBJECT_TYPE_EXTENSION};function HX(e){if((0,ip.isScalarType)(e))return zn.Kind.SCALAR_TYPE_EXTENSION;if((0,ip.isObjectType)(e))return zn.Kind.OBJECT_TYPE_EXTENSION;if((0,ip.isInterfaceType)(e))return zn.Kind.INTERFACE_TYPE_EXTENSION;if((0,ip.isUnionType)(e))return zn.Kind.UNION_TYPE_EXTENSION;if((0,ip.isEnumType)(e))return zn.Kind.ENUM_TYPE_EXTENSION;if((0,ip.isInputObjectType)(e))return zn.Kind.INPUT_OBJECT_TYPE_EXTENSION;(0,QU.invariant)(!1,"Unexpected type: "+(0,GU.inspect)(e))}function WX(e){switch(e){case zn.Kind.SCALAR_TYPE_EXTENSION:return"scalar";case zn.Kind.OBJECT_TYPE_EXTENSION:return"object";case zn.Kind.INTERFACE_TYPE_EXTENSION:return"interface";case zn.Kind.UNION_TYPE_EXTENSION:return"union";case zn.Kind.ENUM_TYPE_EXTENSION:return"enum";case zn.Kind.INPUT_OBJECT_TYPE_EXTENSION:return"input object";default:(0,QU.invariant)(!1,"Unexpected kind: "+(0,GU.inspect)(e))}}});var n0=V(eE=>{"use strict";m();T();h();Object.defineProperty(eE,"__esModule",{value:!0});eE.ProvidedRequiredArgumentsOnDirectivesRule=WU;eE.ProvidedRequiredArgumentsRule=e5;var JU=En(),YU=hc(),zU=at(),HU=en(),XX=ds(),t0=tn(),ZX=ji();function e5(e){return K(k({},WU(e)),{Field:{leave(t){var n;let r=e.getFieldDef();if(!r)return!1;let i=new Set((n=t.arguments)===null||n===void 0?void 0:n.map(s=>s.name.value));for(let s of r.args)if(!i.has(s.name)&&(0,t0.isRequiredArgument)(s)){let o=(0,JU.inspect)(s.type);e.reportError(new zU.GraphQLError(`Field "${r.name}" argument "${s.name}" of type "${o}" is required, but it was not provided.`,{nodes:t}))}}}})}function WU(e){var t;let n=Object.create(null),r=e.getSchema(),i=(t=r==null?void 0:r.getDirectives())!==null&&t!==void 0?t:ZX.specifiedDirectives;for(let u of i)n[u.name]=(0,YU.keyMap)(u.args.filter(t0.isRequiredArgument),l=>l.name);let s=e.getDocument().definitions;for(let u of s)if(u.kind===HU.Kind.DIRECTIVE_DEFINITION){var o;let l=(o=u.arguments)!==null&&o!==void 0?o:[];n[u.name.value]=(0,YU.keyMap)(l.filter(t5),d=>d.name.value)}return{Directive:{leave(u){let l=u.name.value,d=n[l];if(d){var p;let y=(p=u.arguments)!==null&&p!==void 0?p:[],N=new Set(y.map(I=>I.name.value));for(let[I,b]of Object.entries(d))if(!N.has(I)){let C=(0,t0.isType)(b.type)?(0,JU.inspect)(b.type):(0,XX.print)(b.type);e.reportError(new zU.GraphQLError(`Directive "@${l}" argument "${I}" of type "${C}" is required, but it was not provided.`,{nodes:u}))}}}}}}function t5(e){return e.type.kind===HU.Kind.NON_NULL_TYPE&&e.defaultValue==null}});var i0=V(r0=>{"use strict";m();T();h();Object.defineProperty(r0,"__esModule",{value:!0});r0.ScalarLeafsRule=n5;var XU=En(),ZU=at(),eM=tn();function n5(e){return{Field(t){let n=e.getType(),r=t.selectionSet;if(n){if((0,eM.isLeafType)((0,eM.getNamedType)(n))){if(r){let i=t.name.value,s=(0,XU.inspect)(n);e.reportError(new ZU.GraphQLError(`Field "${i}" must not have a selection since type "${s}" has no subfields.`,{nodes:r}))}}else if(!r){let i=t.name.value,s=(0,XU.inspect)(n);e.reportError(new ZU.GraphQLError(`Field "${i}" of type "${s}" must have a selection of subfields. Did you mean "${i} { ... }"?`,{nodes:t}))}}}}}});var o0=V(s0=>{"use strict";m();T();h();Object.defineProperty(s0,"__esModule",{value:!0});s0.printPathArray=r5;function r5(e){return e.map(t=>typeof t=="number"?"["+t.toString()+"]":"."+t).join("")}});var Th=V(tE=>{"use strict";m();T();h();Object.defineProperty(tE,"__esModule",{value:!0});tE.addPath=i5;tE.pathToArray=s5;function i5(e,t,n){return{prev:e,key:t,typename:n}}function s5(e){let t=[],n=e;for(;n;)t.push(n.key),n=n.prev;return t.reverse()}});var u0=V(a0=>{"use strict";m();T();h();Object.defineProperty(a0,"__esModule",{value:!0});a0.coerceInputValue=p5;var o5=mc(),nE=En(),a5=ci(),u5=KN(),c5=$o(),ho=Th(),l5=o0(),d5=Tc(),Ba=at(),yh=tn();function p5(e,t,n=f5){return Nh(e,t,n,void 0)}function f5(e,t,n){let r="Invalid value "+(0,nE.inspect)(t);throw e.length>0&&(r+=` at "value${(0,l5.printPathArray)(e)}"`),n.message=r+": "+n.message,n}function Nh(e,t,n,r){if((0,yh.isNonNullType)(t)){if(e!=null)return Nh(e,t.ofType,n,r);n((0,ho.pathToArray)(r),e,new Ba.GraphQLError(`Expected non-nullable type "${(0,nE.inspect)(t)}" not to be null.`));return}if(e==null)return null;if((0,yh.isListType)(t)){let i=t.ofType;return(0,u5.isIterableObject)(e)?Array.from(e,(s,o)=>{let u=(0,ho.addPath)(r,o,void 0);return Nh(s,i,n,u)}):[Nh(e,i,n,r)]}if((0,yh.isInputObjectType)(t)){if(!(0,c5.isObjectLike)(e)){n((0,ho.pathToArray)(r),e,new Ba.GraphQLError(`Expected type "${t.name}" to be an object.`));return}let i={},s=t.getFields();for(let o of Object.values(s)){let u=e[o.name];if(u===void 0){if(o.defaultValue!==void 0)i[o.name]=o.defaultValue;else if((0,yh.isNonNullType)(o.type)){let l=(0,nE.inspect)(o.type);n((0,ho.pathToArray)(r),e,new Ba.GraphQLError(`Field "${o.name}" of required type "${l}" was not provided.`))}continue}i[o.name]=Nh(u,o.type,n,(0,ho.addPath)(r,o.name,t.name))}for(let o of Object.keys(e))if(!s[o]){let u=(0,d5.suggestionList)(o,Object.keys(t.getFields()));n((0,ho.pathToArray)(r),e,new Ba.GraphQLError(`Field "${o}" is not defined by type "${t.name}".`+(0,o5.didYouMean)(u)))}if(t.isOneOf){let o=Object.keys(i);o.length!==1&&n((0,ho.pathToArray)(r),e,new Ba.GraphQLError(`Exactly one key must be specified for OneOf type "${t.name}".`));let u=o[0],l=i[u];l===null&&n((0,ho.pathToArray)(r).concat(u),l,new Ba.GraphQLError(`Field "${u}" must be non-null.`))}return i}if((0,yh.isLeafType)(t)){let i;try{i=t.parseValue(e)}catch(s){s instanceof Ba.GraphQLError?n((0,ho.pathToArray)(r),e,s):n((0,ho.pathToArray)(r),e,new Ba.GraphQLError(`Expected type "${t.name}". `+s.message,{originalError:s}));return}return i===void 0&&n((0,ho.pathToArray)(r),e,new Ba.GraphQLError(`Expected type "${t.name}".`)),i}(0,a5.invariant)(!1,"Unexpected input type: "+(0,nE.inspect)(t))}});var gh=V(c0=>{"use strict";m();T();h();Object.defineProperty(c0,"__esModule",{value:!0});c0.valueFromAST=Eh;var m5=En(),h5=ci(),T5=hc(),sp=en(),vl=tn();function Eh(e,t,n){if(e){if(e.kind===sp.Kind.VARIABLE){let r=e.name.value;if(n==null||n[r]===void 0)return;let i=n[r];return i===null&&(0,vl.isNonNullType)(t)?void 0:i}if((0,vl.isNonNullType)(t))return e.kind===sp.Kind.NULL?void 0:Eh(e,t.ofType,n);if(e.kind===sp.Kind.NULL)return null;if((0,vl.isListType)(t)){let r=t.ofType;if(e.kind===sp.Kind.LIST){let s=[];for(let o of e.values)if(tM(o,n)){if((0,vl.isNonNullType)(r))return;s.push(null)}else{let u=Eh(o,r,n);if(u===void 0)return;s.push(u)}return s}let i=Eh(e,r,n);return i===void 0?void 0:[i]}if((0,vl.isInputObjectType)(t)){if(e.kind!==sp.Kind.OBJECT)return;let r=Object.create(null),i=(0,T5.keyMap)(e.fields,s=>s.name.value);for(let s of Object.values(t.getFields())){let o=i[s.name];if(!o||tM(o.value,n)){if(s.defaultValue!==void 0)r[s.name]=s.defaultValue;else if((0,vl.isNonNullType)(s.type))return;continue}let u=Eh(o.value,s.type,n);if(u===void 0)return;r[s.name]=u}if(t.isOneOf){let s=Object.keys(r);if(s.length!==1||r[s[0]]===null)return}return r}if((0,vl.isLeafType)(t)){let r;try{r=t.parseLiteral(e,n)}catch(i){return}return r===void 0?void 0:r}(0,h5.invariant)(!1,"Unexpected input type: "+(0,m5.inspect)(t))}}function tM(e,t){return e.kind===sp.Kind.VARIABLE&&(t==null||t[e.name.value]===void 0)}});var up=V(Ih=>{"use strict";m();T();h();Object.defineProperty(Ih,"__esModule",{value:!0});Ih.getArgumentValues=sM;Ih.getDirectiveValues=_5;Ih.getVariableValues=I5;var op=En(),y5=hc(),N5=o0(),Va=at(),nM=en(),rM=ds(),ap=tn(),E5=u0(),g5=Yo(),iM=gh();function I5(e,t,n,r){let i=[],s=r==null?void 0:r.maxErrors;try{let o=v5(e,t,n,u=>{if(s!=null&&i.length>=s)throw new Va.GraphQLError("Too many errors processing variables, error limit reached. Execution aborted.");i.push(u)});if(i.length===0)return{coerced:o}}catch(o){i.push(o)}return{errors:i}}function v5(e,t,n,r){let i={};for(let s of t){let o=s.variable.name.value,u=(0,g5.typeFromAST)(e,s.type);if(!(0,ap.isInputType)(u)){let d=(0,rM.print)(s.type);r(new Va.GraphQLError(`Variable "$${o}" expected value of type "${d}" which cannot be used as an input type.`,{nodes:s.type}));continue}if(!oM(n,o)){if(s.defaultValue)i[o]=(0,iM.valueFromAST)(s.defaultValue,u);else if((0,ap.isNonNullType)(u)){let d=(0,op.inspect)(u);r(new Va.GraphQLError(`Variable "$${o}" of required type "${d}" was not provided.`,{nodes:s}))}continue}let l=n[o];if(l===null&&(0,ap.isNonNullType)(u)){let d=(0,op.inspect)(u);r(new Va.GraphQLError(`Variable "$${o}" of non-null type "${d}" must not be null.`,{nodes:s}));continue}i[o]=(0,E5.coerceInputValue)(l,u,(d,p,y)=>{let N=`Variable "$${o}" got invalid value `+(0,op.inspect)(p);d.length>0&&(N+=` at "${o}${(0,N5.printPathArray)(d)}"`),r(new Va.GraphQLError(N+"; "+y.message,{nodes:s,originalError:y}))})}return i}function sM(e,t,n){var r;let i={},s=(r=t.arguments)!==null&&r!==void 0?r:[],o=(0,y5.keyMap)(s,u=>u.name.value);for(let u of e.args){let l=u.name,d=u.type,p=o[l];if(!p){if(u.defaultValue!==void 0)i[l]=u.defaultValue;else if((0,ap.isNonNullType)(d))throw new Va.GraphQLError(`Argument "${l}" of required type "${(0,op.inspect)(d)}" was not provided.`,{nodes:t});continue}let y=p.value,N=y.kind===nM.Kind.NULL;if(y.kind===nM.Kind.VARIABLE){let b=y.name.value;if(n==null||!oM(n,b)){if(u.defaultValue!==void 0)i[l]=u.defaultValue;else if((0,ap.isNonNullType)(d))throw new Va.GraphQLError(`Argument "${l}" of required type "${(0,op.inspect)(d)}" was provided the variable "$${b}" which was not provided a runtime value.`,{nodes:y});continue}N=n[b]==null}if(N&&(0,ap.isNonNullType)(d))throw new Va.GraphQLError(`Argument "${l}" of non-null type "${(0,op.inspect)(d)}" must not be null.`,{nodes:y});let I=(0,iM.valueFromAST)(y,d,n);if(I===void 0)throw new Va.GraphQLError(`Argument "${l}" has invalid value ${(0,rM.print)(y)}.`,{nodes:y});i[l]=I}return i}function _5(e,t,n){var r;let i=(r=t.directives)===null||r===void 0?void 0:r.find(s=>s.name.value===e.name);if(i)return sM(e,i,n)}function oM(e,t){return Object.prototype.hasOwnProperty.call(e,t)}});var sE=V(iE=>{"use strict";m();T();h();Object.defineProperty(iE,"__esModule",{value:!0});iE.collectFields=S5;iE.collectSubfields=D5;var l0=en(),b5=tn(),aM=ji(),O5=Yo(),uM=up();function S5(e,t,n,r,i){let s=new Map;return rE(e,t,n,r,i,s,new Set),s}function D5(e,t,n,r,i){let s=new Map,o=new Set;for(let u of i)u.selectionSet&&rE(e,t,n,r,u.selectionSet,s,o);return s}function rE(e,t,n,r,i,s,o){for(let u of i.selections)switch(u.kind){case l0.Kind.FIELD:{if(!d0(n,u))continue;let l=A5(u),d=s.get(l);d!==void 0?d.push(u):s.set(l,[u]);break}case l0.Kind.INLINE_FRAGMENT:{if(!d0(n,u)||!cM(e,u,r))continue;rE(e,t,n,r,u.selectionSet,s,o);break}case l0.Kind.FRAGMENT_SPREAD:{let l=u.name.value;if(o.has(l)||!d0(n,u))continue;o.add(l);let d=t[l];if(!d||!cM(e,d,r))continue;rE(e,t,n,r,d.selectionSet,s,o);break}}}function d0(e,t){let n=(0,uM.getDirectiveValues)(aM.GraphQLSkipDirective,t,e);if((n==null?void 0:n.if)===!0)return!1;let r=(0,uM.getDirectiveValues)(aM.GraphQLIncludeDirective,t,e);return(r==null?void 0:r.if)!==!1}function cM(e,t,n){let r=t.typeCondition;if(!r)return!0;let i=(0,O5.typeFromAST)(e,r);return i===n?!0:(0,b5.isAbstractType)(i)?e.isSubType(i,n):!1}function A5(e){return e.alias?e.alias.value:e.name.value}});var f0=V(p0=>{"use strict";m();T();h();Object.defineProperty(p0,"__esModule",{value:!0});p0.SingleFieldSubscriptionsRule=w5;var lM=at(),R5=en(),F5=sE();function w5(e){return{OperationDefinition(t){if(t.operation==="subscription"){let n=e.getSchema(),r=n.getSubscriptionType();if(r){let i=t.name?t.name.value:null,s=Object.create(null),o=e.getDocument(),u=Object.create(null);for(let d of o.definitions)d.kind===R5.Kind.FRAGMENT_DEFINITION&&(u[d.name.value]=d);let l=(0,F5.collectFields)(n,u,s,r,t.selectionSet);if(l.size>1){let y=[...l.values()].slice(1).flat();e.reportError(new lM.GraphQLError(i!=null?`Subscription "${i}" must select only one top level field.`:"Anonymous Subscription must select only one top level field.",{nodes:y}))}for(let d of l.values())d[0].name.value.startsWith("__")&&e.reportError(new lM.GraphQLError(i!=null?`Subscription "${i}" must not select an introspection top level field.`:"Anonymous Subscription must not select an introspection top level field.",{nodes:d}))}}}}}});var oE=V(m0=>{"use strict";m();T();h();Object.defineProperty(m0,"__esModule",{value:!0});m0.groupBy=L5;function L5(e,t){let n=new Map;for(let r of e){let i=t(r),s=n.get(i);s===void 0?n.set(i,[r]):s.push(r)}return n}});var T0=V(h0=>{"use strict";m();T();h();Object.defineProperty(h0,"__esModule",{value:!0});h0.UniqueArgumentDefinitionNamesRule=x5;var P5=oE(),k5=at();function x5(e){return{DirectiveDefinition(r){var i;let s=(i=r.arguments)!==null&&i!==void 0?i:[];return n(`@${r.name.value}`,s)},InterfaceTypeDefinition:t,InterfaceTypeExtension:t,ObjectTypeDefinition:t,ObjectTypeExtension:t};function t(r){var i;let s=r.name.value,o=(i=r.fields)!==null&&i!==void 0?i:[];for(let l of o){var u;let d=l.name.value,p=(u=l.arguments)!==null&&u!==void 0?u:[];n(`${s}.${d}`,p)}return!1}function n(r,i){let s=(0,P5.groupBy)(i,o=>o.name.value);for(let[o,u]of s)u.length>1&&e.reportError(new k5.GraphQLError(`Argument "${r}(${o}:)" can only be defined once.`,{nodes:u.map(l=>l.name)}));return!1}}});var N0=V(y0=>{"use strict";m();T();h();Object.defineProperty(y0,"__esModule",{value:!0});y0.UniqueArgumentNamesRule=M5;var C5=oE(),U5=at();function M5(e){return{Field:t,Directive:t};function t(n){var r;let i=(r=n.arguments)!==null&&r!==void 0?r:[],s=(0,C5.groupBy)(i,o=>o.name.value);for(let[o,u]of s)u.length>1&&e.reportError(new U5.GraphQLError(`There can be only one argument named "${o}".`,{nodes:u.map(l=>l.name)}))}}});var g0=V(E0=>{"use strict";m();T();h();Object.defineProperty(E0,"__esModule",{value:!0});E0.UniqueDirectiveNamesRule=B5;var dM=at();function B5(e){let t=Object.create(null),n=e.getSchema();return{DirectiveDefinition(r){let i=r.name.value;if(n!=null&&n.getDirective(i)){e.reportError(new dM.GraphQLError(`Directive "@${i}" already exists in the schema. It cannot be redefined.`,{nodes:r.name}));return}return t[i]?e.reportError(new dM.GraphQLError(`There can be only one directive named "@${i}".`,{nodes:[t[i],r.name]})):t[i]=r.name,!1}}}});var _0=V(v0=>{"use strict";m();T();h();Object.defineProperty(v0,"__esModule",{value:!0});v0.UniqueDirectivesPerLocationRule=$5;var V5=at(),I0=en(),pM=Il(),j5=ji();function $5(e){let t=Object.create(null),n=e.getSchema(),r=n?n.getDirectives():j5.specifiedDirectives;for(let u of r)t[u.name]=!u.isRepeatable;let i=e.getDocument().definitions;for(let u of i)u.kind===I0.Kind.DIRECTIVE_DEFINITION&&(t[u.name.value]=!u.repeatable);let s=Object.create(null),o=Object.create(null);return{enter(u){if(!("directives"in u)||!u.directives)return;let l;if(u.kind===I0.Kind.SCHEMA_DEFINITION||u.kind===I0.Kind.SCHEMA_EXTENSION)l=s;else if((0,pM.isTypeDefinitionNode)(u)||(0,pM.isTypeExtensionNode)(u)){let d=u.name.value;l=o[d],l===void 0&&(o[d]=l=Object.create(null))}else l=Object.create(null);for(let d of u.directives){let p=d.name.value;t[p]&&(l[p]?e.reportError(new V5.GraphQLError(`The directive "@${p}" can only be used once at this location.`,{nodes:[l[p],d]})):l[p]=d)}}}}});var O0=V(b0=>{"use strict";m();T();h();Object.defineProperty(b0,"__esModule",{value:!0});b0.UniqueEnumValueNamesRule=K5;var fM=at(),q5=tn();function K5(e){let t=e.getSchema(),n=t?t.getTypeMap():Object.create(null),r=Object.create(null);return{EnumTypeDefinition:i,EnumTypeExtension:i};function i(s){var o;let u=s.name.value;r[u]||(r[u]=Object.create(null));let l=(o=s.values)!==null&&o!==void 0?o:[],d=r[u];for(let p of l){let y=p.name.value,N=n[u];(0,q5.isEnumType)(N)&&N.getValue(y)?e.reportError(new fM.GraphQLError(`Enum value "${u}.${y}" already exists in the schema. It cannot also be defined in this type extension.`,{nodes:p.name})):d[y]?e.reportError(new fM.GraphQLError(`Enum value "${u}.${y}" can only be defined once.`,{nodes:[d[y],p.name]})):d[y]=p.name}return!1}}});var A0=V(D0=>{"use strict";m();T();h();Object.defineProperty(D0,"__esModule",{value:!0});D0.UniqueFieldDefinitionNamesRule=G5;var mM=at(),S0=tn();function G5(e){let t=e.getSchema(),n=t?t.getTypeMap():Object.create(null),r=Object.create(null);return{InputObjectTypeDefinition:i,InputObjectTypeExtension:i,InterfaceTypeDefinition:i,InterfaceTypeExtension:i,ObjectTypeDefinition:i,ObjectTypeExtension:i};function i(s){var o;let u=s.name.value;r[u]||(r[u]=Object.create(null));let l=(o=s.fields)!==null&&o!==void 0?o:[],d=r[u];for(let p of l){let y=p.name.value;Q5(n[u],y)?e.reportError(new mM.GraphQLError(`Field "${u}.${y}" already exists in the schema. It cannot also be defined in this type extension.`,{nodes:p.name})):d[y]?e.reportError(new mM.GraphQLError(`Field "${u}.${y}" can only be defined once.`,{nodes:[d[y],p.name]})):d[y]=p.name}return!1}}function Q5(e,t){return(0,S0.isObjectType)(e)||(0,S0.isInterfaceType)(e)||(0,S0.isInputObjectType)(e)?e.getFields()[t]!=null:!1}});var F0=V(R0=>{"use strict";m();T();h();Object.defineProperty(R0,"__esModule",{value:!0});R0.UniqueFragmentNamesRule=J5;var Y5=at();function J5(e){let t=Object.create(null);return{OperationDefinition:()=>!1,FragmentDefinition(n){let r=n.name.value;return t[r]?e.reportError(new Y5.GraphQLError(`There can be only one fragment named "${r}".`,{nodes:[t[r],n.name]})):t[r]=n.name,!1}}}});var L0=V(w0=>{"use strict";m();T();h();Object.defineProperty(w0,"__esModule",{value:!0});w0.UniqueInputFieldNamesRule=W5;var z5=ci(),H5=at();function W5(e){let t=[],n=Object.create(null);return{ObjectValue:{enter(){t.push(n),n=Object.create(null)},leave(){let r=t.pop();r||(0,z5.invariant)(!1),n=r}},ObjectField(r){let i=r.name.value;n[i]?e.reportError(new H5.GraphQLError(`There can be only one input field named "${i}".`,{nodes:[n[i],r.name]})):n[i]=r.name}}}});var k0=V(P0=>{"use strict";m();T();h();Object.defineProperty(P0,"__esModule",{value:!0});P0.UniqueOperationNamesRule=Z5;var X5=at();function Z5(e){let t=Object.create(null);return{OperationDefinition(n){let r=n.name;return r&&(t[r.value]?e.reportError(new X5.GraphQLError(`There can be only one operation named "${r.value}".`,{nodes:[t[r.value],r]})):t[r.value]=r),!1},FragmentDefinition:()=>!1}}});var C0=V(x0=>{"use strict";m();T();h();Object.defineProperty(x0,"__esModule",{value:!0});x0.UniqueOperationTypesRule=e9;var hM=at();function e9(e){let t=e.getSchema(),n=Object.create(null),r=t?{query:t.getQueryType(),mutation:t.getMutationType(),subscription:t.getSubscriptionType()}:{};return{SchemaDefinition:i,SchemaExtension:i};function i(s){var o;let u=(o=s.operationTypes)!==null&&o!==void 0?o:[];for(let l of u){let d=l.operation,p=n[d];r[d]?e.reportError(new hM.GraphQLError(`Type for ${d} already defined in the schema. It cannot be redefined.`,{nodes:l})):p?e.reportError(new hM.GraphQLError(`There can be only one ${d} type in schema.`,{nodes:[p,l]})):n[d]=l}return!1}}});var M0=V(U0=>{"use strict";m();T();h();Object.defineProperty(U0,"__esModule",{value:!0});U0.UniqueTypeNamesRule=t9;var TM=at();function t9(e){let t=Object.create(null),n=e.getSchema();return{ScalarTypeDefinition:r,ObjectTypeDefinition:r,InterfaceTypeDefinition:r,UnionTypeDefinition:r,EnumTypeDefinition:r,InputObjectTypeDefinition:r};function r(i){let s=i.name.value;if(n!=null&&n.getType(s)){e.reportError(new TM.GraphQLError(`Type "${s}" already exists in the schema. It cannot also be defined in this type definition.`,{nodes:i.name}));return}return t[s]?e.reportError(new TM.GraphQLError(`There can be only one type named "${s}".`,{nodes:[t[s],i.name]})):t[s]=i.name,!1}}});var V0=V(B0=>{"use strict";m();T();h();Object.defineProperty(B0,"__esModule",{value:!0});B0.UniqueVariableNamesRule=i9;var n9=oE(),r9=at();function i9(e){return{OperationDefinition(t){var n;let r=(n=t.variableDefinitions)!==null&&n!==void 0?n:[],i=(0,n9.groupBy)(r,s=>s.variable.name.value);for(let[s,o]of i)o.length>1&&e.reportError(new r9.GraphQLError(`There can be only one variable named "$${s}".`,{nodes:o.map(u=>u.variable.name)}))}}}});var q0=V($0=>{"use strict";m();T();h();Object.defineProperty($0,"__esModule",{value:!0});$0.ValuesOfCorrectTypeRule=u9;var s9=mc(),vh=En(),o9=hc(),a9=Tc(),zo=at(),j0=en(),aE=ds(),Jo=tn();function u9(e){let t={};return{OperationDefinition:{enter(){t={}}},VariableDefinition(n){t[n.variable.name.value]=n},ListValue(n){let r=(0,Jo.getNullableType)(e.getParentInputType());if(!(0,Jo.isListType)(r))return _l(e,n),!1},ObjectValue(n){let r=(0,Jo.getNamedType)(e.getInputType());if(!(0,Jo.isInputObjectType)(r))return _l(e,n),!1;let i=(0,o9.keyMap)(n.fields,s=>s.name.value);for(let s of Object.values(r.getFields()))if(!i[s.name]&&(0,Jo.isRequiredInputField)(s)){let u=(0,vh.inspect)(s.type);e.reportError(new zo.GraphQLError(`Field "${r.name}.${s.name}" of required type "${u}" was not provided.`,{nodes:n}))}r.isOneOf&&c9(e,n,r,i,t)},ObjectField(n){let r=(0,Jo.getNamedType)(e.getParentInputType());if(!e.getInputType()&&(0,Jo.isInputObjectType)(r)){let s=(0,a9.suggestionList)(n.name.value,Object.keys(r.getFields()));e.reportError(new zo.GraphQLError(`Field "${n.name.value}" is not defined by type "${r.name}".`+(0,s9.didYouMean)(s),{nodes:n}))}},NullValue(n){let r=e.getInputType();(0,Jo.isNonNullType)(r)&&e.reportError(new zo.GraphQLError(`Expected value of type "${(0,vh.inspect)(r)}", found ${(0,aE.print)(n)}.`,{nodes:n}))},EnumValue:n=>_l(e,n),IntValue:n=>_l(e,n),FloatValue:n=>_l(e,n),StringValue:n=>_l(e,n),BooleanValue:n=>_l(e,n)}}function _l(e,t){let n=e.getInputType();if(!n)return;let r=(0,Jo.getNamedType)(n);if(!(0,Jo.isLeafType)(r)){let i=(0,vh.inspect)(n);e.reportError(new zo.GraphQLError(`Expected value of type "${i}", found ${(0,aE.print)(t)}.`,{nodes:t}));return}try{if(r.parseLiteral(t,void 0)===void 0){let s=(0,vh.inspect)(n);e.reportError(new zo.GraphQLError(`Expected value of type "${s}", found ${(0,aE.print)(t)}.`,{nodes:t}))}}catch(i){let s=(0,vh.inspect)(n);i instanceof zo.GraphQLError?e.reportError(i):e.reportError(new zo.GraphQLError(`Expected value of type "${s}", found ${(0,aE.print)(t)}; `+i.message,{nodes:t,originalError:i}))}}function c9(e,t,n,r,i){var s;let o=Object.keys(r);if(o.length!==1){e.reportError(new zo.GraphQLError(`OneOf Input Object "${n.name}" must specify exactly one key.`,{nodes:[t]}));return}let l=(s=r[o[0]])===null||s===void 0?void 0:s.value,d=!l||l.kind===j0.Kind.NULL,p=(l==null?void 0:l.kind)===j0.Kind.VARIABLE;if(d){e.reportError(new zo.GraphQLError(`Field "${n.name}.${o[0]}" must be non-null.`,{nodes:[t]}));return}if(p){let y=l.name.value;i[y].type.kind!==j0.Kind.NON_NULL_TYPE&&e.reportError(new zo.GraphQLError(`Variable "${y}" must be non-nullable to be used for OneOf Input Object "${n.name}".`,{nodes:[t]}))}}});var G0=V(K0=>{"use strict";m();T();h();Object.defineProperty(K0,"__esModule",{value:!0});K0.VariablesAreInputTypesRule=m9;var l9=at(),d9=ds(),p9=tn(),f9=Yo();function m9(e){return{VariableDefinition(t){let n=(0,f9.typeFromAST)(e.getSchema(),t.type);if(n!==void 0&&!(0,p9.isInputType)(n)){let r=t.variable.name.value,i=(0,d9.print)(t.type);e.reportError(new l9.GraphQLError(`Variable "$${r}" cannot be non-input type "${i}".`,{nodes:t.type}))}}}}});var Y0=V(Q0=>{"use strict";m();T();h();Object.defineProperty(Q0,"__esModule",{value:!0});Q0.VariablesInAllowedPositionRule=N9;var yM=En(),h9=at(),T9=en(),NM=tn(),EM=nh(),y9=Yo();function N9(e){let t=Object.create(null);return{OperationDefinition:{enter(){t=Object.create(null)},leave(n){let r=e.getRecursiveVariableUsages(n);for(let{node:i,type:s,defaultValue:o}of r){let u=i.name.value,l=t[u];if(l&&s){let d=e.getSchema(),p=(0,y9.typeFromAST)(d,l.type);if(p&&!E9(d,p,l.defaultValue,s,o)){let y=(0,yM.inspect)(p),N=(0,yM.inspect)(s);e.reportError(new h9.GraphQLError(`Variable "$${u}" of type "${y}" used in position expecting type "${N}".`,{nodes:[l,i]}))}}}}},VariableDefinition(n){t[n.variable.name.value]=n}}}function E9(e,t,n,r,i){if((0,NM.isNonNullType)(r)&&!(0,NM.isNonNullType)(t)){if(!(n!=null&&n.kind!==T9.Kind.NULL)&&!(i!==void 0))return!1;let u=r.ofType;return(0,EM.isTypeSubTypeOf)(e,t,u)}return(0,EM.isTypeSubTypeOf)(e,t,r)}});var J0=V(Ec=>{"use strict";m();T();h();Object.defineProperty(Ec,"__esModule",{value:!0});Ec.specifiedSDLRules=Ec.specifiedRules=Ec.recommendedRules=void 0;var g9=dS(),I9=fS(),v9=hS(),gM=TS(),IM=gS(),_9=vS(),vM=OS(),b9=DS(),O9=RS(),S9=wS(),D9=PS(),A9=xS(),R9=US(),F9=BS(),w9=zS(),L9=XS(),P9=e0(),_M=n0(),k9=i0(),x9=f0(),C9=T0(),bM=N0(),U9=g0(),OM=_0(),M9=O0(),B9=A0(),V9=F0(),SM=L0(),j9=k0(),$9=C0(),q9=M0(),K9=V0(),G9=q0(),Q9=G0(),Y9=Y0(),DM=Object.freeze([S9.MaxIntrospectionDepthRule]);Ec.recommendedRules=DM;var J9=Object.freeze([g9.ExecutableDefinitionsRule,j9.UniqueOperationNamesRule,b9.LoneAnonymousOperationRule,x9.SingleFieldSubscriptionsRule,vM.KnownTypeNamesRule,v9.FragmentsOnCompositeTypesRule,Q9.VariablesAreInputTypesRule,k9.ScalarLeafsRule,I9.FieldsOnCorrectTypeRule,V9.UniqueFragmentNamesRule,_9.KnownFragmentNamesRule,R9.NoUnusedFragmentsRule,L9.PossibleFragmentSpreadsRule,D9.NoFragmentCyclesRule,K9.UniqueVariableNamesRule,A9.NoUndefinedVariablesRule,F9.NoUnusedVariablesRule,IM.KnownDirectivesRule,OM.UniqueDirectivesPerLocationRule,gM.KnownArgumentNamesRule,bM.UniqueArgumentNamesRule,G9.ValuesOfCorrectTypeRule,_M.ProvidedRequiredArgumentsRule,Y9.VariablesInAllowedPositionRule,w9.OverlappingFieldsCanBeMergedRule,SM.UniqueInputFieldNamesRule,...DM]);Ec.specifiedRules=J9;var z9=Object.freeze([O9.LoneSchemaDefinitionRule,$9.UniqueOperationTypesRule,q9.UniqueTypeNamesRule,M9.UniqueEnumValueNamesRule,B9.UniqueFieldDefinitionNamesRule,C9.UniqueArgumentDefinitionNamesRule,U9.UniqueDirectiveNamesRule,vM.KnownTypeNamesRule,IM.KnownDirectivesRule,OM.UniqueDirectivesPerLocationRule,P9.PossibleTypeExtensionsRule,gM.KnownArgumentNamesOnDirectivesRule,bM.UniqueArgumentNamesRule,SM.UniqueInputFieldNamesRule,_M.ProvidedRequiredArgumentsOnDirectivesRule]);Ec.specifiedSDLRules=z9});var W0=V(gc=>{"use strict";m();T();h();Object.defineProperty(gc,"__esModule",{value:!0});gc.ValidationContext=gc.SDLValidationContext=gc.ASTValidationContext=void 0;var AM=en(),H9=pl(),RM=JN(),_h=class{constructor(t,n){this._ast=t,this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=n}get[Symbol.toStringTag](){return"ASTValidationContext"}reportError(t){this._onError(t)}getDocument(){return this._ast}getFragment(t){let n;if(this._fragments)n=this._fragments;else{n=Object.create(null);for(let r of this.getDocument().definitions)r.kind===AM.Kind.FRAGMENT_DEFINITION&&(n[r.name.value]=r);this._fragments=n}return n[t]}getFragmentSpreads(t){let n=this._fragmentSpreads.get(t);if(!n){n=[];let r=[t],i;for(;i=r.pop();)for(let s of i.selections)s.kind===AM.Kind.FRAGMENT_SPREAD?n.push(s):s.selectionSet&&r.push(s.selectionSet);this._fragmentSpreads.set(t,n)}return n}getRecursivelyReferencedFragments(t){let n=this._recursivelyReferencedFragments.get(t);if(!n){n=[];let r=Object.create(null),i=[t.selectionSet],s;for(;s=i.pop();)for(let o of this.getFragmentSpreads(s)){let u=o.name.value;if(r[u]!==!0){r[u]=!0;let l=this.getFragment(u);l&&(n.push(l),i.push(l.selectionSet))}}this._recursivelyReferencedFragments.set(t,n)}return n}};gc.ASTValidationContext=_h;var z0=class extends _h{constructor(t,n,r){super(t,r),this._schema=n}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}};gc.SDLValidationContext=z0;var H0=class extends _h{constructor(t,n,r,i){super(n,i),this._schema=t,this._typeInfo=r,this._variableUsages=new Map,this._recursiveVariableUsages=new Map}get[Symbol.toStringTag](){return"ValidationContext"}getSchema(){return this._schema}getVariableUsages(t){let n=this._variableUsages.get(t);if(!n){let r=[],i=new RM.TypeInfo(this._schema);(0,H9.visit)(t,(0,RM.visitWithTypeInfo)(i,{VariableDefinition:()=>!1,Variable(s){r.push({node:s,type:i.getInputType(),defaultValue:i.getDefaultValue()})}})),n=r,this._variableUsages.set(t,n)}return n}getRecursiveVariableUsages(t){let n=this._recursiveVariableUsages.get(t);if(!n){n=this.getVariableUsages(t);for(let r of this.getRecursivelyReferencedFragments(t))n=n.concat(this.getVariableUsages(r));this._recursiveVariableUsages.set(t,n)}return n}getType(){return this._typeInfo.getType()}getParentType(){return this._typeInfo.getParentType()}getInputType(){return this._typeInfo.getInputType()}getParentInputType(){return this._typeInfo.getParentInputType()}getFieldDef(){return this._typeInfo.getFieldDef()}getDirective(){return this._typeInfo.getDirective()}getArgument(){return this._typeInfo.getArgument()}getEnumValue(){return this._typeInfo.getEnumValue()}};gc.ValidationContext=H0});var lp=V(cp=>{"use strict";m();T();h();Object.defineProperty(cp,"__esModule",{value:!0});cp.assertValidSDL=t7;cp.assertValidSDLExtension=n7;cp.validate=e7;cp.validateSDL=X0;var W9=Oi(),X9=at(),uE=pl(),Z9=fh(),FM=JN(),wM=J0(),LM=W0();function e7(e,t,n=wM.specifiedRules,r,i=new FM.TypeInfo(e)){var s;let o=(s=r==null?void 0:r.maxErrors)!==null&&s!==void 0?s:100;t||(0,W9.devAssert)(!1,"Must provide document."),(0,Z9.assertValidSchema)(e);let u=Object.freeze({}),l=[],d=new LM.ValidationContext(e,t,i,y=>{if(l.length>=o)throw l.push(new X9.GraphQLError("Too many validation errors, error limit reached. Validation aborted.")),u;l.push(y)}),p=(0,uE.visitInParallel)(n.map(y=>y(d)));try{(0,uE.visit)(t,(0,FM.visitWithTypeInfo)(i,p))}catch(y){if(y!==u)throw y}return l}function X0(e,t,n=wM.specifiedSDLRules){let r=[],i=new LM.SDLValidationContext(e,t,o=>{r.push(o)}),s=n.map(o=>o(i));return(0,uE.visit)(e,(0,uE.visitInParallel)(s)),r}function t7(e){let t=X0(e);if(t.length!==0)throw new Error(t.map(n=>n.message).join(` +`))}var rS=class{constructor(t){this._errors=[],this.schema=t}reportError(t,n){let r=Array.isArray(n)?n.filter(Boolean):n;this._errors.push(new _W.GraphQLError(t,{nodes:r}))}getErrors(){return this._errors}};function DW(e){let t=e.schema,n=t.getQueryType();if(!n)e.reportError("Query root type must be provided.",t.astNode);else if(!(0,ar.isObjectType)(n)){var r;e.reportError(`Query root type must be Object type, it cannot be ${(0,di.inspect)(n)}.`,(r=nS(t,tS.OperationTypeNode.QUERY))!==null&&r!==void 0?r:n.astNode)}let i=t.getMutationType();if(i&&!(0,ar.isObjectType)(i)){var s;e.reportError(`Mutation root type must be Object type if provided, it cannot be ${(0,di.inspect)(i)}.`,(s=nS(t,tS.OperationTypeNode.MUTATION))!==null&&s!==void 0?s:i.astNode)}let o=t.getSubscriptionType();if(o&&!(0,ar.isObjectType)(o)){var u;e.reportError(`Subscription root type must be Object type if provided, it cannot be ${(0,di.inspect)(o)}.`,(u=nS(t,tS.OperationTypeNode.SUBSCRIPTION))!==null&&u!==void 0?u:o.astNode)}}function nS(e,t){var n;return(n=[e.astNode,...e.extensionASTNodes].flatMap(r=>{var i;return(i=r==null?void 0:r.operationTypes)!==null&&i!==void 0?i:[]}).find(r=>r.operation===t))===null||n===void 0?void 0:n.type}function AW(e){for(let n of e.schema.getDirectives()){if(!(0,fU.isDirective)(n)){e.reportError(`Expected directive but got: ${(0,di.inspect)(n)}.`,n==null?void 0:n.astNode);continue}vl(e,n);for(let r of n.args)if(vl(e,r),(0,ar.isInputType)(r.type)||e.reportError(`The type of @${n.name}(${r.name}:) must be Input Type but got: ${(0,di.inspect)(r.type)}.`,r.astNode),(0,ar.isRequiredArgument)(r)&&r.deprecationReason!=null){var t;e.reportError(`Required argument @${n.name}(${r.name}:) cannot be deprecated.`,[iS(r.astNode),(t=r.astNode)===null||t===void 0?void 0:t.type])}}}function vl(e,t){t.name.startsWith("__")&&e.reportError(`Name "${t.name}" must not begin with "__", which is reserved by GraphQL introspection.`,t.astNode)}function RW(e){let t=CW(e),n=e.schema.getTypeMap();for(let r of Object.values(n)){if(!(0,ar.isNamedType)(r)){e.reportError(`Expected GraphQL named type but got: ${(0,di.inspect)(r)}.`,r.astNode);continue}(0,bW.isIntrospectionType)(r)||vl(e,r),(0,ar.isObjectType)(r)||(0,ar.isInterfaceType)(r)?(lU(e,r),dU(e,r)):(0,ar.isUnionType)(r)?LW(e,r):(0,ar.isEnumType)(r)?PW(e,r):(0,ar.isInputObjectType)(r)&&(kW(e,r),t(r))}}function lU(e,t){let n=Object.values(t.getFields());n.length===0&&e.reportError(`Type ${t.name} must define one or more fields.`,[t.astNode,...t.extensionASTNodes]);for(let o of n){if(vl(e,o),!(0,ar.isOutputType)(o.type)){var r;e.reportError(`The type of ${t.name}.${o.name} must be Output Type but got: ${(0,di.inspect)(o.type)}.`,(r=o.astNode)===null||r===void 0?void 0:r.type)}for(let u of o.args){let l=u.name;if(vl(e,u),!(0,ar.isInputType)(u.type)){var i;e.reportError(`The type of ${t.name}.${o.name}(${l}:) must be Input Type but got: ${(0,di.inspect)(u.type)}.`,(i=u.astNode)===null||i===void 0?void 0:i.type)}if((0,ar.isRequiredArgument)(u)&&u.deprecationReason!=null){var s;e.reportError(`Required argument ${t.name}.${o.name}(${l}:) cannot be deprecated.`,[iS(u.astNode),(s=u.astNode)===null||s===void 0?void 0:s.type])}}}}function dU(e,t){let n=Object.create(null);for(let r of t.getInterfaces()){if(!(0,ar.isInterfaceType)(r)){e.reportError(`Type ${(0,di.inspect)(t)} must only implement Interface types, it cannot implement ${(0,di.inspect)(r)}.`,fh(t,r));continue}if(t===r){e.reportError(`Type ${t.name} cannot implement itself because it would create a circular reference.`,fh(t,r));continue}if(n[r.name]){e.reportError(`Type ${t.name} can only implement ${r.name} once.`,fh(t,r));continue}n[r.name]=!0,wW(e,t,r),FW(e,t,r)}}function FW(e,t,n){let r=t.getFields();for(let l of Object.values(n.getFields())){let d=l.name,p=r[d];if(!p){e.reportError(`Interface field ${n.name}.${d} expected but ${t.name} does not provide it.`,[l.astNode,t.astNode,...t.extensionASTNodes]);continue}if(!(0,cU.isTypeSubTypeOf)(e.schema,p.type,l.type)){var i,s;e.reportError(`Interface field ${n.name}.${d} expects type ${(0,di.inspect)(l.type)} but ${t.name}.${d} is type ${(0,di.inspect)(p.type)}.`,[(i=l.astNode)===null||i===void 0?void 0:i.type,(s=p.astNode)===null||s===void 0?void 0:s.type])}for(let y of l.args){let N=y.name,I=p.args.find(O=>O.name===N);if(!I){e.reportError(`Interface field argument ${n.name}.${d}(${N}:) expected but ${t.name}.${d} does not provide it.`,[y.astNode,p.astNode]);continue}if(!(0,cU.isEqualType)(y.type,I.type)){var o,u;e.reportError(`Interface field argument ${n.name}.${d}(${N}:) expects type ${(0,di.inspect)(y.type)} but ${t.name}.${d}(${N}:) is type ${(0,di.inspect)(I.type)}.`,[(o=y.astNode)===null||o===void 0?void 0:o.type,(u=I.astNode)===null||u===void 0?void 0:u.type])}}for(let y of p.args){let N=y.name;!l.args.find(O=>O.name===N)&&(0,ar.isRequiredArgument)(y)&&e.reportError(`Object field ${t.name}.${d} includes required argument ${N} that is missing from the Interface field ${n.name}.${d}.`,[y.astNode,l.astNode])}}}function wW(e,t,n){let r=t.getInterfaces();for(let i of n.getInterfaces())r.includes(i)||e.reportError(i===t?`Type ${t.name} cannot implement ${n.name} because it would create a circular reference.`:`Type ${t.name} must implement ${i.name} because it is implemented by ${n.name}.`,[...fh(n,i),...fh(t,n)])}function LW(e,t){let n=t.getTypes();n.length===0&&e.reportError(`Union type ${t.name} must define one or more member types.`,[t.astNode,...t.extensionASTNodes]);let r=Object.create(null);for(let i of n){if(r[i.name]){e.reportError(`Union type ${t.name} can only include type ${i.name} once.`,pU(t,i.name));continue}r[i.name]=!0,(0,ar.isObjectType)(i)||e.reportError(`Union type ${t.name} can only include Object types, it cannot include ${(0,di.inspect)(i)}.`,pU(t,String(i)))}}function PW(e,t){let n=t.getValues();n.length===0&&e.reportError(`Enum type ${t.name} must define one or more values.`,[t.astNode,...t.extensionASTNodes]);for(let r of n)vl(e,r)}function kW(e,t){let n=Object.values(t.getFields());n.length===0&&e.reportError(`Input Object type ${t.name} must define one or more fields.`,[t.astNode,...t.extensionASTNodes]);for(let s of n){if(vl(e,s),!(0,ar.isInputType)(s.type)){var r;e.reportError(`The type of ${t.name}.${s.name} must be Input Type but got: ${(0,di.inspect)(s.type)}.`,(r=s.astNode)===null||r===void 0?void 0:r.type)}if((0,ar.isRequiredInputField)(s)&&s.deprecationReason!=null){var i;e.reportError(`Required input field ${t.name}.${s.name} cannot be deprecated.`,[iS(s.astNode),(i=s.astNode)===null||i===void 0?void 0:i.type])}t.isOneOf&&xW(t,s,e)}}function xW(e,t,n){if((0,ar.isNonNullType)(t.type)){var r;n.reportError(`OneOf input field ${e.name}.${t.name} must be nullable.`,(r=t.astNode)===null||r===void 0?void 0:r.type)}t.defaultValue!==void 0&&n.reportError(`OneOf input field ${e.name}.${t.name} cannot have a default value.`,t.astNode)}function CW(e){let t=Object.create(null),n=[],r=Object.create(null);return i;function i(s){if(t[s.name])return;t[s.name]=!0,r[s.name]=n.length;let o=Object.values(s.getFields());for(let u of o)if((0,ar.isNonNullType)(u.type)&&(0,ar.isInputObjectType)(u.type.ofType)){let l=u.type.ofType,d=r[l.name];if(n.push(u),d===void 0)i(l);else{let p=n.slice(d),y=p.map(N=>N.name).join(".");e.reportError(`Cannot reference Input Object "${l.name}" within itself through a series of non-null fields: "${y}".`,p.map(N=>N.astNode))}n.pop()}r[s.name]=void 0}}function fh(e,t){let{astNode:n,extensionASTNodes:r}=e;return(n!=null?[n,...r]:r).flatMap(s=>{var o;return(o=s.interfaces)!==null&&o!==void 0?o:[]}).filter(s=>s.name.value===t.name)}function pU(e,t){let{astNode:n,extensionASTNodes:r}=e;return(n!=null?[n,...r]:r).flatMap(s=>{var o;return(o=s.types)!==null&&o!==void 0?o:[]}).filter(s=>s.name.value===t)}function iS(e){var t;return e==null||(t=e.directives)===null||t===void 0?void 0:t.find(n=>n.name.value===fU.GraphQLDeprecatedDirective.name)}});var Yo=V(aS=>{"use strict";m();T();h();Object.defineProperty(aS,"__esModule",{value:!0});aS.typeFromAST=oS;var sS=en(),hU=tn();function oS(e,t){switch(t.kind){case sS.Kind.LIST_TYPE:{let n=oS(e,t.type);return n&&new hU.GraphQLList(n)}case sS.Kind.NON_NULL_TYPE:{let n=oS(e,t.type);return n&&new hU.GraphQLNonNull(n)}case sS.Kind.NAMED_TYPE:return e.getType(t.name.value)}}});var zN=V(hh=>{"use strict";m();T();h();Object.defineProperty(hh,"__esModule",{value:!0});hh.TypeInfo=void 0;hh.visitWithTypeInfo=BW;var UW=qo(),ur=en(),TU=ml(),cr=tn(),sp=Cs(),yU=Yo(),uS=class{constructor(t,n,r){this._schema=t,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=r!=null?r:MW,n&&((0,cr.isInputType)(n)&&this._inputTypeStack.push(n),(0,cr.isCompositeType)(n)&&this._parentTypeStack.push(n),(0,cr.isOutputType)(n)&&this._typeStack.push(n))}get[Symbol.toStringTag](){return"TypeInfo"}getType(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]}getParentType(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]}getInputType(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]}getParentInputType(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]}getFieldDef(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]}getDefaultValue(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]}getDirective(){return this._directive}getArgument(){return this._argument}getEnumValue(){return this._enumValue}enter(t){let n=this._schema;switch(t.kind){case ur.Kind.SELECTION_SET:{let i=(0,cr.getNamedType)(this.getType());this._parentTypeStack.push((0,cr.isCompositeType)(i)?i:void 0);break}case ur.Kind.FIELD:{let i=this.getParentType(),s,o;i&&(s=this._getFieldDef(n,i,t),s&&(o=s.type)),this._fieldDefStack.push(s),this._typeStack.push((0,cr.isOutputType)(o)?o:void 0);break}case ur.Kind.DIRECTIVE:this._directive=n.getDirective(t.name.value);break;case ur.Kind.OPERATION_DEFINITION:{let i=n.getRootType(t.operation);this._typeStack.push((0,cr.isObjectType)(i)?i:void 0);break}case ur.Kind.INLINE_FRAGMENT:case ur.Kind.FRAGMENT_DEFINITION:{let i=t.typeCondition,s=i?(0,yU.typeFromAST)(n,i):(0,cr.getNamedType)(this.getType());this._typeStack.push((0,cr.isOutputType)(s)?s:void 0);break}case ur.Kind.VARIABLE_DEFINITION:{let i=(0,yU.typeFromAST)(n,t.type);this._inputTypeStack.push((0,cr.isInputType)(i)?i:void 0);break}case ur.Kind.ARGUMENT:{var r;let i,s,o=(r=this.getDirective())!==null&&r!==void 0?r:this.getFieldDef();o&&(i=o.args.find(u=>u.name===t.name.value),i&&(s=i.type)),this._argument=i,this._defaultValueStack.push(i?i.defaultValue:void 0),this._inputTypeStack.push((0,cr.isInputType)(s)?s:void 0);break}case ur.Kind.LIST:{let i=(0,cr.getNullableType)(this.getInputType()),s=(0,cr.isListType)(i)?i.ofType:i;this._defaultValueStack.push(void 0),this._inputTypeStack.push((0,cr.isInputType)(s)?s:void 0);break}case ur.Kind.OBJECT_FIELD:{let i=(0,cr.getNamedType)(this.getInputType()),s,o;(0,cr.isInputObjectType)(i)&&(o=i.getFields()[t.name.value],o&&(s=o.type)),this._defaultValueStack.push(o?o.defaultValue:void 0),this._inputTypeStack.push((0,cr.isInputType)(s)?s:void 0);break}case ur.Kind.ENUM:{let i=(0,cr.getNamedType)(this.getInputType()),s;(0,cr.isEnumType)(i)&&(s=i.getValue(t.value)),this._enumValue=s;break}default:}}leave(t){switch(t.kind){case ur.Kind.SELECTION_SET:this._parentTypeStack.pop();break;case ur.Kind.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case ur.Kind.DIRECTIVE:this._directive=null;break;case ur.Kind.OPERATION_DEFINITION:case ur.Kind.INLINE_FRAGMENT:case ur.Kind.FRAGMENT_DEFINITION:this._typeStack.pop();break;case ur.Kind.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case ur.Kind.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case ur.Kind.LIST:case ur.Kind.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case ur.Kind.ENUM:this._enumValue=null;break;default:}}};hh.TypeInfo=uS;function MW(e,t,n){let r=n.name.value;if(r===sp.SchemaMetaFieldDef.name&&e.getQueryType()===t)return sp.SchemaMetaFieldDef;if(r===sp.TypeMetaFieldDef.name&&e.getQueryType()===t)return sp.TypeMetaFieldDef;if(r===sp.TypeNameMetaFieldDef.name&&(0,cr.isCompositeType)(t))return sp.TypeNameMetaFieldDef;if((0,cr.isObjectType)(t)||(0,cr.isInterfaceType)(t))return t.getFields()[r]}function BW(e,t){return{enter(...n){let r=n[0];e.enter(r);let i=(0,TU.getEnterLeaveForKind)(t,r.kind).enter;if(i){let s=i.apply(t,n);return s!==void 0&&(e.leave(r),(0,UW.isNode)(s)&&e.enter(s)),s}},leave(...n){let r=n[0],i=(0,TU.getEnterLeaveForKind)(t,r.kind).leave,s;return i&&(s=i.apply(t,n)),e.leave(r),s}}}});var _l=V(Us=>{"use strict";m();T();h();Object.defineProperty(Us,"__esModule",{value:!0});Us.isConstValueNode=cS;Us.isDefinitionNode=VW;Us.isExecutableDefinitionNode=NU;Us.isSelectionNode=jW;Us.isTypeDefinitionNode=IU;Us.isTypeExtensionNode=_U;Us.isTypeNode=$W;Us.isTypeSystemDefinitionNode=gU;Us.isTypeSystemExtensionNode=vU;Us.isValueNode=EU;var nn=en();function VW(e){return NU(e)||gU(e)||vU(e)}function NU(e){return e.kind===nn.Kind.OPERATION_DEFINITION||e.kind===nn.Kind.FRAGMENT_DEFINITION}function jW(e){return e.kind===nn.Kind.FIELD||e.kind===nn.Kind.FRAGMENT_SPREAD||e.kind===nn.Kind.INLINE_FRAGMENT}function EU(e){return e.kind===nn.Kind.VARIABLE||e.kind===nn.Kind.INT||e.kind===nn.Kind.FLOAT||e.kind===nn.Kind.STRING||e.kind===nn.Kind.BOOLEAN||e.kind===nn.Kind.NULL||e.kind===nn.Kind.ENUM||e.kind===nn.Kind.LIST||e.kind===nn.Kind.OBJECT}function cS(e){return EU(e)&&(e.kind===nn.Kind.LIST?e.values.some(cS):e.kind===nn.Kind.OBJECT?e.fields.some(t=>cS(t.value)):e.kind!==nn.Kind.VARIABLE)}function $W(e){return e.kind===nn.Kind.NAMED_TYPE||e.kind===nn.Kind.LIST_TYPE||e.kind===nn.Kind.NON_NULL_TYPE}function gU(e){return e.kind===nn.Kind.SCHEMA_DEFINITION||IU(e)||e.kind===nn.Kind.DIRECTIVE_DEFINITION}function IU(e){return e.kind===nn.Kind.SCALAR_TYPE_DEFINITION||e.kind===nn.Kind.OBJECT_TYPE_DEFINITION||e.kind===nn.Kind.INTERFACE_TYPE_DEFINITION||e.kind===nn.Kind.UNION_TYPE_DEFINITION||e.kind===nn.Kind.ENUM_TYPE_DEFINITION||e.kind===nn.Kind.INPUT_OBJECT_TYPE_DEFINITION}function vU(e){return e.kind===nn.Kind.SCHEMA_EXTENSION||_U(e)}function _U(e){return e.kind===nn.Kind.SCALAR_TYPE_EXTENSION||e.kind===nn.Kind.OBJECT_TYPE_EXTENSION||e.kind===nn.Kind.INTERFACE_TYPE_EXTENSION||e.kind===nn.Kind.UNION_TYPE_EXTENSION||e.kind===nn.Kind.ENUM_TYPE_EXTENSION||e.kind===nn.Kind.INPUT_OBJECT_TYPE_EXTENSION}});var dS=V(lS=>{"use strict";m();T();h();Object.defineProperty(lS,"__esModule",{value:!0});lS.ExecutableDefinitionsRule=GW;var qW=ut(),bU=en(),KW=_l();function GW(e){return{Document(t){for(let n of t.definitions)if(!(0,KW.isExecutableDefinitionNode)(n)){let r=n.kind===bU.Kind.SCHEMA_DEFINITION||n.kind===bU.Kind.SCHEMA_EXTENSION?"schema":'"'+n.name.value+'"';e.reportError(new qW.GraphQLError(`The ${r} definition is not executable.`,{nodes:n}))}return!1}}}});var fS=V(pS=>{"use strict";m();T();h();Object.defineProperty(pS,"__esModule",{value:!0});pS.FieldsOnCorrectTypeRule=zW;var OU=mc(),QW=zm(),YW=Tc(),JW=ut(),Th=tn();function zW(e){return{Field(t){let n=e.getParentType();if(n&&!e.getFieldDef()){let i=e.getSchema(),s=t.name.value,o=(0,OU.didYouMean)("to use an inline fragment on",HW(i,n,s));o===""&&(o=(0,OU.didYouMean)(WW(n,s))),e.reportError(new JW.GraphQLError(`Cannot query field "${s}" on type "${n.name}".`+o,{nodes:t}))}}}}function HW(e,t,n){if(!(0,Th.isAbstractType)(t))return[];let r=new Set,i=Object.create(null);for(let o of e.getPossibleTypes(t))if(o.getFields()[n]){r.add(o),i[o.name]=1;for(let u of o.getInterfaces()){var s;u.getFields()[n]&&(r.add(u),i[u.name]=((s=i[u.name])!==null&&s!==void 0?s:0)+1)}}return[...r].sort((o,u)=>{let l=i[u.name]-i[o.name];return l!==0?l:(0,Th.isInterfaceType)(o)&&e.isSubType(o,u)?-1:(0,Th.isInterfaceType)(u)&&e.isSubType(u,o)?1:(0,QW.naturalCompare)(o.name,u.name)}).map(o=>o.name)}function WW(e,t){if((0,Th.isObjectType)(e)||(0,Th.isInterfaceType)(e)){let n=Object.keys(e.getFields());return(0,YW.suggestionList)(t,n)}return[]}});var hS=V(mS=>{"use strict";m();T();h();Object.defineProperty(mS,"__esModule",{value:!0});mS.FragmentsOnCompositeTypesRule=XW;var SU=ut(),DU=ds(),AU=tn(),RU=Yo();function XW(e){return{InlineFragment(t){let n=t.typeCondition;if(n){let r=(0,RU.typeFromAST)(e.getSchema(),n);if(r&&!(0,AU.isCompositeType)(r)){let i=(0,DU.print)(n);e.reportError(new SU.GraphQLError(`Fragment cannot condition on non composite type "${i}".`,{nodes:n}))}}},FragmentDefinition(t){let n=(0,RU.typeFromAST)(e.getSchema(),t.typeCondition);if(n&&!(0,AU.isCompositeType)(n)){let r=(0,DU.print)(t.typeCondition);e.reportError(new SU.GraphQLError(`Fragment "${t.name.value}" cannot condition on non composite type "${r}".`,{nodes:t.typeCondition}))}}}}});var TS=V(HN=>{"use strict";m();T();h();Object.defineProperty(HN,"__esModule",{value:!0});HN.KnownArgumentNamesOnDirectivesRule=PU;HN.KnownArgumentNamesRule=tX;var FU=mc(),wU=Tc(),LU=ut(),ZW=en(),eX=ji();function tX(e){return K(k({},PU(e)),{Argument(t){let n=e.getArgument(),r=e.getFieldDef(),i=e.getParentType();if(!n&&r&&i){let s=t.name.value,o=r.args.map(l=>l.name),u=(0,wU.suggestionList)(s,o);e.reportError(new LU.GraphQLError(`Unknown argument "${s}" on field "${i.name}.${r.name}".`+(0,FU.didYouMean)(u),{nodes:t}))}}})}function PU(e){let t=Object.create(null),n=e.getSchema(),r=n?n.getDirectives():eX.specifiedDirectives;for(let o of r)t[o.name]=o.args.map(u=>u.name);let i=e.getDocument().definitions;for(let o of i)if(o.kind===ZW.Kind.DIRECTIVE_DEFINITION){var s;let u=(s=o.arguments)!==null&&s!==void 0?s:[];t[o.name.value]=u.map(l=>l.name.value)}return{Directive(o){let u=o.name.value,l=t[u];if(o.arguments&&l)for(let d of o.arguments){let p=d.name.value;if(!l.includes(p)){let y=(0,wU.suggestionList)(p,l);e.reportError(new LU.GraphQLError(`Unknown argument "${p}" on directive "@${u}".`+(0,FU.didYouMean)(y),{nodes:d}))}}return!1}}}});var gS=V(ES=>{"use strict";m();T();h();Object.defineProperty(ES,"__esModule",{value:!0});ES.KnownDirectivesRule=iX;var nX=En(),yS=ci(),kU=ut(),NS=qo(),Pr=rp(),jn=en(),rX=ji();function iX(e){let t=Object.create(null),n=e.getSchema(),r=n?n.getDirectives():rX.specifiedDirectives;for(let s of r)t[s.name]=s.locations;let i=e.getDocument().definitions;for(let s of i)s.kind===jn.Kind.DIRECTIVE_DEFINITION&&(t[s.name.value]=s.locations.map(o=>o.value));return{Directive(s,o,u,l,d){let p=s.name.value,y=t[p];if(!y){e.reportError(new kU.GraphQLError(`Unknown directive "@${p}".`,{nodes:s}));return}let N=sX(d);N&&!y.includes(N)&&e.reportError(new kU.GraphQLError(`Directive "@${p}" may not be used on ${N}.`,{nodes:s}))}}}function sX(e){let t=e[e.length-1];switch("kind"in t||(0,yS.invariant)(!1),t.kind){case jn.Kind.OPERATION_DEFINITION:return oX(t.operation);case jn.Kind.FIELD:return Pr.DirectiveLocation.FIELD;case jn.Kind.FRAGMENT_SPREAD:return Pr.DirectiveLocation.FRAGMENT_SPREAD;case jn.Kind.INLINE_FRAGMENT:return Pr.DirectiveLocation.INLINE_FRAGMENT;case jn.Kind.FRAGMENT_DEFINITION:return Pr.DirectiveLocation.FRAGMENT_DEFINITION;case jn.Kind.VARIABLE_DEFINITION:return Pr.DirectiveLocation.VARIABLE_DEFINITION;case jn.Kind.SCHEMA_DEFINITION:case jn.Kind.SCHEMA_EXTENSION:return Pr.DirectiveLocation.SCHEMA;case jn.Kind.SCALAR_TYPE_DEFINITION:case jn.Kind.SCALAR_TYPE_EXTENSION:return Pr.DirectiveLocation.SCALAR;case jn.Kind.OBJECT_TYPE_DEFINITION:case jn.Kind.OBJECT_TYPE_EXTENSION:return Pr.DirectiveLocation.OBJECT;case jn.Kind.FIELD_DEFINITION:return Pr.DirectiveLocation.FIELD_DEFINITION;case jn.Kind.INTERFACE_TYPE_DEFINITION:case jn.Kind.INTERFACE_TYPE_EXTENSION:return Pr.DirectiveLocation.INTERFACE;case jn.Kind.UNION_TYPE_DEFINITION:case jn.Kind.UNION_TYPE_EXTENSION:return Pr.DirectiveLocation.UNION;case jn.Kind.ENUM_TYPE_DEFINITION:case jn.Kind.ENUM_TYPE_EXTENSION:return Pr.DirectiveLocation.ENUM;case jn.Kind.ENUM_VALUE_DEFINITION:return Pr.DirectiveLocation.ENUM_VALUE;case jn.Kind.INPUT_OBJECT_TYPE_DEFINITION:case jn.Kind.INPUT_OBJECT_TYPE_EXTENSION:return Pr.DirectiveLocation.INPUT_OBJECT;case jn.Kind.INPUT_VALUE_DEFINITION:{let n=e[e.length-3];return"kind"in n||(0,yS.invariant)(!1),n.kind===jn.Kind.INPUT_OBJECT_TYPE_DEFINITION?Pr.DirectiveLocation.INPUT_FIELD_DEFINITION:Pr.DirectiveLocation.ARGUMENT_DEFINITION}default:(0,yS.invariant)(!1,"Unexpected kind: "+(0,nX.inspect)(t.kind))}}function oX(e){switch(e){case NS.OperationTypeNode.QUERY:return Pr.DirectiveLocation.QUERY;case NS.OperationTypeNode.MUTATION:return Pr.DirectiveLocation.MUTATION;case NS.OperationTypeNode.SUBSCRIPTION:return Pr.DirectiveLocation.SUBSCRIPTION}}});var vS=V(IS=>{"use strict";m();T();h();Object.defineProperty(IS,"__esModule",{value:!0});IS.KnownFragmentNamesRule=uX;var aX=ut();function uX(e){return{FragmentSpread(t){let n=t.name.value;e.getFragment(n)||e.reportError(new aX.GraphQLError(`Unknown fragment "${n}".`,{nodes:t.name}))}}}});var OS=V(bS=>{"use strict";m();T();h();Object.defineProperty(bS,"__esModule",{value:!0});bS.KnownTypeNamesRule=mX;var cX=mc(),lX=Tc(),dX=ut(),_S=_l(),pX=Cs(),fX=Qo();function mX(e){let t=e.getSchema(),n=t?t.getTypeMap():Object.create(null),r=Object.create(null);for(let s of e.getDocument().definitions)(0,_S.isTypeDefinitionNode)(s)&&(r[s.name.value]=!0);let i=[...Object.keys(n),...Object.keys(r)];return{NamedType(s,o,u,l,d){let p=s.name.value;if(!n[p]&&!r[p]){var y;let N=(y=d[2])!==null&&y!==void 0?y:u,I=N!=null&&hX(N);if(I&&xU.includes(p))return;let O=(0,lX.suggestionList)(p,I?xU.concat(i):i);e.reportError(new dX.GraphQLError(`Unknown type "${p}".`+(0,cX.didYouMean)(O),{nodes:s}))}}}}var xU=[...fX.specifiedScalarTypes,...pX.introspectionTypes].map(e=>e.name);function hX(e){return"kind"in e&&((0,_S.isTypeSystemDefinitionNode)(e)||(0,_S.isTypeSystemExtensionNode)(e))}});var DS=V(SS=>{"use strict";m();T();h();Object.defineProperty(SS,"__esModule",{value:!0});SS.LoneAnonymousOperationRule=NX;var TX=ut(),yX=en();function NX(e){let t=0;return{Document(n){t=n.definitions.filter(r=>r.kind===yX.Kind.OPERATION_DEFINITION).length},OperationDefinition(n){!n.name&&t>1&&e.reportError(new TX.GraphQLError("This anonymous operation must be the only defined operation.",{nodes:n}))}}}});var RS=V(AS=>{"use strict";m();T();h();Object.defineProperty(AS,"__esModule",{value:!0});AS.LoneSchemaDefinitionRule=EX;var CU=ut();function EX(e){var t,n,r;let i=e.getSchema(),s=(t=(n=(r=i==null?void 0:i.astNode)!==null&&r!==void 0?r:i==null?void 0:i.getQueryType())!==null&&n!==void 0?n:i==null?void 0:i.getMutationType())!==null&&t!==void 0?t:i==null?void 0:i.getSubscriptionType(),o=0;return{SchemaDefinition(u){if(s){e.reportError(new CU.GraphQLError("Cannot define a new schema within a schema extension.",{nodes:u}));return}o>0&&e.reportError(new CU.GraphQLError("Must provide only one schema definition.",{nodes:u})),++o}}}});var wS=V(FS=>{"use strict";m();T();h();Object.defineProperty(FS,"__esModule",{value:!0});FS.MaxIntrospectionDepthRule=vX;var gX=ut(),UU=en(),IX=3;function vX(e){function t(n,r=Object.create(null),i=0){if(n.kind===UU.Kind.FRAGMENT_SPREAD){let s=n.name.value;if(r[s]===!0)return!1;let o=e.getFragment(s);if(!o)return!1;try{return r[s]=!0,t(o,r,i)}finally{r[s]=void 0}}if(n.kind===UU.Kind.FIELD&&(n.name.value==="fields"||n.name.value==="interfaces"||n.name.value==="possibleTypes"||n.name.value==="inputFields")&&(i++,i>=IX))return!0;if("selectionSet"in n&&n.selectionSet){for(let s of n.selectionSet.selections)if(t(s,r,i))return!0}return!1}return{Field(n){if((n.name.value==="__schema"||n.name.value==="__type")&&t(n))return e.reportError(new gX.GraphQLError("Maximum introspection depth exceeded",{nodes:[n]})),!1}}}});var PS=V(LS=>{"use strict";m();T();h();Object.defineProperty(LS,"__esModule",{value:!0});LS.NoFragmentCyclesRule=bX;var _X=ut();function bX(e){let t=Object.create(null),n=[],r=Object.create(null);return{OperationDefinition:()=>!1,FragmentDefinition(s){return i(s),!1}};function i(s){if(t[s.name.value])return;let o=s.name.value;t[o]=!0;let u=e.getFragmentSpreads(s.selectionSet);if(u.length!==0){r[o]=n.length;for(let l of u){let d=l.name.value,p=r[d];if(n.push(l),p===void 0){let y=e.getFragment(d);y&&i(y)}else{let y=n.slice(p),N=y.slice(0,-1).map(I=>'"'+I.name.value+'"').join(", ");e.reportError(new _X.GraphQLError(`Cannot spread fragment "${d}" within itself`+(N!==""?` via ${N}.`:"."),{nodes:y}))}n.pop()}r[o]=void 0}}}});var xS=V(kS=>{"use strict";m();T();h();Object.defineProperty(kS,"__esModule",{value:!0});kS.NoUndefinedVariablesRule=SX;var OX=ut();function SX(e){let t=Object.create(null);return{OperationDefinition:{enter(){t=Object.create(null)},leave(n){let r=e.getRecursiveVariableUsages(n);for(let{node:i}of r){let s=i.name.value;t[s]!==!0&&e.reportError(new OX.GraphQLError(n.name?`Variable "$${s}" is not defined by operation "${n.name.value}".`:`Variable "$${s}" is not defined.`,{nodes:[i,n]}))}}},VariableDefinition(n){t[n.variable.name.value]=!0}}}});var US=V(CS=>{"use strict";m();T();h();Object.defineProperty(CS,"__esModule",{value:!0});CS.NoUnusedFragmentsRule=AX;var DX=ut();function AX(e){let t=[],n=[];return{OperationDefinition(r){return t.push(r),!1},FragmentDefinition(r){return n.push(r),!1},Document:{leave(){let r=Object.create(null);for(let i of t)for(let s of e.getRecursivelyReferencedFragments(i))r[s.name.value]=!0;for(let i of n){let s=i.name.value;r[s]!==!0&&e.reportError(new DX.GraphQLError(`Fragment "${s}" is never used.`,{nodes:i}))}}}}}});var BS=V(MS=>{"use strict";m();T();h();Object.defineProperty(MS,"__esModule",{value:!0});MS.NoUnusedVariablesRule=FX;var RX=ut();function FX(e){let t=[];return{OperationDefinition:{enter(){t=[]},leave(n){let r=Object.create(null),i=e.getRecursiveVariableUsages(n);for(let{node:s}of i)r[s.name.value]=!0;for(let s of t){let o=s.variable.name.value;r[o]!==!0&&e.reportError(new RX.GraphQLError(n.name?`Variable "$${o}" is never used in operation "${n.name.value}".`:`Variable "$${o}" is never used.`,{nodes:s}))}}},VariableDefinition(n){t.push(n)}}}});var $S=V(jS=>{"use strict";m();T();h();Object.defineProperty(jS,"__esModule",{value:!0});jS.sortValueNode=VS;var wX=zm(),Ma=en();function VS(e){switch(e.kind){case Ma.Kind.OBJECT:return K(k({},e),{fields:LX(e.fields)});case Ma.Kind.LIST:return K(k({},e),{values:e.values.map(VS)});case Ma.Kind.INT:case Ma.Kind.FLOAT:case Ma.Kind.STRING:case Ma.Kind.BOOLEAN:case Ma.Kind.NULL:case Ma.Kind.ENUM:case Ma.Kind.VARIABLE:return e}}function LX(e){return e.map(t=>K(k({},t),{value:VS(t.value)})).sort((t,n)=>(0,wX.naturalCompare)(t.name.value,n.name.value))}});var zS=V(JS=>{"use strict";m();T();h();Object.defineProperty(JS,"__esModule",{value:!0});JS.OverlappingFieldsCanBeMergedRule=CX;var MU=En(),PX=ut(),qS=en(),kX=ds(),$i=tn(),xX=$S(),VU=Yo();function jU(e){return Array.isArray(e)?e.map(([t,n])=>`subfields "${t}" conflict because `+jU(n)).join(" and "):e}function CX(e){let t=new QS,n=new Map;return{SelectionSet(r){let i=UX(e,n,t,e.getParentType(),r);for(let[[s,o],u,l]of i){let d=jU(o);e.reportError(new PX.GraphQLError(`Fields "${s}" conflict because ${d}. Use different aliases on the fields to fetch both if this was intentional.`,{nodes:u.concat(l)}))}}}}function UX(e,t,n,r,i){let s=[],[o,u]=ZN(e,t,r,i);if(BX(e,s,t,n,o),u.length!==0)for(let l=0;l1)for(let u=0;u[s.value,o]));return n.every(s=>{let o=s.value,u=i.get(s.name.value);return u===void 0?!1:BU(o)===BU(u)})}function BU(e){return(0,kX.print)((0,xX.sortValueNode)(e))}function KS(e,t){return(0,$i.isListType)(e)?(0,$i.isListType)(t)?KS(e.ofType,t.ofType):!0:(0,$i.isListType)(t)?!0:(0,$i.isNonNullType)(e)?(0,$i.isNonNullType)(t)?KS(e.ofType,t.ofType):!0:(0,$i.isNonNullType)(t)?!0:(0,$i.isLeafType)(e)||(0,$i.isLeafType)(t)?e!==t:!1}function ZN(e,t,n,r){let i=t.get(r);if(i)return i;let s=Object.create(null),o=Object.create(null);qU(e,n,r,s,o);let u=[s,Object.keys(o)];return t.set(r,u),u}function GS(e,t,n){let r=t.get(n.selectionSet);if(r)return r;let i=(0,VU.typeFromAST)(e.getSchema(),n.typeCondition);return ZN(e,t,i,n.selectionSet)}function qU(e,t,n,r,i){for(let s of n.selections)switch(s.kind){case qS.Kind.FIELD:{let o=s.name.value,u;((0,$i.isObjectType)(t)||(0,$i.isInterfaceType)(t))&&(u=t.getFields()[o]);let l=s.alias?s.alias.value:o;r[l]||(r[l]=[]),r[l].push([t,s,u]);break}case qS.Kind.FRAGMENT_SPREAD:i[s.name.value]=!0;break;case qS.Kind.INLINE_FRAGMENT:{let o=s.typeCondition,u=o?(0,VU.typeFromAST)(e.getSchema(),o):t;qU(e,u,s.selectionSet,r,i);break}}}function jX(e,t,n,r){if(e.length>0)return[[t,e.map(([i])=>i)],[n,...e.map(([,i])=>i).flat()],[r,...e.map(([,,i])=>i).flat()]]}var QS=class{constructor(){this._data=new Map}has(t,n,r){var i;let[s,o]=t{"use strict";m();T();h();Object.defineProperty(WS,"__esModule",{value:!0});WS.PossibleFragmentSpreadsRule=qX;var eE=En(),KU=ut(),HS=tn(),GU=rh(),$X=Yo();function qX(e){return{InlineFragment(t){let n=e.getType(),r=e.getParentType();if((0,HS.isCompositeType)(n)&&(0,HS.isCompositeType)(r)&&!(0,GU.doTypesOverlap)(e.getSchema(),n,r)){let i=(0,eE.inspect)(r),s=(0,eE.inspect)(n);e.reportError(new KU.GraphQLError(`Fragment cannot be spread here as objects of type "${i}" can never be of type "${s}".`,{nodes:t}))}},FragmentSpread(t){let n=t.name.value,r=KX(e,n),i=e.getParentType();if(r&&i&&!(0,GU.doTypesOverlap)(e.getSchema(),r,i)){let s=(0,eE.inspect)(i),o=(0,eE.inspect)(r);e.reportError(new KU.GraphQLError(`Fragment "${n}" cannot be spread here as objects of type "${s}" can never be of type "${o}".`,{nodes:t}))}}}}function KX(e,t){let n=e.getFragment(t);if(n){let r=(0,$X.typeFromAST)(e.getSchema(),n.typeCondition);if((0,HS.isCompositeType)(r))return r}}});var e0=V(ZS=>{"use strict";m();T();h();Object.defineProperty(ZS,"__esModule",{value:!0});ZS.PossibleTypeExtensionsRule=JX;var GX=mc(),YU=En(),JU=ci(),QX=Tc(),QU=ut(),zn=en(),YX=_l(),op=tn();function JX(e){let t=e.getSchema(),n=Object.create(null);for(let i of e.getDocument().definitions)(0,YX.isTypeDefinitionNode)(i)&&(n[i.name.value]=i);return{ScalarTypeExtension:r,ObjectTypeExtension:r,InterfaceTypeExtension:r,UnionTypeExtension:r,EnumTypeExtension:r,InputObjectTypeExtension:r};function r(i){let s=i.name.value,o=n[s],u=t==null?void 0:t.getType(s),l;if(o?l=zX[o.kind]:u&&(l=HX(u)),l){if(l!==i.kind){let d=WX(i.kind);e.reportError(new QU.GraphQLError(`Cannot extend non-${d} type "${s}".`,{nodes:o?[o,i]:i}))}}else{let d=Object.keys(k(k({},n),t==null?void 0:t.getTypeMap())),p=(0,QX.suggestionList)(s,d);e.reportError(new QU.GraphQLError(`Cannot extend type "${s}" because it is not defined.`+(0,GX.didYouMean)(p),{nodes:i.name}))}}}var zX={[zn.Kind.SCALAR_TYPE_DEFINITION]:zn.Kind.SCALAR_TYPE_EXTENSION,[zn.Kind.OBJECT_TYPE_DEFINITION]:zn.Kind.OBJECT_TYPE_EXTENSION,[zn.Kind.INTERFACE_TYPE_DEFINITION]:zn.Kind.INTERFACE_TYPE_EXTENSION,[zn.Kind.UNION_TYPE_DEFINITION]:zn.Kind.UNION_TYPE_EXTENSION,[zn.Kind.ENUM_TYPE_DEFINITION]:zn.Kind.ENUM_TYPE_EXTENSION,[zn.Kind.INPUT_OBJECT_TYPE_DEFINITION]:zn.Kind.INPUT_OBJECT_TYPE_EXTENSION};function HX(e){if((0,op.isScalarType)(e))return zn.Kind.SCALAR_TYPE_EXTENSION;if((0,op.isObjectType)(e))return zn.Kind.OBJECT_TYPE_EXTENSION;if((0,op.isInterfaceType)(e))return zn.Kind.INTERFACE_TYPE_EXTENSION;if((0,op.isUnionType)(e))return zn.Kind.UNION_TYPE_EXTENSION;if((0,op.isEnumType)(e))return zn.Kind.ENUM_TYPE_EXTENSION;if((0,op.isInputObjectType)(e))return zn.Kind.INPUT_OBJECT_TYPE_EXTENSION;(0,JU.invariant)(!1,"Unexpected type: "+(0,YU.inspect)(e))}function WX(e){switch(e){case zn.Kind.SCALAR_TYPE_EXTENSION:return"scalar";case zn.Kind.OBJECT_TYPE_EXTENSION:return"object";case zn.Kind.INTERFACE_TYPE_EXTENSION:return"interface";case zn.Kind.UNION_TYPE_EXTENSION:return"union";case zn.Kind.ENUM_TYPE_EXTENSION:return"enum";case zn.Kind.INPUT_OBJECT_TYPE_EXTENSION:return"input object";default:(0,JU.invariant)(!1,"Unexpected kind: "+(0,YU.inspect)(e))}}});var n0=V(tE=>{"use strict";m();T();h();Object.defineProperty(tE,"__esModule",{value:!0});tE.ProvidedRequiredArgumentsOnDirectivesRule=ZU;tE.ProvidedRequiredArgumentsRule=e5;var HU=En(),zU=hc(),WU=ut(),XU=en(),XX=ds(),t0=tn(),ZX=ji();function e5(e){return K(k({},ZU(e)),{Field:{leave(t){var n;let r=e.getFieldDef();if(!r)return!1;let i=new Set((n=t.arguments)===null||n===void 0?void 0:n.map(s=>s.name.value));for(let s of r.args)if(!i.has(s.name)&&(0,t0.isRequiredArgument)(s)){let o=(0,HU.inspect)(s.type);e.reportError(new WU.GraphQLError(`Field "${r.name}" argument "${s.name}" of type "${o}" is required, but it was not provided.`,{nodes:t}))}}}})}function ZU(e){var t;let n=Object.create(null),r=e.getSchema(),i=(t=r==null?void 0:r.getDirectives())!==null&&t!==void 0?t:ZX.specifiedDirectives;for(let u of i)n[u.name]=(0,zU.keyMap)(u.args.filter(t0.isRequiredArgument),l=>l.name);let s=e.getDocument().definitions;for(let u of s)if(u.kind===XU.Kind.DIRECTIVE_DEFINITION){var o;let l=(o=u.arguments)!==null&&o!==void 0?o:[];n[u.name.value]=(0,zU.keyMap)(l.filter(t5),d=>d.name.value)}return{Directive:{leave(u){let l=u.name.value,d=n[l];if(d){var p;let y=(p=u.arguments)!==null&&p!==void 0?p:[],N=new Set(y.map(I=>I.name.value));for(let[I,O]of Object.entries(d))if(!N.has(I)){let x=(0,t0.isType)(O.type)?(0,HU.inspect)(O.type):(0,XX.print)(O.type);e.reportError(new WU.GraphQLError(`Directive "@${l}" argument "${I}" of type "${x}" is required, but it was not provided.`,{nodes:u}))}}}}}}function t5(e){return e.type.kind===XU.Kind.NON_NULL_TYPE&&e.defaultValue==null}});var i0=V(r0=>{"use strict";m();T();h();Object.defineProperty(r0,"__esModule",{value:!0});r0.ScalarLeafsRule=n5;var eM=En(),tM=ut(),nM=tn();function n5(e){return{Field(t){let n=e.getType(),r=t.selectionSet;if(n){if((0,nM.isLeafType)((0,nM.getNamedType)(n))){if(r){let i=t.name.value,s=(0,eM.inspect)(n);e.reportError(new tM.GraphQLError(`Field "${i}" must not have a selection since type "${s}" has no subfields.`,{nodes:r}))}}else if(!r){let i=t.name.value,s=(0,eM.inspect)(n);e.reportError(new tM.GraphQLError(`Field "${i}" of type "${s}" must have a selection of subfields. Did you mean "${i} { ... }"?`,{nodes:t}))}}}}}});var o0=V(s0=>{"use strict";m();T();h();Object.defineProperty(s0,"__esModule",{value:!0});s0.printPathArray=r5;function r5(e){return e.map(t=>typeof t=="number"?"["+t.toString()+"]":"."+t).join("")}});var yh=V(nE=>{"use strict";m();T();h();Object.defineProperty(nE,"__esModule",{value:!0});nE.addPath=i5;nE.pathToArray=s5;function i5(e,t,n){return{prev:e,key:t,typename:n}}function s5(e){let t=[],n=e;for(;n;)t.push(n.key),n=n.prev;return t.reverse()}});var u0=V(a0=>{"use strict";m();T();h();Object.defineProperty(a0,"__esModule",{value:!0});a0.coerceInputValue=p5;var o5=mc(),rE=En(),a5=ci(),u5=GN(),c5=$o(),ho=yh(),l5=o0(),d5=Tc(),Ba=ut(),Nh=tn();function p5(e,t,n=f5){return Eh(e,t,n,void 0)}function f5(e,t,n){let r="Invalid value "+(0,rE.inspect)(t);throw e.length>0&&(r+=` at "value${(0,l5.printPathArray)(e)}"`),n.message=r+": "+n.message,n}function Eh(e,t,n,r){if((0,Nh.isNonNullType)(t)){if(e!=null)return Eh(e,t.ofType,n,r);n((0,ho.pathToArray)(r),e,new Ba.GraphQLError(`Expected non-nullable type "${(0,rE.inspect)(t)}" not to be null.`));return}if(e==null)return null;if((0,Nh.isListType)(t)){let i=t.ofType;return(0,u5.isIterableObject)(e)?Array.from(e,(s,o)=>{let u=(0,ho.addPath)(r,o,void 0);return Eh(s,i,n,u)}):[Eh(e,i,n,r)]}if((0,Nh.isInputObjectType)(t)){if(!(0,c5.isObjectLike)(e)){n((0,ho.pathToArray)(r),e,new Ba.GraphQLError(`Expected type "${t.name}" to be an object.`));return}let i={},s=t.getFields();for(let o of Object.values(s)){let u=e[o.name];if(u===void 0){if(o.defaultValue!==void 0)i[o.name]=o.defaultValue;else if((0,Nh.isNonNullType)(o.type)){let l=(0,rE.inspect)(o.type);n((0,ho.pathToArray)(r),e,new Ba.GraphQLError(`Field "${o.name}" of required type "${l}" was not provided.`))}continue}i[o.name]=Eh(u,o.type,n,(0,ho.addPath)(r,o.name,t.name))}for(let o of Object.keys(e))if(!s[o]){let u=(0,d5.suggestionList)(o,Object.keys(t.getFields()));n((0,ho.pathToArray)(r),e,new Ba.GraphQLError(`Field "${o}" is not defined by type "${t.name}".`+(0,o5.didYouMean)(u)))}if(t.isOneOf){let o=Object.keys(i);o.length!==1&&n((0,ho.pathToArray)(r),e,new Ba.GraphQLError(`Exactly one key must be specified for OneOf type "${t.name}".`));let u=o[0],l=i[u];l===null&&n((0,ho.pathToArray)(r).concat(u),l,new Ba.GraphQLError(`Field "${u}" must be non-null.`))}return i}if((0,Nh.isLeafType)(t)){let i;try{i=t.parseValue(e)}catch(s){s instanceof Ba.GraphQLError?n((0,ho.pathToArray)(r),e,s):n((0,ho.pathToArray)(r),e,new Ba.GraphQLError(`Expected type "${t.name}". `+s.message,{originalError:s}));return}return i===void 0&&n((0,ho.pathToArray)(r),e,new Ba.GraphQLError(`Expected type "${t.name}".`)),i}(0,a5.invariant)(!1,"Unexpected input type: "+(0,rE.inspect)(t))}});var Ih=V(c0=>{"use strict";m();T();h();Object.defineProperty(c0,"__esModule",{value:!0});c0.valueFromAST=gh;var m5=En(),h5=ci(),T5=hc(),ap=en(),bl=tn();function gh(e,t,n){if(e){if(e.kind===ap.Kind.VARIABLE){let r=e.name.value;if(n==null||n[r]===void 0)return;let i=n[r];return i===null&&(0,bl.isNonNullType)(t)?void 0:i}if((0,bl.isNonNullType)(t))return e.kind===ap.Kind.NULL?void 0:gh(e,t.ofType,n);if(e.kind===ap.Kind.NULL)return null;if((0,bl.isListType)(t)){let r=t.ofType;if(e.kind===ap.Kind.LIST){let s=[];for(let o of e.values)if(rM(o,n)){if((0,bl.isNonNullType)(r))return;s.push(null)}else{let u=gh(o,r,n);if(u===void 0)return;s.push(u)}return s}let i=gh(e,r,n);return i===void 0?void 0:[i]}if((0,bl.isInputObjectType)(t)){if(e.kind!==ap.Kind.OBJECT)return;let r=Object.create(null),i=(0,T5.keyMap)(e.fields,s=>s.name.value);for(let s of Object.values(t.getFields())){let o=i[s.name];if(!o||rM(o.value,n)){if(s.defaultValue!==void 0)r[s.name]=s.defaultValue;else if((0,bl.isNonNullType)(s.type))return;continue}let u=gh(o.value,s.type,n);if(u===void 0)return;r[s.name]=u}if(t.isOneOf){let s=Object.keys(r);if(s.length!==1||r[s[0]]===null)return}return r}if((0,bl.isLeafType)(t)){let r;try{r=t.parseLiteral(e,n)}catch(i){return}return r===void 0?void 0:r}(0,h5.invariant)(!1,"Unexpected input type: "+(0,m5.inspect)(t))}}function rM(e,t){return e.kind===ap.Kind.VARIABLE&&(t==null||t[e.name.value]===void 0)}});var lp=V(vh=>{"use strict";m();T();h();Object.defineProperty(vh,"__esModule",{value:!0});vh.getArgumentValues=aM;vh.getDirectiveValues=_5;vh.getVariableValues=I5;var up=En(),y5=hc(),N5=o0(),Va=ut(),iM=en(),sM=ds(),cp=tn(),E5=u0(),g5=Yo(),oM=Ih();function I5(e,t,n,r){let i=[],s=r==null?void 0:r.maxErrors;try{let o=v5(e,t,n,u=>{if(s!=null&&i.length>=s)throw new Va.GraphQLError("Too many errors processing variables, error limit reached. Execution aborted.");i.push(u)});if(i.length===0)return{coerced:o}}catch(o){i.push(o)}return{errors:i}}function v5(e,t,n,r){let i={};for(let s of t){let o=s.variable.name.value,u=(0,g5.typeFromAST)(e,s.type);if(!(0,cp.isInputType)(u)){let d=(0,sM.print)(s.type);r(new Va.GraphQLError(`Variable "$${o}" expected value of type "${d}" which cannot be used as an input type.`,{nodes:s.type}));continue}if(!uM(n,o)){if(s.defaultValue)i[o]=(0,oM.valueFromAST)(s.defaultValue,u);else if((0,cp.isNonNullType)(u)){let d=(0,up.inspect)(u);r(new Va.GraphQLError(`Variable "$${o}" of required type "${d}" was not provided.`,{nodes:s}))}continue}let l=n[o];if(l===null&&(0,cp.isNonNullType)(u)){let d=(0,up.inspect)(u);r(new Va.GraphQLError(`Variable "$${o}" of non-null type "${d}" must not be null.`,{nodes:s}));continue}i[o]=(0,E5.coerceInputValue)(l,u,(d,p,y)=>{let N=`Variable "$${o}" got invalid value `+(0,up.inspect)(p);d.length>0&&(N+=` at "${o}${(0,N5.printPathArray)(d)}"`),r(new Va.GraphQLError(N+"; "+y.message,{nodes:s,originalError:y}))})}return i}function aM(e,t,n){var r;let i={},s=(r=t.arguments)!==null&&r!==void 0?r:[],o=(0,y5.keyMap)(s,u=>u.name.value);for(let u of e.args){let l=u.name,d=u.type,p=o[l];if(!p){if(u.defaultValue!==void 0)i[l]=u.defaultValue;else if((0,cp.isNonNullType)(d))throw new Va.GraphQLError(`Argument "${l}" of required type "${(0,up.inspect)(d)}" was not provided.`,{nodes:t});continue}let y=p.value,N=y.kind===iM.Kind.NULL;if(y.kind===iM.Kind.VARIABLE){let O=y.name.value;if(n==null||!uM(n,O)){if(u.defaultValue!==void 0)i[l]=u.defaultValue;else if((0,cp.isNonNullType)(d))throw new Va.GraphQLError(`Argument "${l}" of required type "${(0,up.inspect)(d)}" was provided the variable "$${O}" which was not provided a runtime value.`,{nodes:y});continue}N=n[O]==null}if(N&&(0,cp.isNonNullType)(d))throw new Va.GraphQLError(`Argument "${l}" of non-null type "${(0,up.inspect)(d)}" must not be null.`,{nodes:y});let I=(0,oM.valueFromAST)(y,d,n);if(I===void 0)throw new Va.GraphQLError(`Argument "${l}" has invalid value ${(0,sM.print)(y)}.`,{nodes:y});i[l]=I}return i}function _5(e,t,n){var r;let i=(r=t.directives)===null||r===void 0?void 0:r.find(s=>s.name.value===e.name);if(i)return aM(e,i,n)}function uM(e,t){return Object.prototype.hasOwnProperty.call(e,t)}});var oE=V(sE=>{"use strict";m();T();h();Object.defineProperty(sE,"__esModule",{value:!0});sE.collectFields=S5;sE.collectSubfields=D5;var l0=en(),b5=tn(),cM=ji(),O5=Yo(),lM=lp();function S5(e,t,n,r,i){let s=new Map;return iE(e,t,n,r,i,s,new Set),s}function D5(e,t,n,r,i){let s=new Map,o=new Set;for(let u of i)u.selectionSet&&iE(e,t,n,r,u.selectionSet,s,o);return s}function iE(e,t,n,r,i,s,o){for(let u of i.selections)switch(u.kind){case l0.Kind.FIELD:{if(!d0(n,u))continue;let l=A5(u),d=s.get(l);d!==void 0?d.push(u):s.set(l,[u]);break}case l0.Kind.INLINE_FRAGMENT:{if(!d0(n,u)||!dM(e,u,r))continue;iE(e,t,n,r,u.selectionSet,s,o);break}case l0.Kind.FRAGMENT_SPREAD:{let l=u.name.value;if(o.has(l)||!d0(n,u))continue;o.add(l);let d=t[l];if(!d||!dM(e,d,r))continue;iE(e,t,n,r,d.selectionSet,s,o);break}}}function d0(e,t){let n=(0,lM.getDirectiveValues)(cM.GraphQLSkipDirective,t,e);if((n==null?void 0:n.if)===!0)return!1;let r=(0,lM.getDirectiveValues)(cM.GraphQLIncludeDirective,t,e);return(r==null?void 0:r.if)!==!1}function dM(e,t,n){let r=t.typeCondition;if(!r)return!0;let i=(0,O5.typeFromAST)(e,r);return i===n?!0:(0,b5.isAbstractType)(i)?e.isSubType(i,n):!1}function A5(e){return e.alias?e.alias.value:e.name.value}});var f0=V(p0=>{"use strict";m();T();h();Object.defineProperty(p0,"__esModule",{value:!0});p0.SingleFieldSubscriptionsRule=w5;var pM=ut(),R5=en(),F5=oE();function w5(e){return{OperationDefinition(t){if(t.operation==="subscription"){let n=e.getSchema(),r=n.getSubscriptionType();if(r){let i=t.name?t.name.value:null,s=Object.create(null),o=e.getDocument(),u=Object.create(null);for(let d of o.definitions)d.kind===R5.Kind.FRAGMENT_DEFINITION&&(u[d.name.value]=d);let l=(0,F5.collectFields)(n,u,s,r,t.selectionSet);if(l.size>1){let y=[...l.values()].slice(1).flat();e.reportError(new pM.GraphQLError(i!=null?`Subscription "${i}" must select only one top level field.`:"Anonymous Subscription must select only one top level field.",{nodes:y}))}for(let d of l.values())d[0].name.value.startsWith("__")&&e.reportError(new pM.GraphQLError(i!=null?`Subscription "${i}" must not select an introspection top level field.`:"Anonymous Subscription must not select an introspection top level field.",{nodes:d}))}}}}}});var aE=V(m0=>{"use strict";m();T();h();Object.defineProperty(m0,"__esModule",{value:!0});m0.groupBy=L5;function L5(e,t){let n=new Map;for(let r of e){let i=t(r),s=n.get(i);s===void 0?n.set(i,[r]):s.push(r)}return n}});var T0=V(h0=>{"use strict";m();T();h();Object.defineProperty(h0,"__esModule",{value:!0});h0.UniqueArgumentDefinitionNamesRule=x5;var P5=aE(),k5=ut();function x5(e){return{DirectiveDefinition(r){var i;let s=(i=r.arguments)!==null&&i!==void 0?i:[];return n(`@${r.name.value}`,s)},InterfaceTypeDefinition:t,InterfaceTypeExtension:t,ObjectTypeDefinition:t,ObjectTypeExtension:t};function t(r){var i;let s=r.name.value,o=(i=r.fields)!==null&&i!==void 0?i:[];for(let l of o){var u;let d=l.name.value,p=(u=l.arguments)!==null&&u!==void 0?u:[];n(`${s}.${d}`,p)}return!1}function n(r,i){let s=(0,P5.groupBy)(i,o=>o.name.value);for(let[o,u]of s)u.length>1&&e.reportError(new k5.GraphQLError(`Argument "${r}(${o}:)" can only be defined once.`,{nodes:u.map(l=>l.name)}));return!1}}});var N0=V(y0=>{"use strict";m();T();h();Object.defineProperty(y0,"__esModule",{value:!0});y0.UniqueArgumentNamesRule=M5;var C5=aE(),U5=ut();function M5(e){return{Field:t,Directive:t};function t(n){var r;let i=(r=n.arguments)!==null&&r!==void 0?r:[],s=(0,C5.groupBy)(i,o=>o.name.value);for(let[o,u]of s)u.length>1&&e.reportError(new U5.GraphQLError(`There can be only one argument named "${o}".`,{nodes:u.map(l=>l.name)}))}}});var g0=V(E0=>{"use strict";m();T();h();Object.defineProperty(E0,"__esModule",{value:!0});E0.UniqueDirectiveNamesRule=B5;var fM=ut();function B5(e){let t=Object.create(null),n=e.getSchema();return{DirectiveDefinition(r){let i=r.name.value;if(n!=null&&n.getDirective(i)){e.reportError(new fM.GraphQLError(`Directive "@${i}" already exists in the schema. It cannot be redefined.`,{nodes:r.name}));return}return t[i]?e.reportError(new fM.GraphQLError(`There can be only one directive named "@${i}".`,{nodes:[t[i],r.name]})):t[i]=r.name,!1}}}});var _0=V(v0=>{"use strict";m();T();h();Object.defineProperty(v0,"__esModule",{value:!0});v0.UniqueDirectivesPerLocationRule=$5;var V5=ut(),I0=en(),mM=_l(),j5=ji();function $5(e){let t=Object.create(null),n=e.getSchema(),r=n?n.getDirectives():j5.specifiedDirectives;for(let u of r)t[u.name]=!u.isRepeatable;let i=e.getDocument().definitions;for(let u of i)u.kind===I0.Kind.DIRECTIVE_DEFINITION&&(t[u.name.value]=!u.repeatable);let s=Object.create(null),o=Object.create(null);return{enter(u){if(!("directives"in u)||!u.directives)return;let l;if(u.kind===I0.Kind.SCHEMA_DEFINITION||u.kind===I0.Kind.SCHEMA_EXTENSION)l=s;else if((0,mM.isTypeDefinitionNode)(u)||(0,mM.isTypeExtensionNode)(u)){let d=u.name.value;l=o[d],l===void 0&&(o[d]=l=Object.create(null))}else l=Object.create(null);for(let d of u.directives){let p=d.name.value;t[p]&&(l[p]?e.reportError(new V5.GraphQLError(`The directive "@${p}" can only be used once at this location.`,{nodes:[l[p],d]})):l[p]=d)}}}}});var O0=V(b0=>{"use strict";m();T();h();Object.defineProperty(b0,"__esModule",{value:!0});b0.UniqueEnumValueNamesRule=K5;var hM=ut(),q5=tn();function K5(e){let t=e.getSchema(),n=t?t.getTypeMap():Object.create(null),r=Object.create(null);return{EnumTypeDefinition:i,EnumTypeExtension:i};function i(s){var o;let u=s.name.value;r[u]||(r[u]=Object.create(null));let l=(o=s.values)!==null&&o!==void 0?o:[],d=r[u];for(let p of l){let y=p.name.value,N=n[u];(0,q5.isEnumType)(N)&&N.getValue(y)?e.reportError(new hM.GraphQLError(`Enum value "${u}.${y}" already exists in the schema. It cannot also be defined in this type extension.`,{nodes:p.name})):d[y]?e.reportError(new hM.GraphQLError(`Enum value "${u}.${y}" can only be defined once.`,{nodes:[d[y],p.name]})):d[y]=p.name}return!1}}});var A0=V(D0=>{"use strict";m();T();h();Object.defineProperty(D0,"__esModule",{value:!0});D0.UniqueFieldDefinitionNamesRule=G5;var TM=ut(),S0=tn();function G5(e){let t=e.getSchema(),n=t?t.getTypeMap():Object.create(null),r=Object.create(null);return{InputObjectTypeDefinition:i,InputObjectTypeExtension:i,InterfaceTypeDefinition:i,InterfaceTypeExtension:i,ObjectTypeDefinition:i,ObjectTypeExtension:i};function i(s){var o;let u=s.name.value;r[u]||(r[u]=Object.create(null));let l=(o=s.fields)!==null&&o!==void 0?o:[],d=r[u];for(let p of l){let y=p.name.value;Q5(n[u],y)?e.reportError(new TM.GraphQLError(`Field "${u}.${y}" already exists in the schema. It cannot also be defined in this type extension.`,{nodes:p.name})):d[y]?e.reportError(new TM.GraphQLError(`Field "${u}.${y}" can only be defined once.`,{nodes:[d[y],p.name]})):d[y]=p.name}return!1}}function Q5(e,t){return(0,S0.isObjectType)(e)||(0,S0.isInterfaceType)(e)||(0,S0.isInputObjectType)(e)?e.getFields()[t]!=null:!1}});var F0=V(R0=>{"use strict";m();T();h();Object.defineProperty(R0,"__esModule",{value:!0});R0.UniqueFragmentNamesRule=J5;var Y5=ut();function J5(e){let t=Object.create(null);return{OperationDefinition:()=>!1,FragmentDefinition(n){let r=n.name.value;return t[r]?e.reportError(new Y5.GraphQLError(`There can be only one fragment named "${r}".`,{nodes:[t[r],n.name]})):t[r]=n.name,!1}}}});var L0=V(w0=>{"use strict";m();T();h();Object.defineProperty(w0,"__esModule",{value:!0});w0.UniqueInputFieldNamesRule=W5;var z5=ci(),H5=ut();function W5(e){let t=[],n=Object.create(null);return{ObjectValue:{enter(){t.push(n),n=Object.create(null)},leave(){let r=t.pop();r||(0,z5.invariant)(!1),n=r}},ObjectField(r){let i=r.name.value;n[i]?e.reportError(new H5.GraphQLError(`There can be only one input field named "${i}".`,{nodes:[n[i],r.name]})):n[i]=r.name}}}});var k0=V(P0=>{"use strict";m();T();h();Object.defineProperty(P0,"__esModule",{value:!0});P0.UniqueOperationNamesRule=Z5;var X5=ut();function Z5(e){let t=Object.create(null);return{OperationDefinition(n){let r=n.name;return r&&(t[r.value]?e.reportError(new X5.GraphQLError(`There can be only one operation named "${r.value}".`,{nodes:[t[r.value],r]})):t[r.value]=r),!1},FragmentDefinition:()=>!1}}});var C0=V(x0=>{"use strict";m();T();h();Object.defineProperty(x0,"__esModule",{value:!0});x0.UniqueOperationTypesRule=e9;var yM=ut();function e9(e){let t=e.getSchema(),n=Object.create(null),r=t?{query:t.getQueryType(),mutation:t.getMutationType(),subscription:t.getSubscriptionType()}:{};return{SchemaDefinition:i,SchemaExtension:i};function i(s){var o;let u=(o=s.operationTypes)!==null&&o!==void 0?o:[];for(let l of u){let d=l.operation,p=n[d];r[d]?e.reportError(new yM.GraphQLError(`Type for ${d} already defined in the schema. It cannot be redefined.`,{nodes:l})):p?e.reportError(new yM.GraphQLError(`There can be only one ${d} type in schema.`,{nodes:[p,l]})):n[d]=l}return!1}}});var M0=V(U0=>{"use strict";m();T();h();Object.defineProperty(U0,"__esModule",{value:!0});U0.UniqueTypeNamesRule=t9;var NM=ut();function t9(e){let t=Object.create(null),n=e.getSchema();return{ScalarTypeDefinition:r,ObjectTypeDefinition:r,InterfaceTypeDefinition:r,UnionTypeDefinition:r,EnumTypeDefinition:r,InputObjectTypeDefinition:r};function r(i){let s=i.name.value;if(n!=null&&n.getType(s)){e.reportError(new NM.GraphQLError(`Type "${s}" already exists in the schema. It cannot also be defined in this type definition.`,{nodes:i.name}));return}return t[s]?e.reportError(new NM.GraphQLError(`There can be only one type named "${s}".`,{nodes:[t[s],i.name]})):t[s]=i.name,!1}}});var V0=V(B0=>{"use strict";m();T();h();Object.defineProperty(B0,"__esModule",{value:!0});B0.UniqueVariableNamesRule=i9;var n9=aE(),r9=ut();function i9(e){return{OperationDefinition(t){var n;let r=(n=t.variableDefinitions)!==null&&n!==void 0?n:[],i=(0,n9.groupBy)(r,s=>s.variable.name.value);for(let[s,o]of i)o.length>1&&e.reportError(new r9.GraphQLError(`There can be only one variable named "$${s}".`,{nodes:o.map(u=>u.variable.name)}))}}}});var q0=V($0=>{"use strict";m();T();h();Object.defineProperty($0,"__esModule",{value:!0});$0.ValuesOfCorrectTypeRule=u9;var s9=mc(),_h=En(),o9=hc(),a9=Tc(),zo=ut(),j0=en(),uE=ds(),Jo=tn();function u9(e){let t={};return{OperationDefinition:{enter(){t={}}},VariableDefinition(n){t[n.variable.name.value]=n},ListValue(n){let r=(0,Jo.getNullableType)(e.getParentInputType());if(!(0,Jo.isListType)(r))return Ol(e,n),!1},ObjectValue(n){let r=(0,Jo.getNamedType)(e.getInputType());if(!(0,Jo.isInputObjectType)(r))return Ol(e,n),!1;let i=(0,o9.keyMap)(n.fields,s=>s.name.value);for(let s of Object.values(r.getFields()))if(!i[s.name]&&(0,Jo.isRequiredInputField)(s)){let u=(0,_h.inspect)(s.type);e.reportError(new zo.GraphQLError(`Field "${r.name}.${s.name}" of required type "${u}" was not provided.`,{nodes:n}))}r.isOneOf&&c9(e,n,r,i,t)},ObjectField(n){let r=(0,Jo.getNamedType)(e.getParentInputType());if(!e.getInputType()&&(0,Jo.isInputObjectType)(r)){let s=(0,a9.suggestionList)(n.name.value,Object.keys(r.getFields()));e.reportError(new zo.GraphQLError(`Field "${n.name.value}" is not defined by type "${r.name}".`+(0,s9.didYouMean)(s),{nodes:n}))}},NullValue(n){let r=e.getInputType();(0,Jo.isNonNullType)(r)&&e.reportError(new zo.GraphQLError(`Expected value of type "${(0,_h.inspect)(r)}", found ${(0,uE.print)(n)}.`,{nodes:n}))},EnumValue:n=>Ol(e,n),IntValue:n=>Ol(e,n),FloatValue:n=>Ol(e,n),StringValue:n=>Ol(e,n),BooleanValue:n=>Ol(e,n)}}function Ol(e,t){let n=e.getInputType();if(!n)return;let r=(0,Jo.getNamedType)(n);if(!(0,Jo.isLeafType)(r)){let i=(0,_h.inspect)(n);e.reportError(new zo.GraphQLError(`Expected value of type "${i}", found ${(0,uE.print)(t)}.`,{nodes:t}));return}try{if(r.parseLiteral(t,void 0)===void 0){let s=(0,_h.inspect)(n);e.reportError(new zo.GraphQLError(`Expected value of type "${s}", found ${(0,uE.print)(t)}.`,{nodes:t}))}}catch(i){let s=(0,_h.inspect)(n);i instanceof zo.GraphQLError?e.reportError(i):e.reportError(new zo.GraphQLError(`Expected value of type "${s}", found ${(0,uE.print)(t)}; `+i.message,{nodes:t,originalError:i}))}}function c9(e,t,n,r,i){var s;let o=Object.keys(r);if(o.length!==1){e.reportError(new zo.GraphQLError(`OneOf Input Object "${n.name}" must specify exactly one key.`,{nodes:[t]}));return}let l=(s=r[o[0]])===null||s===void 0?void 0:s.value,d=!l||l.kind===j0.Kind.NULL,p=(l==null?void 0:l.kind)===j0.Kind.VARIABLE;if(d){e.reportError(new zo.GraphQLError(`Field "${n.name}.${o[0]}" must be non-null.`,{nodes:[t]}));return}if(p){let y=l.name.value;i[y].type.kind!==j0.Kind.NON_NULL_TYPE&&e.reportError(new zo.GraphQLError(`Variable "${y}" must be non-nullable to be used for OneOf Input Object "${n.name}".`,{nodes:[t]}))}}});var G0=V(K0=>{"use strict";m();T();h();Object.defineProperty(K0,"__esModule",{value:!0});K0.VariablesAreInputTypesRule=m9;var l9=ut(),d9=ds(),p9=tn(),f9=Yo();function m9(e){return{VariableDefinition(t){let n=(0,f9.typeFromAST)(e.getSchema(),t.type);if(n!==void 0&&!(0,p9.isInputType)(n)){let r=t.variable.name.value,i=(0,d9.print)(t.type);e.reportError(new l9.GraphQLError(`Variable "$${r}" cannot be non-input type "${i}".`,{nodes:t.type}))}}}}});var Y0=V(Q0=>{"use strict";m();T();h();Object.defineProperty(Q0,"__esModule",{value:!0});Q0.VariablesInAllowedPositionRule=N9;var EM=En(),h9=ut(),T9=en(),gM=tn(),IM=rh(),y9=Yo();function N9(e){let t=Object.create(null);return{OperationDefinition:{enter(){t=Object.create(null)},leave(n){let r=e.getRecursiveVariableUsages(n);for(let{node:i,type:s,defaultValue:o}of r){let u=i.name.value,l=t[u];if(l&&s){let d=e.getSchema(),p=(0,y9.typeFromAST)(d,l.type);if(p&&!E9(d,p,l.defaultValue,s,o)){let y=(0,EM.inspect)(p),N=(0,EM.inspect)(s);e.reportError(new h9.GraphQLError(`Variable "$${u}" of type "${y}" used in position expecting type "${N}".`,{nodes:[l,i]}))}}}}},VariableDefinition(n){t[n.variable.name.value]=n}}}function E9(e,t,n,r,i){if((0,gM.isNonNullType)(r)&&!(0,gM.isNonNullType)(t)){if(!(n!=null&&n.kind!==T9.Kind.NULL)&&!(i!==void 0))return!1;let u=r.ofType;return(0,IM.isTypeSubTypeOf)(e,t,u)}return(0,IM.isTypeSubTypeOf)(e,t,r)}});var J0=V(Ec=>{"use strict";m();T();h();Object.defineProperty(Ec,"__esModule",{value:!0});Ec.specifiedSDLRules=Ec.specifiedRules=Ec.recommendedRules=void 0;var g9=dS(),I9=fS(),v9=hS(),vM=TS(),_M=gS(),_9=vS(),bM=OS(),b9=DS(),O9=RS(),S9=wS(),D9=PS(),A9=xS(),R9=US(),F9=BS(),w9=zS(),L9=XS(),P9=e0(),OM=n0(),k9=i0(),x9=f0(),C9=T0(),SM=N0(),U9=g0(),DM=_0(),M9=O0(),B9=A0(),V9=F0(),AM=L0(),j9=k0(),$9=C0(),q9=M0(),K9=V0(),G9=q0(),Q9=G0(),Y9=Y0(),RM=Object.freeze([S9.MaxIntrospectionDepthRule]);Ec.recommendedRules=RM;var J9=Object.freeze([g9.ExecutableDefinitionsRule,j9.UniqueOperationNamesRule,b9.LoneAnonymousOperationRule,x9.SingleFieldSubscriptionsRule,bM.KnownTypeNamesRule,v9.FragmentsOnCompositeTypesRule,Q9.VariablesAreInputTypesRule,k9.ScalarLeafsRule,I9.FieldsOnCorrectTypeRule,V9.UniqueFragmentNamesRule,_9.KnownFragmentNamesRule,R9.NoUnusedFragmentsRule,L9.PossibleFragmentSpreadsRule,D9.NoFragmentCyclesRule,K9.UniqueVariableNamesRule,A9.NoUndefinedVariablesRule,F9.NoUnusedVariablesRule,_M.KnownDirectivesRule,DM.UniqueDirectivesPerLocationRule,vM.KnownArgumentNamesRule,SM.UniqueArgumentNamesRule,G9.ValuesOfCorrectTypeRule,OM.ProvidedRequiredArgumentsRule,Y9.VariablesInAllowedPositionRule,w9.OverlappingFieldsCanBeMergedRule,AM.UniqueInputFieldNamesRule,...RM]);Ec.specifiedRules=J9;var z9=Object.freeze([O9.LoneSchemaDefinitionRule,$9.UniqueOperationTypesRule,q9.UniqueTypeNamesRule,M9.UniqueEnumValueNamesRule,B9.UniqueFieldDefinitionNamesRule,C9.UniqueArgumentDefinitionNamesRule,U9.UniqueDirectiveNamesRule,bM.KnownTypeNamesRule,_M.KnownDirectivesRule,DM.UniqueDirectivesPerLocationRule,P9.PossibleTypeExtensionsRule,vM.KnownArgumentNamesOnDirectivesRule,SM.UniqueArgumentNamesRule,AM.UniqueInputFieldNamesRule,OM.ProvidedRequiredArgumentsOnDirectivesRule]);Ec.specifiedSDLRules=z9});var W0=V(gc=>{"use strict";m();T();h();Object.defineProperty(gc,"__esModule",{value:!0});gc.ValidationContext=gc.SDLValidationContext=gc.ASTValidationContext=void 0;var FM=en(),H9=ml(),wM=zN(),bh=class{constructor(t,n){this._ast=t,this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=n}get[Symbol.toStringTag](){return"ASTValidationContext"}reportError(t){this._onError(t)}getDocument(){return this._ast}getFragment(t){let n;if(this._fragments)n=this._fragments;else{n=Object.create(null);for(let r of this.getDocument().definitions)r.kind===FM.Kind.FRAGMENT_DEFINITION&&(n[r.name.value]=r);this._fragments=n}return n[t]}getFragmentSpreads(t){let n=this._fragmentSpreads.get(t);if(!n){n=[];let r=[t],i;for(;i=r.pop();)for(let s of i.selections)s.kind===FM.Kind.FRAGMENT_SPREAD?n.push(s):s.selectionSet&&r.push(s.selectionSet);this._fragmentSpreads.set(t,n)}return n}getRecursivelyReferencedFragments(t){let n=this._recursivelyReferencedFragments.get(t);if(!n){n=[];let r=Object.create(null),i=[t.selectionSet],s;for(;s=i.pop();)for(let o of this.getFragmentSpreads(s)){let u=o.name.value;if(r[u]!==!0){r[u]=!0;let l=this.getFragment(u);l&&(n.push(l),i.push(l.selectionSet))}}this._recursivelyReferencedFragments.set(t,n)}return n}};gc.ASTValidationContext=bh;var z0=class extends bh{constructor(t,n,r){super(t,r),this._schema=n}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}};gc.SDLValidationContext=z0;var H0=class extends bh{constructor(t,n,r,i){super(n,i),this._schema=t,this._typeInfo=r,this._variableUsages=new Map,this._recursiveVariableUsages=new Map}get[Symbol.toStringTag](){return"ValidationContext"}getSchema(){return this._schema}getVariableUsages(t){let n=this._variableUsages.get(t);if(!n){let r=[],i=new wM.TypeInfo(this._schema);(0,H9.visit)(t,(0,wM.visitWithTypeInfo)(i,{VariableDefinition:()=>!1,Variable(s){r.push({node:s,type:i.getInputType(),defaultValue:i.getDefaultValue()})}})),n=r,this._variableUsages.set(t,n)}return n}getRecursiveVariableUsages(t){let n=this._recursiveVariableUsages.get(t);if(!n){n=this.getVariableUsages(t);for(let r of this.getRecursivelyReferencedFragments(t))n=n.concat(this.getVariableUsages(r));this._recursiveVariableUsages.set(t,n)}return n}getType(){return this._typeInfo.getType()}getParentType(){return this._typeInfo.getParentType()}getInputType(){return this._typeInfo.getInputType()}getParentInputType(){return this._typeInfo.getParentInputType()}getFieldDef(){return this._typeInfo.getFieldDef()}getDirective(){return this._typeInfo.getDirective()}getArgument(){return this._typeInfo.getArgument()}getEnumValue(){return this._typeInfo.getEnumValue()}};gc.ValidationContext=H0});var pp=V(dp=>{"use strict";m();T();h();Object.defineProperty(dp,"__esModule",{value:!0});dp.assertValidSDL=t7;dp.assertValidSDLExtension=n7;dp.validate=e7;dp.validateSDL=X0;var W9=Oi(),X9=ut(),cE=ml(),Z9=mh(),LM=zN(),PM=J0(),kM=W0();function e7(e,t,n=PM.specifiedRules,r,i=new LM.TypeInfo(e)){var s;let o=(s=r==null?void 0:r.maxErrors)!==null&&s!==void 0?s:100;t||(0,W9.devAssert)(!1,"Must provide document."),(0,Z9.assertValidSchema)(e);let u=Object.freeze({}),l=[],d=new kM.ValidationContext(e,t,i,y=>{if(l.length>=o)throw l.push(new X9.GraphQLError("Too many validation errors, error limit reached. Validation aborted.")),u;l.push(y)}),p=(0,cE.visitInParallel)(n.map(y=>y(d)));try{(0,cE.visit)(t,(0,LM.visitWithTypeInfo)(i,p))}catch(y){if(y!==u)throw y}return l}function X0(e,t,n=PM.specifiedSDLRules){let r=[],i=new kM.SDLValidationContext(e,t,o=>{r.push(o)}),s=n.map(o=>o(i));return(0,cE.visit)(e,(0,cE.visitInParallel)(s)),r}function t7(e){let t=X0(e);if(t.length!==0)throw new Error(t.map(n=>n.message).join(` `))}function n7(e,t){let n=X0(e,t);if(n.length!==0)throw new Error(n.map(r=>r.message).join(` -`))}});var xM=V(pp=>{"use strict";m();T();h();Object.defineProperty(pp,"__esModule",{value:!0});pp.AccumulatorMap=void 0;pp.mapValue=dp;pp.extendSchemaImpl=r7;var Ve=(we(),Me(je)),ja=class extends Map{get[Symbol.toStringTag](){return"AccumulatorMap"}add(t,n){let r=this.get(t);r===void 0?this.set(t,[n]):r.push(n)}};pp.AccumulatorMap=ja;function dp(e,t){let n=Object.create(null);for(let r of Object.keys(e))n[r]=t(e[r],r);return n}function r7(e,t,n){var ae,te,ce,Ke;let r=[],i=new ja,s=new ja,o=new ja,u=new ja,l=new ja,d=new ja,p=[],y,N=[],I=!1;for(let G of t.definitions){switch(G.kind){case Ve.Kind.SCHEMA_DEFINITION:y=G;break;case Ve.Kind.SCHEMA_EXTENSION:N.push(G);break;case Ve.Kind.DIRECTIVE_DEFINITION:p.push(G);break;case Ve.Kind.SCALAR_TYPE_DEFINITION:case Ve.Kind.OBJECT_TYPE_DEFINITION:case Ve.Kind.INTERFACE_TYPE_DEFINITION:case Ve.Kind.UNION_TYPE_DEFINITION:case Ve.Kind.ENUM_TYPE_DEFINITION:case Ve.Kind.INPUT_OBJECT_TYPE_DEFINITION:r.push(G);break;case Ve.Kind.SCALAR_TYPE_EXTENSION:i.add(G.name.value,G);break;case Ve.Kind.OBJECT_TYPE_EXTENSION:s.add(G.name.value,G);break;case Ve.Kind.INTERFACE_TYPE_EXTENSION:o.add(G.name.value,G);break;case Ve.Kind.UNION_TYPE_EXTENSION:u.add(G.name.value,G);break;case Ve.Kind.ENUM_TYPE_EXTENSION:l.add(G.name.value,G);break;case Ve.Kind.INPUT_OBJECT_TYPE_EXTENSION:d.add(G.name.value,G);break;default:continue}I=!0}if(!I)return e;let b=new Map;for(let G of e.types){let ee=se(G);ee&&b.set(G.name,ee)}for(let G of r){let ee=G.name.value;b.set(ee,(ae=PM.get(ee))!=null?ae:U(G))}for(let[G,ee]of s)b.set(G,new Ve.GraphQLObjectType({name:G,interfaces:()=>on(ee),fields:()=>bn(ee),extensionASTNodes:ee}));if(n!=null&&n.addInvalidExtensionOrphans){for(let[G,ee]of o)b.set(G,new Ve.GraphQLInterfaceType({name:G,interfaces:()=>on(ee),fields:()=>bn(ee),extensionASTNodes:ee}));for(let[G,ee]of l)b.set(G,new Ve.GraphQLEnumType({name:G,values:Pn(ee),extensionASTNodes:ee}));for(let[G,ee]of u)b.set(G,new Ve.GraphQLUnionType({name:G,types:()=>$n(ee),extensionASTNodes:ee}));for(let[G,ee]of i)b.set(G,new Ve.GraphQLScalarType({name:G,extensionASTNodes:ee}));for(let[G,ee]of d)b.set(G,new Ve.GraphQLInputObjectType({name:G,fields:()=>Xr(ee),extensionASTNodes:ee}))}let C=k(k({query:e.query&&Q(e.query),mutation:e.mutation&&Q(e.mutation),subscription:e.subscription&&Q(e.subscription)},y&&Ct([y])),Ct(N));return K(k({description:(ce=(te=y==null?void 0:y.description)==null?void 0:te.value)!=null?ce:e.description},C),{types:Array.from(b.values()),directives:[...e.directives.map(re),...p.map(_n)],extensions:e.extensions,astNode:y!=null?y:e.astNode,extensionASTNodes:e.extensionASTNodes.concat(N),assumeValid:(Ke=n==null?void 0:n.assumeValid)!=null?Ke:!1});function j(G){return(0,Ve.isListType)(G)?new Ve.GraphQLList(j(G.ofType)):(0,Ve.isNonNullType)(G)?new Ve.GraphQLNonNull(j(G.ofType)):Q(G)}function Q(G){return b.get(G.name)}function re(G){if((0,Ve.isSpecifiedDirective)(G))return G;let ee=G.toConfig();return new Ve.GraphQLDirective(K(k({},ee),{args:dp(ee.args,nt)}))}function se(G){if((0,Ve.isIntrospectionType)(G)||(0,Ve.isSpecifiedScalarType)(G))return G;if((0,Ve.isScalarType)(G))return Ce(G);if((0,Ve.isObjectType)(G))return ht(G);if((0,Ve.isInterfaceType)(G))return xt(G);if((0,Ve.isUnionType)(G))return B(G);if((0,Ve.isEnumType)(G))return ye(G);if((0,Ve.isInputObjectType)(G))return pe(G)}function pe(G){var Xe;let ee=G.toConfig(),Ue=(Xe=d.get(ee.name))!=null?Xe:[];return new Ve.GraphQLInputObjectType(K(k({},ee),{fields:()=>k(k({},dp(ee.fields,jt=>K(k({},jt),{type:j(jt.type)}))),Xr(Ue)),extensionASTNodes:ee.extensionASTNodes.concat(Ue)}))}function ye(G){var Xe;let ee=G.toConfig(),Ue=(Xe=l.get(G.name))!=null?Xe:[];return new Ve.GraphQLEnumType(K(k({},ee),{values:k(k({},ee.values),Pn(Ue)),extensionASTNodes:ee.extensionASTNodes.concat(Ue)}))}function Ce(G){var jt,Je;let ee=G.toConfig(),Ue=(jt=i.get(ee.name))!=null?jt:[],Xe=ee.specifiedByURL;for(let Ht of Ue)Xe=(Je=kM(Ht))!=null?Je:Xe;return new Ve.GraphQLScalarType(K(k({},ee),{specifiedByURL:Xe,extensionASTNodes:ee.extensionASTNodes.concat(Ue)}))}function ht(G){var Xe;let ee=G.toConfig(),Ue=(Xe=s.get(ee.name))!=null?Xe:[];return new Ve.GraphQLObjectType(K(k({},ee),{interfaces:()=>[...G.getInterfaces().map(Q),...on(Ue)],fields:()=>k(k({},dp(ee.fields,he)),bn(Ue)),extensionASTNodes:ee.extensionASTNodes.concat(Ue)}))}function xt(G){var Xe;let ee=G.toConfig(),Ue=(Xe=o.get(ee.name))!=null?Xe:[];return new Ve.GraphQLInterfaceType(K(k({},ee),{interfaces:()=>[...G.getInterfaces().map(Q),...on(Ue)],fields:()=>k(k({},dp(ee.fields,he)),bn(Ue)),extensionASTNodes:ee.extensionASTNodes.concat(Ue)}))}function B(G){var Xe;let ee=G.toConfig(),Ue=(Xe=u.get(ee.name))!=null?Xe:[];return new Ve.GraphQLUnionType(K(k({},ee),{types:()=>[...G.getTypes().map(Q),...$n(Ue)],extensionASTNodes:ee.extensionASTNodes.concat(Ue)}))}function he(G){return K(k({},G),{type:j(G.type),args:G.args&&dp(G.args,nt)})}function nt(G){return K(k({},G),{type:j(G.type)})}function Ct(G){var Ue;let ee={};for(let Xe of G){let jt=(Ue=Xe.operationTypes)!=null?Ue:[];for(let Je of jt)ee[Je.operation]=sn(Je.type)}return ee}function sn(G){var Xe;let ee=G.name.value,Ue=(Xe=PM.get(ee))!=null?Xe:b.get(ee);if(Ue===void 0)throw new Error(`Unknown type: "${ee}".`);return Ue}function Fn(G){return G.kind===Ve.Kind.LIST_TYPE?new Ve.GraphQLList(Fn(G.type)):G.kind===Ve.Kind.NON_NULL_TYPE?new Ve.GraphQLNonNull(Fn(G.type)):sn(G)}function _n(G){var ee;return new Ve.GraphQLDirective({name:G.name.value,description:(ee=G.description)==null?void 0:ee.value,locations:G.locations.map(({value:Ue})=>Ue),isRepeatable:G.repeatable,args:mi(G.arguments),astNode:G})}function bn(G){var Ue,Xe;let ee=Object.create(null);for(let jt of G){let Je=(Ue=jt.fields)!=null?Ue:[];for(let Ht of Je)ee[Ht.name.value]={type:Fn(Ht.type),description:(Xe=Ht.description)==null?void 0:Xe.value,args:mi(Ht.arguments),deprecationReason:cE(Ht),astNode:Ht}}return ee}function mi(G){var Xe;let ee=G!=null?G:[],Ue=Object.create(null);for(let jt of ee){let Je=Fn(jt.type);Ue[jt.name.value]={type:Je,description:(Xe=jt.description)==null?void 0:Xe.value,defaultValue:(0,Ve.valueFromAST)(jt.defaultValue,Je),deprecationReason:cE(jt),astNode:jt}}return Ue}function Xr(G){var Ue,Xe;let ee=Object.create(null);for(let jt of G){let Je=(Ue=jt.fields)!=null?Ue:[];for(let Ht of Je){let pa=Fn(Ht.type);ee[Ht.name.value]={type:pa,description:(Xe=Ht.description)==null?void 0:Xe.value,defaultValue:(0,Ve.valueFromAST)(Ht.defaultValue,pa),deprecationReason:cE(Ht),astNode:Ht}}}return ee}function Pn(G){var Ue,Xe;let ee=Object.create(null);for(let jt of G){let Je=(Ue=jt.values)!=null?Ue:[];for(let Ht of Je)ee[Ht.name.value]={description:(Xe=Ht.description)==null?void 0:Xe.value,deprecationReason:cE(Ht),astNode:Ht}}return ee}function on(G){return G.flatMap(ee=>{var Ue,Xe;return(Xe=(Ue=ee.interfaces)==null?void 0:Ue.map(sn))!=null?Xe:[]})}function $n(G){return G.flatMap(ee=>{var Ue,Xe;return(Xe=(Ue=ee.types)==null?void 0:Ue.map(sn))!=null?Xe:[]})}function U(G){var Ue,Xe,jt,Je,Ht,pa,Li,fa,id,Do,Gr,Wi;let ee=G.name.value;switch(G.kind){case Ve.Kind.OBJECT_TYPE_DEFINITION:{let cn=(Ue=s.get(ee))!=null?Ue:[],Qr=[G,...cn];return s.delete(ee),new Ve.GraphQLObjectType({name:ee,description:(Xe=G.description)==null?void 0:Xe.value,interfaces:()=>on(Qr),fields:()=>bn(Qr),astNode:G,extensionASTNodes:cn})}case Ve.Kind.INTERFACE_TYPE_DEFINITION:{let cn=(jt=o.get(ee))!=null?jt:[],Qr=[G,...cn];return o.delete(ee),new Ve.GraphQLInterfaceType({name:ee,description:(Je=G.description)==null?void 0:Je.value,interfaces:()=>on(Qr),fields:()=>bn(Qr),astNode:G,extensionASTNodes:cn})}case Ve.Kind.ENUM_TYPE_DEFINITION:{let cn=(Ht=l.get(ee))!=null?Ht:[],Qr=[G,...cn];return l.delete(ee),new Ve.GraphQLEnumType({name:ee,description:(pa=G.description)==null?void 0:pa.value,values:Pn(Qr),astNode:G,extensionASTNodes:cn})}case Ve.Kind.UNION_TYPE_DEFINITION:{let cn=(Li=u.get(ee))!=null?Li:[],Qr=[G,...cn];return u.delete(ee),new Ve.GraphQLUnionType({name:ee,description:(fa=G.description)==null?void 0:fa.value,types:()=>$n(Qr),astNode:G,extensionASTNodes:cn})}case Ve.Kind.SCALAR_TYPE_DEFINITION:{let cn=(id=i.get(ee))!=null?id:[];return i.delete(ee),new Ve.GraphQLScalarType({name:ee,description:(Do=G.description)==null?void 0:Do.value,specifiedByURL:kM(G),astNode:G,extensionASTNodes:cn})}case Ve.Kind.INPUT_OBJECT_TYPE_DEFINITION:{let cn=(Gr=d.get(ee))!=null?Gr:[],Qr=[G,...cn];return d.delete(ee),new Ve.GraphQLInputObjectType({name:ee,description:(Wi=G.description)==null?void 0:Wi.value,fields:()=>Xr(Qr),astNode:G,extensionASTNodes:cn})}}}}var PM=new Map([...Ve.specifiedScalarTypes,...Ve.introspectionTypes].map(e=>[e.name,e]));function cE(e){let t=(0,Ve.getDirectiveValues)(Ve.GraphQLDeprecatedDirective,e);return t==null?void 0:t.reason}function kM(e){let t=(0,Ve.getDirectiveValues)(Ve.GraphQLSpecifiedByDirective,e);return t==null?void 0:t.url}});var eD=V(Z0=>{"use strict";m();T();h();Object.defineProperty(Z0,"__esModule",{value:!0});Z0.buildASTSchema=o7;var CM=(we(),Me(je)),i7=lp(),s7=xM();function o7(e,t){(t==null?void 0:t.assumeValid)!==!0&&(t==null?void 0:t.assumeValidSDL)!==!0&&(0,i7.assertValidSDL)(e);let n={description:void 0,types:[],directives:[],extensions:Object.create(null),extensionASTNodes:[],assumeValid:!1},r=(0,s7.extendSchemaImpl)(n,e,t);if(r.astNode==null)for(let s of r.types)switch(s.name){case"Query":r.query=s;break;case"Mutation":r.mutation=s;break;case"Subscription":r.subscription=s;break}let i=[...r.directives,...CM.specifiedDirectives.filter(s=>r.directives.every(o=>o.name!==s.name))];return new CM.GraphQLSchema(K(k({},r),{directives:i}))}});var ps=V(Dt=>{"use strict";m();T();h();Object.defineProperty(Dt,"__esModule",{value:!0});Dt.maxOrScopes=void 0;Dt.areSetsEqual=u7;Dt.getAllMutualEntries=c7;Dt.getOrThrowError=l7;Dt.getAllSetDisparities=d7;Dt.getEntriesNotInHashSet=p7;Dt.doSetsIntersect=f7;Dt.subtractSourceSetFromTargetSet=m7;Dt.mapToArrayOfValues=h7;Dt.numberToOrdinal=T7;Dt.addIterableValuesToSet=bl;Dt.addSetsAndReturnMutationBoolean=UM;Dt.kindToTypeString=y7;Dt.kindToConvertedTypeString=N7;Dt.fieldDatasToSimpleFieldDatas=E7;Dt.isNodeLeaf=g7;Dt.newEntityInterfaceFederationData=I7;Dt.upsertEntityInterfaceFederationData=v7;Dt.getValueOrDefault=MM;Dt.newEntityData=BM;Dt.upsertEntityDataProperties=_7;Dt.upsertEntityData=b7;Dt.newFieldAuthorizationData=nD;Dt.resetAuthorizationData=O7;Dt.getAuthorizationDataToUpdate=S7;Dt.newAuthorizationData=D7;Dt.mergeAuthorizationDataByAND=jM;Dt.upsertFieldAuthorizationData=$M;Dt.upsertAuthorizationData=A7;Dt.upsertAuthorizationConfiguration=R7;Dt.setAndGetValue=F7;Dt.generateSimpleDirective=w7;Dt.generateRequiresScopesDirective=L7;Dt.isNodeKindInterface=P7;Dt.addMapEntries=k7;Dt.getSingleSetEntry=x7;Dt.add=C7;var et=(we(),Me(je)),In=bi(),a7=To(),tD=Vi();function u7(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function c7(e,t){let n=new Set;for(let r of e)t.has(r)&&n.add(r);return n}function l7(e,t,n){let r=e.get(t);if(r===void 0)throw(0,a7.invalidKeyFatalError)(t,n);return r}function d7(e,t){let n=new Set(t),r=[];for(let i of e)n.delete(i)||r.push(i);for(let i of n)r.push(i);return r}function p7(e,t){let n=[];for(let r of e)t.has(r)||n.push(r);return n}function f7(e,t){for(let n of e)if(t.has(n))return!0;return!1}function m7(e,t){for(let n of e)t.delete(n)}function h7(e){let t=[];for(let n of e.values())t.push(n);return t}function T7(e){let t=e.toString();switch(t[t.length-1]){case"1":return`${t}st`;case"2":return`${t}nd`;case"3":return`${t}rd`;default:return`${t}th`}}function bl(e,t){for(let n of e)t.add(n)}function UM(e,t){let n=!1;for(let r of e)t.has(r)||(n=!0,t.add(r));return n}function y7(e){switch(e){case et.Kind.BOOLEAN:return In.BOOLEAN_SCALAR;case et.Kind.ENUM:case et.Kind.ENUM_TYPE_DEFINITION:return In.ENUM;case et.Kind.ENUM_TYPE_EXTENSION:return"Enum extension";case et.Kind.ENUM_VALUE_DEFINITION:return In.ENUM_VALUE;case et.Kind.FIELD_DEFINITION:return In.FIELD;case et.Kind.FLOAT:return In.FLOAT_SCALAR;case et.Kind.INPUT_OBJECT_TYPE_DEFINITION:return In.INPUT_OBJECT;case et.Kind.INPUT_OBJECT_TYPE_EXTENSION:return"Input Object extension";case et.Kind.INPUT_VALUE_DEFINITION:return In.INPUT_VALUE;case et.Kind.INT:return In.INT_SCALAR;case et.Kind.INTERFACE_TYPE_DEFINITION:return In.INTERFACE;case et.Kind.INTERFACE_TYPE_EXTENSION:return"Interface extension";case et.Kind.NULL:return In.NULL;case et.Kind.OBJECT:case et.Kind.OBJECT_TYPE_DEFINITION:return In.OBJECT;case et.Kind.OBJECT_TYPE_EXTENSION:return"Object extension";case et.Kind.STRING:return In.STRING_SCALAR;case et.Kind.SCALAR_TYPE_DEFINITION:return In.SCALAR;case et.Kind.SCALAR_TYPE_EXTENSION:return"Scalar extension";case et.Kind.UNION_TYPE_DEFINITION:return In.UNION;case et.Kind.UNION_TYPE_EXTENSION:return"Union extension";default:return e}}function N7(e){switch(e){case et.Kind.BOOLEAN:return In.BOOLEAN_SCALAR;case et.Kind.ENUM:case et.Kind.ENUM_TYPE_DEFINITION:case et.Kind.ENUM_TYPE_EXTENSION:return In.ENUM;case et.Kind.ENUM_VALUE_DEFINITION:return In.ENUM_VALUE;case et.Kind.FIELD_DEFINITION:return In.FIELD;case et.Kind.FLOAT:return In.FLOAT_SCALAR;case et.Kind.INPUT_OBJECT_TYPE_DEFINITION:case et.Kind.INPUT_OBJECT_TYPE_EXTENSION:return In.INPUT_OBJECT;case et.Kind.INPUT_VALUE_DEFINITION:return In.INPUT_VALUE;case et.Kind.INT:return In.INT_SCALAR;case et.Kind.INTERFACE_TYPE_DEFINITION:case et.Kind.INTERFACE_TYPE_EXTENSION:return In.INTERFACE;case et.Kind.NULL:return In.NULL;case et.Kind.OBJECT:case et.Kind.OBJECT_TYPE_DEFINITION:case et.Kind.OBJECT_TYPE_EXTENSION:return In.OBJECT;case et.Kind.STRING:return In.STRING_SCALAR;case et.Kind.SCALAR_TYPE_DEFINITION:case et.Kind.SCALAR_TYPE_EXTENSION:return In.SCALAR;case et.Kind.UNION_TYPE_DEFINITION:case et.Kind.UNION_TYPE_EXTENSION:return In.UNION;default:return e}}function E7(e){let t=[];for(let{name:n,namedTypeName:r}of e)t.push({name:n,namedTypeName:r});return t}function g7(e){if(!e)return!0;switch(e){case et.Kind.OBJECT_TYPE_DEFINITION:case et.Kind.INTERFACE_TYPE_DEFINITION:case et.Kind.UNION_TYPE_DEFINITION:return!1;default:return!0}}function I7(e,t){return k({fieldDatasBySubgraphName:new Map().set(t,e.fieldDatas),interfaceFieldNames:new Set(e.interfaceFieldNames),interfaceObjectFieldNames:new Set(e.interfaceObjectFieldNames),interfaceObjectSubgraphs:new Set(e.isInterfaceObject?[t]:[]),typeName:e.typeName},e.isInterfaceObject?{}:{concreteTypeNames:new Set(e.concreteTypeNames)})}function v7(e,t,n){return e.fieldDatasBySubgraphName.set(n,t.fieldDatas),bl(t.interfaceFieldNames,e.interfaceFieldNames),bl(t.interfaceObjectFieldNames,e.interfaceObjectFieldNames),t.isInterfaceObject?(e.interfaceObjectSubgraphs.add(n),!1):e.concreteTypeNames?UM(t.concreteTypeNames||new Set,e.concreteTypeNames):(e.concreteTypeNames=new Set(t.concreteTypeNames),!1)}function MM(e,t,n){let r=e.get(t);if(r)return r;let i=n();return e.set(t,i),i}function BM(e){return{fieldNames:new Set(e.fieldNames),keyFieldSets:new Set(e.keyFieldSets),subgraphNames:new Set(e.subgraphNames),typeName:e.typeName}}function VM(e,t){bl(e.fieldNames||[],t.fieldNames),bl(e.keyFieldSets||[],t.keyFieldSets),bl(e.subgraphNames||[],t.subgraphNames)}function _7(e,t){let n=e.get(t.typeName);n?VM(t,n):e.set(t.typeName,BM(t))}function b7(e,t){let n=e.get(t.typeName);n?VM(t,n):e.set(t.typeName,t)}function nD(e){return{fieldName:e,requiresAuthentication:!1,requiredScopes:[]}}function O7(e){e&&(e.requiresAuthentication=!1,e.requiredScopes=[],e.hasParentLevelAuthorization=!1)}function S7(e,t,n){return t.kind===et.Kind.FIELD_DEFINITION?MM(e.fieldAuthorizationDataByFieldName,n,()=>nD(n)):(e.hasParentLevelAuthorization=!0,e)}function D7(e){return{fieldAuthorizationDataByFieldName:new Map,hasParentLevelAuthorization:!1,requiresAuthentication:!1,requiredScopes:[],typeName:e}}Dt.maxOrScopes=16;function jM(e,t){t.requiresAuthentication||(t.requiresAuthentication=e.requiresAuthentication);let n=e.requiredScopes.length;if(n<1)return!0;let r=t.requiredScopes.length;if(r<1){if(n>Dt.maxOrScopes)return!1;for(let s of e.requiredScopes)t.requiredScopes.push(new Set(s));return!0}if(n*r>Dt.maxOrScopes)return!1;let i=[];for(let s of t.requiredScopes)for(let o of e.requiredScopes){let u=new Set(s);bl(o,u),i.push(u)}return t.requiredScopes=i,!0}function $M(e,t){let n=t.fieldName,r=e.get(n);if(!r){if(t.requiredScopes.length>Dt.maxOrScopes)return!1;let i=nD(n);i.requiresAuthentication||(i.requiresAuthentication=t.requiresAuthentication);for(let s of t.requiredScopes)i.requiredScopes.push(new Set(s));return e.set(n,i),!0}return r.requiresAuthentication||(r.requiresAuthentication=t.requiresAuthentication),jM(t,r)}function A7(e,t,n){let r=e.get(t.typeName);if(!r){e.set(t.typeName,t);return}for(let[i,s]of t.fieldAuthorizationDataByFieldName)$M(r.fieldAuthorizationDataByFieldName,s)||n.add(`${t.typeName}.${i}`)}function R7(e,t){let n=t.typeName;for(let[r,i]of t.fieldAuthorizationDataByFieldName){let s=`${n}.${r}`,o=e.get(s);o?(o.requiresAuthentication=i.requiresAuthentication,o.requiredScopes=i.requiredScopes.map(u=>[...u])):e.set(s,{argumentNames:[],typeName:n,fieldName:r,requiresAuthentication:i.requiresAuthentication,requiredScopes:i.requiredScopes.map(u=>[...u])})}}function F7(e,t,n){return e.set(t,n),n}function w7(e){return{kind:et.Kind.DIRECTIVE,name:(0,tD.stringToNameNode)(e)}}function L7(e){let t=[];for(let n of e){let r=[];for(let i of n)r.push({kind:et.Kind.STRING,value:i});t.push({kind:et.Kind.LIST,values:r})}return{kind:et.Kind.DIRECTIVE,name:(0,tD.stringToNameNode)(In.REQUIRES_SCOPES),arguments:[{kind:et.Kind.ARGUMENT,name:(0,tD.stringToNameNode)(In.SCOPES),value:{kind:et.Kind.LIST,values:t}}]}}function P7(e){return e===et.Kind.INTERFACE_TYPE_DEFINITION||e===et.Kind.INTERFACE_TYPE_EXTENSION}function k7(e,t){for(let[n,r]of e)t.set(n,r)}function x7(e){for(let t of e)return t}function C7(e,t){return e.has(t)?!1:(e.add(t),!0)}});var bh=V(fp=>{"use strict";m();T();h();Object.defineProperty(fp,"__esModule",{value:!0});fp.MAX_SUBSCRIPTION_FILTER_DEPTH=fp.MAXIMUM_TYPE_NESTING=void 0;fp.MAXIMUM_TYPE_NESTING=30;fp.MAX_SUBSCRIPTION_FILTER_DEPTH=5});var To=V(Z=>{"use strict";m();T();h();Object.defineProperty(Z,"__esModule",{value:!0});Z.invalidEventProviderIdErrorMessage=Z.invalidNatsStreamConfigurationDefinitionErrorMessage=Z.undefinedNatsStreamConfigurationInputErrorMessage=Z.invalidEdfsPublishResultObjectErrorMessage=Z.invalidNatsStreamInputErrorMessage=Z.inlineFragmentInFieldSetErrorMessage=Z.inaccessibleQueryRootTypeError=Z.noQueryRootTypeError=Z.federationFactoryInitializationFatalError=Z.subgraphValidationFailureError=Z.minimumSubgraphRequirementError=void 0;Z.multipleNamedTypeDefinitionError=B7;Z.incompatibleExtensionError=V7;Z.incompatibleArgumentTypesError=j7;Z.incompatibleInputValueDefaultValueTypeError=$7;Z.incompatibleChildTypesError=q7;Z.incompatibleInputValueDefaultValuesError=K7;Z.incompatibleSharedEnumError=G7;Z.incompatibleExtensionKindsError=Q7;Z.invalidSubgraphNamesError=Y7;Z.duplicateDirectiveDefinitionError=J7;Z.duplicateEnumValueDefinitionError=z7;Z.duplicateFieldDefinitionError=H7;Z.duplicateInputFieldDefinitionError=W7;Z.duplicateImplementedInterfaceError=X7;Z.duplicateUnionMemberDefinitionError=Z7;Z.duplicateTypeDefinitionError=eZ;Z.duplicateOperationTypeDefinitionError=tZ;Z.noBaseDefinitionForExtensionError=nZ;Z.noBaseScalarDefinitionError=rZ;Z.noDefinedUnionMembersError=iZ;Z.noDefinedEnumValuesError=sZ;Z.operationDefinitionError=oZ;Z.invalidFieldShareabilityError=aZ;Z.undefinedDirectiveErrorMessage=uZ;Z.undefinedTypeError=cZ;Z.invalidRepeatedDirectiveErrorMessage=lZ;Z.invalidRepeatedFederatedDirectiveErrorMessage=dZ;Z.invalidDirectiveError=pZ;Z.invalidDirectiveLocationErrorMessage=fZ;Z.unexpectedDirectiveArgumentsErrorMessage=mZ;Z.undefinedRequiredArgumentsErrorMessage=hZ;Z.unexpectedDirectiveArgumentErrorMessage=TZ;Z.duplicateDirectiveArgumentDefinitionsErrorMessage=yZ;Z.invalidDirectiveArgumentTypeErrorMessage=NZ;Z.invalidKeyDirectiveArgumentErrorMessage=EZ;Z.invalidKeyDirectivesError=gZ;Z.maximumTypeNestingExceededError=IZ;Z.unexpectedKindFatalError=vZ;Z.incompatibleParentKindFatalError=_Z;Z.unexpectedEdgeFatalError=bZ;Z.incompatibleParentKindMergeError=OZ;Z.fieldTypeMergeFatalError=SZ;Z.unexpectedDirectiveLocationError=DZ;Z.unexpectedTypeNodeKindFatalError=AZ;Z.invalidKeyFatalError=RZ;Z.invalidConfigurationResultFatalError=FZ;Z.unexpectedParentKindErrorMessage=wZ;Z.unexpectedParentKindForChildError=LZ;Z.subgraphValidationError=PZ;Z.invalidSubgraphNameErrorMessage=kZ;Z.invalidOperationTypeDefinitionError=xZ;Z.invalidRootTypeDefinitionError=CZ;Z.subgraphInvalidSyntaxError=UZ;Z.invalidInterfaceImplementationError=MZ;Z.invalidRequiredInputValueError=BZ;Z.duplicateArgumentsError=VZ;Z.invalidArgumentsError=jZ;Z.expectedEntityError=$Z;Z.abstractTypeInKeyFieldSetErrorMessage=qZ;Z.unknownTypeInFieldSetErrorMessage=KZ;Z.invalidSelectionSetErrorMessage=GZ;Z.invalidSelectionSetDefinitionErrorMessage=QZ;Z.undefinedFieldInFieldSetErrorMessage=YZ;Z.unparsableFieldSetErrorMessage=JZ;Z.unparsableFieldSetSelectionErrorMessage=zZ;Z.undefinedObjectLikeParentError=HZ;Z.unexpectedArgumentErrorMessage=WZ;Z.argumentsInKeyFieldSetErrorMessage=XZ;Z.invalidProvidesOrRequiresDirectivesError=ZZ;Z.duplicateFieldInFieldSetErrorMessage=eee;Z.invalidConfigurationDataErrorMessage=tee;Z.incompatibleTypeWithProvidesErrorMessage=nee;Z.invalidInlineFragmentTypeErrorMessage=ree;Z.inlineFragmentWithoutTypeConditionErrorMessage=iee;Z.unknownInlineFragmentTypeConditionErrorMessage=see;Z.invalidInlineFragmentTypeConditionTypeErrorMessage=oee;Z.invalidInlineFragmentTypeConditionErrorMessage=aee;Z.invalidSelectionOnUnionErrorMessage=uee;Z.duplicateOverriddenFieldErrorMessage=cee;Z.duplicateOverriddenFieldsError=lee;Z.noFieldDefinitionsError=dee;Z.noInputValueDefinitionsError=pee;Z.allChildDefinitionsAreInaccessibleError=fee;Z.equivalentSourceAndTargetOverrideErrorMessage=mee;Z.undefinedEntityInterfaceImplementationsError=hee;Z.orScopesLimitError=Tee;Z.invalidEventDrivenGraphError=yee;Z.invalidRootTypeFieldEventsDirectivesErrorMessage=Nee;Z.invalidEventDrivenMutationResponseTypeErrorMessage=Eee;Z.invalidRootTypeFieldResponseTypesEventDrivenErrorMessage=gee;Z.invalidNatsStreamInputFieldsErrorMessage=Iee;Z.invalidKeyFieldSetsEventDrivenErrorMessage=vee;Z.nonExternalKeyFieldNamesEventDrivenErrorMessage=_ee;Z.nonKeyFieldNamesEventDrivenErrorMessage=bee;Z.nonEntityObjectExtensionsEventDrivenErrorMessage=Oee;Z.nonKeyComposingObjectTypeNamesEventDrivenErrorMessage=See;Z.invalidEdfsDirectiveName=Dee;Z.invalidImplementedTypeError=Aee;Z.selfImplementationError=Ree;Z.invalidEventSubjectErrorMessage=Fee;Z.invalidEventSubjectsErrorMessage=wee;Z.invalidEventSubjectsItemErrorMessage=Lee;Z.invalidEventDirectiveError=Pee;Z.invalidReferencesOfInaccessibleTypeError=kee;Z.inaccessibleRequiredArgumentError=xee;Z.invalidUnionMemberTypeError=Cee;Z.invalidRootTypeError=Uee;Z.invalidSubscriptionFilterLocationError=Mee;Z.invalidSubscriptionFilterDirectiveError=Bee;Z.subscriptionFilterNamedTypeErrorMessage=Vee;Z.subscriptionFilterConditionDepthExceededErrorMessage=jee;Z.subscriptionFilterConditionInvalidInputFieldNumberErrorMessage=$ee;Z.subscriptionFilterConditionInvalidInputFieldErrorMessage=qee;Z.subscriptionFilterConditionInvalidInputFieldTypeErrorMessage=Kee;Z.subscriptionFilterArrayConditionInvalidItemTypeErrorMessage=Gee;Z.subscriptionFilterArrayConditionInvalidLengthErrorMessage=Qee;Z.invalidInputFieldTypeErrorMessage=Yee;Z.subscriptionFieldConditionInvalidInputFieldErrorMessage=Jee;Z.subscriptionFieldConditionInvalidValuesArrayErrorMessage=zee;Z.subscriptionFieldConditionEmptyValuesArrayErrorMessage=Hee;Z.unknownFieldSubgraphNameError=Wee;Z.invalidSubscriptionFieldConditionFieldPathErrorMessage=Xee;Z.invalidSubscriptionFieldConditionFieldPathParentErrorMessage=Zee;Z.undefinedSubscriptionFieldConditionFieldPathFieldErrorMessage=ete;Z.invalidSubscriptionFieldConditionFieldPathFieldErrorMessage=tte;Z.inaccessibleSubscriptionFieldConditionFieldPathFieldErrorMessage=nte;Z.nonLeafSubscriptionFieldConditionFieldPathFinalFieldErrorMessage=rte;Z.unresolvablePathError=ite;Z.allExternalFieldInstancesError=ste;Z.externalInterfaceFieldsError=ote;Z.nonExternalConditionalFieldError=ate;Z.incompatibleFederatedFieldNamedTypeError=ute;Z.unknownNamedTypeErrorMessage=YM;Z.unknownNamedTypeError=cte;Z.unknownFieldDataError=lte;Z.unexpectedNonCompositeOutputTypeError=dte;Z.unimplementedInterfaceOutputTypeError=pte;var U7=Vi(),M7=(we(),Me(je)),Oh=ps(),Et=bi(),qM=bh();Z.minimumSubgraphRequirementError=new Error("At least one subgraph is required for federation.");function B7(e,t,n){return new Error(`The named type "${e}" is defined as both types "${t}" and "${n}". +`))}});var UM=V(mp=>{"use strict";m();T();h();Object.defineProperty(mp,"__esModule",{value:!0});mp.AccumulatorMap=void 0;mp.mapValue=fp;mp.extendSchemaImpl=r7;var Ve=(we(),Me(je)),ja=class extends Map{get[Symbol.toStringTag](){return"AccumulatorMap"}add(t,n){let r=this.get(t);r===void 0?this.set(t,[n]):r.push(n)}};mp.AccumulatorMap=ja;function fp(e,t){let n=Object.create(null);for(let r of Object.keys(e))n[r]=t(e[r],r);return n}function r7(e,t,n){var ae,te,ce,Ke;let r=[],i=new ja,s=new ja,o=new ja,u=new ja,l=new ja,d=new ja,p=[],y,N=[],I=!1;for(let G of t.definitions){switch(G.kind){case Ve.Kind.SCHEMA_DEFINITION:y=G;break;case Ve.Kind.SCHEMA_EXTENSION:N.push(G);break;case Ve.Kind.DIRECTIVE_DEFINITION:p.push(G);break;case Ve.Kind.SCALAR_TYPE_DEFINITION:case Ve.Kind.OBJECT_TYPE_DEFINITION:case Ve.Kind.INTERFACE_TYPE_DEFINITION:case Ve.Kind.UNION_TYPE_DEFINITION:case Ve.Kind.ENUM_TYPE_DEFINITION:case Ve.Kind.INPUT_OBJECT_TYPE_DEFINITION:r.push(G);break;case Ve.Kind.SCALAR_TYPE_EXTENSION:i.add(G.name.value,G);break;case Ve.Kind.OBJECT_TYPE_EXTENSION:s.add(G.name.value,G);break;case Ve.Kind.INTERFACE_TYPE_EXTENSION:o.add(G.name.value,G);break;case Ve.Kind.UNION_TYPE_EXTENSION:u.add(G.name.value,G);break;case Ve.Kind.ENUM_TYPE_EXTENSION:l.add(G.name.value,G);break;case Ve.Kind.INPUT_OBJECT_TYPE_EXTENSION:d.add(G.name.value,G);break;default:continue}I=!0}if(!I)return e;let O=new Map;for(let G of e.types){let ee=se(G);ee&&O.set(G.name,ee)}for(let G of r){let ee=G.name.value;O.set(ee,(ae=xM.get(ee))!=null?ae:U(G))}for(let[G,ee]of s)O.set(G,new Ve.GraphQLObjectType({name:G,interfaces:()=>on(ee),fields:()=>bn(ee),extensionASTNodes:ee}));if(n!=null&&n.addInvalidExtensionOrphans){for(let[G,ee]of o)O.set(G,new Ve.GraphQLInterfaceType({name:G,interfaces:()=>on(ee),fields:()=>bn(ee),extensionASTNodes:ee}));for(let[G,ee]of l)O.set(G,new Ve.GraphQLEnumType({name:G,values:Pn(ee),extensionASTNodes:ee}));for(let[G,ee]of u)O.set(G,new Ve.GraphQLUnionType({name:G,types:()=>$n(ee),extensionASTNodes:ee}));for(let[G,ee]of i)O.set(G,new Ve.GraphQLScalarType({name:G,extensionASTNodes:ee}));for(let[G,ee]of d)O.set(G,new Ve.GraphQLInputObjectType({name:G,fields:()=>Xr(ee),extensionASTNodes:ee}))}let x=k(k({query:e.query&&Q(e.query),mutation:e.mutation&&Q(e.mutation),subscription:e.subscription&&Q(e.subscription)},y&&Ct([y])),Ct(N));return K(k({description:(ce=(te=y==null?void 0:y.description)==null?void 0:te.value)!=null?ce:e.description},x),{types:Array.from(O.values()),directives:[...e.directives.map(re),...p.map(_n)],extensions:e.extensions,astNode:y!=null?y:e.astNode,extensionASTNodes:e.extensionASTNodes.concat(N),assumeValid:(Ke=n==null?void 0:n.assumeValid)!=null?Ke:!1});function j(G){return(0,Ve.isListType)(G)?new Ve.GraphQLList(j(G.ofType)):(0,Ve.isNonNullType)(G)?new Ve.GraphQLNonNull(j(G.ofType)):Q(G)}function Q(G){return O.get(G.name)}function re(G){if((0,Ve.isSpecifiedDirective)(G))return G;let ee=G.toConfig();return new Ve.GraphQLDirective(K(k({},ee),{args:fp(ee.args,nt)}))}function se(G){if((0,Ve.isIntrospectionType)(G)||(0,Ve.isSpecifiedScalarType)(G))return G;if((0,Ve.isScalarType)(G))return Ce(G);if((0,Ve.isObjectType)(G))return ht(G);if((0,Ve.isInterfaceType)(G))return xt(G);if((0,Ve.isUnionType)(G))return B(G);if((0,Ve.isEnumType)(G))return ye(G);if((0,Ve.isInputObjectType)(G))return pe(G)}function pe(G){var Xe;let ee=G.toConfig(),Ue=(Xe=d.get(ee.name))!=null?Xe:[];return new Ve.GraphQLInputObjectType(K(k({},ee),{fields:()=>k(k({},fp(ee.fields,$t=>K(k({},$t),{type:j($t.type)}))),Xr(Ue)),extensionASTNodes:ee.extensionASTNodes.concat(Ue)}))}function ye(G){var Xe;let ee=G.toConfig(),Ue=(Xe=l.get(G.name))!=null?Xe:[];return new Ve.GraphQLEnumType(K(k({},ee),{values:k(k({},ee.values),Pn(Ue)),extensionASTNodes:ee.extensionASTNodes.concat(Ue)}))}function Ce(G){var $t,Je;let ee=G.toConfig(),Ue=($t=i.get(ee.name))!=null?$t:[],Xe=ee.specifiedByURL;for(let Ht of Ue)Xe=(Je=CM(Ht))!=null?Je:Xe;return new Ve.GraphQLScalarType(K(k({},ee),{specifiedByURL:Xe,extensionASTNodes:ee.extensionASTNodes.concat(Ue)}))}function ht(G){var Xe;let ee=G.toConfig(),Ue=(Xe=s.get(ee.name))!=null?Xe:[];return new Ve.GraphQLObjectType(K(k({},ee),{interfaces:()=>[...G.getInterfaces().map(Q),...on(Ue)],fields:()=>k(k({},fp(ee.fields,he)),bn(Ue)),extensionASTNodes:ee.extensionASTNodes.concat(Ue)}))}function xt(G){var Xe;let ee=G.toConfig(),Ue=(Xe=o.get(ee.name))!=null?Xe:[];return new Ve.GraphQLInterfaceType(K(k({},ee),{interfaces:()=>[...G.getInterfaces().map(Q),...on(Ue)],fields:()=>k(k({},fp(ee.fields,he)),bn(Ue)),extensionASTNodes:ee.extensionASTNodes.concat(Ue)}))}function B(G){var Xe;let ee=G.toConfig(),Ue=(Xe=u.get(ee.name))!=null?Xe:[];return new Ve.GraphQLUnionType(K(k({},ee),{types:()=>[...G.getTypes().map(Q),...$n(Ue)],extensionASTNodes:ee.extensionASTNodes.concat(Ue)}))}function he(G){return K(k({},G),{type:j(G.type),args:G.args&&fp(G.args,nt)})}function nt(G){return K(k({},G),{type:j(G.type)})}function Ct(G){var Ue;let ee={};for(let Xe of G){let $t=(Ue=Xe.operationTypes)!=null?Ue:[];for(let Je of $t)ee[Je.operation]=sn(Je.type)}return ee}function sn(G){var Xe;let ee=G.name.value,Ue=(Xe=xM.get(ee))!=null?Xe:O.get(ee);if(Ue===void 0)throw new Error(`Unknown type: "${ee}".`);return Ue}function Fn(G){return G.kind===Ve.Kind.LIST_TYPE?new Ve.GraphQLList(Fn(G.type)):G.kind===Ve.Kind.NON_NULL_TYPE?new Ve.GraphQLNonNull(Fn(G.type)):sn(G)}function _n(G){var ee;return new Ve.GraphQLDirective({name:G.name.value,description:(ee=G.description)==null?void 0:ee.value,locations:G.locations.map(({value:Ue})=>Ue),isRepeatable:G.repeatable,args:mi(G.arguments),astNode:G})}function bn(G){var Ue,Xe;let ee=Object.create(null);for(let $t of G){let Je=(Ue=$t.fields)!=null?Ue:[];for(let Ht of Je)ee[Ht.name.value]={type:Fn(Ht.type),description:(Xe=Ht.description)==null?void 0:Xe.value,args:mi(Ht.arguments),deprecationReason:lE(Ht),astNode:Ht}}return ee}function mi(G){var Xe;let ee=G!=null?G:[],Ue=Object.create(null);for(let $t of ee){let Je=Fn($t.type);Ue[$t.name.value]={type:Je,description:(Xe=$t.description)==null?void 0:Xe.value,defaultValue:(0,Ve.valueFromAST)($t.defaultValue,Je),deprecationReason:lE($t),astNode:$t}}return Ue}function Xr(G){var Ue,Xe;let ee=Object.create(null);for(let $t of G){let Je=(Ue=$t.fields)!=null?Ue:[];for(let Ht of Je){let pa=Fn(Ht.type);ee[Ht.name.value]={type:pa,description:(Xe=Ht.description)==null?void 0:Xe.value,defaultValue:(0,Ve.valueFromAST)(Ht.defaultValue,pa),deprecationReason:lE(Ht),astNode:Ht}}}return ee}function Pn(G){var Ue,Xe;let ee=Object.create(null);for(let $t of G){let Je=(Ue=$t.values)!=null?Ue:[];for(let Ht of Je)ee[Ht.name.value]={description:(Xe=Ht.description)==null?void 0:Xe.value,deprecationReason:lE(Ht),astNode:Ht}}return ee}function on(G){return G.flatMap(ee=>{var Ue,Xe;return(Xe=(Ue=ee.interfaces)==null?void 0:Ue.map(sn))!=null?Xe:[]})}function $n(G){return G.flatMap(ee=>{var Ue,Xe;return(Xe=(Ue=ee.types)==null?void 0:Ue.map(sn))!=null?Xe:[]})}function U(G){var Ue,Xe,$t,Je,Ht,pa,Li,fa,od,Do,Gr,Wi;let ee=G.name.value;switch(G.kind){case Ve.Kind.OBJECT_TYPE_DEFINITION:{let cn=(Ue=s.get(ee))!=null?Ue:[],Qr=[G,...cn];return s.delete(ee),new Ve.GraphQLObjectType({name:ee,description:(Xe=G.description)==null?void 0:Xe.value,interfaces:()=>on(Qr),fields:()=>bn(Qr),astNode:G,extensionASTNodes:cn})}case Ve.Kind.INTERFACE_TYPE_DEFINITION:{let cn=($t=o.get(ee))!=null?$t:[],Qr=[G,...cn];return o.delete(ee),new Ve.GraphQLInterfaceType({name:ee,description:(Je=G.description)==null?void 0:Je.value,interfaces:()=>on(Qr),fields:()=>bn(Qr),astNode:G,extensionASTNodes:cn})}case Ve.Kind.ENUM_TYPE_DEFINITION:{let cn=(Ht=l.get(ee))!=null?Ht:[],Qr=[G,...cn];return l.delete(ee),new Ve.GraphQLEnumType({name:ee,description:(pa=G.description)==null?void 0:pa.value,values:Pn(Qr),astNode:G,extensionASTNodes:cn})}case Ve.Kind.UNION_TYPE_DEFINITION:{let cn=(Li=u.get(ee))!=null?Li:[],Qr=[G,...cn];return u.delete(ee),new Ve.GraphQLUnionType({name:ee,description:(fa=G.description)==null?void 0:fa.value,types:()=>$n(Qr),astNode:G,extensionASTNodes:cn})}case Ve.Kind.SCALAR_TYPE_DEFINITION:{let cn=(od=i.get(ee))!=null?od:[];return i.delete(ee),new Ve.GraphQLScalarType({name:ee,description:(Do=G.description)==null?void 0:Do.value,specifiedByURL:CM(G),astNode:G,extensionASTNodes:cn})}case Ve.Kind.INPUT_OBJECT_TYPE_DEFINITION:{let cn=(Gr=d.get(ee))!=null?Gr:[],Qr=[G,...cn];return d.delete(ee),new Ve.GraphQLInputObjectType({name:ee,description:(Wi=G.description)==null?void 0:Wi.value,fields:()=>Xr(Qr),astNode:G,extensionASTNodes:cn})}}}}var xM=new Map([...Ve.specifiedScalarTypes,...Ve.introspectionTypes].map(e=>[e.name,e]));function lE(e){let t=(0,Ve.getDirectiveValues)(Ve.GraphQLDeprecatedDirective,e);return t==null?void 0:t.reason}function CM(e){let t=(0,Ve.getDirectiveValues)(Ve.GraphQLSpecifiedByDirective,e);return t==null?void 0:t.url}});var eD=V(Z0=>{"use strict";m();T();h();Object.defineProperty(Z0,"__esModule",{value:!0});Z0.buildASTSchema=o7;var MM=(we(),Me(je)),i7=pp(),s7=UM();function o7(e,t){(t==null?void 0:t.assumeValid)!==!0&&(t==null?void 0:t.assumeValidSDL)!==!0&&(0,i7.assertValidSDL)(e);let n={description:void 0,types:[],directives:[],extensions:Object.create(null),extensionASTNodes:[],assumeValid:!1},r=(0,s7.extendSchemaImpl)(n,e,t);if(r.astNode==null)for(let s of r.types)switch(s.name){case"Query":r.query=s;break;case"Mutation":r.mutation=s;break;case"Subscription":r.subscription=s;break}let i=[...r.directives,...MM.specifiedDirectives.filter(s=>r.directives.every(o=>o.name!==s.name))];return new MM.GraphQLSchema(K(k({},r),{directives:i}))}});var ps=V(Dt=>{"use strict";m();T();h();Object.defineProperty(Dt,"__esModule",{value:!0});Dt.maxOrScopes=void 0;Dt.areSetsEqual=u7;Dt.getAllMutualEntries=c7;Dt.getOrThrowError=l7;Dt.getAllSetDisparities=d7;Dt.getEntriesNotInHashSet=p7;Dt.doSetsIntersect=f7;Dt.subtractSourceSetFromTargetSet=m7;Dt.mapToArrayOfValues=h7;Dt.numberToOrdinal=T7;Dt.addIterableValuesToSet=Sl;Dt.addSetsAndReturnMutationBoolean=BM;Dt.kindToTypeString=y7;Dt.kindToConvertedTypeString=N7;Dt.fieldDatasToSimpleFieldDatas=E7;Dt.isNodeLeaf=g7;Dt.newEntityInterfaceFederationData=I7;Dt.upsertEntityInterfaceFederationData=v7;Dt.getValueOrDefault=VM;Dt.newEntityData=jM;Dt.upsertEntityDataProperties=_7;Dt.upsertEntityData=b7;Dt.newFieldAuthorizationData=nD;Dt.resetAuthorizationData=O7;Dt.getAuthorizationDataToUpdate=S7;Dt.newAuthorizationData=D7;Dt.mergeAuthorizationDataByAND=qM;Dt.upsertFieldAuthorizationData=KM;Dt.upsertAuthorizationData=A7;Dt.upsertAuthorizationConfiguration=R7;Dt.setAndGetValue=F7;Dt.generateSimpleDirective=w7;Dt.generateRequiresScopesDirective=L7;Dt.isNodeKindInterface=P7;Dt.addMapEntries=k7;Dt.getSingleSetEntry=x7;Dt.add=C7;var et=(we(),Me(je)),In=bi(),a7=To(),tD=Vi();function u7(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function c7(e,t){let n=new Set;for(let r of e)t.has(r)&&n.add(r);return n}function l7(e,t,n){let r=e.get(t);if(r===void 0)throw(0,a7.invalidKeyFatalError)(t,n);return r}function d7(e,t){let n=new Set(t),r=[];for(let i of e)n.delete(i)||r.push(i);for(let i of n)r.push(i);return r}function p7(e,t){let n=[];for(let r of e)t.has(r)||n.push(r);return n}function f7(e,t){for(let n of e)if(t.has(n))return!0;return!1}function m7(e,t){for(let n of e)t.delete(n)}function h7(e){let t=[];for(let n of e.values())t.push(n);return t}function T7(e){let t=e.toString();switch(t[t.length-1]){case"1":return`${t}st`;case"2":return`${t}nd`;case"3":return`${t}rd`;default:return`${t}th`}}function Sl(e,t){for(let n of e)t.add(n)}function BM(e,t){let n=!1;for(let r of e)t.has(r)||(n=!0,t.add(r));return n}function y7(e){switch(e){case et.Kind.BOOLEAN:return In.BOOLEAN_SCALAR;case et.Kind.ENUM:case et.Kind.ENUM_TYPE_DEFINITION:return In.ENUM;case et.Kind.ENUM_TYPE_EXTENSION:return"Enum extension";case et.Kind.ENUM_VALUE_DEFINITION:return In.ENUM_VALUE;case et.Kind.FIELD_DEFINITION:return In.FIELD;case et.Kind.FLOAT:return In.FLOAT_SCALAR;case et.Kind.INPUT_OBJECT_TYPE_DEFINITION:return In.INPUT_OBJECT;case et.Kind.INPUT_OBJECT_TYPE_EXTENSION:return"Input Object extension";case et.Kind.INPUT_VALUE_DEFINITION:return In.INPUT_VALUE;case et.Kind.INT:return In.INT_SCALAR;case et.Kind.INTERFACE_TYPE_DEFINITION:return In.INTERFACE;case et.Kind.INTERFACE_TYPE_EXTENSION:return"Interface extension";case et.Kind.NULL:return In.NULL;case et.Kind.OBJECT:case et.Kind.OBJECT_TYPE_DEFINITION:return In.OBJECT;case et.Kind.OBJECT_TYPE_EXTENSION:return"Object extension";case et.Kind.STRING:return In.STRING_SCALAR;case et.Kind.SCALAR_TYPE_DEFINITION:return In.SCALAR;case et.Kind.SCALAR_TYPE_EXTENSION:return"Scalar extension";case et.Kind.UNION_TYPE_DEFINITION:return In.UNION;case et.Kind.UNION_TYPE_EXTENSION:return"Union extension";default:return e}}function N7(e){switch(e){case et.Kind.BOOLEAN:return In.BOOLEAN_SCALAR;case et.Kind.ENUM:case et.Kind.ENUM_TYPE_DEFINITION:case et.Kind.ENUM_TYPE_EXTENSION:return In.ENUM;case et.Kind.ENUM_VALUE_DEFINITION:return In.ENUM_VALUE;case et.Kind.FIELD_DEFINITION:return In.FIELD;case et.Kind.FLOAT:return In.FLOAT_SCALAR;case et.Kind.INPUT_OBJECT_TYPE_DEFINITION:case et.Kind.INPUT_OBJECT_TYPE_EXTENSION:return In.INPUT_OBJECT;case et.Kind.INPUT_VALUE_DEFINITION:return In.INPUT_VALUE;case et.Kind.INT:return In.INT_SCALAR;case et.Kind.INTERFACE_TYPE_DEFINITION:case et.Kind.INTERFACE_TYPE_EXTENSION:return In.INTERFACE;case et.Kind.NULL:return In.NULL;case et.Kind.OBJECT:case et.Kind.OBJECT_TYPE_DEFINITION:case et.Kind.OBJECT_TYPE_EXTENSION:return In.OBJECT;case et.Kind.STRING:return In.STRING_SCALAR;case et.Kind.SCALAR_TYPE_DEFINITION:case et.Kind.SCALAR_TYPE_EXTENSION:return In.SCALAR;case et.Kind.UNION_TYPE_DEFINITION:case et.Kind.UNION_TYPE_EXTENSION:return In.UNION;default:return e}}function E7(e){let t=[];for(let{name:n,namedTypeName:r}of e)t.push({name:n,namedTypeName:r});return t}function g7(e){if(!e)return!0;switch(e){case et.Kind.OBJECT_TYPE_DEFINITION:case et.Kind.INTERFACE_TYPE_DEFINITION:case et.Kind.UNION_TYPE_DEFINITION:return!1;default:return!0}}function I7(e,t){return k({fieldDatasBySubgraphName:new Map().set(t,e.fieldDatas),interfaceFieldNames:new Set(e.interfaceFieldNames),interfaceObjectFieldNames:new Set(e.interfaceObjectFieldNames),interfaceObjectSubgraphs:new Set(e.isInterfaceObject?[t]:[]),typeName:e.typeName},e.isInterfaceObject?{}:{concreteTypeNames:new Set(e.concreteTypeNames)})}function v7(e,t,n){return e.fieldDatasBySubgraphName.set(n,t.fieldDatas),Sl(t.interfaceFieldNames,e.interfaceFieldNames),Sl(t.interfaceObjectFieldNames,e.interfaceObjectFieldNames),t.isInterfaceObject?(e.interfaceObjectSubgraphs.add(n),!1):e.concreteTypeNames?BM(t.concreteTypeNames||new Set,e.concreteTypeNames):(e.concreteTypeNames=new Set(t.concreteTypeNames),!1)}function VM(e,t,n){let r=e.get(t);if(r)return r;let i=n();return e.set(t,i),i}function jM(e){return{fieldNames:new Set(e.fieldNames),keyFieldSets:new Set(e.keyFieldSets),subgraphNames:new Set(e.subgraphNames),typeName:e.typeName}}function $M(e,t){Sl(e.fieldNames||[],t.fieldNames),Sl(e.keyFieldSets||[],t.keyFieldSets),Sl(e.subgraphNames||[],t.subgraphNames)}function _7(e,t){let n=e.get(t.typeName);n?$M(t,n):e.set(t.typeName,jM(t))}function b7(e,t){let n=e.get(t.typeName);n?$M(t,n):e.set(t.typeName,t)}function nD(e){return{fieldName:e,requiresAuthentication:!1,requiredScopes:[]}}function O7(e){e&&(e.requiresAuthentication=!1,e.requiredScopes=[],e.hasParentLevelAuthorization=!1)}function S7(e,t,n){return t.kind===et.Kind.FIELD_DEFINITION?VM(e.fieldAuthorizationDataByFieldName,n,()=>nD(n)):(e.hasParentLevelAuthorization=!0,e)}function D7(e){return{fieldAuthorizationDataByFieldName:new Map,hasParentLevelAuthorization:!1,requiresAuthentication:!1,requiredScopes:[],typeName:e}}Dt.maxOrScopes=16;function qM(e,t){t.requiresAuthentication||(t.requiresAuthentication=e.requiresAuthentication);let n=e.requiredScopes.length;if(n<1)return!0;let r=t.requiredScopes.length;if(r<1){if(n>Dt.maxOrScopes)return!1;for(let s of e.requiredScopes)t.requiredScopes.push(new Set(s));return!0}if(n*r>Dt.maxOrScopes)return!1;let i=[];for(let s of t.requiredScopes)for(let o of e.requiredScopes){let u=new Set(s);Sl(o,u),i.push(u)}return t.requiredScopes=i,!0}function KM(e,t){let n=t.fieldName,r=e.get(n);if(!r){if(t.requiredScopes.length>Dt.maxOrScopes)return!1;let i=nD(n);i.requiresAuthentication||(i.requiresAuthentication=t.requiresAuthentication);for(let s of t.requiredScopes)i.requiredScopes.push(new Set(s));return e.set(n,i),!0}return r.requiresAuthentication||(r.requiresAuthentication=t.requiresAuthentication),qM(t,r)}function A7(e,t,n){let r=e.get(t.typeName);if(!r){e.set(t.typeName,t);return}for(let[i,s]of t.fieldAuthorizationDataByFieldName)KM(r.fieldAuthorizationDataByFieldName,s)||n.add(`${t.typeName}.${i}`)}function R7(e,t){let n=t.typeName;for(let[r,i]of t.fieldAuthorizationDataByFieldName){let s=`${n}.${r}`,o=e.get(s);o?(o.requiresAuthentication=i.requiresAuthentication,o.requiredScopes=i.requiredScopes.map(u=>[...u])):e.set(s,{argumentNames:[],typeName:n,fieldName:r,requiresAuthentication:i.requiresAuthentication,requiredScopes:i.requiredScopes.map(u=>[...u])})}}function F7(e,t,n){return e.set(t,n),n}function w7(e){return{kind:et.Kind.DIRECTIVE,name:(0,tD.stringToNameNode)(e)}}function L7(e){let t=[];for(let n of e){let r=[];for(let i of n)r.push({kind:et.Kind.STRING,value:i});t.push({kind:et.Kind.LIST,values:r})}return{kind:et.Kind.DIRECTIVE,name:(0,tD.stringToNameNode)(In.REQUIRES_SCOPES),arguments:[{kind:et.Kind.ARGUMENT,name:(0,tD.stringToNameNode)(In.SCOPES),value:{kind:et.Kind.LIST,values:t}}]}}function P7(e){return e===et.Kind.INTERFACE_TYPE_DEFINITION||e===et.Kind.INTERFACE_TYPE_EXTENSION}function k7(e,t){for(let[n,r]of e)t.set(n,r)}function x7(e){for(let t of e)return t}function C7(e,t){return e.has(t)?!1:(e.add(t),!0)}});var Oh=V(hp=>{"use strict";m();T();h();Object.defineProperty(hp,"__esModule",{value:!0});hp.MAX_SUBSCRIPTION_FILTER_DEPTH=hp.MAXIMUM_TYPE_NESTING=void 0;hp.MAXIMUM_TYPE_NESTING=30;hp.MAX_SUBSCRIPTION_FILTER_DEPTH=5});var To=V(Z=>{"use strict";m();T();h();Object.defineProperty(Z,"__esModule",{value:!0});Z.invalidEventProviderIdErrorMessage=Z.invalidNatsStreamConfigurationDefinitionErrorMessage=Z.undefinedNatsStreamConfigurationInputErrorMessage=Z.invalidEdfsPublishResultObjectErrorMessage=Z.invalidNatsStreamInputErrorMessage=Z.inlineFragmentInFieldSetErrorMessage=Z.inaccessibleQueryRootTypeError=Z.noQueryRootTypeError=Z.federationFactoryInitializationFatalError=Z.subgraphValidationFailureError=Z.minimumSubgraphRequirementError=void 0;Z.multipleNamedTypeDefinitionError=B7;Z.incompatibleExtensionError=V7;Z.incompatibleArgumentTypesError=j7;Z.incompatibleInputValueDefaultValueTypeError=$7;Z.incompatibleChildTypesError=q7;Z.incompatibleInputValueDefaultValuesError=K7;Z.incompatibleSharedEnumError=G7;Z.incompatibleExtensionKindsError=Q7;Z.invalidSubgraphNamesError=Y7;Z.duplicateDirectiveDefinitionError=J7;Z.duplicateEnumValueDefinitionError=z7;Z.duplicateFieldDefinitionError=H7;Z.duplicateInputFieldDefinitionError=W7;Z.duplicateImplementedInterfaceError=X7;Z.duplicateUnionMemberDefinitionError=Z7;Z.duplicateTypeDefinitionError=eZ;Z.duplicateOperationTypeDefinitionError=tZ;Z.noBaseDefinitionForExtensionError=nZ;Z.noBaseScalarDefinitionError=rZ;Z.noDefinedUnionMembersError=iZ;Z.noDefinedEnumValuesError=sZ;Z.operationDefinitionError=oZ;Z.invalidFieldShareabilityError=aZ;Z.undefinedDirectiveErrorMessage=uZ;Z.undefinedTypeError=cZ;Z.invalidRepeatedDirectiveErrorMessage=lZ;Z.invalidRepeatedFederatedDirectiveErrorMessage=dZ;Z.invalidDirectiveError=pZ;Z.invalidDirectiveLocationErrorMessage=fZ;Z.unexpectedDirectiveArgumentsErrorMessage=mZ;Z.undefinedRequiredArgumentsErrorMessage=hZ;Z.unexpectedDirectiveArgumentErrorMessage=TZ;Z.duplicateDirectiveArgumentDefinitionsErrorMessage=yZ;Z.invalidDirectiveArgumentTypeErrorMessage=NZ;Z.invalidKeyDirectiveArgumentErrorMessage=EZ;Z.invalidKeyDirectivesError=gZ;Z.maximumTypeNestingExceededError=IZ;Z.unexpectedKindFatalError=vZ;Z.incompatibleParentKindFatalError=_Z;Z.unexpectedEdgeFatalError=bZ;Z.incompatibleParentKindMergeError=OZ;Z.fieldTypeMergeFatalError=SZ;Z.unexpectedDirectiveLocationError=DZ;Z.unexpectedTypeNodeKindFatalError=AZ;Z.invalidKeyFatalError=RZ;Z.invalidConfigurationResultFatalError=FZ;Z.unexpectedParentKindErrorMessage=wZ;Z.unexpectedParentKindForChildError=LZ;Z.subgraphValidationError=PZ;Z.invalidSubgraphNameErrorMessage=kZ;Z.invalidOperationTypeDefinitionError=xZ;Z.invalidRootTypeDefinitionError=CZ;Z.subgraphInvalidSyntaxError=UZ;Z.invalidInterfaceImplementationError=MZ;Z.invalidRequiredInputValueError=BZ;Z.duplicateArgumentsError=VZ;Z.invalidArgumentsError=jZ;Z.expectedEntityError=$Z;Z.abstractTypeInKeyFieldSetErrorMessage=qZ;Z.unknownTypeInFieldSetErrorMessage=KZ;Z.invalidSelectionSetErrorMessage=GZ;Z.invalidSelectionSetDefinitionErrorMessage=QZ;Z.undefinedFieldInFieldSetErrorMessage=YZ;Z.unparsableFieldSetErrorMessage=JZ;Z.unparsableFieldSetSelectionErrorMessage=zZ;Z.undefinedObjectLikeParentError=HZ;Z.unexpectedArgumentErrorMessage=WZ;Z.argumentsInKeyFieldSetErrorMessage=XZ;Z.invalidProvidesOrRequiresDirectivesError=ZZ;Z.duplicateFieldInFieldSetErrorMessage=eee;Z.invalidConfigurationDataErrorMessage=tee;Z.incompatibleTypeWithProvidesErrorMessage=nee;Z.invalidInlineFragmentTypeErrorMessage=ree;Z.inlineFragmentWithoutTypeConditionErrorMessage=iee;Z.unknownInlineFragmentTypeConditionErrorMessage=see;Z.invalidInlineFragmentTypeConditionTypeErrorMessage=oee;Z.invalidInlineFragmentTypeConditionErrorMessage=aee;Z.invalidSelectionOnUnionErrorMessage=uee;Z.duplicateOverriddenFieldErrorMessage=cee;Z.duplicateOverriddenFieldsError=lee;Z.noFieldDefinitionsError=dee;Z.noInputValueDefinitionsError=pee;Z.allChildDefinitionsAreInaccessibleError=fee;Z.equivalentSourceAndTargetOverrideErrorMessage=mee;Z.undefinedEntityInterfaceImplementationsError=hee;Z.orScopesLimitError=Tee;Z.invalidEventDrivenGraphError=yee;Z.invalidRootTypeFieldEventsDirectivesErrorMessage=Nee;Z.invalidEventDrivenMutationResponseTypeErrorMessage=Eee;Z.invalidRootTypeFieldResponseTypesEventDrivenErrorMessage=gee;Z.invalidNatsStreamInputFieldsErrorMessage=Iee;Z.invalidKeyFieldSetsEventDrivenErrorMessage=vee;Z.nonExternalKeyFieldNamesEventDrivenErrorMessage=_ee;Z.nonKeyFieldNamesEventDrivenErrorMessage=bee;Z.nonEntityObjectExtensionsEventDrivenErrorMessage=Oee;Z.nonKeyComposingObjectTypeNamesEventDrivenErrorMessage=See;Z.invalidEdfsDirectiveName=Dee;Z.invalidImplementedTypeError=Aee;Z.selfImplementationError=Ree;Z.invalidEventSubjectErrorMessage=Fee;Z.invalidEventSubjectsErrorMessage=wee;Z.invalidEventSubjectsItemErrorMessage=Lee;Z.invalidEventSubjectsArgumentErrorMessage=Pee;Z.undefinedEventSubjectsArgumentErrorMessage=kee;Z.invalidEventDirectiveError=xee;Z.invalidReferencesOfInaccessibleTypeError=Cee;Z.inaccessibleRequiredArgumentError=Uee;Z.invalidUnionMemberTypeError=Mee;Z.invalidRootTypeError=Bee;Z.invalidSubscriptionFilterLocationError=Vee;Z.invalidSubscriptionFilterDirectiveError=jee;Z.subscriptionFilterNamedTypeErrorMessage=$ee;Z.subscriptionFilterConditionDepthExceededErrorMessage=qee;Z.subscriptionFilterConditionInvalidInputFieldNumberErrorMessage=Kee;Z.subscriptionFilterConditionInvalidInputFieldErrorMessage=Gee;Z.subscriptionFilterConditionInvalidInputFieldTypeErrorMessage=Qee;Z.subscriptionFilterArrayConditionInvalidItemTypeErrorMessage=Yee;Z.subscriptionFilterArrayConditionInvalidLengthErrorMessage=Jee;Z.invalidInputFieldTypeErrorMessage=zee;Z.subscriptionFieldConditionInvalidInputFieldErrorMessage=Hee;Z.subscriptionFieldConditionInvalidValuesArrayErrorMessage=Wee;Z.subscriptionFieldConditionEmptyValuesArrayErrorMessage=Xee;Z.unknownFieldSubgraphNameError=Zee;Z.invalidSubscriptionFieldConditionFieldPathErrorMessage=ete;Z.invalidSubscriptionFieldConditionFieldPathParentErrorMessage=tte;Z.undefinedSubscriptionFieldConditionFieldPathFieldErrorMessage=nte;Z.invalidSubscriptionFieldConditionFieldPathFieldErrorMessage=rte;Z.inaccessibleSubscriptionFieldConditionFieldPathFieldErrorMessage=ite;Z.nonLeafSubscriptionFieldConditionFieldPathFinalFieldErrorMessage=ste;Z.unresolvablePathError=ote;Z.allExternalFieldInstancesError=ate;Z.externalInterfaceFieldsError=ute;Z.nonExternalConditionalFieldError=cte;Z.incompatibleFederatedFieldNamedTypeError=lte;Z.unknownNamedTypeErrorMessage=zM;Z.unknownNamedTypeError=dte;Z.unknownFieldDataError=pte;Z.unexpectedNonCompositeOutputTypeError=fte;var U7=Vi(),M7=(we(),Me(je)),Sh=ps(),Et=bi(),GM=Oh();Z.minimumSubgraphRequirementError=new Error("At least one subgraph is required for federation.");function B7(e,t,n){return new Error(`The named type "${e}" is defined as both types "${t}" and "${n}". However, there must be only one type named "${e}".`)}function V7(e,t,n){return new Error(`Extension error: Incompatible types: "${e}" is type "${t}", but an extension of the same name is type "${n}.`)}function j7(e,t,n,r){return new Error(`Incompatible types when merging two instances of argument "${e}" on path "${t}": Expected type "${n}" but received "${r}"`)}function $7(e,t,n,r){return new Error(`The ${e} of type "${n}" defined on path "${t}" is incompatible with the default value of "${r}".`)}function q7(e,t,n){return new Error(`Incompatible types when merging two instances of "${e}": @@ -266,10 +266,10 @@ If an instance defines a default value, that default value must be consistently However, the same directive declared on "${t}" defines ${r} argument`+(r>1?"s.":".")}function hZ(e,t,n,r=[]){let i=` The definition for the directive "${e}" defines the following `+n.length+" required argument"+(n.length>1?"s: ":": ")+'"'+n.join('", "')+`". However, the same directive that is declared on "${t}" does not define`;return r.length<1?i+" any arguments.":i+" the following required argument"+(r.length>1?"s":"")+': "'+r.join(Et.QUOTATION_JOIN)+'".'}function TZ(e,t){return` The definition for the directive "${e}" does not define the following provided argument`+(t.length>1?"s":"")+': "'+t.join(Et.QUOTATION_JOIN)+'".'}function yZ(e,t,n){return` The directive "${e}" that is declared on "${t}" defines the following argument`+(n.length>1?"s":"")+' more than once: "'+n.join(Et.QUOTATION_JOIN)+'"'}function NZ(e,t,n,r){return` The ${e?"required ":""}argument "${t} must be type "${n}" and not type "${r}".`}function EZ(e){return` The required argument named "fields" must be type "String" and not type "${e}".`}function gZ(e,t){return new Error(`The entity "${e}" defines the following invalid "key" directive`+(t.length>1?"s":"")+`: `+t.join(` -`))}function IZ(e){return new Error(` The type defined at path "${e}" has more than ${qM.MAXIMUM_TYPE_NESTING} layers of nesting, or there is a cyclical error.`)}function vZ(e){return new Error(`Fatal: Unexpected type for "${e}"`)}function _Z(e,t,n){return new Error(`Fatal: Expected "${e}" to be type ${(0,Oh.kindToTypeString)(t)} but received "${(0,Oh.kindToTypeString)(n)}".`)}function bZ(e,t){return new Error(`Fatal: The type "${e}" visited the following unexpected edge`+(t.length>1?"s":"")+`: +`))}function IZ(e){return new Error(` The type defined at path "${e}" has more than ${GM.MAXIMUM_TYPE_NESTING} layers of nesting, or there is a cyclical error.`)}function vZ(e){return new Error(`Fatal: Unexpected type for "${e}"`)}function _Z(e,t,n){return new Error(`Fatal: Expected "${e}" to be type ${(0,Sh.kindToTypeString)(t)} but received "${(0,Sh.kindToTypeString)(n)}".`)}function bZ(e,t){return new Error(`Fatal: The type "${e}" visited the following unexpected edge`+(t.length>1?"s":"")+`: " ${t.join(Et.QUOTATION_JOIN)}".`)}function OZ(e,t,n){return new Error(` When merging types, expected "${e}" to be type "${t}" but received "${n}".`)}function SZ(e){return new Error(`Fatal: Unsuccessfully merged the cross-subgraph types of field "${e}" without producing a type error object.`)}function DZ(e){return new Error(`Fatal: Unknown directive location "${e}".`)}function AZ(e){return new Error(`Fatal: Expected all constituent types at path "${e}" to be one of the following: "LIST_TYPE", "NAMED_TYPE", or "NON_NULL_TYPE".`)}function RZ(e,t){return new Error(`Fatal: Expected key "${e}" to exist in the map "${t}".`)}function FZ(e){return new Error(`Fatal: Expected either errors or configurations for the path ${e}" but received neither".`)}Z.subgraphValidationFailureError=new Error(" Fatal: Subgraph validation did not return a valid AST.");Z.federationFactoryInitializationFatalError=new Error("Fatal: FederationFactory was unsuccessfully initialized.");function wZ(e,t,n){return` Expected "${e}" to be type ${t} but received "${n}".`}function LZ(e,t,n,r,i){return new Error(` Expected "${e}" to be type ${t} but received "${n}" when handling child "${r}" of type "${i}".`)}function PZ(e,t){return new Error(`The subgraph "${e}" could not be federated for the following reason`+(t.length>1?"s":"")+`: `+t.map(n=>n.message).join(` -`))}function kZ(e,t){return`The ${(0,Oh.numberToOrdinal)(e+1)} subgraph in the array did not define a name. Consequently, any further errors will temporarily identify this subgraph as "${t}".`}function xZ(e,t,n){return new Error(`The schema definition defines the "${e}" operation as type "${t}". However, "${t}" was also used for the "${n}" operation. +`))}function kZ(e,t){return`The ${(0,Sh.numberToOrdinal)(e+1)} subgraph in the array did not define a name. Consequently, any further errors will temporarily identify this subgraph as "${t}".`}function xZ(e,t,n){return new Error(`The schema definition defines the "${e}" operation as type "${t}". However, "${t}" was also used for the "${n}" operation. If explicitly defined, each operation type must be a unique and valid Object type.`)}function CZ(e,t,n){return new Error(`The schema definition defines the "${e}" operation as type "${t}". However, the schema also defines another type named "${n}", which is the default (root) type name for the "${e}" operation. For federation, it is only possible to use the default root types names ("Mutation", "Query", "Subscription") as operation definitions. No other definitions with these default root type names are valid.`)}function UZ(e){let t="The subgraph has syntax errors and could not be parsed.";return e&&(t+=` The reason provided was: `+e.message),new Error(t)}function MZ(e,t,n){let r=[];for(let[i,s]of n){let o=` The implementation of Interface "${i}" by "${e}" is invalid because: @@ -305,9 +305,9 @@ For federation, it is only possible to use the default root types names ("Mutati "${e}" This is because "${t}" returns the unknown type "${n}".`}function GZ(e,t,n,r){return` The following field set is invalid: "${e}" - This is because of the selection set corresponding to the `+lE(t,n,r)+` Composite types such as "${r}" types must define a selection set with at least one field selection.`}function QZ(e,t,n,r){return` The following field set is invalid: + This is because of the selection set corresponding to the `+dE(t,n,r)+` Composite types such as "${r}" types must define a selection set with at least one field selection.`}function QZ(e,t,n,r){return` The following field set is invalid: "${e}" - This is because of the selection set corresponding to the `+lE(t,n,r)+` Non-composite types such as "${r}" cannot define a selection set.`}function YZ(e,t,n){return` The following field set is invalid: + This is because of the selection set corresponding to the `+dE(t,n,r)+` Non-composite types such as "${r}" cannot define a selection set.`}function YZ(e,t,n){return` The following field set is invalid: "${e}" This is because of the selection set corresponding to the field coordinate "${t}.${n}". The type "${t}" does not define a field named "${n}".`}function JZ(e,t){let n=` The following field set is invalid: @@ -327,7 +327,7 @@ For federation, it is only possible to use the default root types names ("Mutati This is because "${t}" was included in the field set more than once.`}function tee(e,t,n){return` Expected ConfigurationData to exist for type "${e}" when adding field "${t}" while validating field set "${n}".`}function nee(e,t){return` A "@provides" directive is declared on Field "${e}". However, the response type "${t}" is not an Object not Interface.`}function rD(e,t,n=!1){return e.length<1?`enclosing type name "${t}". `:`field coordinates "${e[e.length-1]}"`+(n?` that returns "${t}"`:"")+`. -`}function lE(e,t,n){return e.length<1?`enclosing type name "${t}", which is type "${n}". +`}function dE(e,t,n){return e.length<1?`enclosing type name "${t}", which is type "${n}". `:`field coordinates "${e[e.length-1]}" that returns "${t}", which is type "${n}". `}function ree(e,t,n,r){return` The following field set is invalid: "${e}" @@ -340,14 +340,14 @@ For federation, it is only possible to use the default root types names ("Mutati "${e}" This is because an inline fragment with the type condition "${r}" is defined on the selection set corresponding to the `+rD(t,n)+` However, "${r}" is type "${i}" when types "interface" or "object" would be expected.`}function aee(e,t,n,r,i){let s=` The following field set is invalid: "${e}" - This is because an inline fragment with the type condition "${n}" is defined on the selection set corresponding to the `+lE(t,i,r);return r===Et.INTERFACE?s+` However, "${n}" does not implement "${i}"`:s+` However, "${n}" is not a member of "${i}".`}function uee(e,t,n){return` The following field set is invalid: + This is because an inline fragment with the type condition "${n}" is defined on the selection set corresponding to the `+dE(t,i,r);return r===Et.INTERFACE?s+` However, "${n}" does not implement "${i}"`:s+` However, "${n}" is not a member of "${i}".`}function uee(e,t,n){return` The following field set is invalid: "${e}" - This is because of the selection set corresponding to the `+lE(t,n,Et.UNION)+` Union types such as "${n}" must define field selections (besides "__typename") on an inline fragment whose type condition corresponds to a constituent union member.`}function cee(e,t){return` The field "${e}" declares an @override directive in the following subgraphs: "`+t.join(Et.QUOTATION_JOIN)+'".'}function lee(e){return new Error('The "@override" directive must only be declared on one single instance of a field. However, an "@override" directive was declared on more than one instance of the following field'+(e.length>1?"s":"")+': "'+e.join(Et.QUOTATION_JOIN)+`". + This is because of the selection set corresponding to the `+dE(t,n,Et.UNION)+` Union types such as "${n}" must define field selections (besides "__typename") on an inline fragment whose type condition corresponds to a constituent union member.`}function cee(e,t){return` The field "${e}" declares an @override directive in the following subgraphs: "`+t.join(Et.QUOTATION_JOIN)+'".'}function lee(e){return new Error('The "@override" directive must only be declared on one single instance of a field. However, an "@override" directive was declared on more than one instance of the following field'+(e.length>1?"s":"")+': "'+e.join(Et.QUOTATION_JOIN)+`". `)}function dee(e,t){return new Error(`The ${e} "${t}" is invalid because it does not define any fields.`)}function pee(e){return new Error(`The Input Object "${e}" is invalid because it does not define any input values.`)}function fee(e,t,n){return new Error(`The ${e} "${t}" is invalid because all its ${n} definitions are declared "@inaccessible".`)}function mee(e,t){return`Cannot override field "${t}" because the source and target subgraph names are both "${e}"`}function hee(e,t){let n=`Federation was unsuccessful because any one subgraph that defines a specific entity interface must also define each and every entity object that implements that entity interface. -`;for(let[r,i]of e){let o=(0,Oh.getOrThrowError)(t,r,"entityInterfaceFederationDataByTypeName").concreteTypeNames;n+=` Across all subgraphs, the entity interface "${r}" is implemented by the following entity object`+(o.size>1?"s":"")+`: +`;for(let[r,i]of e){let o=(0,Sh.getOrThrowError)(t,r,"entityInterfaceFederationDataByTypeName").concreteTypeNames;n+=` Across all subgraphs, the entity interface "${r}" is implemented by the following entity object`+(o.size>1?"s":"")+`: "`+Array.from(o).join(Et.QUOTATION_JOIN)+`" However, the definition of at least one of these implementations is missing in a subgraph that defines the entity interface "${r}": -`;for(let{subgraphName:u,concreteTypeNames:l}of i){let d=(0,Oh.getEntriesNotInHashSet)(o,l);n+=` Subgraph "${u}" does not define the following implementations: "`+d.join(Et.QUOTATION_JOIN)+`" +`;for(let{subgraphName:u,concreteTypeNames:l}of i){let d=(0,Sh.getEntriesNotInHashSet)(o,l);n+=` Subgraph "${u}" does not define the following implementations: "`+d.join(Et.QUOTATION_JOIN)+`" `}}return new Error(n)}function Tee(e,t){return new Error(`The maximum number of OR scopes that can be defined by @requiresScopes on a single field is ${e}. However, the following path`+(t.length>1?"s attempt":" attempts")+` to define more: "`+t.join(Et.QUOTATION_JOIN)+`" If you require more, please contact support.`)}function yee(e){return new Error(`An "Event Driven" graph\u2014a subgraph that defines event driven directives\u2014must not define any resolvers. @@ -402,18 +402,18 @@ Consequently, the following object extension definition`+(e.length>1?"s are":" i streamName: String! }`;function Dee(e){return new Error(`Could not retrieve definition for Event-Driven Federated Subscription directive "${e}".`)}function Aee(e,t){let n=` Only interfaces can be implemented. However, the type "${e}" attempts to implement the following invalid type`+(t.size>1?"s":"")+`: `;for(let[r,i]of t)n+=` "${r}", which is type "${i}" -`;return new Error(n)}function Ree(e){return new Error(` The interface "${e}" must not implement itself.`)}function Fee(e){return`The "${e}" argument must be string with a minimum length of one.`}function wee(e){return`The "${e}" argument must be a list of strings.`}function Lee(e){return`Each item in the "${e}" argument list must be a string with a minimum length of one. However, at least one value provided in the list was invalid.`}Z.invalidEventProviderIdErrorMessage='If explicitly defined, the "providerId" argument must be a string with a minimum length of one.';function Pee(e,t,n){return new Error(`The event directive "${e}" declared on "${t}" is invalid for the following reason`+(n.length>1?"s":"")+`: +`;return new Error(n)}function Ree(e){return new Error(` The interface "${e}" must not implement itself.`)}function Fee(e){return`The "${e}" argument must be string with a minimum length of one.`}function wee(e){return`The "${e}" argument must be a list of strings.`}function Lee(e){return`Each item in the "${e}" argument list must be a string with a minimum length of one. However, at least one value provided in the list was invalid.`}function Pee(e){return`An argument template references the invalid argument "${e}".`}function kee(e){return`An argument template references the undefined argument "${e}".`}Z.invalidEventProviderIdErrorMessage='If explicitly defined, the "providerId" argument must be a string with a minimum length of one.';function xee(e,t,n){return new Error(`The event directive "${e}" declared on "${t}" is invalid for the following reason`+(n.length>1?"s":"")+`: `+n.join(` - `))}function kee(e,t,n){return new Error(`The ${e} "${t}" is declared @inaccessible; however, the ${e} is still referenced at the following paths: + `))}function Cee(e,t,n){return new Error(`The ${e} "${t}" is declared @inaccessible; however, the ${e} is still referenced at the following paths: "`+n.join(Et.QUOTATION_JOIN)+`" -`)}function xee(e,t,n){return new Error(`The argument "${e}" on path "${t}" is declared @inaccessible; however, it is a required argument for field "${n}".`)}function Cee(e,t){return new Error(` The union "${e}" defines the following member`+(t.length>1?"s that are not object types":" that is not an object type")+`: +`)}function Uee(e,t,n){return new Error(`The argument "${e}" on path "${t}" is declared @inaccessible; however, it is a required argument for field "${n}".`)}function Mee(e,t){return new Error(` The union "${e}" defines the following member`+(t.length>1?"s that are not object types":" that is not an object type")+`: `+t.join(` - `))}function Uee(e){return new Error(`Expected type "${e}" to be a root type but could not find its respective OperationTypeNode.`)}function Mee(e){return new Error(`The "@${Et.SUBSCRIPTION_FILTER}" directive must only be defined on a subscription root field, but it was defined on the path "${e}".`)}function Bee(e,t){return new Error(`The "@${Et.SUBSCRIPTION_FILTER}" directive defined on path "${e}" is invalid for the following reason`+(t.length>1?"s":"")+`: + `))}function Bee(e){return new Error(`Expected type "${e}" to be a root type but could not find its respective OperationTypeNode.`)}function Vee(e){return new Error(`The "@${Et.SUBSCRIPTION_FILTER}" directive must only be defined on a subscription root field, but it was defined on the path "${e}".`)}function jee(e,t){return new Error(`The "@${Et.SUBSCRIPTION_FILTER}" directive defined on path "${e}" is invalid for the following reason`+(t.length>1?"s":"")+`: `+t.join(` -`))}function Vee(e){return` Unknown type "${e}".`}function jee(e){return` The input path "${e}" exceeds the maximum depth of ${qM.MAX_SUBSCRIPTION_FILTER_DEPTH} for any one filter condition. - If you require a larger maximum depth, please contact support.`}var KM=` Each "${Et.SUBSCRIPTION_FILTER_CONDITION}" input object must define exactly one of the following input value fields: "${Et.AND_UPPER}", "${Et.IN_UPPER}", "${Et.NOT_UPPER}", or "${Et.OR_UPPER}". -`;function $ee(e,t){return KM+` However, input path "${e}" defines ${t} fields.`}function qee(e,t){return KM+` However, input path "${e}" defines the invalid input value field "${t}".`}function Kee(e,t,n){return` Expected the value of input path "${e}" to be type "${t}" but received type "${n}"`}var GM=` An AND or OR input field defined on a "${Et.SUBSCRIPTION_FILTER_CONDITION}" should define a list of 1\u20135 nested conditions. -`;function Gee(e,t){let n=t.length>1;return GM+" However, the following "+(n?"indices":"index")+` defined on input path "${e}" `+(n?"are":"is")+' not type "object": '+t.join(", ")}function Qee(e,t){return GM+` However, the list defined on input path "${e}" has a length of ${t}.`}function Yee(e,t,n){return` Expected the input path "${e}" to be type "${t}" but received "${n}".`}function Jee(e,t,n,r,i){let s=` Each "${Et.SUBSCRIPTION_FIELD_CONDITION}" input object must only define the following two input value fields: "${Et.FIELD_PATH}" and "${Et.VALUES}". +`))}function $ee(e){return` Unknown type "${e}".`}function qee(e){return` The input path "${e}" exceeds the maximum depth of ${GM.MAX_SUBSCRIPTION_FILTER_DEPTH} for any one filter condition. + If you require a larger maximum depth, please contact support.`}var QM=` Each "${Et.SUBSCRIPTION_FILTER_CONDITION}" input object must define exactly one of the following input value fields: "${Et.AND_UPPER}", "${Et.IN_UPPER}", "${Et.NOT_UPPER}", or "${Et.OR_UPPER}". +`;function Kee(e,t){return QM+` However, input path "${e}" defines ${t} fields.`}function Gee(e,t){return QM+` However, input path "${e}" defines the invalid input value field "${t}".`}function Qee(e,t,n){return` Expected the value of input path "${e}" to be type "${t}" but received type "${n}"`}var YM=` An AND or OR input field defined on a "${Et.SUBSCRIPTION_FILTER_CONDITION}" should define a list of 1\u20135 nested conditions. +`;function Yee(e,t){let n=t.length>1;return YM+" However, the following "+(n?"indices":"index")+` defined on input path "${e}" `+(n?"are":"is")+' not type "object": '+t.join(", ")}function Jee(e,t){return YM+` However, the list defined on input path "${e}" has a length of ${t}.`}function zee(e,t,n){return` Expected the input path "${e}" to be type "${t}" but received "${n}".`}function Hee(e,t,n,r,i){let s=` Each "${Et.SUBSCRIPTION_FIELD_CONDITION}" input object must only define the following two input value fields: "${Et.FIELD_PATH}" and "${Et.VALUES}". However, input path "${e}" is invalid because:`;return t.length>0&&(s+=` The following required field`+(t.length>1?"s are":" is")+` not defined: "`+t.join(Et.QUOTATION_JOIN)+'"'),n.length>0&&(s+=` @@ -422,33 +422,33 @@ Consequently, the following object extension definition`+(e.length>1?"s are":" i The following invalid field`+(r.length>1?"s are":" is")+` defined: "`+r.join(Et.QUOTATION_JOIN)+'"'),i.length>0&&(s+=` `+i.join(` - `)),s}var QM=` A "${Et.SUBSCRIPTION_FIELD_CONDITION}" input object must define a "values" input value field with a list of at least one valid "${Et.SUBSCRIPTION_FILTER_VALUE}" kind (boolean, enum, float, int, null, or string). -`;function zee(e,t){let n=t.length>1;return QM+" However, the following "+(n?"indices":"index")+` defined on input path "${e}" `+(n?"are":"is")+` not a valid "${Et.SUBSCRIPTION_FILTER_VALUE}": `+t.join(", ")}function Hee(e){return QM+` However, the list defined on input path "${e}" is empty.`}function Wee(e){return new Error(` Field "${e}" defined no subgraph names.`)}function Xee(e,t){return` Input path "${e}" defines the value "${t}", which is not a period (.) delimited field path.`}function Zee(e,t,n){return` Input path "${e}" defines the value "${t}". - However, "${n}" is not type "object"`}function ete(e,t,n,r,i){return` Input path "${e}" defines the value "${t}". - However, the path "${n}" is invalid because no field named "${r}" exists on type "${i}".`}function tte(e,t,n,r,i){return`Input path "${e}" defines the value "${t}". + `)),s}var JM=` A "${Et.SUBSCRIPTION_FIELD_CONDITION}" input object must define a "values" input value field with a list of at least one valid "${Et.SUBSCRIPTION_FILTER_VALUE}" kind (boolean, enum, float, int, null, or string). +`;function Wee(e,t){let n=t.length>1;return JM+" However, the following "+(n?"indices":"index")+` defined on input path "${e}" `+(n?"are":"is")+` not a valid "${Et.SUBSCRIPTION_FILTER_VALUE}": `+t.join(", ")}function Xee(e){return JM+` However, the list defined on input path "${e}" is empty.`}function Zee(e){return new Error(` Field "${e}" defined no subgraph names.`)}function ete(e,t){return` Input path "${e}" defines the value "${t}", which is not a period (.) delimited field path.`}function tte(e,t,n){return` Input path "${e}" defines the value "${t}". + However, "${n}" is not type "object"`}function nte(e,t,n,r,i){return` Input path "${e}" defines the value "${t}". + However, the path "${n}" is invalid because no field named "${r}" exists on type "${i}".`}function rte(e,t,n,r,i){return`Input path "${e}" defines the value "${t}". However, only fields that are defined in the same graph as the "@${Et.SUBSCRIPTION_FILTER}" directive can compose part of an "IN" condition's "fieldPath" input value field. - Consequently, the path "${n}" is invalid because field "${r}" is not defined in subgraph "${i}".`}function nte(e,t,n,r){return` Input path "${e}" defines the value "${t}". - The path segment "${n}" is invalid because it refers to "${r}", which is declared @inaccessible.`}function rte(e,t,n,r,i){return` Input path "${e}" defines the value "${t}". - However, the final field "${n}" is ${r} "${i}", which is not a leaf type; therefore, it requires further selections.`}function ite({fieldName:e,selectionSet:t},n){let r=`The field "${e}" is unresolvable at the following path: + Consequently, the path "${n}" is invalid because field "${r}" is not defined in subgraph "${i}".`}function ite(e,t,n,r){return` Input path "${e}" defines the value "${t}". + The path segment "${n}" is invalid because it refers to "${r}", which is declared @inaccessible.`}function ste(e,t,n,r,i){return` Input path "${e}" defines the value "${t}". + However, the final field "${n}" is ${r} "${i}", which is not a leaf type; therefore, it requires further selections.`}function ote({fieldName:e,selectionSet:t},n){let r=`The field "${e}" is unresolvable at the following path: ${t} This is because: - `+n.join(` - - `);return new Error(r)}function ste(e,t){let n=`The Object "${e}" is invalid because the following Field definition`+(t.size>1?"s are":" is")+` declared "@external" on all instances of that Field: + - `);return new Error(r)}function ate(e,t){let n=`The Object "${e}" is invalid because the following Field definition`+(t.size>1?"s are":" is")+` declared "@external" on all instances of that Field: `;for(let[r,i]of t)n+=` "${r}" in subgraph`+(i.length>1?"s":"")+' "'+i.join(Et.QUOTATION_JOIN)+`" -`;return n+='At least one instance of a Field definition must always be resolvable (and therefore not declared "@external").',new Error(n)}function ote(e,t){return new Error(`The interface "${e}" is invalid because the following field definition`+(t.length>1?"s are":" is")+` declared @external: +`;return n+='At least one instance of a Field definition must always be resolvable (and therefore not declared "@external").',new Error(n)}function ute(e,t){return new Error(`The interface "${e}" is invalid because the following field definition`+(t.length>1?"s are":" is")+` declared @external: "`+t.join(Et.QUOTATION_JOIN)+`" -Interface fields should not be declared @external. This is because interface fields do not resolve directly, but the "@external" directive relates to whether a field instance can be resolved by the subgraph in which it is defined.`)}function ate(e,t,n,r,i){return new Error(`The Field "${e}" in subgraph "${t}" defines a "@${i}" directive with the following field set: +Interface fields should not be declared @external. This is because interface fields do not resolve directly, but the "@external" directive relates to whether a field instance can be resolved by the subgraph in which it is defined.`)}function cte(e,t,n,r,i){return new Error(`The Field "${e}" in subgraph "${t}" defines a "@${i}" directive with the following field set: "${r}". However, neither the field "${n}" nor any of its field set ancestors are declared @external. -Consequently, "${n}" is already provided by subgraph "${t}" and should not form part of a "@${i}" directive field set.`)}function ute(e,t){let n=[];for(let[r,i]of t){let s=[...i];n.push(` The Named Type "${r}" is returned by the following subgraph`+(s.length>1?"s":"")+': "'+s.join(Et.QUOTATION_JOIN)+'".')}return new Error(`Each instance of a shared Field must resolve identically across subgraphs. +Consequently, "${n}" is already provided by subgraph "${t}" and should not form part of a "@${i}" directive field set.`)}function lte(e,t){let n=[];for(let[r,i]of t){let s=[...i];n.push(` The Named Type "${r}" is returned by the following subgraph`+(s.length>1?"s":"")+': "'+s.join(Et.QUOTATION_JOIN)+'".')}return new Error(`Each instance of a shared Field must resolve identically across subgraphs. The Field "${e}" could not be federated due to incompatible types across subgraphs. The discrepancies are as follows: `+n.join(` -`))}function YM(e,t){return`The Field "${e}" returns the unknown named type "${t}".`}function cte(e,t){return new Error(YM(e,t))}function lte(e){return new Error(`Could not find FieldData for Field "${e}" -.This should never happen. Please report this issue on GitHub.`)}function dte(e,t){return new Error(`Expected named type "${e}" to be a composite output type (Object or Interface) but received "${t}". -This should never happen. Please report this issue on GitHub.`)}function pte(e,t){return new Error(`Subgraph "${e}": The Interface "${t}" is used as an output type without at least one Object type implementation defined in the schema.`)}});var zM=V(JM=>{"use strict";m();T();h();Object.defineProperty(JM,"__esModule",{value:!0})});var $a=V(Di=>{"use strict";m();T();h();Object.defineProperty(Di,"__esModule",{value:!0});Di.getMutableDirectiveDefinitionNode=mte;Di.getMutableEnumNode=hte;Di.getMutableEnumValueNode=Tte;Di.getMutableFieldNode=yte;Di.getMutableInputObjectNode=Nte;Di.getMutableInputValueNode=Ete;Di.getMutableInterfaceNode=gte;Di.getMutableObjectNode=Ite;Di.getMutableObjectExtensionNode=vte;Di.getMutableScalarNode=_te;Di.getMutableTypeNode=iD;Di.getMutableUnionNode=bte;Di.getTypeNodeNamedTypeName=sD;var Si=(we(),Me(je)),mp=Vi(),HM=To(),fte=bh();function mte(e){return{arguments:[],kind:e.kind,locations:[],name:k({},e.name),repeatable:e.repeatable,description:(0,mp.formatDescription)(e.description)}}function hte(e){return{kind:Si.Kind.ENUM_TYPE_DEFINITION,name:k({},e)}}function Tte(e){return{directives:[],kind:e.kind,name:k({},e.name),description:(0,mp.formatDescription)(e.description)}}function yte(e,t,n){return{arguments:[],directives:[],kind:e.kind,name:k({},e.name),type:iD(e.type,t,n),description:(0,mp.formatDescription)(e.description)}}function Nte(e){return{kind:Si.Kind.INPUT_OBJECT_TYPE_DEFINITION,name:k({},e)}}function Ete(e,t,n){return{directives:[],kind:e.kind,name:k({},e.name),type:iD(e.type,t,n),defaultValue:e.defaultValue,description:(0,mp.formatDescription)(e.description)}}function gte(e){return{kind:Si.Kind.INTERFACE_TYPE_DEFINITION,name:k({},e)}}function Ite(e){return{kind:Si.Kind.OBJECT_TYPE_DEFINITION,name:k({},e)}}function vte(e){let t=e.kind===Si.Kind.OBJECT_TYPE_DEFINITION?e.description:void 0;return{kind:Si.Kind.OBJECT_TYPE_EXTENSION,name:k({},e.name),description:(0,mp.formatDescription)(t)}}function _te(e){return{kind:Si.Kind.SCALAR_TYPE_DEFINITION,name:k({},e)}}function iD(e,t,n){let r={kind:e.kind},i=r;for(let s=0;s{"use strict";m();T();h();Object.defineProperty(hp,"__esModule",{value:!0});hp.versionInfo=hp.version=void 0;var Ote="16.9.0";hp.version=Ote;var Ste=Object.freeze({major:16,minor:9,patch:0,preReleaseTag:null});hp.versionInfo=Ste});var dE=V(oD=>{"use strict";m();T();h();Object.defineProperty(oD,"__esModule",{value:!0});oD.isPromise=Dte;function Dte(e){return typeof(e==null?void 0:e.then)=="function"}});var pE=V(aD=>{"use strict";m();T();h();Object.defineProperty(aD,"__esModule",{value:!0});aD.syntaxError=Rte;var Ate=at();function Rte(e,t,n){return new Ate.GraphQLError(`Syntax Error: ${n}`,{source:e,positions:[t]})}});var Dh=V(Sh=>{"use strict";m();T();h();Object.defineProperty(Sh,"__esModule",{value:!0});Sh.TokenKind=void 0;var uD;Sh.TokenKind=uD;(function(e){e.SOF="",e.EOF="",e.BANG="!",e.DOLLAR="$",e.AMP="&",e.PAREN_L="(",e.PAREN_R=")",e.SPREAD="...",e.COLON=":",e.EQUALS="=",e.AT="@",e.BRACKET_L="[",e.BRACKET_R="]",e.BRACE_L="{",e.PIPE="|",e.BRACE_R="}",e.NAME="Name",e.INT="Int",e.FLOAT="Float",e.STRING="String",e.BLOCK_STRING="BlockString",e.COMMENT="Comment"})(uD||(Sh.TokenKind=uD={}))});var mE=V(Rh=>{"use strict";m();T();h();Object.defineProperty(Rh,"__esModule",{value:!0});Rh.Lexer=void 0;Rh.isPunctuatorTokenKind=wte;var yo=pE(),ZM=qo(),Fte=Hm(),Ol=bN(),Vt=Dh(),lD=class{constructor(t){let n=new ZM.Token(Vt.TokenKind.SOF,0,0,0,0);this.source=t,this.lastToken=n,this.token=n,this.line=1,this.lineStart=0}get[Symbol.toStringTag](){return"Lexer"}advance(){return this.lastToken=this.token,this.token=this.lookahead()}lookahead(){let t=this.token;if(t.kind!==Vt.TokenKind.EOF)do if(t.next)t=t.next;else{let n=Lte(this,t.end);t.next=n,n.prev=t,t=n}while(t.kind===Vt.TokenKind.COMMENT);return t}};Rh.Lexer=lD;function wte(e){return e===Vt.TokenKind.BANG||e===Vt.TokenKind.DOLLAR||e===Vt.TokenKind.AMP||e===Vt.TokenKind.PAREN_L||e===Vt.TokenKind.PAREN_R||e===Vt.TokenKind.SPREAD||e===Vt.TokenKind.COLON||e===Vt.TokenKind.EQUALS||e===Vt.TokenKind.AT||e===Vt.TokenKind.BRACKET_L||e===Vt.TokenKind.BRACKET_R||e===Vt.TokenKind.BRACE_L||e===Vt.TokenKind.PIPE||e===Vt.TokenKind.BRACE_R}function Tp(e){return e>=0&&e<=55295||e>=57344&&e<=1114111}function fE(e,t){return eB(e.charCodeAt(t))&&tB(e.charCodeAt(t+1))}function eB(e){return e>=55296&&e<=56319}function tB(e){return e>=56320&&e<=57343}function Sl(e,t){let n=e.source.body.codePointAt(t);if(n===void 0)return Vt.TokenKind.EOF;if(n>=32&&n<=126){let r=String.fromCodePoint(n);return r==='"'?`'"'`:`"${r}"`}return"U+"+n.toString(16).toUpperCase().padStart(4,"0")}function Or(e,t,n,r,i){let s=e.line,o=1+n-e.lineStart;return new ZM.Token(t,n,r,s,o,i)}function Lte(e,t){let n=e.source.body,r=n.length,i=t;for(;i=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}function Mte(e,t){let n=e.source.body;switch(n.charCodeAt(t+1)){case 34:return{value:'"',size:2};case 92:return{value:"\\",size:2};case 47:return{value:"/",size:2};case 98:return{value:"\b",size:2};case 102:return{value:"\f",size:2};case 110:return{value:` -`,size:2};case 114:return{value:"\r",size:2};case 116:return{value:" ",size:2}}throw(0,yo.syntaxError)(e.source,t,`Invalid character escape sequence: "${n.slice(t,t+2)}".`)}function Bte(e,t){let n=e.source.body,r=n.length,i=e.lineStart,s=t+3,o=s,u="",l=[];for(;s{"use strict";m();T();h();Object.defineProperty(Fh,"__esModule",{value:!0});Fh.Source=void 0;Fh.isSource=qte;var dD=Oi(),jte=En(),$te=Qm(),hE=class{constructor(t,n="GraphQL request",r={line:1,column:1}){typeof t=="string"||(0,dD.devAssert)(!1,`Body must be a string. Received: ${(0,jte.inspect)(t)}.`),this.body=t,this.name=n,this.locationOffset=r,this.locationOffset.line>0||(0,dD.devAssert)(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||(0,dD.devAssert)(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}};Fh.Source=hE;function qte(e){return(0,$te.instanceOf)(e,hE)}});var yp=V(Ic=>{"use strict";m();T();h();Object.defineProperty(Ic,"__esModule",{value:!0});Ic.Parser=void 0;Ic.parse=Gte;Ic.parseConstValue=Yte;Ic.parseType=Jte;Ic.parseValue=Qte;var Dl=pE(),wh=qo(),Kte=tp(),gt=en(),rB=mE(),nB=TE(),Ae=Dh();function Gte(e,t){return new Al(e,t).parseDocument()}function Qte(e,t){let n=new Al(e,t);n.expectToken(Ae.TokenKind.SOF);let r=n.parseValueLiteral(!1);return n.expectToken(Ae.TokenKind.EOF),r}function Yte(e,t){let n=new Al(e,t);n.expectToken(Ae.TokenKind.SOF);let r=n.parseConstValueLiteral();return n.expectToken(Ae.TokenKind.EOF),r}function Jte(e,t){let n=new Al(e,t);n.expectToken(Ae.TokenKind.SOF);let r=n.parseTypeReference();return n.expectToken(Ae.TokenKind.EOF),r}var Al=class{constructor(t,n={}){let r=(0,nB.isSource)(t)?t:new nB.Source(t);this._lexer=new rB.Lexer(r),this._options=n,this._tokenCounter=0}parseName(){let t=this.expectToken(Ae.TokenKind.NAME);return this.node(t,{kind:gt.Kind.NAME,value:t.value})}parseDocument(){return this.node(this._lexer.token,{kind:gt.Kind.DOCUMENT,definitions:this.many(Ae.TokenKind.SOF,this.parseDefinition,Ae.TokenKind.EOF)})}parseDefinition(){if(this.peek(Ae.TokenKind.BRACE_L))return this.parseOperationDefinition();let t=this.peekDescription(),n=t?this._lexer.lookahead():this._lexer.token;if(n.kind===Ae.TokenKind.NAME){switch(n.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()}if(t)throw(0,Dl.syntaxError)(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(n.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(n)}parseOperationDefinition(){let t=this._lexer.token;if(this.peek(Ae.TokenKind.BRACE_L))return this.node(t,{kind:gt.Kind.OPERATION_DEFINITION,operation:wh.OperationTypeNode.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});let n=this.parseOperationType(),r;return this.peek(Ae.TokenKind.NAME)&&(r=this.parseName()),this.node(t,{kind:gt.Kind.OPERATION_DEFINITION,operation:n,name:r,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){let t=this.expectToken(Ae.TokenKind.NAME);switch(t.value){case"query":return wh.OperationTypeNode.QUERY;case"mutation":return wh.OperationTypeNode.MUTATION;case"subscription":return wh.OperationTypeNode.SUBSCRIPTION}throw this.unexpected(t)}parseVariableDefinitions(){return this.optionalMany(Ae.TokenKind.PAREN_L,this.parseVariableDefinition,Ae.TokenKind.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:gt.Kind.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(Ae.TokenKind.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(Ae.TokenKind.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let t=this._lexer.token;return this.expectToken(Ae.TokenKind.DOLLAR),this.node(t,{kind:gt.Kind.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:gt.Kind.SELECTION_SET,selections:this.many(Ae.TokenKind.BRACE_L,this.parseSelection,Ae.TokenKind.BRACE_R)})}parseSelection(){return this.peek(Ae.TokenKind.SPREAD)?this.parseFragment():this.parseField()}parseField(){let t=this._lexer.token,n=this.parseName(),r,i;return this.expectOptionalToken(Ae.TokenKind.COLON)?(r=n,i=this.parseName()):i=n,this.node(t,{kind:gt.Kind.FIELD,alias:r,name:i,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(Ae.TokenKind.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(t){let n=t?this.parseConstArgument:this.parseArgument;return this.optionalMany(Ae.TokenKind.PAREN_L,n,Ae.TokenKind.PAREN_R)}parseArgument(t=!1){let n=this._lexer.token,r=this.parseName();return this.expectToken(Ae.TokenKind.COLON),this.node(n,{kind:gt.Kind.ARGUMENT,name:r,value:this.parseValueLiteral(t)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){let t=this._lexer.token;this.expectToken(Ae.TokenKind.SPREAD);let n=this.expectOptionalKeyword("on");return!n&&this.peek(Ae.TokenKind.NAME)?this.node(t,{kind:gt.Kind.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(t,{kind:gt.Kind.INLINE_FRAGMENT,typeCondition:n?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){let t=this._lexer.token;return this.expectKeyword("fragment"),this._options.allowLegacyFragmentVariables===!0?this.node(t,{kind:gt.Kind.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(t,{kind:gt.Kind.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if(this._lexer.token.value==="on")throw this.unexpected();return this.parseName()}parseValueLiteral(t){let n=this._lexer.token;switch(n.kind){case Ae.TokenKind.BRACKET_L:return this.parseList(t);case Ae.TokenKind.BRACE_L:return this.parseObject(t);case Ae.TokenKind.INT:return this.advanceLexer(),this.node(n,{kind:gt.Kind.INT,value:n.value});case Ae.TokenKind.FLOAT:return this.advanceLexer(),this.node(n,{kind:gt.Kind.FLOAT,value:n.value});case Ae.TokenKind.STRING:case Ae.TokenKind.BLOCK_STRING:return this.parseStringLiteral();case Ae.TokenKind.NAME:switch(this.advanceLexer(),n.value){case"true":return this.node(n,{kind:gt.Kind.BOOLEAN,value:!0});case"false":return this.node(n,{kind:gt.Kind.BOOLEAN,value:!1});case"null":return this.node(n,{kind:gt.Kind.NULL});default:return this.node(n,{kind:gt.Kind.ENUM,value:n.value})}case Ae.TokenKind.DOLLAR:if(t)if(this.expectToken(Ae.TokenKind.DOLLAR),this._lexer.token.kind===Ae.TokenKind.NAME){let r=this._lexer.token.value;throw(0,Dl.syntaxError)(this._lexer.source,n.start,`Unexpected variable "$${r}" in constant value.`)}else throw this.unexpected(n);return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){let t=this._lexer.token;return this.advanceLexer(),this.node(t,{kind:gt.Kind.STRING,value:t.value,block:t.kind===Ae.TokenKind.BLOCK_STRING})}parseList(t){let n=()=>this.parseValueLiteral(t);return this.node(this._lexer.token,{kind:gt.Kind.LIST,values:this.any(Ae.TokenKind.BRACKET_L,n,Ae.TokenKind.BRACKET_R)})}parseObject(t){let n=()=>this.parseObjectField(t);return this.node(this._lexer.token,{kind:gt.Kind.OBJECT,fields:this.any(Ae.TokenKind.BRACE_L,n,Ae.TokenKind.BRACE_R)})}parseObjectField(t){let n=this._lexer.token,r=this.parseName();return this.expectToken(Ae.TokenKind.COLON),this.node(n,{kind:gt.Kind.OBJECT_FIELD,name:r,value:this.parseValueLiteral(t)})}parseDirectives(t){let n=[];for(;this.peek(Ae.TokenKind.AT);)n.push(this.parseDirective(t));return n}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(t){let n=this._lexer.token;return this.expectToken(Ae.TokenKind.AT),this.node(n,{kind:gt.Kind.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(t)})}parseTypeReference(){let t=this._lexer.token,n;if(this.expectOptionalToken(Ae.TokenKind.BRACKET_L)){let r=this.parseTypeReference();this.expectToken(Ae.TokenKind.BRACKET_R),n=this.node(t,{kind:gt.Kind.LIST_TYPE,type:r})}else n=this.parseNamedType();return this.expectOptionalToken(Ae.TokenKind.BANG)?this.node(t,{kind:gt.Kind.NON_NULL_TYPE,type:n}):n}parseNamedType(){return this.node(this._lexer.token,{kind:gt.Kind.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(Ae.TokenKind.STRING)||this.peek(Ae.TokenKind.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){let t=this._lexer.token,n=this.parseDescription();this.expectKeyword("schema");let r=this.parseConstDirectives(),i=this.many(Ae.TokenKind.BRACE_L,this.parseOperationTypeDefinition,Ae.TokenKind.BRACE_R);return this.node(t,{kind:gt.Kind.SCHEMA_DEFINITION,description:n,directives:r,operationTypes:i})}parseOperationTypeDefinition(){let t=this._lexer.token,n=this.parseOperationType();this.expectToken(Ae.TokenKind.COLON);let r=this.parseNamedType();return this.node(t,{kind:gt.Kind.OPERATION_TYPE_DEFINITION,operation:n,type:r})}parseScalarTypeDefinition(){let t=this._lexer.token,n=this.parseDescription();this.expectKeyword("scalar");let r=this.parseName(),i=this.parseConstDirectives();return this.node(t,{kind:gt.Kind.SCALAR_TYPE_DEFINITION,description:n,name:r,directives:i})}parseObjectTypeDefinition(){let t=this._lexer.token,n=this.parseDescription();this.expectKeyword("type");let r=this.parseName(),i=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),o=this.parseFieldsDefinition();return this.node(t,{kind:gt.Kind.OBJECT_TYPE_DEFINITION,description:n,name:r,interfaces:i,directives:s,fields:o})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(Ae.TokenKind.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(Ae.TokenKind.BRACE_L,this.parseFieldDefinition,Ae.TokenKind.BRACE_R)}parseFieldDefinition(){let t=this._lexer.token,n=this.parseDescription(),r=this.parseName(),i=this.parseArgumentDefs();this.expectToken(Ae.TokenKind.COLON);let s=this.parseTypeReference(),o=this.parseConstDirectives();return this.node(t,{kind:gt.Kind.FIELD_DEFINITION,description:n,name:r,arguments:i,type:s,directives:o})}parseArgumentDefs(){return this.optionalMany(Ae.TokenKind.PAREN_L,this.parseInputValueDef,Ae.TokenKind.PAREN_R)}parseInputValueDef(){let t=this._lexer.token,n=this.parseDescription(),r=this.parseName();this.expectToken(Ae.TokenKind.COLON);let i=this.parseTypeReference(),s;this.expectOptionalToken(Ae.TokenKind.EQUALS)&&(s=this.parseConstValueLiteral());let o=this.parseConstDirectives();return this.node(t,{kind:gt.Kind.INPUT_VALUE_DEFINITION,description:n,name:r,type:i,defaultValue:s,directives:o})}parseInterfaceTypeDefinition(){let t=this._lexer.token,n=this.parseDescription();this.expectKeyword("interface");let r=this.parseName(),i=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),o=this.parseFieldsDefinition();return this.node(t,{kind:gt.Kind.INTERFACE_TYPE_DEFINITION,description:n,name:r,interfaces:i,directives:s,fields:o})}parseUnionTypeDefinition(){let t=this._lexer.token,n=this.parseDescription();this.expectKeyword("union");let r=this.parseName(),i=this.parseConstDirectives(),s=this.parseUnionMemberTypes();return this.node(t,{kind:gt.Kind.UNION_TYPE_DEFINITION,description:n,name:r,directives:i,types:s})}parseUnionMemberTypes(){return this.expectOptionalToken(Ae.TokenKind.EQUALS)?this.delimitedMany(Ae.TokenKind.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){let t=this._lexer.token,n=this.parseDescription();this.expectKeyword("enum");let r=this.parseName(),i=this.parseConstDirectives(),s=this.parseEnumValuesDefinition();return this.node(t,{kind:gt.Kind.ENUM_TYPE_DEFINITION,description:n,name:r,directives:i,values:s})}parseEnumValuesDefinition(){return this.optionalMany(Ae.TokenKind.BRACE_L,this.parseEnumValueDefinition,Ae.TokenKind.BRACE_R)}parseEnumValueDefinition(){let t=this._lexer.token,n=this.parseDescription(),r=this.parseEnumValueName(),i=this.parseConstDirectives();return this.node(t,{kind:gt.Kind.ENUM_VALUE_DEFINITION,description:n,name:r,directives:i})}parseEnumValueName(){if(this._lexer.token.value==="true"||this._lexer.token.value==="false"||this._lexer.token.value==="null")throw(0,Dl.syntaxError)(this._lexer.source,this._lexer.token.start,`${yE(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){let t=this._lexer.token,n=this.parseDescription();this.expectKeyword("input");let r=this.parseName(),i=this.parseConstDirectives(),s=this.parseInputFieldsDefinition();return this.node(t,{kind:gt.Kind.INPUT_OBJECT_TYPE_DEFINITION,description:n,name:r,directives:i,fields:s})}parseInputFieldsDefinition(){return this.optionalMany(Ae.TokenKind.BRACE_L,this.parseInputValueDef,Ae.TokenKind.BRACE_R)}parseTypeSystemExtension(){let t=this._lexer.lookahead();if(t.kind===Ae.TokenKind.NAME)switch(t.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(t)}parseSchemaExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");let n=this.parseConstDirectives(),r=this.optionalMany(Ae.TokenKind.BRACE_L,this.parseOperationTypeDefinition,Ae.TokenKind.BRACE_R);if(n.length===0&&r.length===0)throw this.unexpected();return this.node(t,{kind:gt.Kind.SCHEMA_EXTENSION,directives:n,operationTypes:r})}parseScalarTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");let n=this.parseName(),r=this.parseConstDirectives();if(r.length===0)throw this.unexpected();return this.node(t,{kind:gt.Kind.SCALAR_TYPE_EXTENSION,name:n,directives:r})}parseObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");let n=this.parseName(),r=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(r.length===0&&i.length===0&&s.length===0)throw this.unexpected();return this.node(t,{kind:gt.Kind.OBJECT_TYPE_EXTENSION,name:n,interfaces:r,directives:i,fields:s})}parseInterfaceTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");let n=this.parseName(),r=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(r.length===0&&i.length===0&&s.length===0)throw this.unexpected();return this.node(t,{kind:gt.Kind.INTERFACE_TYPE_EXTENSION,name:n,interfaces:r,directives:i,fields:s})}parseUnionTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");let n=this.parseName(),r=this.parseConstDirectives(),i=this.parseUnionMemberTypes();if(r.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:gt.Kind.UNION_TYPE_EXTENSION,name:n,directives:r,types:i})}parseEnumTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");let n=this.parseName(),r=this.parseConstDirectives(),i=this.parseEnumValuesDefinition();if(r.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:gt.Kind.ENUM_TYPE_EXTENSION,name:n,directives:r,values:i})}parseInputObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");let n=this.parseName(),r=this.parseConstDirectives(),i=this.parseInputFieldsDefinition();if(r.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:gt.Kind.INPUT_OBJECT_TYPE_EXTENSION,name:n,directives:r,fields:i})}parseDirectiveDefinition(){let t=this._lexer.token,n=this.parseDescription();this.expectKeyword("directive"),this.expectToken(Ae.TokenKind.AT);let r=this.parseName(),i=this.parseArgumentDefs(),s=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");let o=this.parseDirectiveLocations();return this.node(t,{kind:gt.Kind.DIRECTIVE_DEFINITION,description:n,name:r,arguments:i,repeatable:s,locations:o})}parseDirectiveLocations(){return this.delimitedMany(Ae.TokenKind.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){let t=this._lexer.token,n=this.parseName();if(Object.prototype.hasOwnProperty.call(Kte.DirectiveLocation,n.value))return n;throw this.unexpected(t)}node(t,n){return this._options.noLocation!==!0&&(n.loc=new wh.Location(t,this._lexer.lastToken,this._lexer.source)),n}peek(t){return this._lexer.token.kind===t}expectToken(t){let n=this._lexer.token;if(n.kind===t)return this.advanceLexer(),n;throw(0,Dl.syntaxError)(this._lexer.source,n.start,`Expected ${iB(t)}, found ${yE(n)}.`)}expectOptionalToken(t){return this._lexer.token.kind===t?(this.advanceLexer(),!0):!1}expectKeyword(t){let n=this._lexer.token;if(n.kind===Ae.TokenKind.NAME&&n.value===t)this.advanceLexer();else throw(0,Dl.syntaxError)(this._lexer.source,n.start,`Expected "${t}", found ${yE(n)}.`)}expectOptionalKeyword(t){let n=this._lexer.token;return n.kind===Ae.TokenKind.NAME&&n.value===t?(this.advanceLexer(),!0):!1}unexpected(t){let n=t!=null?t:this._lexer.token;return(0,Dl.syntaxError)(this._lexer.source,n.start,`Unexpected ${yE(n)}.`)}any(t,n,r){this.expectToken(t);let i=[];for(;!this.expectOptionalToken(r);)i.push(n.call(this));return i}optionalMany(t,n,r){if(this.expectOptionalToken(t)){let i=[];do i.push(n.call(this));while(!this.expectOptionalToken(r));return i}return[]}many(t,n,r){this.expectToken(t);let i=[];do i.push(n.call(this));while(!this.expectOptionalToken(r));return i}delimitedMany(t,n){this.expectOptionalToken(t);let r=[];do r.push(n.call(this));while(this.expectOptionalToken(t));return r}advanceLexer(){let{maxTokens:t}=this._options,n=this._lexer.advance();if(t!==void 0&&n.kind!==Ae.TokenKind.EOF&&(++this._tokenCounter,this._tokenCounter>t))throw(0,Dl.syntaxError)(this._lexer.source,n.start,`Document contains more that ${t} tokens. Parsing aborted.`)}};Ic.Parser=Al;function yE(e){let t=e.value;return iB(e.kind)+(t!=null?` "${t}"`:"")}function iB(e){return(0,rB.isPunctuatorTokenKind)(e)?`"${e}"`:e}});var sB=V(pD=>{"use strict";m();T();h();Object.defineProperty(pD,"__esModule",{value:!0});pD.memoize3=zte;function zte(e){let t;return function(r,i,s){t===void 0&&(t=new WeakMap);let o=t.get(r);o===void 0&&(o=new WeakMap,t.set(r,o));let u=o.get(i);u===void 0&&(u=new WeakMap,o.set(i,u));let l=u.get(s);return l===void 0&&(l=e(r,i,s),u.set(s,l)),l}}});var oB=V(fD=>{"use strict";m();T();h();Object.defineProperty(fD,"__esModule",{value:!0});fD.promiseForObject=Hte;function Hte(e){return Promise.all(Object.values(e)).then(t=>{let n=Object.create(null);for(let[r,i]of Object.keys(e).entries())n[i]=t[r];return n})}});var aB=V(mD=>{"use strict";m();T();h();Object.defineProperty(mD,"__esModule",{value:!0});mD.promiseReduce=Xte;var Wte=dE();function Xte(e,t,n){let r=n;for(let i of e)r=(0,Wte.isPromise)(r)?r.then(s=>t(s,i)):t(r,i);return r}});var uB=V(TD=>{"use strict";m();T();h();Object.defineProperty(TD,"__esModule",{value:!0});TD.toError=ene;var Zte=En();function ene(e){return e instanceof Error?e:new hD(e)}var hD=class extends Error{constructor(t){super("Unexpected error value: "+(0,Zte.inspect)(t)),this.name="NonErrorThrown",this.thrownValue=t}}});var NE=V(yD=>{"use strict";m();T();h();Object.defineProperty(yD,"__esModule",{value:!0});yD.locatedError=rne;var tne=uB(),nne=at();function rne(e,t,n){var r;let i=(0,tne.toError)(e);return ine(i)?i:new nne.GraphQLError(i.message,{nodes:(r=i.nodes)!==null&&r!==void 0?r:t,source:i.source,positions:i.positions,path:n,originalError:i})}function ine(e){return Array.isArray(e.path)}});var Ph=V(Ms=>{"use strict";m();T();h();Object.defineProperty(Ms,"__esModule",{value:!0});Ms.assertValidExecutionArguments=TB;Ms.buildExecutionContext=yB;Ms.buildResolveInfo=EB;Ms.defaultTypeResolver=Ms.defaultFieldResolver=void 0;Ms.execute=hB;Ms.executeSync=dne;Ms.getFieldDef=IB;var ED=Oi(),Rl=En(),sne=ci(),one=KN(),vD=$o(),No=dE(),ane=sB(),Fl=Th(),cB=oB(),une=aB(),Us=at(),gE=NE(),ND=qo(),lB=en(),vc=tn(),Np=xs(),cne=fh(),fB=sE(),mB=up(),lne=(0,ane.memoize3)((e,t,n)=>(0,fB.collectSubfields)(e.schema,e.fragments,e.variableValues,t,n));function hB(e){arguments.length<2||(0,ED.devAssert)(!1,"graphql@16 dropped long-deprecated support for positional arguments, please pass an object instead.");let{schema:t,document:n,variableValues:r,rootValue:i}=e;TB(t,n,r);let s=yB(e);if(!("schema"in s))return{errors:s};try{let{operation:o}=s,u=pne(s,o,i);return(0,No.isPromise)(u)?u.then(l=>EE(l,s.errors),l=>(s.errors.push(l),EE(null,s.errors))):EE(u,s.errors)}catch(o){return s.errors.push(o),EE(null,s.errors)}}function dne(e){let t=hB(e);if((0,No.isPromise)(t))throw new Error("GraphQL execution failed to complete synchronously.");return t}function EE(e,t){return t.length===0?{data:e}:{errors:t,data:e}}function TB(e,t,n){t||(0,ED.devAssert)(!1,"Must provide document."),(0,cne.assertValidSchema)(e),n==null||(0,vD.isObjectLike)(n)||(0,ED.devAssert)(!1,"Variables must be provided as an Object where each property is a variable value. Perhaps look to see if an unparsed JSON string was provided.")}function yB(e){var t,n;let{schema:r,document:i,rootValue:s,contextValue:o,variableValues:u,operationName:l,fieldResolver:d,typeResolver:p,subscribeFieldResolver:y}=e,N,I=Object.create(null);for(let j of i.definitions)switch(j.kind){case lB.Kind.OPERATION_DEFINITION:if(l==null){if(N!==void 0)return[new Us.GraphQLError("Must provide operation name if query contains multiple operations.")];N=j}else((t=j.name)===null||t===void 0?void 0:t.value)===l&&(N=j);break;case lB.Kind.FRAGMENT_DEFINITION:I[j.name.value]=j;break;default:}if(!N)return l!=null?[new Us.GraphQLError(`Unknown operation named "${l}".`)]:[new Us.GraphQLError("Must provide an operation.")];let b=(n=N.variableDefinitions)!==null&&n!==void 0?n:[],C=(0,mB.getVariableValues)(r,b,u!=null?u:{},{maxErrors:50});return C.errors?C.errors:{schema:r,fragments:I,rootValue:s,contextValue:o,operation:N,variableValues:C.coerced,fieldResolver:d!=null?d:ID,typeResolver:p!=null?p:gB,subscribeFieldResolver:y!=null?y:ID,errors:[]}}function pne(e,t,n){let r=e.schema.getRootType(t.operation);if(r==null)throw new Us.GraphQLError(`Schema is not configured to execute ${t.operation} operation.`,{nodes:t});let i=(0,fB.collectFields)(e.schema,e.fragments,e.variableValues,r,t.selectionSet),s=void 0;switch(t.operation){case ND.OperationTypeNode.QUERY:return IE(e,r,n,s,i);case ND.OperationTypeNode.MUTATION:return fne(e,r,n,s,i);case ND.OperationTypeNode.SUBSCRIPTION:return IE(e,r,n,s,i)}}function fne(e,t,n,r,i){return(0,une.promiseReduce)(i.entries(),(s,[o,u])=>{let l=(0,Fl.addPath)(r,o,t.name),d=NB(e,t,n,u,l);return d===void 0?s:(0,No.isPromise)(d)?d.then(p=>(s[o]=p,s)):(s[o]=d,s)},Object.create(null))}function IE(e,t,n,r,i){let s=Object.create(null),o=!1;try{for(let[u,l]of i.entries()){let d=(0,Fl.addPath)(r,u,t.name),p=NB(e,t,n,l,d);p!==void 0&&(s[u]=p,(0,No.isPromise)(p)&&(o=!0))}}catch(u){if(o)return(0,cB.promiseForObject)(s).finally(()=>{throw u});throw u}return o?(0,cB.promiseForObject)(s):s}function NB(e,t,n,r,i){var s;let o=IB(e.schema,t,r[0]);if(!o)return;let u=o.type,l=(s=o.resolve)!==null&&s!==void 0?s:e.fieldResolver,d=EB(e,o,r,t,i);try{let p=(0,mB.getArgumentValues)(o,r[0],e.variableValues),y=e.contextValue,N=l(n,p,y,d),I;return(0,No.isPromise)(N)?I=N.then(b=>Lh(e,u,r,d,i,b)):I=Lh(e,u,r,d,i,N),(0,No.isPromise)(I)?I.then(void 0,b=>{let C=(0,gE.locatedError)(b,r,(0,Fl.pathToArray)(i));return vE(C,u,e)}):I}catch(p){let y=(0,gE.locatedError)(p,r,(0,Fl.pathToArray)(i));return vE(y,u,e)}}function EB(e,t,n,r,i){return{fieldName:t.name,fieldNodes:n,returnType:t.type,parentType:r,path:i,schema:e.schema,fragments:e.fragments,rootValue:e.rootValue,operation:e.operation,variableValues:e.variableValues}}function vE(e,t,n){if((0,vc.isNonNullType)(t))throw e;return n.errors.push(e),null}function Lh(e,t,n,r,i,s){if(s instanceof Error)throw s;if((0,vc.isNonNullType)(t)){let o=Lh(e,t.ofType,n,r,i,s);if(o===null)throw new Error(`Cannot return null for non-nullable field ${r.parentType.name}.${r.fieldName}.`);return o}if(s==null)return null;if((0,vc.isListType)(t))return mne(e,t,n,r,i,s);if((0,vc.isLeafType)(t))return hne(t,s);if((0,vc.isAbstractType)(t))return Tne(e,t,n,r,i,s);if((0,vc.isObjectType)(t))return gD(e,t,n,r,i,s);(0,sne.invariant)(!1,"Cannot complete value of unexpected output type: "+(0,Rl.inspect)(t))}function mne(e,t,n,r,i,s){if(!(0,one.isIterableObject)(s))throw new Us.GraphQLError(`Expected Iterable, but did not find one for field "${r.parentType.name}.${r.fieldName}".`);let o=t.ofType,u=!1,l=Array.from(s,(d,p)=>{let y=(0,Fl.addPath)(i,p,void 0);try{let N;return(0,No.isPromise)(d)?N=d.then(I=>Lh(e,o,n,r,y,I)):N=Lh(e,o,n,r,y,d),(0,No.isPromise)(N)?(u=!0,N.then(void 0,I=>{let b=(0,gE.locatedError)(I,n,(0,Fl.pathToArray)(y));return vE(b,o,e)})):N}catch(N){let I=(0,gE.locatedError)(N,n,(0,Fl.pathToArray)(y));return vE(I,o,e)}});return u?Promise.all(l):l}function hne(e,t){let n=e.serialize(t);if(n==null)throw new Error(`Expected \`${(0,Rl.inspect)(e)}.serialize(${(0,Rl.inspect)(t)})\` to return non-nullable value, returned: ${(0,Rl.inspect)(n)}`);return n}function Tne(e,t,n,r,i,s){var o;let u=(o=t.resolveType)!==null&&o!==void 0?o:e.typeResolver,l=e.contextValue,d=u(s,l,r,t);return(0,No.isPromise)(d)?d.then(p=>gD(e,dB(p,e,t,n,r,s),n,r,i,s)):gD(e,dB(d,e,t,n,r,s),n,r,i,s)}function dB(e,t,n,r,i,s){if(e==null)throw new Us.GraphQLError(`Abstract type "${n.name}" must resolve to an Object type at runtime for field "${i.parentType.name}.${i.fieldName}". Either the "${n.name}" type should provide a "resolveType" function or each possible type should provide an "isTypeOf" function.`,r);if((0,vc.isObjectType)(e))throw new Us.GraphQLError("Support for returning GraphQLObjectType from resolveType was removed in graphql-js@16.0.0 please return type name instead.");if(typeof e!="string")throw new Us.GraphQLError(`Abstract type "${n.name}" must resolve to an Object type at runtime for field "${i.parentType.name}.${i.fieldName}" with value ${(0,Rl.inspect)(s)}, received "${(0,Rl.inspect)(e)}".`);let o=t.schema.getType(e);if(o==null)throw new Us.GraphQLError(`Abstract type "${n.name}" was resolved to a type "${e}" that does not exist inside the schema.`,{nodes:r});if(!(0,vc.isObjectType)(o))throw new Us.GraphQLError(`Abstract type "${n.name}" was resolved to a non-object type "${e}".`,{nodes:r});if(!t.schema.isSubType(n,o))throw new Us.GraphQLError(`Runtime Object type "${o.name}" is not a possible type for "${n.name}".`,{nodes:r});return o}function gD(e,t,n,r,i,s){let o=lne(e,t,n);if(t.isTypeOf){let u=t.isTypeOf(s,e.contextValue,r);if((0,No.isPromise)(u))return u.then(l=>{if(!l)throw pB(t,s,n);return IE(e,t,s,i,o)});if(!u)throw pB(t,s,n)}return IE(e,t,s,i,o)}function pB(e,t,n){return new Us.GraphQLError(`Expected value of type "${e.name}" but got: ${(0,Rl.inspect)(t)}.`,{nodes:n})}var gB=function(e,t,n,r){if((0,vD.isObjectLike)(e)&&typeof e.__typename=="string")return e.__typename;let i=n.schema.getPossibleTypes(r),s=[];for(let o=0;o{for(let u=0;u{"use strict";m();T();h();Object.defineProperty(_E,"__esModule",{value:!0});_E.graphql=_ne;_E.graphqlSync=bne;var yne=Oi(),Nne=dE(),Ene=yp(),gne=fh(),Ine=lp(),vne=Ph();function _ne(e){return new Promise(t=>t(vB(e)))}function bne(e){let t=vB(e);if((0,Nne.isPromise)(t))throw new Error("GraphQL execution failed to complete synchronously.");return t}function vB(e){arguments.length<2||(0,yne.devAssert)(!1,"graphql@16 dropped long-deprecated support for positional arguments, please pass an object instead.");let{schema:t,source:n,rootValue:r,contextValue:i,variableValues:s,operationName:o,fieldResolver:u,typeResolver:l}=e,d=(0,gne.validateSchema)(t);if(d.length>0)return{errors:d};let p;try{p=(0,Ene.parse)(n)}catch(N){return{errors:[N]}}let y=(0,Ine.validate)(t,p);return y.length>0?{errors:y}:(0,vne.execute)({schema:t,document:p,rootValue:r,contextValue:i,variableValues:s,operationName:o,fieldResolver:u,typeResolver:l})}});var SB=V(be=>{"use strict";m();T();h();Object.defineProperty(be,"__esModule",{value:!0});Object.defineProperty(be,"DEFAULT_DEPRECATION_REASON",{enumerable:!0,get:function(){return Eo.DEFAULT_DEPRECATION_REASON}});Object.defineProperty(be,"GRAPHQL_MAX_INT",{enumerable:!0,get:function(){return qa.GRAPHQL_MAX_INT}});Object.defineProperty(be,"GRAPHQL_MIN_INT",{enumerable:!0,get:function(){return qa.GRAPHQL_MIN_INT}});Object.defineProperty(be,"GraphQLBoolean",{enumerable:!0,get:function(){return qa.GraphQLBoolean}});Object.defineProperty(be,"GraphQLDeprecatedDirective",{enumerable:!0,get:function(){return Eo.GraphQLDeprecatedDirective}});Object.defineProperty(be,"GraphQLDirective",{enumerable:!0,get:function(){return Eo.GraphQLDirective}});Object.defineProperty(be,"GraphQLEnumType",{enumerable:!0,get:function(){return Tt.GraphQLEnumType}});Object.defineProperty(be,"GraphQLFloat",{enumerable:!0,get:function(){return qa.GraphQLFloat}});Object.defineProperty(be,"GraphQLID",{enumerable:!0,get:function(){return qa.GraphQLID}});Object.defineProperty(be,"GraphQLIncludeDirective",{enumerable:!0,get:function(){return Eo.GraphQLIncludeDirective}});Object.defineProperty(be,"GraphQLInputObjectType",{enumerable:!0,get:function(){return Tt.GraphQLInputObjectType}});Object.defineProperty(be,"GraphQLInt",{enumerable:!0,get:function(){return qa.GraphQLInt}});Object.defineProperty(be,"GraphQLInterfaceType",{enumerable:!0,get:function(){return Tt.GraphQLInterfaceType}});Object.defineProperty(be,"GraphQLList",{enumerable:!0,get:function(){return Tt.GraphQLList}});Object.defineProperty(be,"GraphQLNonNull",{enumerable:!0,get:function(){return Tt.GraphQLNonNull}});Object.defineProperty(be,"GraphQLObjectType",{enumerable:!0,get:function(){return Tt.GraphQLObjectType}});Object.defineProperty(be,"GraphQLOneOfDirective",{enumerable:!0,get:function(){return Eo.GraphQLOneOfDirective}});Object.defineProperty(be,"GraphQLScalarType",{enumerable:!0,get:function(){return Tt.GraphQLScalarType}});Object.defineProperty(be,"GraphQLSchema",{enumerable:!0,get:function(){return _D.GraphQLSchema}});Object.defineProperty(be,"GraphQLSkipDirective",{enumerable:!0,get:function(){return Eo.GraphQLSkipDirective}});Object.defineProperty(be,"GraphQLSpecifiedByDirective",{enumerable:!0,get:function(){return Eo.GraphQLSpecifiedByDirective}});Object.defineProperty(be,"GraphQLString",{enumerable:!0,get:function(){return qa.GraphQLString}});Object.defineProperty(be,"GraphQLUnionType",{enumerable:!0,get:function(){return Tt.GraphQLUnionType}});Object.defineProperty(be,"SchemaMetaFieldDef",{enumerable:!0,get:function(){return qi.SchemaMetaFieldDef}});Object.defineProperty(be,"TypeKind",{enumerable:!0,get:function(){return qi.TypeKind}});Object.defineProperty(be,"TypeMetaFieldDef",{enumerable:!0,get:function(){return qi.TypeMetaFieldDef}});Object.defineProperty(be,"TypeNameMetaFieldDef",{enumerable:!0,get:function(){return qi.TypeNameMetaFieldDef}});Object.defineProperty(be,"__Directive",{enumerable:!0,get:function(){return qi.__Directive}});Object.defineProperty(be,"__DirectiveLocation",{enumerable:!0,get:function(){return qi.__DirectiveLocation}});Object.defineProperty(be,"__EnumValue",{enumerable:!0,get:function(){return qi.__EnumValue}});Object.defineProperty(be,"__Field",{enumerable:!0,get:function(){return qi.__Field}});Object.defineProperty(be,"__InputValue",{enumerable:!0,get:function(){return qi.__InputValue}});Object.defineProperty(be,"__Schema",{enumerable:!0,get:function(){return qi.__Schema}});Object.defineProperty(be,"__Type",{enumerable:!0,get:function(){return qi.__Type}});Object.defineProperty(be,"__TypeKind",{enumerable:!0,get:function(){return qi.__TypeKind}});Object.defineProperty(be,"assertAbstractType",{enumerable:!0,get:function(){return Tt.assertAbstractType}});Object.defineProperty(be,"assertCompositeType",{enumerable:!0,get:function(){return Tt.assertCompositeType}});Object.defineProperty(be,"assertDirective",{enumerable:!0,get:function(){return Eo.assertDirective}});Object.defineProperty(be,"assertEnumType",{enumerable:!0,get:function(){return Tt.assertEnumType}});Object.defineProperty(be,"assertEnumValueName",{enumerable:!0,get:function(){return OB.assertEnumValueName}});Object.defineProperty(be,"assertInputObjectType",{enumerable:!0,get:function(){return Tt.assertInputObjectType}});Object.defineProperty(be,"assertInputType",{enumerable:!0,get:function(){return Tt.assertInputType}});Object.defineProperty(be,"assertInterfaceType",{enumerable:!0,get:function(){return Tt.assertInterfaceType}});Object.defineProperty(be,"assertLeafType",{enumerable:!0,get:function(){return Tt.assertLeafType}});Object.defineProperty(be,"assertListType",{enumerable:!0,get:function(){return Tt.assertListType}});Object.defineProperty(be,"assertName",{enumerable:!0,get:function(){return OB.assertName}});Object.defineProperty(be,"assertNamedType",{enumerable:!0,get:function(){return Tt.assertNamedType}});Object.defineProperty(be,"assertNonNullType",{enumerable:!0,get:function(){return Tt.assertNonNullType}});Object.defineProperty(be,"assertNullableType",{enumerable:!0,get:function(){return Tt.assertNullableType}});Object.defineProperty(be,"assertObjectType",{enumerable:!0,get:function(){return Tt.assertObjectType}});Object.defineProperty(be,"assertOutputType",{enumerable:!0,get:function(){return Tt.assertOutputType}});Object.defineProperty(be,"assertScalarType",{enumerable:!0,get:function(){return Tt.assertScalarType}});Object.defineProperty(be,"assertSchema",{enumerable:!0,get:function(){return _D.assertSchema}});Object.defineProperty(be,"assertType",{enumerable:!0,get:function(){return Tt.assertType}});Object.defineProperty(be,"assertUnionType",{enumerable:!0,get:function(){return Tt.assertUnionType}});Object.defineProperty(be,"assertValidSchema",{enumerable:!0,get:function(){return bB.assertValidSchema}});Object.defineProperty(be,"assertWrappingType",{enumerable:!0,get:function(){return Tt.assertWrappingType}});Object.defineProperty(be,"getNamedType",{enumerable:!0,get:function(){return Tt.getNamedType}});Object.defineProperty(be,"getNullableType",{enumerable:!0,get:function(){return Tt.getNullableType}});Object.defineProperty(be,"introspectionTypes",{enumerable:!0,get:function(){return qi.introspectionTypes}});Object.defineProperty(be,"isAbstractType",{enumerable:!0,get:function(){return Tt.isAbstractType}});Object.defineProperty(be,"isCompositeType",{enumerable:!0,get:function(){return Tt.isCompositeType}});Object.defineProperty(be,"isDirective",{enumerable:!0,get:function(){return Eo.isDirective}});Object.defineProperty(be,"isEnumType",{enumerable:!0,get:function(){return Tt.isEnumType}});Object.defineProperty(be,"isInputObjectType",{enumerable:!0,get:function(){return Tt.isInputObjectType}});Object.defineProperty(be,"isInputType",{enumerable:!0,get:function(){return Tt.isInputType}});Object.defineProperty(be,"isInterfaceType",{enumerable:!0,get:function(){return Tt.isInterfaceType}});Object.defineProperty(be,"isIntrospectionType",{enumerable:!0,get:function(){return qi.isIntrospectionType}});Object.defineProperty(be,"isLeafType",{enumerable:!0,get:function(){return Tt.isLeafType}});Object.defineProperty(be,"isListType",{enumerable:!0,get:function(){return Tt.isListType}});Object.defineProperty(be,"isNamedType",{enumerable:!0,get:function(){return Tt.isNamedType}});Object.defineProperty(be,"isNonNullType",{enumerable:!0,get:function(){return Tt.isNonNullType}});Object.defineProperty(be,"isNullableType",{enumerable:!0,get:function(){return Tt.isNullableType}});Object.defineProperty(be,"isObjectType",{enumerable:!0,get:function(){return Tt.isObjectType}});Object.defineProperty(be,"isOutputType",{enumerable:!0,get:function(){return Tt.isOutputType}});Object.defineProperty(be,"isRequiredArgument",{enumerable:!0,get:function(){return Tt.isRequiredArgument}});Object.defineProperty(be,"isRequiredInputField",{enumerable:!0,get:function(){return Tt.isRequiredInputField}});Object.defineProperty(be,"isScalarType",{enumerable:!0,get:function(){return Tt.isScalarType}});Object.defineProperty(be,"isSchema",{enumerable:!0,get:function(){return _D.isSchema}});Object.defineProperty(be,"isSpecifiedDirective",{enumerable:!0,get:function(){return Eo.isSpecifiedDirective}});Object.defineProperty(be,"isSpecifiedScalarType",{enumerable:!0,get:function(){return qa.isSpecifiedScalarType}});Object.defineProperty(be,"isType",{enumerable:!0,get:function(){return Tt.isType}});Object.defineProperty(be,"isUnionType",{enumerable:!0,get:function(){return Tt.isUnionType}});Object.defineProperty(be,"isWrappingType",{enumerable:!0,get:function(){return Tt.isWrappingType}});Object.defineProperty(be,"resolveObjMapThunk",{enumerable:!0,get:function(){return Tt.resolveObjMapThunk}});Object.defineProperty(be,"resolveReadonlyArrayThunk",{enumerable:!0,get:function(){return Tt.resolveReadonlyArrayThunk}});Object.defineProperty(be,"specifiedDirectives",{enumerable:!0,get:function(){return Eo.specifiedDirectives}});Object.defineProperty(be,"specifiedScalarTypes",{enumerable:!0,get:function(){return qa.specifiedScalarTypes}});Object.defineProperty(be,"validateSchema",{enumerable:!0,get:function(){return bB.validateSchema}});var _D=El(),Tt=tn(),Eo=ji(),qa=Qo(),qi=xs(),bB=fh(),OB=Wm()});var AB=V(an=>{"use strict";m();T();h();Object.defineProperty(an,"__esModule",{value:!0});Object.defineProperty(an,"BREAK",{enumerable:!0,get:function(){return kh.BREAK}});Object.defineProperty(an,"DirectiveLocation",{enumerable:!0,get:function(){return wne.DirectiveLocation}});Object.defineProperty(an,"Kind",{enumerable:!0,get:function(){return Dne.Kind}});Object.defineProperty(an,"Lexer",{enumerable:!0,get:function(){return Rne.Lexer}});Object.defineProperty(an,"Location",{enumerable:!0,get:function(){return bD.Location}});Object.defineProperty(an,"OperationTypeNode",{enumerable:!0,get:function(){return bD.OperationTypeNode}});Object.defineProperty(an,"Source",{enumerable:!0,get:function(){return One.Source}});Object.defineProperty(an,"Token",{enumerable:!0,get:function(){return bD.Token}});Object.defineProperty(an,"TokenKind",{enumerable:!0,get:function(){return Ane.TokenKind}});Object.defineProperty(an,"getEnterLeaveForKind",{enumerable:!0,get:function(){return kh.getEnterLeaveForKind}});Object.defineProperty(an,"getLocation",{enumerable:!0,get:function(){return Sne.getLocation}});Object.defineProperty(an,"getVisitFn",{enumerable:!0,get:function(){return kh.getVisitFn}});Object.defineProperty(an,"isConstValueNode",{enumerable:!0,get:function(){return Ho.isConstValueNode}});Object.defineProperty(an,"isDefinitionNode",{enumerable:!0,get:function(){return Ho.isDefinitionNode}});Object.defineProperty(an,"isExecutableDefinitionNode",{enumerable:!0,get:function(){return Ho.isExecutableDefinitionNode}});Object.defineProperty(an,"isSelectionNode",{enumerable:!0,get:function(){return Ho.isSelectionNode}});Object.defineProperty(an,"isTypeDefinitionNode",{enumerable:!0,get:function(){return Ho.isTypeDefinitionNode}});Object.defineProperty(an,"isTypeExtensionNode",{enumerable:!0,get:function(){return Ho.isTypeExtensionNode}});Object.defineProperty(an,"isTypeNode",{enumerable:!0,get:function(){return Ho.isTypeNode}});Object.defineProperty(an,"isTypeSystemDefinitionNode",{enumerable:!0,get:function(){return Ho.isTypeSystemDefinitionNode}});Object.defineProperty(an,"isTypeSystemExtensionNode",{enumerable:!0,get:function(){return Ho.isTypeSystemExtensionNode}});Object.defineProperty(an,"isValueNode",{enumerable:!0,get:function(){return Ho.isValueNode}});Object.defineProperty(an,"parse",{enumerable:!0,get:function(){return bE.parse}});Object.defineProperty(an,"parseConstValue",{enumerable:!0,get:function(){return bE.parseConstValue}});Object.defineProperty(an,"parseType",{enumerable:!0,get:function(){return bE.parseType}});Object.defineProperty(an,"parseValue",{enumerable:!0,get:function(){return bE.parseValue}});Object.defineProperty(an,"print",{enumerable:!0,get:function(){return Fne.print}});Object.defineProperty(an,"printLocation",{enumerable:!0,get:function(){return DB.printLocation}});Object.defineProperty(an,"printSourceLocation",{enumerable:!0,get:function(){return DB.printSourceLocation}});Object.defineProperty(an,"visit",{enumerable:!0,get:function(){return kh.visit}});Object.defineProperty(an,"visitInParallel",{enumerable:!0,get:function(){return kh.visitInParallel}});var One=TE(),Sne=yN(),DB=pO(),Dne=en(),Ane=Dh(),Rne=mE(),bE=yp(),Fne=ds(),kh=pl(),bD=qo(),Ho=Il(),wne=tp()});var RB=V(OD=>{"use strict";m();T();h();Object.defineProperty(OD,"__esModule",{value:!0});OD.isAsyncIterable=Lne;function Lne(e){return typeof(e==null?void 0:e[Symbol.asyncIterator])=="function"}});var FB=V(SD=>{"use strict";m();T();h();Object.defineProperty(SD,"__esModule",{value:!0});SD.mapAsyncIterator=Pne;function Pne(e,t){let n=e[Symbol.asyncIterator]();function r(s){return yr(this,null,function*(){if(s.done)return s;try{return{value:yield t(s.value),done:!1}}catch(o){if(typeof n.return=="function")try{yield n.return()}catch(u){}throw o}})}return{next(){return yr(this,null,function*(){return r(yield n.next())})},return(){return yr(this,null,function*(){return typeof n.return=="function"?r(yield n.return()):{value:void 0,done:!0}})},throw(s){return yr(this,null,function*(){if(typeof n.throw=="function")return r(yield n.throw(s));throw s})},[Symbol.asyncIterator](){return this}}}});var kB=V(OE=>{"use strict";m();T();h();Object.defineProperty(OE,"__esModule",{value:!0});OE.createSourceEventStream=PB;OE.subscribe=Vne;var kne=Oi(),xne=En(),LB=RB(),wB=Th(),DD=at(),Cne=NE(),Une=sE(),xh=Ph(),Mne=FB(),Bne=up();function Vne(t){return yr(this,arguments,function*(e){arguments.length<2||(0,kne.devAssert)(!1,"graphql@16 dropped long-deprecated support for positional arguments, please pass an object instead.");let n=yield PB(e);if(!(0,LB.isAsyncIterable)(n))return n;let r=i=>(0,xh.execute)(K(k({},e),{rootValue:i}));return(0,Mne.mapAsyncIterator)(n,r)})}function jne(e){let t=e[0];return t&&"document"in t?t:{schema:t,document:e[1],rootValue:e[2],contextValue:e[3],variableValues:e[4],operationName:e[5],subscribeFieldResolver:e[6]}}function PB(...e){return yr(this,null,function*(){let t=jne(e),{schema:n,document:r,variableValues:i}=t;(0,xh.assertValidExecutionArguments)(n,r,i);let s=(0,xh.buildExecutionContext)(t);if(!("schema"in s))return{errors:s};try{let o=yield $ne(s);if(!(0,LB.isAsyncIterable)(o))throw new Error(`Subscription field must return Async Iterable. Received: ${(0,xne.inspect)(o)}.`);return o}catch(o){if(o instanceof DD.GraphQLError)return{errors:[o]};throw o}})}function $ne(e){return yr(this,null,function*(){let{schema:t,fragments:n,operation:r,variableValues:i,rootValue:s}=e,o=t.getSubscriptionType();if(o==null)throw new DD.GraphQLError("Schema is not configured to execute subscription operation.",{nodes:r});let u=(0,Une.collectFields)(t,n,i,o,r.selectionSet),[l,d]=[...u.entries()][0],p=(0,xh.getFieldDef)(t,o,d[0]);if(!p){let b=d[0].name.value;throw new DD.GraphQLError(`The subscription field "${b}" is not defined.`,{nodes:d})}let y=(0,wB.addPath)(void 0,l,o.name),N=(0,xh.buildResolveInfo)(e,p,d,o,y);try{var I;let b=(0,Bne.getArgumentValues)(p,d[0],i),C=e.contextValue,Q=yield((I=p.subscribe)!==null&&I!==void 0?I:e.subscribeFieldResolver)(s,b,C,N);if(Q instanceof Error)throw Q;return Q}catch(b){throw(0,Cne.locatedError)(b,d,(0,wB.pathToArray)(y))}})}});var CB=V(Bs=>{"use strict";m();T();h();Object.defineProperty(Bs,"__esModule",{value:!0});Object.defineProperty(Bs,"createSourceEventStream",{enumerable:!0,get:function(){return xB.createSourceEventStream}});Object.defineProperty(Bs,"defaultFieldResolver",{enumerable:!0,get:function(){return SE.defaultFieldResolver}});Object.defineProperty(Bs,"defaultTypeResolver",{enumerable:!0,get:function(){return SE.defaultTypeResolver}});Object.defineProperty(Bs,"execute",{enumerable:!0,get:function(){return SE.execute}});Object.defineProperty(Bs,"executeSync",{enumerable:!0,get:function(){return SE.executeSync}});Object.defineProperty(Bs,"getArgumentValues",{enumerable:!0,get:function(){return AD.getArgumentValues}});Object.defineProperty(Bs,"getDirectiveValues",{enumerable:!0,get:function(){return AD.getDirectiveValues}});Object.defineProperty(Bs,"getVariableValues",{enumerable:!0,get:function(){return AD.getVariableValues}});Object.defineProperty(Bs,"responsePathAsArray",{enumerable:!0,get:function(){return qne.pathToArray}});Object.defineProperty(Bs,"subscribe",{enumerable:!0,get:function(){return xB.subscribe}});var qne=Th(),SE=Ph(),xB=kB(),AD=up()});var UB=V(wD=>{"use strict";m();T();h();Object.defineProperty(wD,"__esModule",{value:!0});wD.NoDeprecatedCustomRule=Kne;var RD=ci(),Ch=at(),FD=tn();function Kne(e){return{Field(t){let n=e.getFieldDef(),r=n==null?void 0:n.deprecationReason;if(n&&r!=null){let i=e.getParentType();i!=null||(0,RD.invariant)(!1),e.reportError(new Ch.GraphQLError(`The field ${i.name}.${n.name} is deprecated. ${r}`,{nodes:t}))}},Argument(t){let n=e.getArgument(),r=n==null?void 0:n.deprecationReason;if(n&&r!=null){let i=e.getDirective();if(i!=null)e.reportError(new Ch.GraphQLError(`Directive "@${i.name}" argument "${n.name}" is deprecated. ${r}`,{nodes:t}));else{let s=e.getParentType(),o=e.getFieldDef();s!=null&&o!=null||(0,RD.invariant)(!1),e.reportError(new Ch.GraphQLError(`Field "${s.name}.${o.name}" argument "${n.name}" is deprecated. ${r}`,{nodes:t}))}}},ObjectField(t){let n=(0,FD.getNamedType)(e.getParentInputType());if((0,FD.isInputObjectType)(n)){let r=n.getFields()[t.name.value],i=r==null?void 0:r.deprecationReason;i!=null&&e.reportError(new Ch.GraphQLError(`The input field ${n.name}.${r.name} is deprecated. ${i}`,{nodes:t}))}},EnumValue(t){let n=e.getEnumValue(),r=n==null?void 0:n.deprecationReason;if(n&&r!=null){let i=(0,FD.getNamedType)(e.getInputType());i!=null||(0,RD.invariant)(!1),e.reportError(new Ch.GraphQLError(`The enum value "${i.name}.${n.name}" is deprecated. ${r}`,{nodes:t}))}}}}});var MB=V(LD=>{"use strict";m();T();h();Object.defineProperty(LD,"__esModule",{value:!0});LD.NoSchemaIntrospectionCustomRule=Jne;var Gne=at(),Qne=tn(),Yne=xs();function Jne(e){return{Field(t){let n=(0,Qne.getNamedType)(e.getType());n&&(0,Yne.isIntrospectionType)(n)&&e.reportError(new Gne.GraphQLError(`GraphQL introspection has been disabled, but the requested query contained the field "${t.name.value}".`,{nodes:t}))}}}});var VB=V(At=>{"use strict";m();T();h();Object.defineProperty(At,"__esModule",{value:!0});Object.defineProperty(At,"ExecutableDefinitionsRule",{enumerable:!0,get:function(){return Wne.ExecutableDefinitionsRule}});Object.defineProperty(At,"FieldsOnCorrectTypeRule",{enumerable:!0,get:function(){return Xne.FieldsOnCorrectTypeRule}});Object.defineProperty(At,"FragmentsOnCompositeTypesRule",{enumerable:!0,get:function(){return Zne.FragmentsOnCompositeTypesRule}});Object.defineProperty(At,"KnownArgumentNamesRule",{enumerable:!0,get:function(){return ere.KnownArgumentNamesRule}});Object.defineProperty(At,"KnownDirectivesRule",{enumerable:!0,get:function(){return tre.KnownDirectivesRule}});Object.defineProperty(At,"KnownFragmentNamesRule",{enumerable:!0,get:function(){return nre.KnownFragmentNamesRule}});Object.defineProperty(At,"KnownTypeNamesRule",{enumerable:!0,get:function(){return rre.KnownTypeNamesRule}});Object.defineProperty(At,"LoneAnonymousOperationRule",{enumerable:!0,get:function(){return ire.LoneAnonymousOperationRule}});Object.defineProperty(At,"LoneSchemaDefinitionRule",{enumerable:!0,get:function(){return bre.LoneSchemaDefinitionRule}});Object.defineProperty(At,"MaxIntrospectionDepthRule",{enumerable:!0,get:function(){return _re.MaxIntrospectionDepthRule}});Object.defineProperty(At,"NoDeprecatedCustomRule",{enumerable:!0,get:function(){return Lre.NoDeprecatedCustomRule}});Object.defineProperty(At,"NoFragmentCyclesRule",{enumerable:!0,get:function(){return sre.NoFragmentCyclesRule}});Object.defineProperty(At,"NoSchemaIntrospectionCustomRule",{enumerable:!0,get:function(){return Pre.NoSchemaIntrospectionCustomRule}});Object.defineProperty(At,"NoUndefinedVariablesRule",{enumerable:!0,get:function(){return ore.NoUndefinedVariablesRule}});Object.defineProperty(At,"NoUnusedFragmentsRule",{enumerable:!0,get:function(){return are.NoUnusedFragmentsRule}});Object.defineProperty(At,"NoUnusedVariablesRule",{enumerable:!0,get:function(){return ure.NoUnusedVariablesRule}});Object.defineProperty(At,"OverlappingFieldsCanBeMergedRule",{enumerable:!0,get:function(){return cre.OverlappingFieldsCanBeMergedRule}});Object.defineProperty(At,"PossibleFragmentSpreadsRule",{enumerable:!0,get:function(){return lre.PossibleFragmentSpreadsRule}});Object.defineProperty(At,"PossibleTypeExtensionsRule",{enumerable:!0,get:function(){return wre.PossibleTypeExtensionsRule}});Object.defineProperty(At,"ProvidedRequiredArgumentsRule",{enumerable:!0,get:function(){return dre.ProvidedRequiredArgumentsRule}});Object.defineProperty(At,"ScalarLeafsRule",{enumerable:!0,get:function(){return pre.ScalarLeafsRule}});Object.defineProperty(At,"SingleFieldSubscriptionsRule",{enumerable:!0,get:function(){return fre.SingleFieldSubscriptionsRule}});Object.defineProperty(At,"UniqueArgumentDefinitionNamesRule",{enumerable:!0,get:function(){return Rre.UniqueArgumentDefinitionNamesRule}});Object.defineProperty(At,"UniqueArgumentNamesRule",{enumerable:!0,get:function(){return mre.UniqueArgumentNamesRule}});Object.defineProperty(At,"UniqueDirectiveNamesRule",{enumerable:!0,get:function(){return Fre.UniqueDirectiveNamesRule}});Object.defineProperty(At,"UniqueDirectivesPerLocationRule",{enumerable:!0,get:function(){return hre.UniqueDirectivesPerLocationRule}});Object.defineProperty(At,"UniqueEnumValueNamesRule",{enumerable:!0,get:function(){return Dre.UniqueEnumValueNamesRule}});Object.defineProperty(At,"UniqueFieldDefinitionNamesRule",{enumerable:!0,get:function(){return Are.UniqueFieldDefinitionNamesRule}});Object.defineProperty(At,"UniqueFragmentNamesRule",{enumerable:!0,get:function(){return Tre.UniqueFragmentNamesRule}});Object.defineProperty(At,"UniqueInputFieldNamesRule",{enumerable:!0,get:function(){return yre.UniqueInputFieldNamesRule}});Object.defineProperty(At,"UniqueOperationNamesRule",{enumerable:!0,get:function(){return Nre.UniqueOperationNamesRule}});Object.defineProperty(At,"UniqueOperationTypesRule",{enumerable:!0,get:function(){return Ore.UniqueOperationTypesRule}});Object.defineProperty(At,"UniqueTypeNamesRule",{enumerable:!0,get:function(){return Sre.UniqueTypeNamesRule}});Object.defineProperty(At,"UniqueVariableNamesRule",{enumerable:!0,get:function(){return Ere.UniqueVariableNamesRule}});Object.defineProperty(At,"ValidationContext",{enumerable:!0,get:function(){return Hne.ValidationContext}});Object.defineProperty(At,"ValuesOfCorrectTypeRule",{enumerable:!0,get:function(){return gre.ValuesOfCorrectTypeRule}});Object.defineProperty(At,"VariablesAreInputTypesRule",{enumerable:!0,get:function(){return Ire.VariablesAreInputTypesRule}});Object.defineProperty(At,"VariablesInAllowedPositionRule",{enumerable:!0,get:function(){return vre.VariablesInAllowedPositionRule}});Object.defineProperty(At,"recommendedRules",{enumerable:!0,get:function(){return BB.recommendedRules}});Object.defineProperty(At,"specifiedRules",{enumerable:!0,get:function(){return BB.specifiedRules}});Object.defineProperty(At,"validate",{enumerable:!0,get:function(){return zne.validate}});var zne=lp(),Hne=W0(),BB=J0(),Wne=dS(),Xne=fS(),Zne=hS(),ere=TS(),tre=gS(),nre=vS(),rre=OS(),ire=DS(),sre=PS(),ore=xS(),are=US(),ure=BS(),cre=zS(),lre=XS(),dre=n0(),pre=i0(),fre=f0(),mre=N0(),hre=_0(),Tre=F0(),yre=L0(),Nre=k0(),Ere=V0(),gre=q0(),Ire=G0(),vre=Y0(),_re=wS(),bre=RS(),Ore=C0(),Sre=M0(),Dre=O0(),Are=A0(),Rre=T0(),Fre=g0(),wre=e0(),Lre=UB(),Pre=MB()});var jB=V(wl=>{"use strict";m();T();h();Object.defineProperty(wl,"__esModule",{value:!0});Object.defineProperty(wl,"GraphQLError",{enumerable:!0,get:function(){return PD.GraphQLError}});Object.defineProperty(wl,"formatError",{enumerable:!0,get:function(){return PD.formatError}});Object.defineProperty(wl,"locatedError",{enumerable:!0,get:function(){return xre.locatedError}});Object.defineProperty(wl,"printError",{enumerable:!0,get:function(){return PD.printError}});Object.defineProperty(wl,"syntaxError",{enumerable:!0,get:function(){return kre.syntaxError}});var PD=at(),kre=pE(),xre=NE()});var xD=V(kD=>{"use strict";m();T();h();Object.defineProperty(kD,"__esModule",{value:!0});kD.getIntrospectionQuery=Cre;function Cre(e){let t=k({descriptions:!0,specifiedByUrl:!1,directiveIsRepeatable:!1,schemaDescription:!1,inputValueDeprecation:!1,oneOf:!1},e),n=t.descriptions?"description":"",r=t.specifiedByUrl?"specifiedByURL":"",i=t.directiveIsRepeatable?"isRepeatable":"",s=t.schemaDescription?n:"";function o(l){return t.inputValueDeprecation?l:""}let u=t.oneOf?"isOneOf":"";return` +`))}function zM(e,t){return`The Field "${e}" returns the unknown named type "${t}".`}function dte(e,t){return new Error(zM(e,t))}function pte(e){return new Error(`Could not find FieldData for Field "${e}" +.This should never happen. Please report this issue on GitHub.`)}function fte(e,t){return new Error(`Expected named type "${e}" to be a composite output type (Object or Interface) but received "${t}". +This should never happen. Please report this issue on GitHub.`)}});var WM=V(HM=>{"use strict";m();T();h();Object.defineProperty(HM,"__esModule",{value:!0})});var $a=V(Di=>{"use strict";m();T();h();Object.defineProperty(Di,"__esModule",{value:!0});Di.getMutableDirectiveDefinitionNode=hte;Di.getMutableEnumNode=Tte;Di.getMutableEnumValueNode=yte;Di.getMutableFieldNode=Nte;Di.getMutableInputObjectNode=Ete;Di.getMutableInputValueNode=gte;Di.getMutableInterfaceNode=Ite;Di.getMutableObjectNode=vte;Di.getMutableObjectExtensionNode=_te;Di.getMutableScalarNode=bte;Di.getMutableTypeNode=iD;Di.getMutableUnionNode=Ote;Di.getTypeNodeNamedTypeName=sD;var Si=(we(),Me(je)),Tp=Vi(),XM=To(),mte=Oh();function hte(e){return{arguments:[],kind:e.kind,locations:[],name:k({},e.name),repeatable:e.repeatable,description:(0,Tp.formatDescription)(e.description)}}function Tte(e){return{kind:Si.Kind.ENUM_TYPE_DEFINITION,name:k({},e)}}function yte(e){return{directives:[],kind:e.kind,name:k({},e.name),description:(0,Tp.formatDescription)(e.description)}}function Nte(e,t,n){return{arguments:[],directives:[],kind:e.kind,name:k({},e.name),type:iD(e.type,t,n),description:(0,Tp.formatDescription)(e.description)}}function Ete(e){return{kind:Si.Kind.INPUT_OBJECT_TYPE_DEFINITION,name:k({},e)}}function gte(e,t,n){return{directives:[],kind:e.kind,name:k({},e.name),type:iD(e.type,t,n),defaultValue:e.defaultValue,description:(0,Tp.formatDescription)(e.description)}}function Ite(e){return{kind:Si.Kind.INTERFACE_TYPE_DEFINITION,name:k({},e)}}function vte(e){return{kind:Si.Kind.OBJECT_TYPE_DEFINITION,name:k({},e)}}function _te(e){let t=e.kind===Si.Kind.OBJECT_TYPE_DEFINITION?e.description:void 0;return{kind:Si.Kind.OBJECT_TYPE_EXTENSION,name:k({},e.name),description:(0,Tp.formatDescription)(t)}}function bte(e){return{kind:Si.Kind.SCALAR_TYPE_DEFINITION,name:k({},e)}}function iD(e,t,n){let r={kind:e.kind},i=r;for(let s=0;s{"use strict";m();T();h();Object.defineProperty(yp,"__esModule",{value:!0});yp.versionInfo=yp.version=void 0;var Ste="16.9.0";yp.version=Ste;var Dte=Object.freeze({major:16,minor:9,patch:0,preReleaseTag:null});yp.versionInfo=Dte});var pE=V(oD=>{"use strict";m();T();h();Object.defineProperty(oD,"__esModule",{value:!0});oD.isPromise=Ate;function Ate(e){return typeof(e==null?void 0:e.then)=="function"}});var fE=V(aD=>{"use strict";m();T();h();Object.defineProperty(aD,"__esModule",{value:!0});aD.syntaxError=Fte;var Rte=ut();function Fte(e,t,n){return new Rte.GraphQLError(`Syntax Error: ${n}`,{source:e,positions:[t]})}});var Ah=V(Dh=>{"use strict";m();T();h();Object.defineProperty(Dh,"__esModule",{value:!0});Dh.TokenKind=void 0;var uD;Dh.TokenKind=uD;(function(e){e.SOF="",e.EOF="",e.BANG="!",e.DOLLAR="$",e.AMP="&",e.PAREN_L="(",e.PAREN_R=")",e.SPREAD="...",e.COLON=":",e.EQUALS="=",e.AT="@",e.BRACKET_L="[",e.BRACKET_R="]",e.BRACE_L="{",e.PIPE="|",e.BRACE_R="}",e.NAME="Name",e.INT="Int",e.FLOAT="Float",e.STRING="String",e.BLOCK_STRING="BlockString",e.COMMENT="Comment"})(uD||(Dh.TokenKind=uD={}))});var hE=V(Fh=>{"use strict";m();T();h();Object.defineProperty(Fh,"__esModule",{value:!0});Fh.Lexer=void 0;Fh.isPunctuatorTokenKind=Lte;var yo=fE(),tB=qo(),wte=Wm(),Dl=ON(),Vt=Ah(),lD=class{constructor(t){let n=new tB.Token(Vt.TokenKind.SOF,0,0,0,0);this.source=t,this.lastToken=n,this.token=n,this.line=1,this.lineStart=0}get[Symbol.toStringTag](){return"Lexer"}advance(){return this.lastToken=this.token,this.token=this.lookahead()}lookahead(){let t=this.token;if(t.kind!==Vt.TokenKind.EOF)do if(t.next)t=t.next;else{let n=Pte(this,t.end);t.next=n,n.prev=t,t=n}while(t.kind===Vt.TokenKind.COMMENT);return t}};Fh.Lexer=lD;function Lte(e){return e===Vt.TokenKind.BANG||e===Vt.TokenKind.DOLLAR||e===Vt.TokenKind.AMP||e===Vt.TokenKind.PAREN_L||e===Vt.TokenKind.PAREN_R||e===Vt.TokenKind.SPREAD||e===Vt.TokenKind.COLON||e===Vt.TokenKind.EQUALS||e===Vt.TokenKind.AT||e===Vt.TokenKind.BRACKET_L||e===Vt.TokenKind.BRACKET_R||e===Vt.TokenKind.BRACE_L||e===Vt.TokenKind.PIPE||e===Vt.TokenKind.BRACE_R}function Np(e){return e>=0&&e<=55295||e>=57344&&e<=1114111}function mE(e,t){return nB(e.charCodeAt(t))&&rB(e.charCodeAt(t+1))}function nB(e){return e>=55296&&e<=56319}function rB(e){return e>=56320&&e<=57343}function Al(e,t){let n=e.source.body.codePointAt(t);if(n===void 0)return Vt.TokenKind.EOF;if(n>=32&&n<=126){let r=String.fromCodePoint(n);return r==='"'?`'"'`:`"${r}"`}return"U+"+n.toString(16).toUpperCase().padStart(4,"0")}function Or(e,t,n,r,i){let s=e.line,o=1+n-e.lineStart;return new tB.Token(t,n,r,s,o,i)}function Pte(e,t){let n=e.source.body,r=n.length,i=t;for(;i=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}function Bte(e,t){let n=e.source.body;switch(n.charCodeAt(t+1)){case 34:return{value:'"',size:2};case 92:return{value:"\\",size:2};case 47:return{value:"/",size:2};case 98:return{value:"\b",size:2};case 102:return{value:"\f",size:2};case 110:return{value:` +`,size:2};case 114:return{value:"\r",size:2};case 116:return{value:" ",size:2}}throw(0,yo.syntaxError)(e.source,t,`Invalid character escape sequence: "${n.slice(t,t+2)}".`)}function Vte(e,t){let n=e.source.body,r=n.length,i=e.lineStart,s=t+3,o=s,u="",l=[];for(;s{"use strict";m();T();h();Object.defineProperty(wh,"__esModule",{value:!0});wh.Source=void 0;wh.isSource=Kte;var dD=Oi(),$te=En(),qte=Ym(),TE=class{constructor(t,n="GraphQL request",r={line:1,column:1}){typeof t=="string"||(0,dD.devAssert)(!1,`Body must be a string. Received: ${(0,$te.inspect)(t)}.`),this.body=t,this.name=n,this.locationOffset=r,this.locationOffset.line>0||(0,dD.devAssert)(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||(0,dD.devAssert)(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}};wh.Source=TE;function Kte(e){return(0,qte.instanceOf)(e,TE)}});var Ep=V(Ic=>{"use strict";m();T();h();Object.defineProperty(Ic,"__esModule",{value:!0});Ic.Parser=void 0;Ic.parse=Qte;Ic.parseConstValue=Jte;Ic.parseType=zte;Ic.parseValue=Yte;var Rl=fE(),Lh=qo(),Gte=rp(),gt=en(),sB=hE(),iB=yE(),De=Ah();function Qte(e,t){return new Fl(e,t).parseDocument()}function Yte(e,t){let n=new Fl(e,t);n.expectToken(De.TokenKind.SOF);let r=n.parseValueLiteral(!1);return n.expectToken(De.TokenKind.EOF),r}function Jte(e,t){let n=new Fl(e,t);n.expectToken(De.TokenKind.SOF);let r=n.parseConstValueLiteral();return n.expectToken(De.TokenKind.EOF),r}function zte(e,t){let n=new Fl(e,t);n.expectToken(De.TokenKind.SOF);let r=n.parseTypeReference();return n.expectToken(De.TokenKind.EOF),r}var Fl=class{constructor(t,n={}){let r=(0,iB.isSource)(t)?t:new iB.Source(t);this._lexer=new sB.Lexer(r),this._options=n,this._tokenCounter=0}parseName(){let t=this.expectToken(De.TokenKind.NAME);return this.node(t,{kind:gt.Kind.NAME,value:t.value})}parseDocument(){return this.node(this._lexer.token,{kind:gt.Kind.DOCUMENT,definitions:this.many(De.TokenKind.SOF,this.parseDefinition,De.TokenKind.EOF)})}parseDefinition(){if(this.peek(De.TokenKind.BRACE_L))return this.parseOperationDefinition();let t=this.peekDescription(),n=t?this._lexer.lookahead():this._lexer.token;if(n.kind===De.TokenKind.NAME){switch(n.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()}if(t)throw(0,Rl.syntaxError)(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(n.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(n)}parseOperationDefinition(){let t=this._lexer.token;if(this.peek(De.TokenKind.BRACE_L))return this.node(t,{kind:gt.Kind.OPERATION_DEFINITION,operation:Lh.OperationTypeNode.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});let n=this.parseOperationType(),r;return this.peek(De.TokenKind.NAME)&&(r=this.parseName()),this.node(t,{kind:gt.Kind.OPERATION_DEFINITION,operation:n,name:r,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){let t=this.expectToken(De.TokenKind.NAME);switch(t.value){case"query":return Lh.OperationTypeNode.QUERY;case"mutation":return Lh.OperationTypeNode.MUTATION;case"subscription":return Lh.OperationTypeNode.SUBSCRIPTION}throw this.unexpected(t)}parseVariableDefinitions(){return this.optionalMany(De.TokenKind.PAREN_L,this.parseVariableDefinition,De.TokenKind.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:gt.Kind.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(De.TokenKind.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(De.TokenKind.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let t=this._lexer.token;return this.expectToken(De.TokenKind.DOLLAR),this.node(t,{kind:gt.Kind.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:gt.Kind.SELECTION_SET,selections:this.many(De.TokenKind.BRACE_L,this.parseSelection,De.TokenKind.BRACE_R)})}parseSelection(){return this.peek(De.TokenKind.SPREAD)?this.parseFragment():this.parseField()}parseField(){let t=this._lexer.token,n=this.parseName(),r,i;return this.expectOptionalToken(De.TokenKind.COLON)?(r=n,i=this.parseName()):i=n,this.node(t,{kind:gt.Kind.FIELD,alias:r,name:i,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(De.TokenKind.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(t){let n=t?this.parseConstArgument:this.parseArgument;return this.optionalMany(De.TokenKind.PAREN_L,n,De.TokenKind.PAREN_R)}parseArgument(t=!1){let n=this._lexer.token,r=this.parseName();return this.expectToken(De.TokenKind.COLON),this.node(n,{kind:gt.Kind.ARGUMENT,name:r,value:this.parseValueLiteral(t)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){let t=this._lexer.token;this.expectToken(De.TokenKind.SPREAD);let n=this.expectOptionalKeyword("on");return!n&&this.peek(De.TokenKind.NAME)?this.node(t,{kind:gt.Kind.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(t,{kind:gt.Kind.INLINE_FRAGMENT,typeCondition:n?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){let t=this._lexer.token;return this.expectKeyword("fragment"),this._options.allowLegacyFragmentVariables===!0?this.node(t,{kind:gt.Kind.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(t,{kind:gt.Kind.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if(this._lexer.token.value==="on")throw this.unexpected();return this.parseName()}parseValueLiteral(t){let n=this._lexer.token;switch(n.kind){case De.TokenKind.BRACKET_L:return this.parseList(t);case De.TokenKind.BRACE_L:return this.parseObject(t);case De.TokenKind.INT:return this.advanceLexer(),this.node(n,{kind:gt.Kind.INT,value:n.value});case De.TokenKind.FLOAT:return this.advanceLexer(),this.node(n,{kind:gt.Kind.FLOAT,value:n.value});case De.TokenKind.STRING:case De.TokenKind.BLOCK_STRING:return this.parseStringLiteral();case De.TokenKind.NAME:switch(this.advanceLexer(),n.value){case"true":return this.node(n,{kind:gt.Kind.BOOLEAN,value:!0});case"false":return this.node(n,{kind:gt.Kind.BOOLEAN,value:!1});case"null":return this.node(n,{kind:gt.Kind.NULL});default:return this.node(n,{kind:gt.Kind.ENUM,value:n.value})}case De.TokenKind.DOLLAR:if(t)if(this.expectToken(De.TokenKind.DOLLAR),this._lexer.token.kind===De.TokenKind.NAME){let r=this._lexer.token.value;throw(0,Rl.syntaxError)(this._lexer.source,n.start,`Unexpected variable "$${r}" in constant value.`)}else throw this.unexpected(n);return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){let t=this._lexer.token;return this.advanceLexer(),this.node(t,{kind:gt.Kind.STRING,value:t.value,block:t.kind===De.TokenKind.BLOCK_STRING})}parseList(t){let n=()=>this.parseValueLiteral(t);return this.node(this._lexer.token,{kind:gt.Kind.LIST,values:this.any(De.TokenKind.BRACKET_L,n,De.TokenKind.BRACKET_R)})}parseObject(t){let n=()=>this.parseObjectField(t);return this.node(this._lexer.token,{kind:gt.Kind.OBJECT,fields:this.any(De.TokenKind.BRACE_L,n,De.TokenKind.BRACE_R)})}parseObjectField(t){let n=this._lexer.token,r=this.parseName();return this.expectToken(De.TokenKind.COLON),this.node(n,{kind:gt.Kind.OBJECT_FIELD,name:r,value:this.parseValueLiteral(t)})}parseDirectives(t){let n=[];for(;this.peek(De.TokenKind.AT);)n.push(this.parseDirective(t));return n}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(t){let n=this._lexer.token;return this.expectToken(De.TokenKind.AT),this.node(n,{kind:gt.Kind.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(t)})}parseTypeReference(){let t=this._lexer.token,n;if(this.expectOptionalToken(De.TokenKind.BRACKET_L)){let r=this.parseTypeReference();this.expectToken(De.TokenKind.BRACKET_R),n=this.node(t,{kind:gt.Kind.LIST_TYPE,type:r})}else n=this.parseNamedType();return this.expectOptionalToken(De.TokenKind.BANG)?this.node(t,{kind:gt.Kind.NON_NULL_TYPE,type:n}):n}parseNamedType(){return this.node(this._lexer.token,{kind:gt.Kind.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(De.TokenKind.STRING)||this.peek(De.TokenKind.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){let t=this._lexer.token,n=this.parseDescription();this.expectKeyword("schema");let r=this.parseConstDirectives(),i=this.many(De.TokenKind.BRACE_L,this.parseOperationTypeDefinition,De.TokenKind.BRACE_R);return this.node(t,{kind:gt.Kind.SCHEMA_DEFINITION,description:n,directives:r,operationTypes:i})}parseOperationTypeDefinition(){let t=this._lexer.token,n=this.parseOperationType();this.expectToken(De.TokenKind.COLON);let r=this.parseNamedType();return this.node(t,{kind:gt.Kind.OPERATION_TYPE_DEFINITION,operation:n,type:r})}parseScalarTypeDefinition(){let t=this._lexer.token,n=this.parseDescription();this.expectKeyword("scalar");let r=this.parseName(),i=this.parseConstDirectives();return this.node(t,{kind:gt.Kind.SCALAR_TYPE_DEFINITION,description:n,name:r,directives:i})}parseObjectTypeDefinition(){let t=this._lexer.token,n=this.parseDescription();this.expectKeyword("type");let r=this.parseName(),i=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),o=this.parseFieldsDefinition();return this.node(t,{kind:gt.Kind.OBJECT_TYPE_DEFINITION,description:n,name:r,interfaces:i,directives:s,fields:o})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(De.TokenKind.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(De.TokenKind.BRACE_L,this.parseFieldDefinition,De.TokenKind.BRACE_R)}parseFieldDefinition(){let t=this._lexer.token,n=this.parseDescription(),r=this.parseName(),i=this.parseArgumentDefs();this.expectToken(De.TokenKind.COLON);let s=this.parseTypeReference(),o=this.parseConstDirectives();return this.node(t,{kind:gt.Kind.FIELD_DEFINITION,description:n,name:r,arguments:i,type:s,directives:o})}parseArgumentDefs(){return this.optionalMany(De.TokenKind.PAREN_L,this.parseInputValueDef,De.TokenKind.PAREN_R)}parseInputValueDef(){let t=this._lexer.token,n=this.parseDescription(),r=this.parseName();this.expectToken(De.TokenKind.COLON);let i=this.parseTypeReference(),s;this.expectOptionalToken(De.TokenKind.EQUALS)&&(s=this.parseConstValueLiteral());let o=this.parseConstDirectives();return this.node(t,{kind:gt.Kind.INPUT_VALUE_DEFINITION,description:n,name:r,type:i,defaultValue:s,directives:o})}parseInterfaceTypeDefinition(){let t=this._lexer.token,n=this.parseDescription();this.expectKeyword("interface");let r=this.parseName(),i=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),o=this.parseFieldsDefinition();return this.node(t,{kind:gt.Kind.INTERFACE_TYPE_DEFINITION,description:n,name:r,interfaces:i,directives:s,fields:o})}parseUnionTypeDefinition(){let t=this._lexer.token,n=this.parseDescription();this.expectKeyword("union");let r=this.parseName(),i=this.parseConstDirectives(),s=this.parseUnionMemberTypes();return this.node(t,{kind:gt.Kind.UNION_TYPE_DEFINITION,description:n,name:r,directives:i,types:s})}parseUnionMemberTypes(){return this.expectOptionalToken(De.TokenKind.EQUALS)?this.delimitedMany(De.TokenKind.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){let t=this._lexer.token,n=this.parseDescription();this.expectKeyword("enum");let r=this.parseName(),i=this.parseConstDirectives(),s=this.parseEnumValuesDefinition();return this.node(t,{kind:gt.Kind.ENUM_TYPE_DEFINITION,description:n,name:r,directives:i,values:s})}parseEnumValuesDefinition(){return this.optionalMany(De.TokenKind.BRACE_L,this.parseEnumValueDefinition,De.TokenKind.BRACE_R)}parseEnumValueDefinition(){let t=this._lexer.token,n=this.parseDescription(),r=this.parseEnumValueName(),i=this.parseConstDirectives();return this.node(t,{kind:gt.Kind.ENUM_VALUE_DEFINITION,description:n,name:r,directives:i})}parseEnumValueName(){if(this._lexer.token.value==="true"||this._lexer.token.value==="false"||this._lexer.token.value==="null")throw(0,Rl.syntaxError)(this._lexer.source,this._lexer.token.start,`${NE(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){let t=this._lexer.token,n=this.parseDescription();this.expectKeyword("input");let r=this.parseName(),i=this.parseConstDirectives(),s=this.parseInputFieldsDefinition();return this.node(t,{kind:gt.Kind.INPUT_OBJECT_TYPE_DEFINITION,description:n,name:r,directives:i,fields:s})}parseInputFieldsDefinition(){return this.optionalMany(De.TokenKind.BRACE_L,this.parseInputValueDef,De.TokenKind.BRACE_R)}parseTypeSystemExtension(){let t=this._lexer.lookahead();if(t.kind===De.TokenKind.NAME)switch(t.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(t)}parseSchemaExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");let n=this.parseConstDirectives(),r=this.optionalMany(De.TokenKind.BRACE_L,this.parseOperationTypeDefinition,De.TokenKind.BRACE_R);if(n.length===0&&r.length===0)throw this.unexpected();return this.node(t,{kind:gt.Kind.SCHEMA_EXTENSION,directives:n,operationTypes:r})}parseScalarTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");let n=this.parseName(),r=this.parseConstDirectives();if(r.length===0)throw this.unexpected();return this.node(t,{kind:gt.Kind.SCALAR_TYPE_EXTENSION,name:n,directives:r})}parseObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");let n=this.parseName(),r=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(r.length===0&&i.length===0&&s.length===0)throw this.unexpected();return this.node(t,{kind:gt.Kind.OBJECT_TYPE_EXTENSION,name:n,interfaces:r,directives:i,fields:s})}parseInterfaceTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");let n=this.parseName(),r=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(r.length===0&&i.length===0&&s.length===0)throw this.unexpected();return this.node(t,{kind:gt.Kind.INTERFACE_TYPE_EXTENSION,name:n,interfaces:r,directives:i,fields:s})}parseUnionTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");let n=this.parseName(),r=this.parseConstDirectives(),i=this.parseUnionMemberTypes();if(r.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:gt.Kind.UNION_TYPE_EXTENSION,name:n,directives:r,types:i})}parseEnumTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");let n=this.parseName(),r=this.parseConstDirectives(),i=this.parseEnumValuesDefinition();if(r.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:gt.Kind.ENUM_TYPE_EXTENSION,name:n,directives:r,values:i})}parseInputObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");let n=this.parseName(),r=this.parseConstDirectives(),i=this.parseInputFieldsDefinition();if(r.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:gt.Kind.INPUT_OBJECT_TYPE_EXTENSION,name:n,directives:r,fields:i})}parseDirectiveDefinition(){let t=this._lexer.token,n=this.parseDescription();this.expectKeyword("directive"),this.expectToken(De.TokenKind.AT);let r=this.parseName(),i=this.parseArgumentDefs(),s=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");let o=this.parseDirectiveLocations();return this.node(t,{kind:gt.Kind.DIRECTIVE_DEFINITION,description:n,name:r,arguments:i,repeatable:s,locations:o})}parseDirectiveLocations(){return this.delimitedMany(De.TokenKind.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){let t=this._lexer.token,n=this.parseName();if(Object.prototype.hasOwnProperty.call(Gte.DirectiveLocation,n.value))return n;throw this.unexpected(t)}node(t,n){return this._options.noLocation!==!0&&(n.loc=new Lh.Location(t,this._lexer.lastToken,this._lexer.source)),n}peek(t){return this._lexer.token.kind===t}expectToken(t){let n=this._lexer.token;if(n.kind===t)return this.advanceLexer(),n;throw(0,Rl.syntaxError)(this._lexer.source,n.start,`Expected ${oB(t)}, found ${NE(n)}.`)}expectOptionalToken(t){return this._lexer.token.kind===t?(this.advanceLexer(),!0):!1}expectKeyword(t){let n=this._lexer.token;if(n.kind===De.TokenKind.NAME&&n.value===t)this.advanceLexer();else throw(0,Rl.syntaxError)(this._lexer.source,n.start,`Expected "${t}", found ${NE(n)}.`)}expectOptionalKeyword(t){let n=this._lexer.token;return n.kind===De.TokenKind.NAME&&n.value===t?(this.advanceLexer(),!0):!1}unexpected(t){let n=t!=null?t:this._lexer.token;return(0,Rl.syntaxError)(this._lexer.source,n.start,`Unexpected ${NE(n)}.`)}any(t,n,r){this.expectToken(t);let i=[];for(;!this.expectOptionalToken(r);)i.push(n.call(this));return i}optionalMany(t,n,r){if(this.expectOptionalToken(t)){let i=[];do i.push(n.call(this));while(!this.expectOptionalToken(r));return i}return[]}many(t,n,r){this.expectToken(t);let i=[];do i.push(n.call(this));while(!this.expectOptionalToken(r));return i}delimitedMany(t,n){this.expectOptionalToken(t);let r=[];do r.push(n.call(this));while(this.expectOptionalToken(t));return r}advanceLexer(){let{maxTokens:t}=this._options,n=this._lexer.advance();if(t!==void 0&&n.kind!==De.TokenKind.EOF&&(++this._tokenCounter,this._tokenCounter>t))throw(0,Rl.syntaxError)(this._lexer.source,n.start,`Document contains more that ${t} tokens. Parsing aborted.`)}};Ic.Parser=Fl;function NE(e){let t=e.value;return oB(e.kind)+(t!=null?` "${t}"`:"")}function oB(e){return(0,sB.isPunctuatorTokenKind)(e)?`"${e}"`:e}});var aB=V(pD=>{"use strict";m();T();h();Object.defineProperty(pD,"__esModule",{value:!0});pD.memoize3=Hte;function Hte(e){let t;return function(r,i,s){t===void 0&&(t=new WeakMap);let o=t.get(r);o===void 0&&(o=new WeakMap,t.set(r,o));let u=o.get(i);u===void 0&&(u=new WeakMap,o.set(i,u));let l=u.get(s);return l===void 0&&(l=e(r,i,s),u.set(s,l)),l}}});var uB=V(fD=>{"use strict";m();T();h();Object.defineProperty(fD,"__esModule",{value:!0});fD.promiseForObject=Wte;function Wte(e){return Promise.all(Object.values(e)).then(t=>{let n=Object.create(null);for(let[r,i]of Object.keys(e).entries())n[i]=t[r];return n})}});var cB=V(mD=>{"use strict";m();T();h();Object.defineProperty(mD,"__esModule",{value:!0});mD.promiseReduce=Zte;var Xte=pE();function Zte(e,t,n){let r=n;for(let i of e)r=(0,Xte.isPromise)(r)?r.then(s=>t(s,i)):t(r,i);return r}});var lB=V(TD=>{"use strict";m();T();h();Object.defineProperty(TD,"__esModule",{value:!0});TD.toError=tne;var ene=En();function tne(e){return e instanceof Error?e:new hD(e)}var hD=class extends Error{constructor(t){super("Unexpected error value: "+(0,ene.inspect)(t)),this.name="NonErrorThrown",this.thrownValue=t}}});var EE=V(yD=>{"use strict";m();T();h();Object.defineProperty(yD,"__esModule",{value:!0});yD.locatedError=ine;var nne=lB(),rne=ut();function ine(e,t,n){var r;let i=(0,nne.toError)(e);return sne(i)?i:new rne.GraphQLError(i.message,{nodes:(r=i.nodes)!==null&&r!==void 0?r:t,source:i.source,positions:i.positions,path:n,originalError:i})}function sne(e){return Array.isArray(e.path)}});var kh=V(Bs=>{"use strict";m();T();h();Object.defineProperty(Bs,"__esModule",{value:!0});Bs.assertValidExecutionArguments=NB;Bs.buildExecutionContext=EB;Bs.buildResolveInfo=IB;Bs.defaultTypeResolver=Bs.defaultFieldResolver=void 0;Bs.execute=yB;Bs.executeSync=pne;Bs.getFieldDef=_B;var ED=Oi(),wl=En(),one=ci(),ane=GN(),vD=$o(),No=pE(),une=aB(),Ll=yh(),dB=uB(),cne=cB(),Ms=ut(),IE=EE(),ND=qo(),pB=en(),vc=tn(),gp=Cs(),lne=mh(),hB=oE(),TB=lp(),dne=(0,une.memoize3)((e,t,n)=>(0,hB.collectSubfields)(e.schema,e.fragments,e.variableValues,t,n));function yB(e){arguments.length<2||(0,ED.devAssert)(!1,"graphql@16 dropped long-deprecated support for positional arguments, please pass an object instead.");let{schema:t,document:n,variableValues:r,rootValue:i}=e;NB(t,n,r);let s=EB(e);if(!("schema"in s))return{errors:s};try{let{operation:o}=s,u=fne(s,o,i);return(0,No.isPromise)(u)?u.then(l=>gE(l,s.errors),l=>(s.errors.push(l),gE(null,s.errors))):gE(u,s.errors)}catch(o){return s.errors.push(o),gE(null,s.errors)}}function pne(e){let t=yB(e);if((0,No.isPromise)(t))throw new Error("GraphQL execution failed to complete synchronously.");return t}function gE(e,t){return t.length===0?{data:e}:{errors:t,data:e}}function NB(e,t,n){t||(0,ED.devAssert)(!1,"Must provide document."),(0,lne.assertValidSchema)(e),n==null||(0,vD.isObjectLike)(n)||(0,ED.devAssert)(!1,"Variables must be provided as an Object where each property is a variable value. Perhaps look to see if an unparsed JSON string was provided.")}function EB(e){var t,n;let{schema:r,document:i,rootValue:s,contextValue:o,variableValues:u,operationName:l,fieldResolver:d,typeResolver:p,subscribeFieldResolver:y}=e,N,I=Object.create(null);for(let j of i.definitions)switch(j.kind){case pB.Kind.OPERATION_DEFINITION:if(l==null){if(N!==void 0)return[new Ms.GraphQLError("Must provide operation name if query contains multiple operations.")];N=j}else((t=j.name)===null||t===void 0?void 0:t.value)===l&&(N=j);break;case pB.Kind.FRAGMENT_DEFINITION:I[j.name.value]=j;break;default:}if(!N)return l!=null?[new Ms.GraphQLError(`Unknown operation named "${l}".`)]:[new Ms.GraphQLError("Must provide an operation.")];let O=(n=N.variableDefinitions)!==null&&n!==void 0?n:[],x=(0,TB.getVariableValues)(r,O,u!=null?u:{},{maxErrors:50});return x.errors?x.errors:{schema:r,fragments:I,rootValue:s,contextValue:o,operation:N,variableValues:x.coerced,fieldResolver:d!=null?d:ID,typeResolver:p!=null?p:vB,subscribeFieldResolver:y!=null?y:ID,errors:[]}}function fne(e,t,n){let r=e.schema.getRootType(t.operation);if(r==null)throw new Ms.GraphQLError(`Schema is not configured to execute ${t.operation} operation.`,{nodes:t});let i=(0,hB.collectFields)(e.schema,e.fragments,e.variableValues,r,t.selectionSet),s=void 0;switch(t.operation){case ND.OperationTypeNode.QUERY:return vE(e,r,n,s,i);case ND.OperationTypeNode.MUTATION:return mne(e,r,n,s,i);case ND.OperationTypeNode.SUBSCRIPTION:return vE(e,r,n,s,i)}}function mne(e,t,n,r,i){return(0,cne.promiseReduce)(i.entries(),(s,[o,u])=>{let l=(0,Ll.addPath)(r,o,t.name),d=gB(e,t,n,u,l);return d===void 0?s:(0,No.isPromise)(d)?d.then(p=>(s[o]=p,s)):(s[o]=d,s)},Object.create(null))}function vE(e,t,n,r,i){let s=Object.create(null),o=!1;try{for(let[u,l]of i.entries()){let d=(0,Ll.addPath)(r,u,t.name),p=gB(e,t,n,l,d);p!==void 0&&(s[u]=p,(0,No.isPromise)(p)&&(o=!0))}}catch(u){if(o)return(0,dB.promiseForObject)(s).finally(()=>{throw u});throw u}return o?(0,dB.promiseForObject)(s):s}function gB(e,t,n,r,i){var s;let o=_B(e.schema,t,r[0]);if(!o)return;let u=o.type,l=(s=o.resolve)!==null&&s!==void 0?s:e.fieldResolver,d=IB(e,o,r,t,i);try{let p=(0,TB.getArgumentValues)(o,r[0],e.variableValues),y=e.contextValue,N=l(n,p,y,d),I;return(0,No.isPromise)(N)?I=N.then(O=>Ph(e,u,r,d,i,O)):I=Ph(e,u,r,d,i,N),(0,No.isPromise)(I)?I.then(void 0,O=>{let x=(0,IE.locatedError)(O,r,(0,Ll.pathToArray)(i));return _E(x,u,e)}):I}catch(p){let y=(0,IE.locatedError)(p,r,(0,Ll.pathToArray)(i));return _E(y,u,e)}}function IB(e,t,n,r,i){return{fieldName:t.name,fieldNodes:n,returnType:t.type,parentType:r,path:i,schema:e.schema,fragments:e.fragments,rootValue:e.rootValue,operation:e.operation,variableValues:e.variableValues}}function _E(e,t,n){if((0,vc.isNonNullType)(t))throw e;return n.errors.push(e),null}function Ph(e,t,n,r,i,s){if(s instanceof Error)throw s;if((0,vc.isNonNullType)(t)){let o=Ph(e,t.ofType,n,r,i,s);if(o===null)throw new Error(`Cannot return null for non-nullable field ${r.parentType.name}.${r.fieldName}.`);return o}if(s==null)return null;if((0,vc.isListType)(t))return hne(e,t,n,r,i,s);if((0,vc.isLeafType)(t))return Tne(t,s);if((0,vc.isAbstractType)(t))return yne(e,t,n,r,i,s);if((0,vc.isObjectType)(t))return gD(e,t,n,r,i,s);(0,one.invariant)(!1,"Cannot complete value of unexpected output type: "+(0,wl.inspect)(t))}function hne(e,t,n,r,i,s){if(!(0,ane.isIterableObject)(s))throw new Ms.GraphQLError(`Expected Iterable, but did not find one for field "${r.parentType.name}.${r.fieldName}".`);let o=t.ofType,u=!1,l=Array.from(s,(d,p)=>{let y=(0,Ll.addPath)(i,p,void 0);try{let N;return(0,No.isPromise)(d)?N=d.then(I=>Ph(e,o,n,r,y,I)):N=Ph(e,o,n,r,y,d),(0,No.isPromise)(N)?(u=!0,N.then(void 0,I=>{let O=(0,IE.locatedError)(I,n,(0,Ll.pathToArray)(y));return _E(O,o,e)})):N}catch(N){let I=(0,IE.locatedError)(N,n,(0,Ll.pathToArray)(y));return _E(I,o,e)}});return u?Promise.all(l):l}function Tne(e,t){let n=e.serialize(t);if(n==null)throw new Error(`Expected \`${(0,wl.inspect)(e)}.serialize(${(0,wl.inspect)(t)})\` to return non-nullable value, returned: ${(0,wl.inspect)(n)}`);return n}function yne(e,t,n,r,i,s){var o;let u=(o=t.resolveType)!==null&&o!==void 0?o:e.typeResolver,l=e.contextValue,d=u(s,l,r,t);return(0,No.isPromise)(d)?d.then(p=>gD(e,fB(p,e,t,n,r,s),n,r,i,s)):gD(e,fB(d,e,t,n,r,s),n,r,i,s)}function fB(e,t,n,r,i,s){if(e==null)throw new Ms.GraphQLError(`Abstract type "${n.name}" must resolve to an Object type at runtime for field "${i.parentType.name}.${i.fieldName}". Either the "${n.name}" type should provide a "resolveType" function or each possible type should provide an "isTypeOf" function.`,r);if((0,vc.isObjectType)(e))throw new Ms.GraphQLError("Support for returning GraphQLObjectType from resolveType was removed in graphql-js@16.0.0 please return type name instead.");if(typeof e!="string")throw new Ms.GraphQLError(`Abstract type "${n.name}" must resolve to an Object type at runtime for field "${i.parentType.name}.${i.fieldName}" with value ${(0,wl.inspect)(s)}, received "${(0,wl.inspect)(e)}".`);let o=t.schema.getType(e);if(o==null)throw new Ms.GraphQLError(`Abstract type "${n.name}" was resolved to a type "${e}" that does not exist inside the schema.`,{nodes:r});if(!(0,vc.isObjectType)(o))throw new Ms.GraphQLError(`Abstract type "${n.name}" was resolved to a non-object type "${e}".`,{nodes:r});if(!t.schema.isSubType(n,o))throw new Ms.GraphQLError(`Runtime Object type "${o.name}" is not a possible type for "${n.name}".`,{nodes:r});return o}function gD(e,t,n,r,i,s){let o=dne(e,t,n);if(t.isTypeOf){let u=t.isTypeOf(s,e.contextValue,r);if((0,No.isPromise)(u))return u.then(l=>{if(!l)throw mB(t,s,n);return vE(e,t,s,i,o)});if(!u)throw mB(t,s,n)}return vE(e,t,s,i,o)}function mB(e,t,n){return new Ms.GraphQLError(`Expected value of type "${e.name}" but got: ${(0,wl.inspect)(t)}.`,{nodes:n})}var vB=function(e,t,n,r){if((0,vD.isObjectLike)(e)&&typeof e.__typename=="string")return e.__typename;let i=n.schema.getPossibleTypes(r),s=[];for(let o=0;o{for(let u=0;u{"use strict";m();T();h();Object.defineProperty(bE,"__esModule",{value:!0});bE.graphql=bne;bE.graphqlSync=One;var Nne=Oi(),Ene=pE(),gne=Ep(),Ine=mh(),vne=pp(),_ne=kh();function bne(e){return new Promise(t=>t(bB(e)))}function One(e){let t=bB(e);if((0,Ene.isPromise)(t))throw new Error("GraphQL execution failed to complete synchronously.");return t}function bB(e){arguments.length<2||(0,Nne.devAssert)(!1,"graphql@16 dropped long-deprecated support for positional arguments, please pass an object instead.");let{schema:t,source:n,rootValue:r,contextValue:i,variableValues:s,operationName:o,fieldResolver:u,typeResolver:l}=e,d=(0,Ine.validateSchema)(t);if(d.length>0)return{errors:d};let p;try{p=(0,gne.parse)(n)}catch(N){return{errors:[N]}}let y=(0,vne.validate)(t,p);return y.length>0?{errors:y}:(0,_ne.execute)({schema:t,document:p,rootValue:r,contextValue:i,variableValues:s,operationName:o,fieldResolver:u,typeResolver:l})}});var AB=V(be=>{"use strict";m();T();h();Object.defineProperty(be,"__esModule",{value:!0});Object.defineProperty(be,"DEFAULT_DEPRECATION_REASON",{enumerable:!0,get:function(){return Eo.DEFAULT_DEPRECATION_REASON}});Object.defineProperty(be,"GRAPHQL_MAX_INT",{enumerable:!0,get:function(){return qa.GRAPHQL_MAX_INT}});Object.defineProperty(be,"GRAPHQL_MIN_INT",{enumerable:!0,get:function(){return qa.GRAPHQL_MIN_INT}});Object.defineProperty(be,"GraphQLBoolean",{enumerable:!0,get:function(){return qa.GraphQLBoolean}});Object.defineProperty(be,"GraphQLDeprecatedDirective",{enumerable:!0,get:function(){return Eo.GraphQLDeprecatedDirective}});Object.defineProperty(be,"GraphQLDirective",{enumerable:!0,get:function(){return Eo.GraphQLDirective}});Object.defineProperty(be,"GraphQLEnumType",{enumerable:!0,get:function(){return Tt.GraphQLEnumType}});Object.defineProperty(be,"GraphQLFloat",{enumerable:!0,get:function(){return qa.GraphQLFloat}});Object.defineProperty(be,"GraphQLID",{enumerable:!0,get:function(){return qa.GraphQLID}});Object.defineProperty(be,"GraphQLIncludeDirective",{enumerable:!0,get:function(){return Eo.GraphQLIncludeDirective}});Object.defineProperty(be,"GraphQLInputObjectType",{enumerable:!0,get:function(){return Tt.GraphQLInputObjectType}});Object.defineProperty(be,"GraphQLInt",{enumerable:!0,get:function(){return qa.GraphQLInt}});Object.defineProperty(be,"GraphQLInterfaceType",{enumerable:!0,get:function(){return Tt.GraphQLInterfaceType}});Object.defineProperty(be,"GraphQLList",{enumerable:!0,get:function(){return Tt.GraphQLList}});Object.defineProperty(be,"GraphQLNonNull",{enumerable:!0,get:function(){return Tt.GraphQLNonNull}});Object.defineProperty(be,"GraphQLObjectType",{enumerable:!0,get:function(){return Tt.GraphQLObjectType}});Object.defineProperty(be,"GraphQLOneOfDirective",{enumerable:!0,get:function(){return Eo.GraphQLOneOfDirective}});Object.defineProperty(be,"GraphQLScalarType",{enumerable:!0,get:function(){return Tt.GraphQLScalarType}});Object.defineProperty(be,"GraphQLSchema",{enumerable:!0,get:function(){return _D.GraphQLSchema}});Object.defineProperty(be,"GraphQLSkipDirective",{enumerable:!0,get:function(){return Eo.GraphQLSkipDirective}});Object.defineProperty(be,"GraphQLSpecifiedByDirective",{enumerable:!0,get:function(){return Eo.GraphQLSpecifiedByDirective}});Object.defineProperty(be,"GraphQLString",{enumerable:!0,get:function(){return qa.GraphQLString}});Object.defineProperty(be,"GraphQLUnionType",{enumerable:!0,get:function(){return Tt.GraphQLUnionType}});Object.defineProperty(be,"SchemaMetaFieldDef",{enumerable:!0,get:function(){return qi.SchemaMetaFieldDef}});Object.defineProperty(be,"TypeKind",{enumerable:!0,get:function(){return qi.TypeKind}});Object.defineProperty(be,"TypeMetaFieldDef",{enumerable:!0,get:function(){return qi.TypeMetaFieldDef}});Object.defineProperty(be,"TypeNameMetaFieldDef",{enumerable:!0,get:function(){return qi.TypeNameMetaFieldDef}});Object.defineProperty(be,"__Directive",{enumerable:!0,get:function(){return qi.__Directive}});Object.defineProperty(be,"__DirectiveLocation",{enumerable:!0,get:function(){return qi.__DirectiveLocation}});Object.defineProperty(be,"__EnumValue",{enumerable:!0,get:function(){return qi.__EnumValue}});Object.defineProperty(be,"__Field",{enumerable:!0,get:function(){return qi.__Field}});Object.defineProperty(be,"__InputValue",{enumerable:!0,get:function(){return qi.__InputValue}});Object.defineProperty(be,"__Schema",{enumerable:!0,get:function(){return qi.__Schema}});Object.defineProperty(be,"__Type",{enumerable:!0,get:function(){return qi.__Type}});Object.defineProperty(be,"__TypeKind",{enumerable:!0,get:function(){return qi.__TypeKind}});Object.defineProperty(be,"assertAbstractType",{enumerable:!0,get:function(){return Tt.assertAbstractType}});Object.defineProperty(be,"assertCompositeType",{enumerable:!0,get:function(){return Tt.assertCompositeType}});Object.defineProperty(be,"assertDirective",{enumerable:!0,get:function(){return Eo.assertDirective}});Object.defineProperty(be,"assertEnumType",{enumerable:!0,get:function(){return Tt.assertEnumType}});Object.defineProperty(be,"assertEnumValueName",{enumerable:!0,get:function(){return DB.assertEnumValueName}});Object.defineProperty(be,"assertInputObjectType",{enumerable:!0,get:function(){return Tt.assertInputObjectType}});Object.defineProperty(be,"assertInputType",{enumerable:!0,get:function(){return Tt.assertInputType}});Object.defineProperty(be,"assertInterfaceType",{enumerable:!0,get:function(){return Tt.assertInterfaceType}});Object.defineProperty(be,"assertLeafType",{enumerable:!0,get:function(){return Tt.assertLeafType}});Object.defineProperty(be,"assertListType",{enumerable:!0,get:function(){return Tt.assertListType}});Object.defineProperty(be,"assertName",{enumerable:!0,get:function(){return DB.assertName}});Object.defineProperty(be,"assertNamedType",{enumerable:!0,get:function(){return Tt.assertNamedType}});Object.defineProperty(be,"assertNonNullType",{enumerable:!0,get:function(){return Tt.assertNonNullType}});Object.defineProperty(be,"assertNullableType",{enumerable:!0,get:function(){return Tt.assertNullableType}});Object.defineProperty(be,"assertObjectType",{enumerable:!0,get:function(){return Tt.assertObjectType}});Object.defineProperty(be,"assertOutputType",{enumerable:!0,get:function(){return Tt.assertOutputType}});Object.defineProperty(be,"assertScalarType",{enumerable:!0,get:function(){return Tt.assertScalarType}});Object.defineProperty(be,"assertSchema",{enumerable:!0,get:function(){return _D.assertSchema}});Object.defineProperty(be,"assertType",{enumerable:!0,get:function(){return Tt.assertType}});Object.defineProperty(be,"assertUnionType",{enumerable:!0,get:function(){return Tt.assertUnionType}});Object.defineProperty(be,"assertValidSchema",{enumerable:!0,get:function(){return SB.assertValidSchema}});Object.defineProperty(be,"assertWrappingType",{enumerable:!0,get:function(){return Tt.assertWrappingType}});Object.defineProperty(be,"getNamedType",{enumerable:!0,get:function(){return Tt.getNamedType}});Object.defineProperty(be,"getNullableType",{enumerable:!0,get:function(){return Tt.getNullableType}});Object.defineProperty(be,"introspectionTypes",{enumerable:!0,get:function(){return qi.introspectionTypes}});Object.defineProperty(be,"isAbstractType",{enumerable:!0,get:function(){return Tt.isAbstractType}});Object.defineProperty(be,"isCompositeType",{enumerable:!0,get:function(){return Tt.isCompositeType}});Object.defineProperty(be,"isDirective",{enumerable:!0,get:function(){return Eo.isDirective}});Object.defineProperty(be,"isEnumType",{enumerable:!0,get:function(){return Tt.isEnumType}});Object.defineProperty(be,"isInputObjectType",{enumerable:!0,get:function(){return Tt.isInputObjectType}});Object.defineProperty(be,"isInputType",{enumerable:!0,get:function(){return Tt.isInputType}});Object.defineProperty(be,"isInterfaceType",{enumerable:!0,get:function(){return Tt.isInterfaceType}});Object.defineProperty(be,"isIntrospectionType",{enumerable:!0,get:function(){return qi.isIntrospectionType}});Object.defineProperty(be,"isLeafType",{enumerable:!0,get:function(){return Tt.isLeafType}});Object.defineProperty(be,"isListType",{enumerable:!0,get:function(){return Tt.isListType}});Object.defineProperty(be,"isNamedType",{enumerable:!0,get:function(){return Tt.isNamedType}});Object.defineProperty(be,"isNonNullType",{enumerable:!0,get:function(){return Tt.isNonNullType}});Object.defineProperty(be,"isNullableType",{enumerable:!0,get:function(){return Tt.isNullableType}});Object.defineProperty(be,"isObjectType",{enumerable:!0,get:function(){return Tt.isObjectType}});Object.defineProperty(be,"isOutputType",{enumerable:!0,get:function(){return Tt.isOutputType}});Object.defineProperty(be,"isRequiredArgument",{enumerable:!0,get:function(){return Tt.isRequiredArgument}});Object.defineProperty(be,"isRequiredInputField",{enumerable:!0,get:function(){return Tt.isRequiredInputField}});Object.defineProperty(be,"isScalarType",{enumerable:!0,get:function(){return Tt.isScalarType}});Object.defineProperty(be,"isSchema",{enumerable:!0,get:function(){return _D.isSchema}});Object.defineProperty(be,"isSpecifiedDirective",{enumerable:!0,get:function(){return Eo.isSpecifiedDirective}});Object.defineProperty(be,"isSpecifiedScalarType",{enumerable:!0,get:function(){return qa.isSpecifiedScalarType}});Object.defineProperty(be,"isType",{enumerable:!0,get:function(){return Tt.isType}});Object.defineProperty(be,"isUnionType",{enumerable:!0,get:function(){return Tt.isUnionType}});Object.defineProperty(be,"isWrappingType",{enumerable:!0,get:function(){return Tt.isWrappingType}});Object.defineProperty(be,"resolveObjMapThunk",{enumerable:!0,get:function(){return Tt.resolveObjMapThunk}});Object.defineProperty(be,"resolveReadonlyArrayThunk",{enumerable:!0,get:function(){return Tt.resolveReadonlyArrayThunk}});Object.defineProperty(be,"specifiedDirectives",{enumerable:!0,get:function(){return Eo.specifiedDirectives}});Object.defineProperty(be,"specifiedScalarTypes",{enumerable:!0,get:function(){return qa.specifiedScalarTypes}});Object.defineProperty(be,"validateSchema",{enumerable:!0,get:function(){return SB.validateSchema}});var _D=Il(),Tt=tn(),Eo=ji(),qa=Qo(),qi=Cs(),SB=mh(),DB=Xm()});var FB=V(an=>{"use strict";m();T();h();Object.defineProperty(an,"__esModule",{value:!0});Object.defineProperty(an,"BREAK",{enumerable:!0,get:function(){return xh.BREAK}});Object.defineProperty(an,"DirectiveLocation",{enumerable:!0,get:function(){return Lne.DirectiveLocation}});Object.defineProperty(an,"Kind",{enumerable:!0,get:function(){return Ane.Kind}});Object.defineProperty(an,"Lexer",{enumerable:!0,get:function(){return Fne.Lexer}});Object.defineProperty(an,"Location",{enumerable:!0,get:function(){return bD.Location}});Object.defineProperty(an,"OperationTypeNode",{enumerable:!0,get:function(){return bD.OperationTypeNode}});Object.defineProperty(an,"Source",{enumerable:!0,get:function(){return Sne.Source}});Object.defineProperty(an,"Token",{enumerable:!0,get:function(){return bD.Token}});Object.defineProperty(an,"TokenKind",{enumerable:!0,get:function(){return Rne.TokenKind}});Object.defineProperty(an,"getEnterLeaveForKind",{enumerable:!0,get:function(){return xh.getEnterLeaveForKind}});Object.defineProperty(an,"getLocation",{enumerable:!0,get:function(){return Dne.getLocation}});Object.defineProperty(an,"getVisitFn",{enumerable:!0,get:function(){return xh.getVisitFn}});Object.defineProperty(an,"isConstValueNode",{enumerable:!0,get:function(){return Ho.isConstValueNode}});Object.defineProperty(an,"isDefinitionNode",{enumerable:!0,get:function(){return Ho.isDefinitionNode}});Object.defineProperty(an,"isExecutableDefinitionNode",{enumerable:!0,get:function(){return Ho.isExecutableDefinitionNode}});Object.defineProperty(an,"isSelectionNode",{enumerable:!0,get:function(){return Ho.isSelectionNode}});Object.defineProperty(an,"isTypeDefinitionNode",{enumerable:!0,get:function(){return Ho.isTypeDefinitionNode}});Object.defineProperty(an,"isTypeExtensionNode",{enumerable:!0,get:function(){return Ho.isTypeExtensionNode}});Object.defineProperty(an,"isTypeNode",{enumerable:!0,get:function(){return Ho.isTypeNode}});Object.defineProperty(an,"isTypeSystemDefinitionNode",{enumerable:!0,get:function(){return Ho.isTypeSystemDefinitionNode}});Object.defineProperty(an,"isTypeSystemExtensionNode",{enumerable:!0,get:function(){return Ho.isTypeSystemExtensionNode}});Object.defineProperty(an,"isValueNode",{enumerable:!0,get:function(){return Ho.isValueNode}});Object.defineProperty(an,"parse",{enumerable:!0,get:function(){return OE.parse}});Object.defineProperty(an,"parseConstValue",{enumerable:!0,get:function(){return OE.parseConstValue}});Object.defineProperty(an,"parseType",{enumerable:!0,get:function(){return OE.parseType}});Object.defineProperty(an,"parseValue",{enumerable:!0,get:function(){return OE.parseValue}});Object.defineProperty(an,"print",{enumerable:!0,get:function(){return wne.print}});Object.defineProperty(an,"printLocation",{enumerable:!0,get:function(){return RB.printLocation}});Object.defineProperty(an,"printSourceLocation",{enumerable:!0,get:function(){return RB.printSourceLocation}});Object.defineProperty(an,"visit",{enumerable:!0,get:function(){return xh.visit}});Object.defineProperty(an,"visitInParallel",{enumerable:!0,get:function(){return xh.visitInParallel}});var Sne=yE(),Dne=NN(),RB=pO(),Ane=en(),Rne=Ah(),Fne=hE(),OE=Ep(),wne=ds(),xh=ml(),bD=qo(),Ho=_l(),Lne=rp()});var wB=V(OD=>{"use strict";m();T();h();Object.defineProperty(OD,"__esModule",{value:!0});OD.isAsyncIterable=Pne;function Pne(e){return typeof(e==null?void 0:e[Symbol.asyncIterator])=="function"}});var LB=V(SD=>{"use strict";m();T();h();Object.defineProperty(SD,"__esModule",{value:!0});SD.mapAsyncIterator=kne;function kne(e,t){let n=e[Symbol.asyncIterator]();function r(s){return yr(this,null,function*(){if(s.done)return s;try{return{value:yield t(s.value),done:!1}}catch(o){if(typeof n.return=="function")try{yield n.return()}catch(u){}throw o}})}return{next(){return yr(this,null,function*(){return r(yield n.next())})},return(){return yr(this,null,function*(){return typeof n.return=="function"?r(yield n.return()):{value:void 0,done:!0}})},throw(s){return yr(this,null,function*(){if(typeof n.throw=="function")return r(yield n.throw(s));throw s})},[Symbol.asyncIterator](){return this}}}});var CB=V(SE=>{"use strict";m();T();h();Object.defineProperty(SE,"__esModule",{value:!0});SE.createSourceEventStream=xB;SE.subscribe=jne;var xne=Oi(),Cne=En(),kB=wB(),PB=yh(),DD=ut(),Une=EE(),Mne=oE(),Ch=kh(),Bne=LB(),Vne=lp();function jne(t){return yr(this,arguments,function*(e){arguments.length<2||(0,xne.devAssert)(!1,"graphql@16 dropped long-deprecated support for positional arguments, please pass an object instead.");let n=yield xB(e);if(!(0,kB.isAsyncIterable)(n))return n;let r=i=>(0,Ch.execute)(K(k({},e),{rootValue:i}));return(0,Bne.mapAsyncIterator)(n,r)})}function $ne(e){let t=e[0];return t&&"document"in t?t:{schema:t,document:e[1],rootValue:e[2],contextValue:e[3],variableValues:e[4],operationName:e[5],subscribeFieldResolver:e[6]}}function xB(...e){return yr(this,null,function*(){let t=$ne(e),{schema:n,document:r,variableValues:i}=t;(0,Ch.assertValidExecutionArguments)(n,r,i);let s=(0,Ch.buildExecutionContext)(t);if(!("schema"in s))return{errors:s};try{let o=yield qne(s);if(!(0,kB.isAsyncIterable)(o))throw new Error(`Subscription field must return Async Iterable. Received: ${(0,Cne.inspect)(o)}.`);return o}catch(o){if(o instanceof DD.GraphQLError)return{errors:[o]};throw o}})}function qne(e){return yr(this,null,function*(){let{schema:t,fragments:n,operation:r,variableValues:i,rootValue:s}=e,o=t.getSubscriptionType();if(o==null)throw new DD.GraphQLError("Schema is not configured to execute subscription operation.",{nodes:r});let u=(0,Mne.collectFields)(t,n,i,o,r.selectionSet),[l,d]=[...u.entries()][0],p=(0,Ch.getFieldDef)(t,o,d[0]);if(!p){let O=d[0].name.value;throw new DD.GraphQLError(`The subscription field "${O}" is not defined.`,{nodes:d})}let y=(0,PB.addPath)(void 0,l,o.name),N=(0,Ch.buildResolveInfo)(e,p,d,o,y);try{var I;let O=(0,Vne.getArgumentValues)(p,d[0],i),x=e.contextValue,Q=yield((I=p.subscribe)!==null&&I!==void 0?I:e.subscribeFieldResolver)(s,O,x,N);if(Q instanceof Error)throw Q;return Q}catch(O){throw(0,Une.locatedError)(O,d,(0,PB.pathToArray)(y))}})}});var MB=V(Vs=>{"use strict";m();T();h();Object.defineProperty(Vs,"__esModule",{value:!0});Object.defineProperty(Vs,"createSourceEventStream",{enumerable:!0,get:function(){return UB.createSourceEventStream}});Object.defineProperty(Vs,"defaultFieldResolver",{enumerable:!0,get:function(){return DE.defaultFieldResolver}});Object.defineProperty(Vs,"defaultTypeResolver",{enumerable:!0,get:function(){return DE.defaultTypeResolver}});Object.defineProperty(Vs,"execute",{enumerable:!0,get:function(){return DE.execute}});Object.defineProperty(Vs,"executeSync",{enumerable:!0,get:function(){return DE.executeSync}});Object.defineProperty(Vs,"getArgumentValues",{enumerable:!0,get:function(){return AD.getArgumentValues}});Object.defineProperty(Vs,"getDirectiveValues",{enumerable:!0,get:function(){return AD.getDirectiveValues}});Object.defineProperty(Vs,"getVariableValues",{enumerable:!0,get:function(){return AD.getVariableValues}});Object.defineProperty(Vs,"responsePathAsArray",{enumerable:!0,get:function(){return Kne.pathToArray}});Object.defineProperty(Vs,"subscribe",{enumerable:!0,get:function(){return UB.subscribe}});var Kne=yh(),DE=kh(),UB=CB(),AD=lp()});var BB=V(wD=>{"use strict";m();T();h();Object.defineProperty(wD,"__esModule",{value:!0});wD.NoDeprecatedCustomRule=Gne;var RD=ci(),Uh=ut(),FD=tn();function Gne(e){return{Field(t){let n=e.getFieldDef(),r=n==null?void 0:n.deprecationReason;if(n&&r!=null){let i=e.getParentType();i!=null||(0,RD.invariant)(!1),e.reportError(new Uh.GraphQLError(`The field ${i.name}.${n.name} is deprecated. ${r}`,{nodes:t}))}},Argument(t){let n=e.getArgument(),r=n==null?void 0:n.deprecationReason;if(n&&r!=null){let i=e.getDirective();if(i!=null)e.reportError(new Uh.GraphQLError(`Directive "@${i.name}" argument "${n.name}" is deprecated. ${r}`,{nodes:t}));else{let s=e.getParentType(),o=e.getFieldDef();s!=null&&o!=null||(0,RD.invariant)(!1),e.reportError(new Uh.GraphQLError(`Field "${s.name}.${o.name}" argument "${n.name}" is deprecated. ${r}`,{nodes:t}))}}},ObjectField(t){let n=(0,FD.getNamedType)(e.getParentInputType());if((0,FD.isInputObjectType)(n)){let r=n.getFields()[t.name.value],i=r==null?void 0:r.deprecationReason;i!=null&&e.reportError(new Uh.GraphQLError(`The input field ${n.name}.${r.name} is deprecated. ${i}`,{nodes:t}))}},EnumValue(t){let n=e.getEnumValue(),r=n==null?void 0:n.deprecationReason;if(n&&r!=null){let i=(0,FD.getNamedType)(e.getInputType());i!=null||(0,RD.invariant)(!1),e.reportError(new Uh.GraphQLError(`The enum value "${i.name}.${n.name}" is deprecated. ${r}`,{nodes:t}))}}}}});var VB=V(LD=>{"use strict";m();T();h();Object.defineProperty(LD,"__esModule",{value:!0});LD.NoSchemaIntrospectionCustomRule=zne;var Qne=ut(),Yne=tn(),Jne=Cs();function zne(e){return{Field(t){let n=(0,Yne.getNamedType)(e.getType());n&&(0,Jne.isIntrospectionType)(n)&&e.reportError(new Qne.GraphQLError(`GraphQL introspection has been disabled, but the requested query contained the field "${t.name.value}".`,{nodes:t}))}}}});var $B=V(At=>{"use strict";m();T();h();Object.defineProperty(At,"__esModule",{value:!0});Object.defineProperty(At,"ExecutableDefinitionsRule",{enumerable:!0,get:function(){return Xne.ExecutableDefinitionsRule}});Object.defineProperty(At,"FieldsOnCorrectTypeRule",{enumerable:!0,get:function(){return Zne.FieldsOnCorrectTypeRule}});Object.defineProperty(At,"FragmentsOnCompositeTypesRule",{enumerable:!0,get:function(){return ere.FragmentsOnCompositeTypesRule}});Object.defineProperty(At,"KnownArgumentNamesRule",{enumerable:!0,get:function(){return tre.KnownArgumentNamesRule}});Object.defineProperty(At,"KnownDirectivesRule",{enumerable:!0,get:function(){return nre.KnownDirectivesRule}});Object.defineProperty(At,"KnownFragmentNamesRule",{enumerable:!0,get:function(){return rre.KnownFragmentNamesRule}});Object.defineProperty(At,"KnownTypeNamesRule",{enumerable:!0,get:function(){return ire.KnownTypeNamesRule}});Object.defineProperty(At,"LoneAnonymousOperationRule",{enumerable:!0,get:function(){return sre.LoneAnonymousOperationRule}});Object.defineProperty(At,"LoneSchemaDefinitionRule",{enumerable:!0,get:function(){return Ore.LoneSchemaDefinitionRule}});Object.defineProperty(At,"MaxIntrospectionDepthRule",{enumerable:!0,get:function(){return bre.MaxIntrospectionDepthRule}});Object.defineProperty(At,"NoDeprecatedCustomRule",{enumerable:!0,get:function(){return Pre.NoDeprecatedCustomRule}});Object.defineProperty(At,"NoFragmentCyclesRule",{enumerable:!0,get:function(){return ore.NoFragmentCyclesRule}});Object.defineProperty(At,"NoSchemaIntrospectionCustomRule",{enumerable:!0,get:function(){return kre.NoSchemaIntrospectionCustomRule}});Object.defineProperty(At,"NoUndefinedVariablesRule",{enumerable:!0,get:function(){return are.NoUndefinedVariablesRule}});Object.defineProperty(At,"NoUnusedFragmentsRule",{enumerable:!0,get:function(){return ure.NoUnusedFragmentsRule}});Object.defineProperty(At,"NoUnusedVariablesRule",{enumerable:!0,get:function(){return cre.NoUnusedVariablesRule}});Object.defineProperty(At,"OverlappingFieldsCanBeMergedRule",{enumerable:!0,get:function(){return lre.OverlappingFieldsCanBeMergedRule}});Object.defineProperty(At,"PossibleFragmentSpreadsRule",{enumerable:!0,get:function(){return dre.PossibleFragmentSpreadsRule}});Object.defineProperty(At,"PossibleTypeExtensionsRule",{enumerable:!0,get:function(){return Lre.PossibleTypeExtensionsRule}});Object.defineProperty(At,"ProvidedRequiredArgumentsRule",{enumerable:!0,get:function(){return pre.ProvidedRequiredArgumentsRule}});Object.defineProperty(At,"ScalarLeafsRule",{enumerable:!0,get:function(){return fre.ScalarLeafsRule}});Object.defineProperty(At,"SingleFieldSubscriptionsRule",{enumerable:!0,get:function(){return mre.SingleFieldSubscriptionsRule}});Object.defineProperty(At,"UniqueArgumentDefinitionNamesRule",{enumerable:!0,get:function(){return Fre.UniqueArgumentDefinitionNamesRule}});Object.defineProperty(At,"UniqueArgumentNamesRule",{enumerable:!0,get:function(){return hre.UniqueArgumentNamesRule}});Object.defineProperty(At,"UniqueDirectiveNamesRule",{enumerable:!0,get:function(){return wre.UniqueDirectiveNamesRule}});Object.defineProperty(At,"UniqueDirectivesPerLocationRule",{enumerable:!0,get:function(){return Tre.UniqueDirectivesPerLocationRule}});Object.defineProperty(At,"UniqueEnumValueNamesRule",{enumerable:!0,get:function(){return Are.UniqueEnumValueNamesRule}});Object.defineProperty(At,"UniqueFieldDefinitionNamesRule",{enumerable:!0,get:function(){return Rre.UniqueFieldDefinitionNamesRule}});Object.defineProperty(At,"UniqueFragmentNamesRule",{enumerable:!0,get:function(){return yre.UniqueFragmentNamesRule}});Object.defineProperty(At,"UniqueInputFieldNamesRule",{enumerable:!0,get:function(){return Nre.UniqueInputFieldNamesRule}});Object.defineProperty(At,"UniqueOperationNamesRule",{enumerable:!0,get:function(){return Ere.UniqueOperationNamesRule}});Object.defineProperty(At,"UniqueOperationTypesRule",{enumerable:!0,get:function(){return Sre.UniqueOperationTypesRule}});Object.defineProperty(At,"UniqueTypeNamesRule",{enumerable:!0,get:function(){return Dre.UniqueTypeNamesRule}});Object.defineProperty(At,"UniqueVariableNamesRule",{enumerable:!0,get:function(){return gre.UniqueVariableNamesRule}});Object.defineProperty(At,"ValidationContext",{enumerable:!0,get:function(){return Wne.ValidationContext}});Object.defineProperty(At,"ValuesOfCorrectTypeRule",{enumerable:!0,get:function(){return Ire.ValuesOfCorrectTypeRule}});Object.defineProperty(At,"VariablesAreInputTypesRule",{enumerable:!0,get:function(){return vre.VariablesAreInputTypesRule}});Object.defineProperty(At,"VariablesInAllowedPositionRule",{enumerable:!0,get:function(){return _re.VariablesInAllowedPositionRule}});Object.defineProperty(At,"recommendedRules",{enumerable:!0,get:function(){return jB.recommendedRules}});Object.defineProperty(At,"specifiedRules",{enumerable:!0,get:function(){return jB.specifiedRules}});Object.defineProperty(At,"validate",{enumerable:!0,get:function(){return Hne.validate}});var Hne=pp(),Wne=W0(),jB=J0(),Xne=dS(),Zne=fS(),ere=hS(),tre=TS(),nre=gS(),rre=vS(),ire=OS(),sre=DS(),ore=PS(),are=xS(),ure=US(),cre=BS(),lre=zS(),dre=XS(),pre=n0(),fre=i0(),mre=f0(),hre=N0(),Tre=_0(),yre=F0(),Nre=L0(),Ere=k0(),gre=V0(),Ire=q0(),vre=G0(),_re=Y0(),bre=wS(),Ore=RS(),Sre=C0(),Dre=M0(),Are=O0(),Rre=A0(),Fre=T0(),wre=g0(),Lre=e0(),Pre=BB(),kre=VB()});var qB=V(Pl=>{"use strict";m();T();h();Object.defineProperty(Pl,"__esModule",{value:!0});Object.defineProperty(Pl,"GraphQLError",{enumerable:!0,get:function(){return PD.GraphQLError}});Object.defineProperty(Pl,"formatError",{enumerable:!0,get:function(){return PD.formatError}});Object.defineProperty(Pl,"locatedError",{enumerable:!0,get:function(){return Cre.locatedError}});Object.defineProperty(Pl,"printError",{enumerable:!0,get:function(){return PD.printError}});Object.defineProperty(Pl,"syntaxError",{enumerable:!0,get:function(){return xre.syntaxError}});var PD=ut(),xre=fE(),Cre=EE()});var xD=V(kD=>{"use strict";m();T();h();Object.defineProperty(kD,"__esModule",{value:!0});kD.getIntrospectionQuery=Ure;function Ure(e){let t=k({descriptions:!0,specifiedByUrl:!1,directiveIsRepeatable:!1,schemaDescription:!1,inputValueDeprecation:!1,oneOf:!1},e),n=t.descriptions?"description":"",r=t.specifiedByUrl?"specifiedByURL":"",i=t.directiveIsRepeatable?"isRepeatable":"",s=t.schemaDescription?n:"";function o(l){return t.inputValueDeprecation?l:""}let u=t.oneOf?"isOneOf":"";return` query IntrospectionQuery { __schema { ${s} @@ -554,21 +554,21 @@ This should never happen. Please report this issue on GitHub.`)}function pte(e,t } } } - `}});var $B=V(CD=>{"use strict";m();T();h();Object.defineProperty(CD,"__esModule",{value:!0});CD.getOperationAST=Mre;var Ure=en();function Mre(e,t){let n=null;for(let i of e.definitions)if(i.kind===Ure.Kind.OPERATION_DEFINITION){var r;if(t==null){if(n)return null;n=i}else if(((r=i.name)===null||r===void 0?void 0:r.value)===t)return i}return n}});var qB=V(UD=>{"use strict";m();T();h();Object.defineProperty(UD,"__esModule",{value:!0});UD.getOperationRootType=Bre;var DE=at();function Bre(e,t){if(t.operation==="query"){let n=e.getQueryType();if(!n)throw new DE.GraphQLError("Schema does not define the required query root type.",{nodes:t});return n}if(t.operation==="mutation"){let n=e.getMutationType();if(!n)throw new DE.GraphQLError("Schema is not configured for mutations.",{nodes:t});return n}if(t.operation==="subscription"){let n=e.getSubscriptionType();if(!n)throw new DE.GraphQLError("Schema is not configured for subscriptions.",{nodes:t});return n}throw new DE.GraphQLError("Can only have query, mutation and subscription operations.",{nodes:t})}});var KB=V(MD=>{"use strict";m();T();h();Object.defineProperty(MD,"__esModule",{value:!0});MD.introspectionFromSchema=Kre;var Vre=ci(),jre=yp(),$re=Ph(),qre=xD();function Kre(e,t){let n=k({specifiedByUrl:!0,directiveIsRepeatable:!0,schemaDescription:!0,inputValueDeprecation:!0,oneOf:!0},t),r=(0,jre.parse)((0,qre.getIntrospectionQuery)(n)),i=(0,$re.executeSync)({schema:e,document:r});return!i.errors&&i.data||(0,Vre.invariant)(!1),i.data}});var QB=V(BD=>{"use strict";m();T();h();Object.defineProperty(BD,"__esModule",{value:!0});BD.buildClientSchema=Wre;var Gre=Oi(),fs=En(),GB=$o(),AE=Ym(),Qre=yp(),ms=tn(),Yre=ji(),Wo=xs(),Jre=Qo(),zre=El(),Hre=gh();function Wre(e,t){(0,GB.isObjectLike)(e)&&(0,GB.isObjectLike)(e.__schema)||(0,Gre.devAssert)(!1,`Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${(0,fs.inspect)(e)}.`);let n=e.__schema,r=(0,AE.keyValMap)(n.types,B=>B.name,B=>N(B));for(let B of[...Jre.specifiedScalarTypes,...Wo.introspectionTypes])r[B.name]&&(r[B.name]=B);let i=n.queryType?p(n.queryType):null,s=n.mutationType?p(n.mutationType):null,o=n.subscriptionType?p(n.subscriptionType):null,u=n.directives?n.directives.map(xt):[];return new zre.GraphQLSchema({description:n.description,query:i,mutation:s,subscription:o,types:Object.values(r),directives:u,assumeValid:t==null?void 0:t.assumeValid});function l(B){if(B.kind===Wo.TypeKind.LIST){let he=B.ofType;if(!he)throw new Error("Decorated type deeper than introspection query.");return new ms.GraphQLList(l(he))}if(B.kind===Wo.TypeKind.NON_NULL){let he=B.ofType;if(!he)throw new Error("Decorated type deeper than introspection query.");let nt=l(he);return new ms.GraphQLNonNull((0,ms.assertNullableType)(nt))}return d(B)}function d(B){let he=B.name;if(!he)throw new Error(`Unknown type reference: ${(0,fs.inspect)(B)}.`);let nt=r[he];if(!nt)throw new Error(`Invalid or incomplete schema, unknown type: ${he}. Ensure that a full introspection query is used in order to build a client schema.`);return nt}function p(B){return(0,ms.assertObjectType)(d(B))}function y(B){return(0,ms.assertInterfaceType)(d(B))}function N(B){if(B!=null&&B.name!=null&&B.kind!=null)switch(B.kind){case Wo.TypeKind.SCALAR:return I(B);case Wo.TypeKind.OBJECT:return C(B);case Wo.TypeKind.INTERFACE:return j(B);case Wo.TypeKind.UNION:return Q(B);case Wo.TypeKind.ENUM:return re(B);case Wo.TypeKind.INPUT_OBJECT:return se(B)}let he=(0,fs.inspect)(B);throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${he}.`)}function I(B){return new ms.GraphQLScalarType({name:B.name,description:B.description,specifiedByURL:B.specifiedByURL})}function b(B){if(B.interfaces===null&&B.kind===Wo.TypeKind.INTERFACE)return[];if(!B.interfaces){let he=(0,fs.inspect)(B);throw new Error(`Introspection result missing interfaces: ${he}.`)}return B.interfaces.map(y)}function C(B){return new ms.GraphQLObjectType({name:B.name,description:B.description,interfaces:()=>b(B),fields:()=>pe(B)})}function j(B){return new ms.GraphQLInterfaceType({name:B.name,description:B.description,interfaces:()=>b(B),fields:()=>pe(B)})}function Q(B){if(!B.possibleTypes){let he=(0,fs.inspect)(B);throw new Error(`Introspection result missing possibleTypes: ${he}.`)}return new ms.GraphQLUnionType({name:B.name,description:B.description,types:()=>B.possibleTypes.map(p)})}function re(B){if(!B.enumValues){let he=(0,fs.inspect)(B);throw new Error(`Introspection result missing enumValues: ${he}.`)}return new ms.GraphQLEnumType({name:B.name,description:B.description,values:(0,AE.keyValMap)(B.enumValues,he=>he.name,he=>({description:he.description,deprecationReason:he.deprecationReason}))})}function se(B){if(!B.inputFields){let he=(0,fs.inspect)(B);throw new Error(`Introspection result missing inputFields: ${he}.`)}return new ms.GraphQLInputObjectType({name:B.name,description:B.description,fields:()=>Ce(B.inputFields),isOneOf:B.isOneOf})}function pe(B){if(!B.fields)throw new Error(`Introspection result missing fields: ${(0,fs.inspect)(B)}.`);return(0,AE.keyValMap)(B.fields,he=>he.name,ye)}function ye(B){let he=l(B.type);if(!(0,ms.isOutputType)(he)){let nt=(0,fs.inspect)(he);throw new Error(`Introspection must provide output type for fields, but received: ${nt}.`)}if(!B.args){let nt=(0,fs.inspect)(B);throw new Error(`Introspection result missing field args: ${nt}.`)}return{description:B.description,deprecationReason:B.deprecationReason,type:he,args:Ce(B.args)}}function Ce(B){return(0,AE.keyValMap)(B,he=>he.name,ht)}function ht(B){let he=l(B.type);if(!(0,ms.isInputType)(he)){let Ct=(0,fs.inspect)(he);throw new Error(`Introspection must provide input type for arguments, but received: ${Ct}.`)}let nt=B.defaultValue!=null?(0,Hre.valueFromAST)((0,Qre.parseValue)(B.defaultValue),he):void 0;return{description:B.description,type:he,defaultValue:nt,deprecationReason:B.deprecationReason}}function xt(B){if(!B.args){let he=(0,fs.inspect)(B);throw new Error(`Introspection result missing directive args: ${he}.`)}if(!B.locations){let he=(0,fs.inspect)(B);throw new Error(`Introspection result missing directive locations: ${he}.`)}return new Yre.GraphQLDirective({name:B.name,description:B.description,isRepeatable:B.isRepeatable,locations:B.locations.slice(),args:Ce(B.args)})}}});var jD=V(FE=>{"use strict";m();T();h();Object.defineProperty(FE,"__esModule",{value:!0});FE.extendSchema=rie;FE.extendSchemaImpl=eV;var Xre=Oi(),Zre=En(),eie=ci(),tie=hc(),Uh=OO(),Vs=en(),YB=Il(),Hn=tn(),Mh=ji(),XB=xs(),ZB=Qo(),JB=El(),nie=lp(),VD=up(),zB=gh();function rie(e,t,n){(0,JB.assertSchema)(e),t!=null&&t.kind===Vs.Kind.DOCUMENT||(0,Xre.devAssert)(!1,"Must provide valid Document AST."),(n==null?void 0:n.assumeValid)!==!0&&(n==null?void 0:n.assumeValidSDL)!==!0&&(0,nie.assertValidSDLExtension)(t,e);let r=e.toConfig(),i=eV(r,t,n);return r===i?e:new JB.GraphQLSchema(i)}function eV(e,t,n){var r,i,s,o;let u=[],l=Object.create(null),d=[],p,y=[];for(let U of t.definitions)if(U.kind===Vs.Kind.SCHEMA_DEFINITION)p=U;else if(U.kind===Vs.Kind.SCHEMA_EXTENSION)y.push(U);else if((0,YB.isTypeDefinitionNode)(U))u.push(U);else if((0,YB.isTypeExtensionNode)(U)){let ae=U.name.value,te=l[ae];l[ae]=te?te.concat([U]):[U]}else U.kind===Vs.Kind.DIRECTIVE_DEFINITION&&d.push(U);if(Object.keys(l).length===0&&u.length===0&&d.length===0&&y.length===0&&p==null)return e;let N=Object.create(null);for(let U of e.types)N[U.name]=re(U);for(let U of u){var I;let ae=U.name.value;N[ae]=(I=HB[ae])!==null&&I!==void 0?I:$n(U)}let b=k(k({query:e.query&&j(e.query),mutation:e.mutation&&j(e.mutation),subscription:e.subscription&&j(e.subscription)},p&&nt([p])),nt(y));return K(k({description:(r=p)===null||r===void 0||(i=r.description)===null||i===void 0?void 0:i.value},b),{types:Object.values(N),directives:[...e.directives.map(Q),...d.map(Fn)],extensions:Object.create(null),astNode:(s=p)!==null&&s!==void 0?s:e.astNode,extensionASTNodes:e.extensionASTNodes.concat(y),assumeValid:(o=n==null?void 0:n.assumeValid)!==null&&o!==void 0?o:!1});function C(U){return(0,Hn.isListType)(U)?new Hn.GraphQLList(C(U.ofType)):(0,Hn.isNonNullType)(U)?new Hn.GraphQLNonNull(C(U.ofType)):j(U)}function j(U){return N[U.name]}function Q(U){let ae=U.toConfig();return new Mh.GraphQLDirective(K(k({},ae),{args:(0,Uh.mapValue)(ae.args,he)}))}function re(U){if((0,XB.isIntrospectionType)(U)||(0,ZB.isSpecifiedScalarType)(U))return U;if((0,Hn.isScalarType)(U))return ye(U);if((0,Hn.isObjectType)(U))return Ce(U);if((0,Hn.isInterfaceType)(U))return ht(U);if((0,Hn.isUnionType)(U))return xt(U);if((0,Hn.isEnumType)(U))return pe(U);if((0,Hn.isInputObjectType)(U))return se(U);(0,eie.invariant)(!1,"Unexpected type: "+(0,Zre.inspect)(U))}function se(U){var ae;let te=U.toConfig(),ce=(ae=l[te.name])!==null&&ae!==void 0?ae:[];return new Hn.GraphQLInputObjectType(K(k({},te),{fields:()=>k(k({},(0,Uh.mapValue)(te.fields,Ke=>K(k({},Ke),{type:C(Ke.type)}))),mi(ce)),extensionASTNodes:te.extensionASTNodes.concat(ce)}))}function pe(U){var ae;let te=U.toConfig(),ce=(ae=l[U.name])!==null&&ae!==void 0?ae:[];return new Hn.GraphQLEnumType(K(k({},te),{values:k(k({},te.values),Xr(ce)),extensionASTNodes:te.extensionASTNodes.concat(ce)}))}function ye(U){var ae;let te=U.toConfig(),ce=(ae=l[te.name])!==null&&ae!==void 0?ae:[],Ke=te.specifiedByURL;for(let ee of ce){var G;Ke=(G=WB(ee))!==null&&G!==void 0?G:Ke}return new Hn.GraphQLScalarType(K(k({},te),{specifiedByURL:Ke,extensionASTNodes:te.extensionASTNodes.concat(ce)}))}function Ce(U){var ae;let te=U.toConfig(),ce=(ae=l[te.name])!==null&&ae!==void 0?ae:[];return new Hn.GraphQLObjectType(K(k({},te),{interfaces:()=>[...U.getInterfaces().map(j),...Pn(ce)],fields:()=>k(k({},(0,Uh.mapValue)(te.fields,B)),_n(ce)),extensionASTNodes:te.extensionASTNodes.concat(ce)}))}function ht(U){var ae;let te=U.toConfig(),ce=(ae=l[te.name])!==null&&ae!==void 0?ae:[];return new Hn.GraphQLInterfaceType(K(k({},te),{interfaces:()=>[...U.getInterfaces().map(j),...Pn(ce)],fields:()=>k(k({},(0,Uh.mapValue)(te.fields,B)),_n(ce)),extensionASTNodes:te.extensionASTNodes.concat(ce)}))}function xt(U){var ae;let te=U.toConfig(),ce=(ae=l[te.name])!==null&&ae!==void 0?ae:[];return new Hn.GraphQLUnionType(K(k({},te),{types:()=>[...U.getTypes().map(j),...on(ce)],extensionASTNodes:te.extensionASTNodes.concat(ce)}))}function B(U){return K(k({},U),{type:C(U.type),args:U.args&&(0,Uh.mapValue)(U.args,he)})}function he(U){return K(k({},U),{type:C(U.type)})}function nt(U){let ae={};for(let ce of U){var te;let Ke=(te=ce.operationTypes)!==null&&te!==void 0?te:[];for(let G of Ke)ae[G.operation]=Ct(G.type)}return ae}function Ct(U){var ae;let te=U.name.value,ce=(ae=HB[te])!==null&&ae!==void 0?ae:N[te];if(ce===void 0)throw new Error(`Unknown type: "${te}".`);return ce}function sn(U){return U.kind===Vs.Kind.LIST_TYPE?new Hn.GraphQLList(sn(U.type)):U.kind===Vs.Kind.NON_NULL_TYPE?new Hn.GraphQLNonNull(sn(U.type)):Ct(U)}function Fn(U){var ae;return new Mh.GraphQLDirective({name:U.name.value,description:(ae=U.description)===null||ae===void 0?void 0:ae.value,locations:U.locations.map(({value:te})=>te),isRepeatable:U.repeatable,args:bn(U.arguments),astNode:U})}function _n(U){let ae=Object.create(null);for(let Ke of U){var te;let G=(te=Ke.fields)!==null&&te!==void 0?te:[];for(let ee of G){var ce;ae[ee.name.value]={type:sn(ee.type),description:(ce=ee.description)===null||ce===void 0?void 0:ce.value,args:bn(ee.arguments),deprecationReason:RE(ee),astNode:ee}}}return ae}function bn(U){let ae=U!=null?U:[],te=Object.create(null);for(let Ke of ae){var ce;let G=sn(Ke.type);te[Ke.name.value]={type:G,description:(ce=Ke.description)===null||ce===void 0?void 0:ce.value,defaultValue:(0,zB.valueFromAST)(Ke.defaultValue,G),deprecationReason:RE(Ke),astNode:Ke}}return te}function mi(U){let ae=Object.create(null);for(let Ke of U){var te;let G=(te=Ke.fields)!==null&&te!==void 0?te:[];for(let ee of G){var ce;let Ue=sn(ee.type);ae[ee.name.value]={type:Ue,description:(ce=ee.description)===null||ce===void 0?void 0:ce.value,defaultValue:(0,zB.valueFromAST)(ee.defaultValue,Ue),deprecationReason:RE(ee),astNode:ee}}}return ae}function Xr(U){let ae=Object.create(null);for(let Ke of U){var te;let G=(te=Ke.values)!==null&&te!==void 0?te:[];for(let ee of G){var ce;ae[ee.name.value]={description:(ce=ee.description)===null||ce===void 0?void 0:ce.value,deprecationReason:RE(ee),astNode:ee}}}return ae}function Pn(U){return U.flatMap(ae=>{var te,ce;return(te=(ce=ae.interfaces)===null||ce===void 0?void 0:ce.map(Ct))!==null&&te!==void 0?te:[]})}function on(U){return U.flatMap(ae=>{var te,ce;return(te=(ce=ae.types)===null||ce===void 0?void 0:ce.map(Ct))!==null&&te!==void 0?te:[]})}function $n(U){var ae;let te=U.name.value,ce=(ae=l[te])!==null&&ae!==void 0?ae:[];switch(U.kind){case Vs.Kind.OBJECT_TYPE_DEFINITION:{var Ke;let Je=[U,...ce];return new Hn.GraphQLObjectType({name:te,description:(Ke=U.description)===null||Ke===void 0?void 0:Ke.value,interfaces:()=>Pn(Je),fields:()=>_n(Je),astNode:U,extensionASTNodes:ce})}case Vs.Kind.INTERFACE_TYPE_DEFINITION:{var G;let Je=[U,...ce];return new Hn.GraphQLInterfaceType({name:te,description:(G=U.description)===null||G===void 0?void 0:G.value,interfaces:()=>Pn(Je),fields:()=>_n(Je),astNode:U,extensionASTNodes:ce})}case Vs.Kind.ENUM_TYPE_DEFINITION:{var ee;let Je=[U,...ce];return new Hn.GraphQLEnumType({name:te,description:(ee=U.description)===null||ee===void 0?void 0:ee.value,values:Xr(Je),astNode:U,extensionASTNodes:ce})}case Vs.Kind.UNION_TYPE_DEFINITION:{var Ue;let Je=[U,...ce];return new Hn.GraphQLUnionType({name:te,description:(Ue=U.description)===null||Ue===void 0?void 0:Ue.value,types:()=>on(Je),astNode:U,extensionASTNodes:ce})}case Vs.Kind.SCALAR_TYPE_DEFINITION:{var Xe;return new Hn.GraphQLScalarType({name:te,description:(Xe=U.description)===null||Xe===void 0?void 0:Xe.value,specifiedByURL:WB(U),astNode:U,extensionASTNodes:ce})}case Vs.Kind.INPUT_OBJECT_TYPE_DEFINITION:{var jt;let Je=[U,...ce];return new Hn.GraphQLInputObjectType({name:te,description:(jt=U.description)===null||jt===void 0?void 0:jt.value,fields:()=>mi(Je),astNode:U,extensionASTNodes:ce,isOneOf:iie(U)})}}}}var HB=(0,tie.keyMap)([...ZB.specifiedScalarTypes,...XB.introspectionTypes],e=>e.name);function RE(e){let t=(0,VD.getDirectiveValues)(Mh.GraphQLDeprecatedDirective,e);return t==null?void 0:t.reason}function WB(e){let t=(0,VD.getDirectiveValues)(Mh.GraphQLSpecifiedByDirective,e);return t==null?void 0:t.url}function iie(e){return!!(0,VD.getDirectiveValues)(Mh.GraphQLOneOfDirective,e)}});var nV=V(wE=>{"use strict";m();T();h();Object.defineProperty(wE,"__esModule",{value:!0});wE.buildASTSchema=tV;wE.buildSchema=pie;var sie=Oi(),oie=en(),aie=yp(),uie=ji(),cie=El(),lie=lp(),die=jD();function tV(e,t){e!=null&&e.kind===oie.Kind.DOCUMENT||(0,sie.devAssert)(!1,"Must provide valid Document AST."),(t==null?void 0:t.assumeValid)!==!0&&(t==null?void 0:t.assumeValidSDL)!==!0&&(0,lie.assertValidSDL)(e);let n={description:void 0,types:[],directives:[],extensions:Object.create(null),extensionASTNodes:[],assumeValid:!1},r=(0,die.extendSchemaImpl)(n,e,t);if(r.astNode==null)for(let s of r.types)switch(s.name){case"Query":r.query=s;break;case"Mutation":r.mutation=s;break;case"Subscription":r.subscription=s;break}let i=[...r.directives,...uie.specifiedDirectives.filter(s=>r.directives.every(o=>o.name!==s.name))];return new cie.GraphQLSchema(K(k({},r),{directives:i}))}function pie(e,t){let n=(0,aie.parse)(e,{noLocation:t==null?void 0:t.noLocation,allowLegacyFragmentVariables:t==null?void 0:t.allowLegacyFragmentVariables});return tV(n,{assumeValidSDL:t==null?void 0:t.assumeValidSDL,assumeValid:t==null?void 0:t.assumeValid})}});var sV=V(qD=>{"use strict";m();T();h();Object.defineProperty(qD,"__esModule",{value:!0});qD.lexicographicSortSchema=Eie;var fie=En(),mie=ci(),hie=Ym(),rV=Jm(),Ai=tn(),Tie=ji(),yie=xs(),Nie=El();function Eie(e){let t=e.toConfig(),n=(0,hie.keyValMap)($D(t.types),N=>N.name,y);return new Nie.GraphQLSchema(K(k({},t),{types:Object.values(n),directives:$D(t.directives).map(o),query:s(t.query),mutation:s(t.mutation),subscription:s(t.subscription)}));function r(N){return(0,Ai.isListType)(N)?new Ai.GraphQLList(r(N.ofType)):(0,Ai.isNonNullType)(N)?new Ai.GraphQLNonNull(r(N.ofType)):i(N)}function i(N){return n[N.name]}function s(N){return N&&i(N)}function o(N){let I=N.toConfig();return new Tie.GraphQLDirective(K(k({},I),{locations:iV(I.locations,b=>b),args:u(I.args)}))}function u(N){return LE(N,I=>K(k({},I),{type:r(I.type)}))}function l(N){return LE(N,I=>K(k({},I),{type:r(I.type),args:I.args&&u(I.args)}))}function d(N){return LE(N,I=>K(k({},I),{type:r(I.type)}))}function p(N){return $D(N).map(i)}function y(N){if((0,Ai.isScalarType)(N)||(0,yie.isIntrospectionType)(N))return N;if((0,Ai.isObjectType)(N)){let I=N.toConfig();return new Ai.GraphQLObjectType(K(k({},I),{interfaces:()=>p(I.interfaces),fields:()=>l(I.fields)}))}if((0,Ai.isInterfaceType)(N)){let I=N.toConfig();return new Ai.GraphQLInterfaceType(K(k({},I),{interfaces:()=>p(I.interfaces),fields:()=>l(I.fields)}))}if((0,Ai.isUnionType)(N)){let I=N.toConfig();return new Ai.GraphQLUnionType(K(k({},I),{types:()=>p(I.types)}))}if((0,Ai.isEnumType)(N)){let I=N.toConfig();return new Ai.GraphQLEnumType(K(k({},I),{values:LE(I.values,b=>b)}))}if((0,Ai.isInputObjectType)(N)){let I=N.toConfig();return new Ai.GraphQLInputObjectType(K(k({},I),{fields:()=>d(I.fields)}))}(0,mie.invariant)(!1,"Unexpected type: "+(0,fie.inspect)(N))}}function LE(e,t){let n=Object.create(null);for(let r of Object.keys(e).sort(rV.naturalCompare))n[r]=t(e[r]);return n}function $D(e){return iV(e,t=>t.name)}function iV(e,t){return e.slice().sort((n,r)=>{let i=t(n),s=t(r);return(0,rV.naturalCompare)(i,s)})}});var pV=V(Bh=>{"use strict";m();T();h();Object.defineProperty(Bh,"__esModule",{value:!0});Bh.printIntrospectionSchema=Sie;Bh.printSchema=Oie;Bh.printType=uV;var gie=En(),Iie=ci(),vie=Hm(),GD=en(),PE=ds(),Ep=tn(),QD=ji(),oV=xs(),_ie=Qo(),bie=lh();function Oie(e){return aV(e,t=>!(0,QD.isSpecifiedDirective)(t),Die)}function Sie(e){return aV(e,QD.isSpecifiedDirective,oV.isIntrospectionType)}function Die(e){return!(0,_ie.isSpecifiedScalarType)(e)&&!(0,oV.isIntrospectionType)(e)}function aV(e,t,n){let r=e.getDirectives().filter(t),i=Object.values(e.getTypeMap()).filter(n);return[Aie(e),...r.map(s=>Cie(s)),...i.map(s=>uV(s))].filter(Boolean).join(` + `}});var KB=V(CD=>{"use strict";m();T();h();Object.defineProperty(CD,"__esModule",{value:!0});CD.getOperationAST=Bre;var Mre=en();function Bre(e,t){let n=null;for(let i of e.definitions)if(i.kind===Mre.Kind.OPERATION_DEFINITION){var r;if(t==null){if(n)return null;n=i}else if(((r=i.name)===null||r===void 0?void 0:r.value)===t)return i}return n}});var GB=V(UD=>{"use strict";m();T();h();Object.defineProperty(UD,"__esModule",{value:!0});UD.getOperationRootType=Vre;var AE=ut();function Vre(e,t){if(t.operation==="query"){let n=e.getQueryType();if(!n)throw new AE.GraphQLError("Schema does not define the required query root type.",{nodes:t});return n}if(t.operation==="mutation"){let n=e.getMutationType();if(!n)throw new AE.GraphQLError("Schema is not configured for mutations.",{nodes:t});return n}if(t.operation==="subscription"){let n=e.getSubscriptionType();if(!n)throw new AE.GraphQLError("Schema is not configured for subscriptions.",{nodes:t});return n}throw new AE.GraphQLError("Can only have query, mutation and subscription operations.",{nodes:t})}});var QB=V(MD=>{"use strict";m();T();h();Object.defineProperty(MD,"__esModule",{value:!0});MD.introspectionFromSchema=Gre;var jre=ci(),$re=Ep(),qre=kh(),Kre=xD();function Gre(e,t){let n=k({specifiedByUrl:!0,directiveIsRepeatable:!0,schemaDescription:!0,inputValueDeprecation:!0,oneOf:!0},t),r=(0,$re.parse)((0,Kre.getIntrospectionQuery)(n)),i=(0,qre.executeSync)({schema:e,document:r});return!i.errors&&i.data||(0,jre.invariant)(!1),i.data}});var JB=V(BD=>{"use strict";m();T();h();Object.defineProperty(BD,"__esModule",{value:!0});BD.buildClientSchema=Xre;var Qre=Oi(),fs=En(),YB=$o(),RE=Jm(),Yre=Ep(),ms=tn(),Jre=ji(),Wo=Cs(),zre=Qo(),Hre=Il(),Wre=Ih();function Xre(e,t){(0,YB.isObjectLike)(e)&&(0,YB.isObjectLike)(e.__schema)||(0,Qre.devAssert)(!1,`Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${(0,fs.inspect)(e)}.`);let n=e.__schema,r=(0,RE.keyValMap)(n.types,B=>B.name,B=>N(B));for(let B of[...zre.specifiedScalarTypes,...Wo.introspectionTypes])r[B.name]&&(r[B.name]=B);let i=n.queryType?p(n.queryType):null,s=n.mutationType?p(n.mutationType):null,o=n.subscriptionType?p(n.subscriptionType):null,u=n.directives?n.directives.map(xt):[];return new Hre.GraphQLSchema({description:n.description,query:i,mutation:s,subscription:o,types:Object.values(r),directives:u,assumeValid:t==null?void 0:t.assumeValid});function l(B){if(B.kind===Wo.TypeKind.LIST){let he=B.ofType;if(!he)throw new Error("Decorated type deeper than introspection query.");return new ms.GraphQLList(l(he))}if(B.kind===Wo.TypeKind.NON_NULL){let he=B.ofType;if(!he)throw new Error("Decorated type deeper than introspection query.");let nt=l(he);return new ms.GraphQLNonNull((0,ms.assertNullableType)(nt))}return d(B)}function d(B){let he=B.name;if(!he)throw new Error(`Unknown type reference: ${(0,fs.inspect)(B)}.`);let nt=r[he];if(!nt)throw new Error(`Invalid or incomplete schema, unknown type: ${he}. Ensure that a full introspection query is used in order to build a client schema.`);return nt}function p(B){return(0,ms.assertObjectType)(d(B))}function y(B){return(0,ms.assertInterfaceType)(d(B))}function N(B){if(B!=null&&B.name!=null&&B.kind!=null)switch(B.kind){case Wo.TypeKind.SCALAR:return I(B);case Wo.TypeKind.OBJECT:return x(B);case Wo.TypeKind.INTERFACE:return j(B);case Wo.TypeKind.UNION:return Q(B);case Wo.TypeKind.ENUM:return re(B);case Wo.TypeKind.INPUT_OBJECT:return se(B)}let he=(0,fs.inspect)(B);throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${he}.`)}function I(B){return new ms.GraphQLScalarType({name:B.name,description:B.description,specifiedByURL:B.specifiedByURL})}function O(B){if(B.interfaces===null&&B.kind===Wo.TypeKind.INTERFACE)return[];if(!B.interfaces){let he=(0,fs.inspect)(B);throw new Error(`Introspection result missing interfaces: ${he}.`)}return B.interfaces.map(y)}function x(B){return new ms.GraphQLObjectType({name:B.name,description:B.description,interfaces:()=>O(B),fields:()=>pe(B)})}function j(B){return new ms.GraphQLInterfaceType({name:B.name,description:B.description,interfaces:()=>O(B),fields:()=>pe(B)})}function Q(B){if(!B.possibleTypes){let he=(0,fs.inspect)(B);throw new Error(`Introspection result missing possibleTypes: ${he}.`)}return new ms.GraphQLUnionType({name:B.name,description:B.description,types:()=>B.possibleTypes.map(p)})}function re(B){if(!B.enumValues){let he=(0,fs.inspect)(B);throw new Error(`Introspection result missing enumValues: ${he}.`)}return new ms.GraphQLEnumType({name:B.name,description:B.description,values:(0,RE.keyValMap)(B.enumValues,he=>he.name,he=>({description:he.description,deprecationReason:he.deprecationReason}))})}function se(B){if(!B.inputFields){let he=(0,fs.inspect)(B);throw new Error(`Introspection result missing inputFields: ${he}.`)}return new ms.GraphQLInputObjectType({name:B.name,description:B.description,fields:()=>Ce(B.inputFields),isOneOf:B.isOneOf})}function pe(B){if(!B.fields)throw new Error(`Introspection result missing fields: ${(0,fs.inspect)(B)}.`);return(0,RE.keyValMap)(B.fields,he=>he.name,ye)}function ye(B){let he=l(B.type);if(!(0,ms.isOutputType)(he)){let nt=(0,fs.inspect)(he);throw new Error(`Introspection must provide output type for fields, but received: ${nt}.`)}if(!B.args){let nt=(0,fs.inspect)(B);throw new Error(`Introspection result missing field args: ${nt}.`)}return{description:B.description,deprecationReason:B.deprecationReason,type:he,args:Ce(B.args)}}function Ce(B){return(0,RE.keyValMap)(B,he=>he.name,ht)}function ht(B){let he=l(B.type);if(!(0,ms.isInputType)(he)){let Ct=(0,fs.inspect)(he);throw new Error(`Introspection must provide input type for arguments, but received: ${Ct}.`)}let nt=B.defaultValue!=null?(0,Wre.valueFromAST)((0,Yre.parseValue)(B.defaultValue),he):void 0;return{description:B.description,type:he,defaultValue:nt,deprecationReason:B.deprecationReason}}function xt(B){if(!B.args){let he=(0,fs.inspect)(B);throw new Error(`Introspection result missing directive args: ${he}.`)}if(!B.locations){let he=(0,fs.inspect)(B);throw new Error(`Introspection result missing directive locations: ${he}.`)}return new Jre.GraphQLDirective({name:B.name,description:B.description,isRepeatable:B.isRepeatable,locations:B.locations.slice(),args:Ce(B.args)})}}});var jD=V(wE=>{"use strict";m();T();h();Object.defineProperty(wE,"__esModule",{value:!0});wE.extendSchema=iie;wE.extendSchemaImpl=nV;var Zre=Oi(),eie=En(),tie=ci(),nie=hc(),Mh=OO(),js=en(),zB=_l(),Hn=tn(),Bh=ji(),eV=Cs(),tV=Qo(),HB=Il(),rie=pp(),VD=lp(),WB=Ih();function iie(e,t,n){(0,HB.assertSchema)(e),t!=null&&t.kind===js.Kind.DOCUMENT||(0,Zre.devAssert)(!1,"Must provide valid Document AST."),(n==null?void 0:n.assumeValid)!==!0&&(n==null?void 0:n.assumeValidSDL)!==!0&&(0,rie.assertValidSDLExtension)(t,e);let r=e.toConfig(),i=nV(r,t,n);return r===i?e:new HB.GraphQLSchema(i)}function nV(e,t,n){var r,i,s,o;let u=[],l=Object.create(null),d=[],p,y=[];for(let U of t.definitions)if(U.kind===js.Kind.SCHEMA_DEFINITION)p=U;else if(U.kind===js.Kind.SCHEMA_EXTENSION)y.push(U);else if((0,zB.isTypeDefinitionNode)(U))u.push(U);else if((0,zB.isTypeExtensionNode)(U)){let ae=U.name.value,te=l[ae];l[ae]=te?te.concat([U]):[U]}else U.kind===js.Kind.DIRECTIVE_DEFINITION&&d.push(U);if(Object.keys(l).length===0&&u.length===0&&d.length===0&&y.length===0&&p==null)return e;let N=Object.create(null);for(let U of e.types)N[U.name]=re(U);for(let U of u){var I;let ae=U.name.value;N[ae]=(I=XB[ae])!==null&&I!==void 0?I:$n(U)}let O=k(k({query:e.query&&j(e.query),mutation:e.mutation&&j(e.mutation),subscription:e.subscription&&j(e.subscription)},p&&nt([p])),nt(y));return K(k({description:(r=p)===null||r===void 0||(i=r.description)===null||i===void 0?void 0:i.value},O),{types:Object.values(N),directives:[...e.directives.map(Q),...d.map(Fn)],extensions:Object.create(null),astNode:(s=p)!==null&&s!==void 0?s:e.astNode,extensionASTNodes:e.extensionASTNodes.concat(y),assumeValid:(o=n==null?void 0:n.assumeValid)!==null&&o!==void 0?o:!1});function x(U){return(0,Hn.isListType)(U)?new Hn.GraphQLList(x(U.ofType)):(0,Hn.isNonNullType)(U)?new Hn.GraphQLNonNull(x(U.ofType)):j(U)}function j(U){return N[U.name]}function Q(U){let ae=U.toConfig();return new Bh.GraphQLDirective(K(k({},ae),{args:(0,Mh.mapValue)(ae.args,he)}))}function re(U){if((0,eV.isIntrospectionType)(U)||(0,tV.isSpecifiedScalarType)(U))return U;if((0,Hn.isScalarType)(U))return ye(U);if((0,Hn.isObjectType)(U))return Ce(U);if((0,Hn.isInterfaceType)(U))return ht(U);if((0,Hn.isUnionType)(U))return xt(U);if((0,Hn.isEnumType)(U))return pe(U);if((0,Hn.isInputObjectType)(U))return se(U);(0,tie.invariant)(!1,"Unexpected type: "+(0,eie.inspect)(U))}function se(U){var ae;let te=U.toConfig(),ce=(ae=l[te.name])!==null&&ae!==void 0?ae:[];return new Hn.GraphQLInputObjectType(K(k({},te),{fields:()=>k(k({},(0,Mh.mapValue)(te.fields,Ke=>K(k({},Ke),{type:x(Ke.type)}))),mi(ce)),extensionASTNodes:te.extensionASTNodes.concat(ce)}))}function pe(U){var ae;let te=U.toConfig(),ce=(ae=l[U.name])!==null&&ae!==void 0?ae:[];return new Hn.GraphQLEnumType(K(k({},te),{values:k(k({},te.values),Xr(ce)),extensionASTNodes:te.extensionASTNodes.concat(ce)}))}function ye(U){var ae;let te=U.toConfig(),ce=(ae=l[te.name])!==null&&ae!==void 0?ae:[],Ke=te.specifiedByURL;for(let ee of ce){var G;Ke=(G=ZB(ee))!==null&&G!==void 0?G:Ke}return new Hn.GraphQLScalarType(K(k({},te),{specifiedByURL:Ke,extensionASTNodes:te.extensionASTNodes.concat(ce)}))}function Ce(U){var ae;let te=U.toConfig(),ce=(ae=l[te.name])!==null&&ae!==void 0?ae:[];return new Hn.GraphQLObjectType(K(k({},te),{interfaces:()=>[...U.getInterfaces().map(j),...Pn(ce)],fields:()=>k(k({},(0,Mh.mapValue)(te.fields,B)),_n(ce)),extensionASTNodes:te.extensionASTNodes.concat(ce)}))}function ht(U){var ae;let te=U.toConfig(),ce=(ae=l[te.name])!==null&&ae!==void 0?ae:[];return new Hn.GraphQLInterfaceType(K(k({},te),{interfaces:()=>[...U.getInterfaces().map(j),...Pn(ce)],fields:()=>k(k({},(0,Mh.mapValue)(te.fields,B)),_n(ce)),extensionASTNodes:te.extensionASTNodes.concat(ce)}))}function xt(U){var ae;let te=U.toConfig(),ce=(ae=l[te.name])!==null&&ae!==void 0?ae:[];return new Hn.GraphQLUnionType(K(k({},te),{types:()=>[...U.getTypes().map(j),...on(ce)],extensionASTNodes:te.extensionASTNodes.concat(ce)}))}function B(U){return K(k({},U),{type:x(U.type),args:U.args&&(0,Mh.mapValue)(U.args,he)})}function he(U){return K(k({},U),{type:x(U.type)})}function nt(U){let ae={};for(let ce of U){var te;let Ke=(te=ce.operationTypes)!==null&&te!==void 0?te:[];for(let G of Ke)ae[G.operation]=Ct(G.type)}return ae}function Ct(U){var ae;let te=U.name.value,ce=(ae=XB[te])!==null&&ae!==void 0?ae:N[te];if(ce===void 0)throw new Error(`Unknown type: "${te}".`);return ce}function sn(U){return U.kind===js.Kind.LIST_TYPE?new Hn.GraphQLList(sn(U.type)):U.kind===js.Kind.NON_NULL_TYPE?new Hn.GraphQLNonNull(sn(U.type)):Ct(U)}function Fn(U){var ae;return new Bh.GraphQLDirective({name:U.name.value,description:(ae=U.description)===null||ae===void 0?void 0:ae.value,locations:U.locations.map(({value:te})=>te),isRepeatable:U.repeatable,args:bn(U.arguments),astNode:U})}function _n(U){let ae=Object.create(null);for(let Ke of U){var te;let G=(te=Ke.fields)!==null&&te!==void 0?te:[];for(let ee of G){var ce;ae[ee.name.value]={type:sn(ee.type),description:(ce=ee.description)===null||ce===void 0?void 0:ce.value,args:bn(ee.arguments),deprecationReason:FE(ee),astNode:ee}}}return ae}function bn(U){let ae=U!=null?U:[],te=Object.create(null);for(let Ke of ae){var ce;let G=sn(Ke.type);te[Ke.name.value]={type:G,description:(ce=Ke.description)===null||ce===void 0?void 0:ce.value,defaultValue:(0,WB.valueFromAST)(Ke.defaultValue,G),deprecationReason:FE(Ke),astNode:Ke}}return te}function mi(U){let ae=Object.create(null);for(let Ke of U){var te;let G=(te=Ke.fields)!==null&&te!==void 0?te:[];for(let ee of G){var ce;let Ue=sn(ee.type);ae[ee.name.value]={type:Ue,description:(ce=ee.description)===null||ce===void 0?void 0:ce.value,defaultValue:(0,WB.valueFromAST)(ee.defaultValue,Ue),deprecationReason:FE(ee),astNode:ee}}}return ae}function Xr(U){let ae=Object.create(null);for(let Ke of U){var te;let G=(te=Ke.values)!==null&&te!==void 0?te:[];for(let ee of G){var ce;ae[ee.name.value]={description:(ce=ee.description)===null||ce===void 0?void 0:ce.value,deprecationReason:FE(ee),astNode:ee}}}return ae}function Pn(U){return U.flatMap(ae=>{var te,ce;return(te=(ce=ae.interfaces)===null||ce===void 0?void 0:ce.map(Ct))!==null&&te!==void 0?te:[]})}function on(U){return U.flatMap(ae=>{var te,ce;return(te=(ce=ae.types)===null||ce===void 0?void 0:ce.map(Ct))!==null&&te!==void 0?te:[]})}function $n(U){var ae;let te=U.name.value,ce=(ae=l[te])!==null&&ae!==void 0?ae:[];switch(U.kind){case js.Kind.OBJECT_TYPE_DEFINITION:{var Ke;let Je=[U,...ce];return new Hn.GraphQLObjectType({name:te,description:(Ke=U.description)===null||Ke===void 0?void 0:Ke.value,interfaces:()=>Pn(Je),fields:()=>_n(Je),astNode:U,extensionASTNodes:ce})}case js.Kind.INTERFACE_TYPE_DEFINITION:{var G;let Je=[U,...ce];return new Hn.GraphQLInterfaceType({name:te,description:(G=U.description)===null||G===void 0?void 0:G.value,interfaces:()=>Pn(Je),fields:()=>_n(Je),astNode:U,extensionASTNodes:ce})}case js.Kind.ENUM_TYPE_DEFINITION:{var ee;let Je=[U,...ce];return new Hn.GraphQLEnumType({name:te,description:(ee=U.description)===null||ee===void 0?void 0:ee.value,values:Xr(Je),astNode:U,extensionASTNodes:ce})}case js.Kind.UNION_TYPE_DEFINITION:{var Ue;let Je=[U,...ce];return new Hn.GraphQLUnionType({name:te,description:(Ue=U.description)===null||Ue===void 0?void 0:Ue.value,types:()=>on(Je),astNode:U,extensionASTNodes:ce})}case js.Kind.SCALAR_TYPE_DEFINITION:{var Xe;return new Hn.GraphQLScalarType({name:te,description:(Xe=U.description)===null||Xe===void 0?void 0:Xe.value,specifiedByURL:ZB(U),astNode:U,extensionASTNodes:ce})}case js.Kind.INPUT_OBJECT_TYPE_DEFINITION:{var $t;let Je=[U,...ce];return new Hn.GraphQLInputObjectType({name:te,description:($t=U.description)===null||$t===void 0?void 0:$t.value,fields:()=>mi(Je),astNode:U,extensionASTNodes:ce,isOneOf:sie(U)})}}}}var XB=(0,nie.keyMap)([...tV.specifiedScalarTypes,...eV.introspectionTypes],e=>e.name);function FE(e){let t=(0,VD.getDirectiveValues)(Bh.GraphQLDeprecatedDirective,e);return t==null?void 0:t.reason}function ZB(e){let t=(0,VD.getDirectiveValues)(Bh.GraphQLSpecifiedByDirective,e);return t==null?void 0:t.url}function sie(e){return!!(0,VD.getDirectiveValues)(Bh.GraphQLOneOfDirective,e)}});var iV=V(LE=>{"use strict";m();T();h();Object.defineProperty(LE,"__esModule",{value:!0});LE.buildASTSchema=rV;LE.buildSchema=fie;var oie=Oi(),aie=en(),uie=Ep(),cie=ji(),lie=Il(),die=pp(),pie=jD();function rV(e,t){e!=null&&e.kind===aie.Kind.DOCUMENT||(0,oie.devAssert)(!1,"Must provide valid Document AST."),(t==null?void 0:t.assumeValid)!==!0&&(t==null?void 0:t.assumeValidSDL)!==!0&&(0,die.assertValidSDL)(e);let n={description:void 0,types:[],directives:[],extensions:Object.create(null),extensionASTNodes:[],assumeValid:!1},r=(0,pie.extendSchemaImpl)(n,e,t);if(r.astNode==null)for(let s of r.types)switch(s.name){case"Query":r.query=s;break;case"Mutation":r.mutation=s;break;case"Subscription":r.subscription=s;break}let i=[...r.directives,...cie.specifiedDirectives.filter(s=>r.directives.every(o=>o.name!==s.name))];return new lie.GraphQLSchema(K(k({},r),{directives:i}))}function fie(e,t){let n=(0,uie.parse)(e,{noLocation:t==null?void 0:t.noLocation,allowLegacyFragmentVariables:t==null?void 0:t.allowLegacyFragmentVariables});return rV(n,{assumeValidSDL:t==null?void 0:t.assumeValidSDL,assumeValid:t==null?void 0:t.assumeValid})}});var aV=V(qD=>{"use strict";m();T();h();Object.defineProperty(qD,"__esModule",{value:!0});qD.lexicographicSortSchema=gie;var mie=En(),hie=ci(),Tie=Jm(),sV=zm(),Ai=tn(),yie=ji(),Nie=Cs(),Eie=Il();function gie(e){let t=e.toConfig(),n=(0,Tie.keyValMap)($D(t.types),N=>N.name,y);return new Eie.GraphQLSchema(K(k({},t),{types:Object.values(n),directives:$D(t.directives).map(o),query:s(t.query),mutation:s(t.mutation),subscription:s(t.subscription)}));function r(N){return(0,Ai.isListType)(N)?new Ai.GraphQLList(r(N.ofType)):(0,Ai.isNonNullType)(N)?new Ai.GraphQLNonNull(r(N.ofType)):i(N)}function i(N){return n[N.name]}function s(N){return N&&i(N)}function o(N){let I=N.toConfig();return new yie.GraphQLDirective(K(k({},I),{locations:oV(I.locations,O=>O),args:u(I.args)}))}function u(N){return PE(N,I=>K(k({},I),{type:r(I.type)}))}function l(N){return PE(N,I=>K(k({},I),{type:r(I.type),args:I.args&&u(I.args)}))}function d(N){return PE(N,I=>K(k({},I),{type:r(I.type)}))}function p(N){return $D(N).map(i)}function y(N){if((0,Ai.isScalarType)(N)||(0,Nie.isIntrospectionType)(N))return N;if((0,Ai.isObjectType)(N)){let I=N.toConfig();return new Ai.GraphQLObjectType(K(k({},I),{interfaces:()=>p(I.interfaces),fields:()=>l(I.fields)}))}if((0,Ai.isInterfaceType)(N)){let I=N.toConfig();return new Ai.GraphQLInterfaceType(K(k({},I),{interfaces:()=>p(I.interfaces),fields:()=>l(I.fields)}))}if((0,Ai.isUnionType)(N)){let I=N.toConfig();return new Ai.GraphQLUnionType(K(k({},I),{types:()=>p(I.types)}))}if((0,Ai.isEnumType)(N)){let I=N.toConfig();return new Ai.GraphQLEnumType(K(k({},I),{values:PE(I.values,O=>O)}))}if((0,Ai.isInputObjectType)(N)){let I=N.toConfig();return new Ai.GraphQLInputObjectType(K(k({},I),{fields:()=>d(I.fields)}))}(0,hie.invariant)(!1,"Unexpected type: "+(0,mie.inspect)(N))}}function PE(e,t){let n=Object.create(null);for(let r of Object.keys(e).sort(sV.naturalCompare))n[r]=t(e[r]);return n}function $D(e){return oV(e,t=>t.name)}function oV(e,t){return e.slice().sort((n,r)=>{let i=t(n),s=t(r);return(0,sV.naturalCompare)(i,s)})}});var mV=V(Vh=>{"use strict";m();T();h();Object.defineProperty(Vh,"__esModule",{value:!0});Vh.printIntrospectionSchema=Die;Vh.printSchema=Sie;Vh.printType=lV;var Iie=En(),vie=ci(),_ie=Wm(),GD=en(),kE=ds(),Ip=tn(),QD=ji(),uV=Cs(),bie=Qo(),Oie=dh();function Sie(e){return cV(e,t=>!(0,QD.isSpecifiedDirective)(t),Aie)}function Die(e){return cV(e,QD.isSpecifiedDirective,uV.isIntrospectionType)}function Aie(e){return!(0,bie.isSpecifiedScalarType)(e)&&!(0,uV.isIntrospectionType)(e)}function cV(e,t,n){let r=e.getDirectives().filter(t),i=Object.values(e.getTypeMap()).filter(n);return[Rie(e),...r.map(s=>Uie(s)),...i.map(s=>lV(s))].filter(Boolean).join(` -`)}function Aie(e){if(e.description==null&&Rie(e))return;let t=[],n=e.getQueryType();n&&t.push(` query: ${n.name}`);let r=e.getMutationType();r&&t.push(` mutation: ${r.name}`);let i=e.getSubscriptionType();return i&&t.push(` subscription: ${i.name}`),js(e)+`schema { +`)}function Rie(e){if(e.description==null&&Fie(e))return;let t=[],n=e.getQueryType();n&&t.push(` query: ${n.name}`);let r=e.getMutationType();r&&t.push(` mutation: ${r.name}`);let i=e.getSubscriptionType();return i&&t.push(` subscription: ${i.name}`),$s(e)+`schema { ${t.join(` `)} -}`}function Rie(e){let t=e.getQueryType();if(t&&t.name!=="Query")return!1;let n=e.getMutationType();if(n&&n.name!=="Mutation")return!1;let r=e.getSubscriptionType();return!(r&&r.name!=="Subscription")}function uV(e){if((0,Ep.isScalarType)(e))return Fie(e);if((0,Ep.isObjectType)(e))return wie(e);if((0,Ep.isInterfaceType)(e))return Lie(e);if((0,Ep.isUnionType)(e))return Pie(e);if((0,Ep.isEnumType)(e))return kie(e);if((0,Ep.isInputObjectType)(e))return xie(e);(0,Iie.invariant)(!1,"Unexpected type: "+(0,gie.inspect)(e))}function Fie(e){return js(e)+`scalar ${e.name}`+Uie(e)}function cV(e){let t=e.getInterfaces();return t.length?" implements "+t.map(n=>n.name).join(" & "):""}function wie(e){return js(e)+`type ${e.name}`+cV(e)+lV(e)}function Lie(e){return js(e)+`interface ${e.name}`+cV(e)+lV(e)}function Pie(e){let t=e.getTypes(),n=t.length?" = "+t.join(" | "):"";return js(e)+"union "+e.name+n}function kie(e){let t=e.getValues().map((n,r)=>js(n," ",!r)+" "+n.name+JD(n.deprecationReason));return js(e)+`enum ${e.name}`+YD(t)}function xie(e){let t=Object.values(e.getFields()).map((n,r)=>js(n," ",!r)+" "+KD(n));return js(e)+`input ${e.name}`+(e.isOneOf?" @oneOf":"")+YD(t)}function lV(e){let t=Object.values(e.getFields()).map((n,r)=>js(n," ",!r)+" "+n.name+dV(n.args," ")+": "+String(n.type)+JD(n.deprecationReason));return YD(t)}function YD(e){return e.length!==0?` { +}`}function Fie(e){let t=e.getQueryType();if(t&&t.name!=="Query")return!1;let n=e.getMutationType();if(n&&n.name!=="Mutation")return!1;let r=e.getSubscriptionType();return!(r&&r.name!=="Subscription")}function lV(e){if((0,Ip.isScalarType)(e))return wie(e);if((0,Ip.isObjectType)(e))return Lie(e);if((0,Ip.isInterfaceType)(e))return Pie(e);if((0,Ip.isUnionType)(e))return kie(e);if((0,Ip.isEnumType)(e))return xie(e);if((0,Ip.isInputObjectType)(e))return Cie(e);(0,vie.invariant)(!1,"Unexpected type: "+(0,Iie.inspect)(e))}function wie(e){return $s(e)+`scalar ${e.name}`+Mie(e)}function dV(e){let t=e.getInterfaces();return t.length?" implements "+t.map(n=>n.name).join(" & "):""}function Lie(e){return $s(e)+`type ${e.name}`+dV(e)+pV(e)}function Pie(e){return $s(e)+`interface ${e.name}`+dV(e)+pV(e)}function kie(e){let t=e.getTypes(),n=t.length?" = "+t.join(" | "):"";return $s(e)+"union "+e.name+n}function xie(e){let t=e.getValues().map((n,r)=>$s(n," ",!r)+" "+n.name+JD(n.deprecationReason));return $s(e)+`enum ${e.name}`+YD(t)}function Cie(e){let t=Object.values(e.getFields()).map((n,r)=>$s(n," ",!r)+" "+KD(n));return $s(e)+`input ${e.name}`+(e.isOneOf?" @oneOf":"")+YD(t)}function pV(e){let t=Object.values(e.getFields()).map((n,r)=>$s(n," ",!r)+" "+n.name+fV(n.args," ")+": "+String(n.type)+JD(n.deprecationReason));return YD(t)}function YD(e){return e.length!==0?` { `+e.join(` `)+` -}`:""}function dV(e,t=""){return e.length===0?"":e.every(n=>!n.description)?"("+e.map(KD).join(", ")+")":`( -`+e.map((n,r)=>js(n," "+t,!r)+" "+t+KD(n)).join(` +}`:""}function fV(e,t=""){return e.length===0?"":e.every(n=>!n.description)?"("+e.map(KD).join(", ")+")":`( +`+e.map((n,r)=>$s(n," "+t,!r)+" "+t+KD(n)).join(` `)+` -`+t+")"}function KD(e){let t=(0,bie.astFromValue)(e.defaultValue,e.type),n=e.name+": "+String(e.type);return t&&(n+=` = ${(0,PE.print)(t)}`),n+JD(e.deprecationReason)}function Cie(e){return js(e)+"directive @"+e.name+dV(e.args)+(e.isRepeatable?" repeatable":"")+" on "+e.locations.join(" | ")}function JD(e){return e==null?"":e!==QD.DEFAULT_DEPRECATION_REASON?` @deprecated(reason: ${(0,PE.print)({kind:GD.Kind.STRING,value:e})})`:" @deprecated"}function Uie(e){return e.specifiedByURL==null?"":` @specifiedBy(url: ${(0,PE.print)({kind:GD.Kind.STRING,value:e.specifiedByURL})})`}function js(e,t="",n=!0){let{description:r}=e;if(r==null)return"";let i=(0,PE.print)({kind:GD.Kind.STRING,value:r,block:(0,vie.isPrintableAsBlockString)(r)});return(t&&!n?` +`+t+")"}function KD(e){let t=(0,Oie.astFromValue)(e.defaultValue,e.type),n=e.name+": "+String(e.type);return t&&(n+=` = ${(0,kE.print)(t)}`),n+JD(e.deprecationReason)}function Uie(e){return $s(e)+"directive @"+e.name+fV(e.args)+(e.isRepeatable?" repeatable":"")+" on "+e.locations.join(" | ")}function JD(e){return e==null?"":e!==QD.DEFAULT_DEPRECATION_REASON?` @deprecated(reason: ${(0,kE.print)({kind:GD.Kind.STRING,value:e})})`:" @deprecated"}function Mie(e){return e.specifiedByURL==null?"":` @specifiedBy(url: ${(0,kE.print)({kind:GD.Kind.STRING,value:e.specifiedByURL})})`}function $s(e,t="",n=!0){let{description:r}=e;if(r==null)return"";let i=(0,kE.print)({kind:GD.Kind.STRING,value:r,block:(0,_ie.isPrintableAsBlockString)(r)});return(t&&!n?` `+t:t)+i.replace(/\n/g,` `+t)+` -`}});var fV=V(zD=>{"use strict";m();T();h();Object.defineProperty(zD,"__esModule",{value:!0});zD.concatAST=Bie;var Mie=en();function Bie(e){let t=[];for(let n of e)t.push(...n.definitions);return{kind:Mie.Kind.DOCUMENT,definitions:t}}});var TV=V(HD=>{"use strict";m();T();h();Object.defineProperty(HD,"__esModule",{value:!0});HD.separateOperations=jie;var kE=en(),Vie=pl();function jie(e){let t=[],n=Object.create(null);for(let i of e.definitions)switch(i.kind){case kE.Kind.OPERATION_DEFINITION:t.push(i);break;case kE.Kind.FRAGMENT_DEFINITION:n[i.name.value]=mV(i.selectionSet);break;default:}let r=Object.create(null);for(let i of t){let s=new Set;for(let u of mV(i.selectionSet))hV(s,n,u);let o=i.name?i.name.value:"";r[o]={kind:kE.Kind.DOCUMENT,definitions:e.definitions.filter(u=>u===i||u.kind===kE.Kind.FRAGMENT_DEFINITION&&s.has(u.name.value))}}return r}function hV(e,t,n){if(!e.has(n)){e.add(n);let r=t[n];if(r!==void 0)for(let i of r)hV(e,t,i)}}function mV(e){let t=[];return(0,Vie.visit)(e,{FragmentSpread(n){t.push(n.name.value)}}),t}});var EV=V(XD=>{"use strict";m();T();h();Object.defineProperty(XD,"__esModule",{value:!0});XD.stripIgnoredCharacters=qie;var $ie=Hm(),yV=mE(),NV=TE(),WD=Dh();function qie(e){let t=(0,NV.isSource)(e)?e:new NV.Source(e),n=t.body,r=new yV.Lexer(t),i="",s=!1;for(;r.advance().kind!==WD.TokenKind.EOF;){let o=r.token,u=o.kind,l=!(0,yV.isPunctuatorTokenKind)(o.kind);s&&(l||o.kind===WD.TokenKind.SPREAD)&&(i+=" ");let d=n.slice(o.start,o.end);u===WD.TokenKind.BLOCK_STRING?i+=(0,$ie.printBlockString)(o.value,{minimize:!0}):i+=d,s=l}return i}});var IV=V(xE=>{"use strict";m();T();h();Object.defineProperty(xE,"__esModule",{value:!0});xE.assertValidName=Yie;xE.isValidNameError=gV;var Kie=Oi(),Gie=at(),Qie=Wm();function Yie(e){let t=gV(e);if(t)throw t;return e}function gV(e){if(typeof e=="string"||(0,Kie.devAssert)(!1,"Expected name to be a string."),e.startsWith("__"))return new Gie.GraphQLError(`Name "${e}" must not begin with "__", which is reserved by GraphQL introspection.`);try{(0,Qie.assertName)(e)}catch(t){return t}}});var RV=V(Xo=>{"use strict";m();T();h();Object.defineProperty(Xo,"__esModule",{value:!0});Xo.DangerousChangeType=Xo.BreakingChangeType=void 0;Xo.findBreakingChanges=Zie;Xo.findDangerousChanges=ese;var Jie=En(),DV=ci(),vV=hc(),zie=ds(),ln=tn(),Hie=Qo(),Wie=lh(),Xie=$S(),lr;Xo.BreakingChangeType=lr;(function(e){e.TYPE_REMOVED="TYPE_REMOVED",e.TYPE_CHANGED_KIND="TYPE_CHANGED_KIND",e.TYPE_REMOVED_FROM_UNION="TYPE_REMOVED_FROM_UNION",e.VALUE_REMOVED_FROM_ENUM="VALUE_REMOVED_FROM_ENUM",e.REQUIRED_INPUT_FIELD_ADDED="REQUIRED_INPUT_FIELD_ADDED",e.IMPLEMENTED_INTERFACE_REMOVED="IMPLEMENTED_INTERFACE_REMOVED",e.FIELD_REMOVED="FIELD_REMOVED",e.FIELD_CHANGED_KIND="FIELD_CHANGED_KIND",e.REQUIRED_ARG_ADDED="REQUIRED_ARG_ADDED",e.ARG_REMOVED="ARG_REMOVED",e.ARG_CHANGED_KIND="ARG_CHANGED_KIND",e.DIRECTIVE_REMOVED="DIRECTIVE_REMOVED",e.DIRECTIVE_ARG_REMOVED="DIRECTIVE_ARG_REMOVED",e.REQUIRED_DIRECTIVE_ARG_ADDED="REQUIRED_DIRECTIVE_ARG_ADDED",e.DIRECTIVE_REPEATABLE_REMOVED="DIRECTIVE_REPEATABLE_REMOVED",e.DIRECTIVE_LOCATION_REMOVED="DIRECTIVE_LOCATION_REMOVED"})(lr||(Xo.BreakingChangeType=lr={}));var go;Xo.DangerousChangeType=go;(function(e){e.VALUE_ADDED_TO_ENUM="VALUE_ADDED_TO_ENUM",e.TYPE_ADDED_TO_UNION="TYPE_ADDED_TO_UNION",e.OPTIONAL_INPUT_FIELD_ADDED="OPTIONAL_INPUT_FIELD_ADDED",e.OPTIONAL_ARG_ADDED="OPTIONAL_ARG_ADDED",e.IMPLEMENTED_INTERFACE_ADDED="IMPLEMENTED_INTERFACE_ADDED",e.ARG_DEFAULT_VALUE_CHANGE="ARG_DEFAULT_VALUE_CHANGE"})(go||(Xo.DangerousChangeType=go={}));function Zie(e,t){return AV(e,t).filter(n=>n.type in lr)}function ese(e,t){return AV(e,t).filter(n=>n.type in go)}function AV(e,t){return[...nse(e,t),...tse(e,t)]}function tse(e,t){let n=[],r=Ka(e.getDirectives(),t.getDirectives());for(let i of r.removed)n.push({type:lr.DIRECTIVE_REMOVED,description:`${i.name} was removed.`});for(let[i,s]of r.persisted){let o=Ka(i.args,s.args);for(let u of o.added)(0,ln.isRequiredArgument)(u)&&n.push({type:lr.REQUIRED_DIRECTIVE_ARG_ADDED,description:`A required arg ${u.name} on directive ${i.name} was added.`});for(let u of o.removed)n.push({type:lr.DIRECTIVE_ARG_REMOVED,description:`${u.name} was removed from ${i.name}.`});i.isRepeatable&&!s.isRepeatable&&n.push({type:lr.DIRECTIVE_REPEATABLE_REMOVED,description:`Repeatable flag was removed from ${i.name}.`});for(let u of i.locations)s.locations.includes(u)||n.push({type:lr.DIRECTIVE_LOCATION_REMOVED,description:`${u} was removed from ${i.name}.`})}return n}function nse(e,t){let n=[],r=Ka(Object.values(e.getTypeMap()),Object.values(t.getTypeMap()));for(let i of r.removed)n.push({type:lr.TYPE_REMOVED,description:(0,Hie.isSpecifiedScalarType)(i)?`Standard scalar ${i.name} was removed because it is not referenced anymore.`:`${i.name} was removed.`});for(let[i,s]of r.persisted)(0,ln.isEnumType)(i)&&(0,ln.isEnumType)(s)?n.push(...sse(i,s)):(0,ln.isUnionType)(i)&&(0,ln.isUnionType)(s)?n.push(...ise(i,s)):(0,ln.isInputObjectType)(i)&&(0,ln.isInputObjectType)(s)?n.push(...rse(i,s)):(0,ln.isObjectType)(i)&&(0,ln.isObjectType)(s)?n.push(...bV(i,s),..._V(i,s)):(0,ln.isInterfaceType)(i)&&(0,ln.isInterfaceType)(s)?n.push(...bV(i,s),..._V(i,s)):i.constructor!==s.constructor&&n.push({type:lr.TYPE_CHANGED_KIND,description:`${i.name} changed from ${OV(i)} to ${OV(s)}.`});return n}function rse(e,t){let n=[],r=Ka(Object.values(e.getFields()),Object.values(t.getFields()));for(let i of r.added)(0,ln.isRequiredInputField)(i)?n.push({type:lr.REQUIRED_INPUT_FIELD_ADDED,description:`A required field ${i.name} on input type ${e.name} was added.`}):n.push({type:go.OPTIONAL_INPUT_FIELD_ADDED,description:`An optional field ${i.name} on input type ${e.name} was added.`});for(let i of r.removed)n.push({type:lr.FIELD_REMOVED,description:`${e.name}.${i.name} was removed.`});for(let[i,s]of r.persisted)jh(i.type,s.type)||n.push({type:lr.FIELD_CHANGED_KIND,description:`${e.name}.${i.name} changed type from ${String(i.type)} to ${String(s.type)}.`});return n}function ise(e,t){let n=[],r=Ka(e.getTypes(),t.getTypes());for(let i of r.added)n.push({type:go.TYPE_ADDED_TO_UNION,description:`${i.name} was added to union type ${e.name}.`});for(let i of r.removed)n.push({type:lr.TYPE_REMOVED_FROM_UNION,description:`${i.name} was removed from union type ${e.name}.`});return n}function sse(e,t){let n=[],r=Ka(e.getValues(),t.getValues());for(let i of r.added)n.push({type:go.VALUE_ADDED_TO_ENUM,description:`${i.name} was added to enum type ${e.name}.`});for(let i of r.removed)n.push({type:lr.VALUE_REMOVED_FROM_ENUM,description:`${i.name} was removed from enum type ${e.name}.`});return n}function _V(e,t){let n=[],r=Ka(e.getInterfaces(),t.getInterfaces());for(let i of r.added)n.push({type:go.IMPLEMENTED_INTERFACE_ADDED,description:`${i.name} added to interfaces implemented by ${e.name}.`});for(let i of r.removed)n.push({type:lr.IMPLEMENTED_INTERFACE_REMOVED,description:`${e.name} no longer implements interface ${i.name}.`});return n}function bV(e,t){let n=[],r=Ka(Object.values(e.getFields()),Object.values(t.getFields()));for(let i of r.removed)n.push({type:lr.FIELD_REMOVED,description:`${e.name}.${i.name} was removed.`});for(let[i,s]of r.persisted)n.push(...ose(e,i,s)),Vh(i.type,s.type)||n.push({type:lr.FIELD_CHANGED_KIND,description:`${e.name}.${i.name} changed type from ${String(i.type)} to ${String(s.type)}.`});return n}function ose(e,t,n){let r=[],i=Ka(t.args,n.args);for(let s of i.removed)r.push({type:lr.ARG_REMOVED,description:`${e.name}.${t.name} arg ${s.name} was removed.`});for(let[s,o]of i.persisted)if(!jh(s.type,o.type))r.push({type:lr.ARG_CHANGED_KIND,description:`${e.name}.${t.name} arg ${s.name} has changed type from ${String(s.type)} to ${String(o.type)}.`});else if(s.defaultValue!==void 0)if(o.defaultValue===void 0)r.push({type:go.ARG_DEFAULT_VALUE_CHANGE,description:`${e.name}.${t.name} arg ${s.name} defaultValue was removed.`});else{let l=SV(s.defaultValue,s.type),d=SV(o.defaultValue,o.type);l!==d&&r.push({type:go.ARG_DEFAULT_VALUE_CHANGE,description:`${e.name}.${t.name} arg ${s.name} has changed defaultValue from ${l} to ${d}.`})}for(let s of i.added)(0,ln.isRequiredArgument)(s)?r.push({type:lr.REQUIRED_ARG_ADDED,description:`A required arg ${s.name} on ${e.name}.${t.name} was added.`}):r.push({type:go.OPTIONAL_ARG_ADDED,description:`An optional arg ${s.name} on ${e.name}.${t.name} was added.`});return r}function Vh(e,t){return(0,ln.isListType)(e)?(0,ln.isListType)(t)&&Vh(e.ofType,t.ofType)||(0,ln.isNonNullType)(t)&&Vh(e,t.ofType):(0,ln.isNonNullType)(e)?(0,ln.isNonNullType)(t)&&Vh(e.ofType,t.ofType):(0,ln.isNamedType)(t)&&e.name===t.name||(0,ln.isNonNullType)(t)&&Vh(e,t.ofType)}function jh(e,t){return(0,ln.isListType)(e)?(0,ln.isListType)(t)&&jh(e.ofType,t.ofType):(0,ln.isNonNullType)(e)?(0,ln.isNonNullType)(t)&&jh(e.ofType,t.ofType)||!(0,ln.isNonNullType)(t)&&jh(e.ofType,t):(0,ln.isNamedType)(t)&&e.name===t.name}function OV(e){if((0,ln.isScalarType)(e))return"a Scalar type";if((0,ln.isObjectType)(e))return"an Object type";if((0,ln.isInterfaceType)(e))return"an Interface type";if((0,ln.isUnionType)(e))return"a Union type";if((0,ln.isEnumType)(e))return"an Enum type";if((0,ln.isInputObjectType)(e))return"an Input type";(0,DV.invariant)(!1,"Unexpected type: "+(0,Jie.inspect)(e))}function SV(e,t){let n=(0,Wie.astFromValue)(e,t);return n!=null||(0,DV.invariant)(!1),(0,zie.print)((0,Xie.sortValueNode)(n))}function Ka(e,t){let n=[],r=[],i=[],s=(0,vV.keyMap)(e,({name:u})=>u),o=(0,vV.keyMap)(t,({name:u})=>u);for(let u of e){let l=o[u.name];l===void 0?r.push(u):i.push([u,l])}for(let u of t)s[u.name]===void 0&&n.push(u);return{added:n,persisted:i,removed:r}}});var PV=V(un=>{"use strict";m();T();h();Object.defineProperty(un,"__esModule",{value:!0});Object.defineProperty(un,"BreakingChangeType",{enumerable:!0,get:function(){return CE.BreakingChangeType}});Object.defineProperty(un,"DangerousChangeType",{enumerable:!0,get:function(){return CE.DangerousChangeType}});Object.defineProperty(un,"TypeInfo",{enumerable:!0,get:function(){return wV.TypeInfo}});Object.defineProperty(un,"assertValidName",{enumerable:!0,get:function(){return LV.assertValidName}});Object.defineProperty(un,"astFromValue",{enumerable:!0,get:function(){return yse.astFromValue}});Object.defineProperty(un,"buildASTSchema",{enumerable:!0,get:function(){return FV.buildASTSchema}});Object.defineProperty(un,"buildClientSchema",{enumerable:!0,get:function(){return dse.buildClientSchema}});Object.defineProperty(un,"buildSchema",{enumerable:!0,get:function(){return FV.buildSchema}});Object.defineProperty(un,"coerceInputValue",{enumerable:!0,get:function(){return Nse.coerceInputValue}});Object.defineProperty(un,"concatAST",{enumerable:!0,get:function(){return Ese.concatAST}});Object.defineProperty(un,"doTypesOverlap",{enumerable:!0,get:function(){return eA.doTypesOverlap}});Object.defineProperty(un,"extendSchema",{enumerable:!0,get:function(){return pse.extendSchema}});Object.defineProperty(un,"findBreakingChanges",{enumerable:!0,get:function(){return CE.findBreakingChanges}});Object.defineProperty(un,"findDangerousChanges",{enumerable:!0,get:function(){return CE.findDangerousChanges}});Object.defineProperty(un,"getIntrospectionQuery",{enumerable:!0,get:function(){return ase.getIntrospectionQuery}});Object.defineProperty(un,"getOperationAST",{enumerable:!0,get:function(){return use.getOperationAST}});Object.defineProperty(un,"getOperationRootType",{enumerable:!0,get:function(){return cse.getOperationRootType}});Object.defineProperty(un,"introspectionFromSchema",{enumerable:!0,get:function(){return lse.introspectionFromSchema}});Object.defineProperty(un,"isEqualType",{enumerable:!0,get:function(){return eA.isEqualType}});Object.defineProperty(un,"isTypeSubTypeOf",{enumerable:!0,get:function(){return eA.isTypeSubTypeOf}});Object.defineProperty(un,"isValidNameError",{enumerable:!0,get:function(){return LV.isValidNameError}});Object.defineProperty(un,"lexicographicSortSchema",{enumerable:!0,get:function(){return fse.lexicographicSortSchema}});Object.defineProperty(un,"printIntrospectionSchema",{enumerable:!0,get:function(){return ZD.printIntrospectionSchema}});Object.defineProperty(un,"printSchema",{enumerable:!0,get:function(){return ZD.printSchema}});Object.defineProperty(un,"printType",{enumerable:!0,get:function(){return ZD.printType}});Object.defineProperty(un,"separateOperations",{enumerable:!0,get:function(){return gse.separateOperations}});Object.defineProperty(un,"stripIgnoredCharacters",{enumerable:!0,get:function(){return Ise.stripIgnoredCharacters}});Object.defineProperty(un,"typeFromAST",{enumerable:!0,get:function(){return mse.typeFromAST}});Object.defineProperty(un,"valueFromAST",{enumerable:!0,get:function(){return hse.valueFromAST}});Object.defineProperty(un,"valueFromASTUntyped",{enumerable:!0,get:function(){return Tse.valueFromASTUntyped}});Object.defineProperty(un,"visitWithTypeInfo",{enumerable:!0,get:function(){return wV.visitWithTypeInfo}});var ase=xD(),use=$B(),cse=qB(),lse=KB(),dse=QB(),FV=nV(),pse=jD(),fse=sV(),ZD=pV(),mse=Yo(),hse=gh(),Tse=UO(),yse=lh(),wV=JN(),Nse=u0(),Ese=fV(),gse=TV(),Ise=EV(),eA=nh(),LV=IV(),CE=RV()});var CV=V($=>{"use strict";m();T();h();Object.defineProperty($,"__esModule",{value:!0});Object.defineProperty($,"BREAK",{enumerable:!0,get:function(){return hn.BREAK}});Object.defineProperty($,"BreakingChangeType",{enumerable:!0,get:function(){return Tn.BreakingChangeType}});Object.defineProperty($,"DEFAULT_DEPRECATION_REASON",{enumerable:!0,get:function(){return Oe.DEFAULT_DEPRECATION_REASON}});Object.defineProperty($,"DangerousChangeType",{enumerable:!0,get:function(){return Tn.DangerousChangeType}});Object.defineProperty($,"DirectiveLocation",{enumerable:!0,get:function(){return hn.DirectiveLocation}});Object.defineProperty($,"ExecutableDefinitionsRule",{enumerable:!0,get:function(){return kt.ExecutableDefinitionsRule}});Object.defineProperty($,"FieldsOnCorrectTypeRule",{enumerable:!0,get:function(){return kt.FieldsOnCorrectTypeRule}});Object.defineProperty($,"FragmentsOnCompositeTypesRule",{enumerable:!0,get:function(){return kt.FragmentsOnCompositeTypesRule}});Object.defineProperty($,"GRAPHQL_MAX_INT",{enumerable:!0,get:function(){return Oe.GRAPHQL_MAX_INT}});Object.defineProperty($,"GRAPHQL_MIN_INT",{enumerable:!0,get:function(){return Oe.GRAPHQL_MIN_INT}});Object.defineProperty($,"GraphQLBoolean",{enumerable:!0,get:function(){return Oe.GraphQLBoolean}});Object.defineProperty($,"GraphQLDeprecatedDirective",{enumerable:!0,get:function(){return Oe.GraphQLDeprecatedDirective}});Object.defineProperty($,"GraphQLDirective",{enumerable:!0,get:function(){return Oe.GraphQLDirective}});Object.defineProperty($,"GraphQLEnumType",{enumerable:!0,get:function(){return Oe.GraphQLEnumType}});Object.defineProperty($,"GraphQLError",{enumerable:!0,get:function(){return $h.GraphQLError}});Object.defineProperty($,"GraphQLFloat",{enumerable:!0,get:function(){return Oe.GraphQLFloat}});Object.defineProperty($,"GraphQLID",{enumerable:!0,get:function(){return Oe.GraphQLID}});Object.defineProperty($,"GraphQLIncludeDirective",{enumerable:!0,get:function(){return Oe.GraphQLIncludeDirective}});Object.defineProperty($,"GraphQLInputObjectType",{enumerable:!0,get:function(){return Oe.GraphQLInputObjectType}});Object.defineProperty($,"GraphQLInt",{enumerable:!0,get:function(){return Oe.GraphQLInt}});Object.defineProperty($,"GraphQLInterfaceType",{enumerable:!0,get:function(){return Oe.GraphQLInterfaceType}});Object.defineProperty($,"GraphQLList",{enumerable:!0,get:function(){return Oe.GraphQLList}});Object.defineProperty($,"GraphQLNonNull",{enumerable:!0,get:function(){return Oe.GraphQLNonNull}});Object.defineProperty($,"GraphQLObjectType",{enumerable:!0,get:function(){return Oe.GraphQLObjectType}});Object.defineProperty($,"GraphQLOneOfDirective",{enumerable:!0,get:function(){return Oe.GraphQLOneOfDirective}});Object.defineProperty($,"GraphQLScalarType",{enumerable:!0,get:function(){return Oe.GraphQLScalarType}});Object.defineProperty($,"GraphQLSchema",{enumerable:!0,get:function(){return Oe.GraphQLSchema}});Object.defineProperty($,"GraphQLSkipDirective",{enumerable:!0,get:function(){return Oe.GraphQLSkipDirective}});Object.defineProperty($,"GraphQLSpecifiedByDirective",{enumerable:!0,get:function(){return Oe.GraphQLSpecifiedByDirective}});Object.defineProperty($,"GraphQLString",{enumerable:!0,get:function(){return Oe.GraphQLString}});Object.defineProperty($,"GraphQLUnionType",{enumerable:!0,get:function(){return Oe.GraphQLUnionType}});Object.defineProperty($,"Kind",{enumerable:!0,get:function(){return hn.Kind}});Object.defineProperty($,"KnownArgumentNamesRule",{enumerable:!0,get:function(){return kt.KnownArgumentNamesRule}});Object.defineProperty($,"KnownDirectivesRule",{enumerable:!0,get:function(){return kt.KnownDirectivesRule}});Object.defineProperty($,"KnownFragmentNamesRule",{enumerable:!0,get:function(){return kt.KnownFragmentNamesRule}});Object.defineProperty($,"KnownTypeNamesRule",{enumerable:!0,get:function(){return kt.KnownTypeNamesRule}});Object.defineProperty($,"Lexer",{enumerable:!0,get:function(){return hn.Lexer}});Object.defineProperty($,"Location",{enumerable:!0,get:function(){return hn.Location}});Object.defineProperty($,"LoneAnonymousOperationRule",{enumerable:!0,get:function(){return kt.LoneAnonymousOperationRule}});Object.defineProperty($,"LoneSchemaDefinitionRule",{enumerable:!0,get:function(){return kt.LoneSchemaDefinitionRule}});Object.defineProperty($,"MaxIntrospectionDepthRule",{enumerable:!0,get:function(){return kt.MaxIntrospectionDepthRule}});Object.defineProperty($,"NoDeprecatedCustomRule",{enumerable:!0,get:function(){return kt.NoDeprecatedCustomRule}});Object.defineProperty($,"NoFragmentCyclesRule",{enumerable:!0,get:function(){return kt.NoFragmentCyclesRule}});Object.defineProperty($,"NoSchemaIntrospectionCustomRule",{enumerable:!0,get:function(){return kt.NoSchemaIntrospectionCustomRule}});Object.defineProperty($,"NoUndefinedVariablesRule",{enumerable:!0,get:function(){return kt.NoUndefinedVariablesRule}});Object.defineProperty($,"NoUnusedFragmentsRule",{enumerable:!0,get:function(){return kt.NoUnusedFragmentsRule}});Object.defineProperty($,"NoUnusedVariablesRule",{enumerable:!0,get:function(){return kt.NoUnusedVariablesRule}});Object.defineProperty($,"OperationTypeNode",{enumerable:!0,get:function(){return hn.OperationTypeNode}});Object.defineProperty($,"OverlappingFieldsCanBeMergedRule",{enumerable:!0,get:function(){return kt.OverlappingFieldsCanBeMergedRule}});Object.defineProperty($,"PossibleFragmentSpreadsRule",{enumerable:!0,get:function(){return kt.PossibleFragmentSpreadsRule}});Object.defineProperty($,"PossibleTypeExtensionsRule",{enumerable:!0,get:function(){return kt.PossibleTypeExtensionsRule}});Object.defineProperty($,"ProvidedRequiredArgumentsRule",{enumerable:!0,get:function(){return kt.ProvidedRequiredArgumentsRule}});Object.defineProperty($,"ScalarLeafsRule",{enumerable:!0,get:function(){return kt.ScalarLeafsRule}});Object.defineProperty($,"SchemaMetaFieldDef",{enumerable:!0,get:function(){return Oe.SchemaMetaFieldDef}});Object.defineProperty($,"SingleFieldSubscriptionsRule",{enumerable:!0,get:function(){return kt.SingleFieldSubscriptionsRule}});Object.defineProperty($,"Source",{enumerable:!0,get:function(){return hn.Source}});Object.defineProperty($,"Token",{enumerable:!0,get:function(){return hn.Token}});Object.defineProperty($,"TokenKind",{enumerable:!0,get:function(){return hn.TokenKind}});Object.defineProperty($,"TypeInfo",{enumerable:!0,get:function(){return Tn.TypeInfo}});Object.defineProperty($,"TypeKind",{enumerable:!0,get:function(){return Oe.TypeKind}});Object.defineProperty($,"TypeMetaFieldDef",{enumerable:!0,get:function(){return Oe.TypeMetaFieldDef}});Object.defineProperty($,"TypeNameMetaFieldDef",{enumerable:!0,get:function(){return Oe.TypeNameMetaFieldDef}});Object.defineProperty($,"UniqueArgumentDefinitionNamesRule",{enumerable:!0,get:function(){return kt.UniqueArgumentDefinitionNamesRule}});Object.defineProperty($,"UniqueArgumentNamesRule",{enumerable:!0,get:function(){return kt.UniqueArgumentNamesRule}});Object.defineProperty($,"UniqueDirectiveNamesRule",{enumerable:!0,get:function(){return kt.UniqueDirectiveNamesRule}});Object.defineProperty($,"UniqueDirectivesPerLocationRule",{enumerable:!0,get:function(){return kt.UniqueDirectivesPerLocationRule}});Object.defineProperty($,"UniqueEnumValueNamesRule",{enumerable:!0,get:function(){return kt.UniqueEnumValueNamesRule}});Object.defineProperty($,"UniqueFieldDefinitionNamesRule",{enumerable:!0,get:function(){return kt.UniqueFieldDefinitionNamesRule}});Object.defineProperty($,"UniqueFragmentNamesRule",{enumerable:!0,get:function(){return kt.UniqueFragmentNamesRule}});Object.defineProperty($,"UniqueInputFieldNamesRule",{enumerable:!0,get:function(){return kt.UniqueInputFieldNamesRule}});Object.defineProperty($,"UniqueOperationNamesRule",{enumerable:!0,get:function(){return kt.UniqueOperationNamesRule}});Object.defineProperty($,"UniqueOperationTypesRule",{enumerable:!0,get:function(){return kt.UniqueOperationTypesRule}});Object.defineProperty($,"UniqueTypeNamesRule",{enumerable:!0,get:function(){return kt.UniqueTypeNamesRule}});Object.defineProperty($,"UniqueVariableNamesRule",{enumerable:!0,get:function(){return kt.UniqueVariableNamesRule}});Object.defineProperty($,"ValidationContext",{enumerable:!0,get:function(){return kt.ValidationContext}});Object.defineProperty($,"ValuesOfCorrectTypeRule",{enumerable:!0,get:function(){return kt.ValuesOfCorrectTypeRule}});Object.defineProperty($,"VariablesAreInputTypesRule",{enumerable:!0,get:function(){return kt.VariablesAreInputTypesRule}});Object.defineProperty($,"VariablesInAllowedPositionRule",{enumerable:!0,get:function(){return kt.VariablesInAllowedPositionRule}});Object.defineProperty($,"__Directive",{enumerable:!0,get:function(){return Oe.__Directive}});Object.defineProperty($,"__DirectiveLocation",{enumerable:!0,get:function(){return Oe.__DirectiveLocation}});Object.defineProperty($,"__EnumValue",{enumerable:!0,get:function(){return Oe.__EnumValue}});Object.defineProperty($,"__Field",{enumerable:!0,get:function(){return Oe.__Field}});Object.defineProperty($,"__InputValue",{enumerable:!0,get:function(){return Oe.__InputValue}});Object.defineProperty($,"__Schema",{enumerable:!0,get:function(){return Oe.__Schema}});Object.defineProperty($,"__Type",{enumerable:!0,get:function(){return Oe.__Type}});Object.defineProperty($,"__TypeKind",{enumerable:!0,get:function(){return Oe.__TypeKind}});Object.defineProperty($,"assertAbstractType",{enumerable:!0,get:function(){return Oe.assertAbstractType}});Object.defineProperty($,"assertCompositeType",{enumerable:!0,get:function(){return Oe.assertCompositeType}});Object.defineProperty($,"assertDirective",{enumerable:!0,get:function(){return Oe.assertDirective}});Object.defineProperty($,"assertEnumType",{enumerable:!0,get:function(){return Oe.assertEnumType}});Object.defineProperty($,"assertEnumValueName",{enumerable:!0,get:function(){return Oe.assertEnumValueName}});Object.defineProperty($,"assertInputObjectType",{enumerable:!0,get:function(){return Oe.assertInputObjectType}});Object.defineProperty($,"assertInputType",{enumerable:!0,get:function(){return Oe.assertInputType}});Object.defineProperty($,"assertInterfaceType",{enumerable:!0,get:function(){return Oe.assertInterfaceType}});Object.defineProperty($,"assertLeafType",{enumerable:!0,get:function(){return Oe.assertLeafType}});Object.defineProperty($,"assertListType",{enumerable:!0,get:function(){return Oe.assertListType}});Object.defineProperty($,"assertName",{enumerable:!0,get:function(){return Oe.assertName}});Object.defineProperty($,"assertNamedType",{enumerable:!0,get:function(){return Oe.assertNamedType}});Object.defineProperty($,"assertNonNullType",{enumerable:!0,get:function(){return Oe.assertNonNullType}});Object.defineProperty($,"assertNullableType",{enumerable:!0,get:function(){return Oe.assertNullableType}});Object.defineProperty($,"assertObjectType",{enumerable:!0,get:function(){return Oe.assertObjectType}});Object.defineProperty($,"assertOutputType",{enumerable:!0,get:function(){return Oe.assertOutputType}});Object.defineProperty($,"assertScalarType",{enumerable:!0,get:function(){return Oe.assertScalarType}});Object.defineProperty($,"assertSchema",{enumerable:!0,get:function(){return Oe.assertSchema}});Object.defineProperty($,"assertType",{enumerable:!0,get:function(){return Oe.assertType}});Object.defineProperty($,"assertUnionType",{enumerable:!0,get:function(){return Oe.assertUnionType}});Object.defineProperty($,"assertValidName",{enumerable:!0,get:function(){return Tn.assertValidName}});Object.defineProperty($,"assertValidSchema",{enumerable:!0,get:function(){return Oe.assertValidSchema}});Object.defineProperty($,"assertWrappingType",{enumerable:!0,get:function(){return Oe.assertWrappingType}});Object.defineProperty($,"astFromValue",{enumerable:!0,get:function(){return Tn.astFromValue}});Object.defineProperty($,"buildASTSchema",{enumerable:!0,get:function(){return Tn.buildASTSchema}});Object.defineProperty($,"buildClientSchema",{enumerable:!0,get:function(){return Tn.buildClientSchema}});Object.defineProperty($,"buildSchema",{enumerable:!0,get:function(){return Tn.buildSchema}});Object.defineProperty($,"coerceInputValue",{enumerable:!0,get:function(){return Tn.coerceInputValue}});Object.defineProperty($,"concatAST",{enumerable:!0,get:function(){return Tn.concatAST}});Object.defineProperty($,"createSourceEventStream",{enumerable:!0,get:function(){return Zo.createSourceEventStream}});Object.defineProperty($,"defaultFieldResolver",{enumerable:!0,get:function(){return Zo.defaultFieldResolver}});Object.defineProperty($,"defaultTypeResolver",{enumerable:!0,get:function(){return Zo.defaultTypeResolver}});Object.defineProperty($,"doTypesOverlap",{enumerable:!0,get:function(){return Tn.doTypesOverlap}});Object.defineProperty($,"execute",{enumerable:!0,get:function(){return Zo.execute}});Object.defineProperty($,"executeSync",{enumerable:!0,get:function(){return Zo.executeSync}});Object.defineProperty($,"extendSchema",{enumerable:!0,get:function(){return Tn.extendSchema}});Object.defineProperty($,"findBreakingChanges",{enumerable:!0,get:function(){return Tn.findBreakingChanges}});Object.defineProperty($,"findDangerousChanges",{enumerable:!0,get:function(){return Tn.findDangerousChanges}});Object.defineProperty($,"formatError",{enumerable:!0,get:function(){return $h.formatError}});Object.defineProperty($,"getArgumentValues",{enumerable:!0,get:function(){return Zo.getArgumentValues}});Object.defineProperty($,"getDirectiveValues",{enumerable:!0,get:function(){return Zo.getDirectiveValues}});Object.defineProperty($,"getEnterLeaveForKind",{enumerable:!0,get:function(){return hn.getEnterLeaveForKind}});Object.defineProperty($,"getIntrospectionQuery",{enumerable:!0,get:function(){return Tn.getIntrospectionQuery}});Object.defineProperty($,"getLocation",{enumerable:!0,get:function(){return hn.getLocation}});Object.defineProperty($,"getNamedType",{enumerable:!0,get:function(){return Oe.getNamedType}});Object.defineProperty($,"getNullableType",{enumerable:!0,get:function(){return Oe.getNullableType}});Object.defineProperty($,"getOperationAST",{enumerable:!0,get:function(){return Tn.getOperationAST}});Object.defineProperty($,"getOperationRootType",{enumerable:!0,get:function(){return Tn.getOperationRootType}});Object.defineProperty($,"getVariableValues",{enumerable:!0,get:function(){return Zo.getVariableValues}});Object.defineProperty($,"getVisitFn",{enumerable:!0,get:function(){return hn.getVisitFn}});Object.defineProperty($,"graphql",{enumerable:!0,get:function(){return xV.graphql}});Object.defineProperty($,"graphqlSync",{enumerable:!0,get:function(){return xV.graphqlSync}});Object.defineProperty($,"introspectionFromSchema",{enumerable:!0,get:function(){return Tn.introspectionFromSchema}});Object.defineProperty($,"introspectionTypes",{enumerable:!0,get:function(){return Oe.introspectionTypes}});Object.defineProperty($,"isAbstractType",{enumerable:!0,get:function(){return Oe.isAbstractType}});Object.defineProperty($,"isCompositeType",{enumerable:!0,get:function(){return Oe.isCompositeType}});Object.defineProperty($,"isConstValueNode",{enumerable:!0,get:function(){return hn.isConstValueNode}});Object.defineProperty($,"isDefinitionNode",{enumerable:!0,get:function(){return hn.isDefinitionNode}});Object.defineProperty($,"isDirective",{enumerable:!0,get:function(){return Oe.isDirective}});Object.defineProperty($,"isEnumType",{enumerable:!0,get:function(){return Oe.isEnumType}});Object.defineProperty($,"isEqualType",{enumerable:!0,get:function(){return Tn.isEqualType}});Object.defineProperty($,"isExecutableDefinitionNode",{enumerable:!0,get:function(){return hn.isExecutableDefinitionNode}});Object.defineProperty($,"isInputObjectType",{enumerable:!0,get:function(){return Oe.isInputObjectType}});Object.defineProperty($,"isInputType",{enumerable:!0,get:function(){return Oe.isInputType}});Object.defineProperty($,"isInterfaceType",{enumerable:!0,get:function(){return Oe.isInterfaceType}});Object.defineProperty($,"isIntrospectionType",{enumerable:!0,get:function(){return Oe.isIntrospectionType}});Object.defineProperty($,"isLeafType",{enumerable:!0,get:function(){return Oe.isLeafType}});Object.defineProperty($,"isListType",{enumerable:!0,get:function(){return Oe.isListType}});Object.defineProperty($,"isNamedType",{enumerable:!0,get:function(){return Oe.isNamedType}});Object.defineProperty($,"isNonNullType",{enumerable:!0,get:function(){return Oe.isNonNullType}});Object.defineProperty($,"isNullableType",{enumerable:!0,get:function(){return Oe.isNullableType}});Object.defineProperty($,"isObjectType",{enumerable:!0,get:function(){return Oe.isObjectType}});Object.defineProperty($,"isOutputType",{enumerable:!0,get:function(){return Oe.isOutputType}});Object.defineProperty($,"isRequiredArgument",{enumerable:!0,get:function(){return Oe.isRequiredArgument}});Object.defineProperty($,"isRequiredInputField",{enumerable:!0,get:function(){return Oe.isRequiredInputField}});Object.defineProperty($,"isScalarType",{enumerable:!0,get:function(){return Oe.isScalarType}});Object.defineProperty($,"isSchema",{enumerable:!0,get:function(){return Oe.isSchema}});Object.defineProperty($,"isSelectionNode",{enumerable:!0,get:function(){return hn.isSelectionNode}});Object.defineProperty($,"isSpecifiedDirective",{enumerable:!0,get:function(){return Oe.isSpecifiedDirective}});Object.defineProperty($,"isSpecifiedScalarType",{enumerable:!0,get:function(){return Oe.isSpecifiedScalarType}});Object.defineProperty($,"isType",{enumerable:!0,get:function(){return Oe.isType}});Object.defineProperty($,"isTypeDefinitionNode",{enumerable:!0,get:function(){return hn.isTypeDefinitionNode}});Object.defineProperty($,"isTypeExtensionNode",{enumerable:!0,get:function(){return hn.isTypeExtensionNode}});Object.defineProperty($,"isTypeNode",{enumerable:!0,get:function(){return hn.isTypeNode}});Object.defineProperty($,"isTypeSubTypeOf",{enumerable:!0,get:function(){return Tn.isTypeSubTypeOf}});Object.defineProperty($,"isTypeSystemDefinitionNode",{enumerable:!0,get:function(){return hn.isTypeSystemDefinitionNode}});Object.defineProperty($,"isTypeSystemExtensionNode",{enumerable:!0,get:function(){return hn.isTypeSystemExtensionNode}});Object.defineProperty($,"isUnionType",{enumerable:!0,get:function(){return Oe.isUnionType}});Object.defineProperty($,"isValidNameError",{enumerable:!0,get:function(){return Tn.isValidNameError}});Object.defineProperty($,"isValueNode",{enumerable:!0,get:function(){return hn.isValueNode}});Object.defineProperty($,"isWrappingType",{enumerable:!0,get:function(){return Oe.isWrappingType}});Object.defineProperty($,"lexicographicSortSchema",{enumerable:!0,get:function(){return Tn.lexicographicSortSchema}});Object.defineProperty($,"locatedError",{enumerable:!0,get:function(){return $h.locatedError}});Object.defineProperty($,"parse",{enumerable:!0,get:function(){return hn.parse}});Object.defineProperty($,"parseConstValue",{enumerable:!0,get:function(){return hn.parseConstValue}});Object.defineProperty($,"parseType",{enumerable:!0,get:function(){return hn.parseType}});Object.defineProperty($,"parseValue",{enumerable:!0,get:function(){return hn.parseValue}});Object.defineProperty($,"print",{enumerable:!0,get:function(){return hn.print}});Object.defineProperty($,"printError",{enumerable:!0,get:function(){return $h.printError}});Object.defineProperty($,"printIntrospectionSchema",{enumerable:!0,get:function(){return Tn.printIntrospectionSchema}});Object.defineProperty($,"printLocation",{enumerable:!0,get:function(){return hn.printLocation}});Object.defineProperty($,"printSchema",{enumerable:!0,get:function(){return Tn.printSchema}});Object.defineProperty($,"printSourceLocation",{enumerable:!0,get:function(){return hn.printSourceLocation}});Object.defineProperty($,"printType",{enumerable:!0,get:function(){return Tn.printType}});Object.defineProperty($,"recommendedRules",{enumerable:!0,get:function(){return kt.recommendedRules}});Object.defineProperty($,"resolveObjMapThunk",{enumerable:!0,get:function(){return Oe.resolveObjMapThunk}});Object.defineProperty($,"resolveReadonlyArrayThunk",{enumerable:!0,get:function(){return Oe.resolveReadonlyArrayThunk}});Object.defineProperty($,"responsePathAsArray",{enumerable:!0,get:function(){return Zo.responsePathAsArray}});Object.defineProperty($,"separateOperations",{enumerable:!0,get:function(){return Tn.separateOperations}});Object.defineProperty($,"specifiedDirectives",{enumerable:!0,get:function(){return Oe.specifiedDirectives}});Object.defineProperty($,"specifiedRules",{enumerable:!0,get:function(){return kt.specifiedRules}});Object.defineProperty($,"specifiedScalarTypes",{enumerable:!0,get:function(){return Oe.specifiedScalarTypes}});Object.defineProperty($,"stripIgnoredCharacters",{enumerable:!0,get:function(){return Tn.stripIgnoredCharacters}});Object.defineProperty($,"subscribe",{enumerable:!0,get:function(){return Zo.subscribe}});Object.defineProperty($,"syntaxError",{enumerable:!0,get:function(){return $h.syntaxError}});Object.defineProperty($,"typeFromAST",{enumerable:!0,get:function(){return Tn.typeFromAST}});Object.defineProperty($,"validate",{enumerable:!0,get:function(){return kt.validate}});Object.defineProperty($,"validateSchema",{enumerable:!0,get:function(){return Oe.validateSchema}});Object.defineProperty($,"valueFromAST",{enumerable:!0,get:function(){return Tn.valueFromAST}});Object.defineProperty($,"valueFromASTUntyped",{enumerable:!0,get:function(){return Tn.valueFromASTUntyped}});Object.defineProperty($,"version",{enumerable:!0,get:function(){return kV.version}});Object.defineProperty($,"versionInfo",{enumerable:!0,get:function(){return kV.versionInfo}});Object.defineProperty($,"visit",{enumerable:!0,get:function(){return hn.visit}});Object.defineProperty($,"visitInParallel",{enumerable:!0,get:function(){return hn.visitInParallel}});Object.defineProperty($,"visitWithTypeInfo",{enumerable:!0,get:function(){return Tn.visitWithTypeInfo}});var kV=WM(),xV=_B(),Oe=SB(),hn=AB(),Zo=CB(),kt=VB(),$h=jB(),Tn=PV()});var _c=V(ut=>{"use strict";m();T();h();Object.defineProperty(ut,"__esModule",{value:!0});ut.baseDirectives=ut.INHERITABLE_DIRECTIVE_NAMES=ut.EDFS_NATS_STREAM_CONFIGURATION_DEFINITION=ut.SCOPE_SCALAR_DEFINITION=ut.FIELD_SET_SCALAR_DEFINITION=ut.VERSION_TWO_DIRECTIVE_DEFINITIONS=ut.EVENT_DRIVEN_DIRECTIVE_DEFINITIONS_BY_DIRECTIVE_NAME=ut.BASE_DIRECTIVE_DEFINITIONS=ut.V2_DIRECTIVE_DEFINITION_BY_DIRECTIVE_NAME=ut.SUBSCRIPTION_FIELD_CONDITION_DEFINITION=ut.SUBSCRIPTION_FILTER_VALUE_DEFINITION=ut.SUBSCRIPTION_FILTER_CONDITION_DEFINITION=ut.SUBSCRIPTION_FILTER_DEFINITION=ut.REQUIRES_SCOPES_DEFINITION=ut.INACCESSIBLE_DEFINITION=ut.AUTHENTICATED_DEFINITION=ut.BASE_DIRECTIVE_DEFINITION_BY_DIRECTIVE_NAME=ut.TAG_DEFINITION=ut.DEPRECATED_DEFINITION=ut.BASE_SCALARS=void 0;var ge=(we(),Me(je)),me=Vi(),W=bi();ut.BASE_SCALARS=new Set(["_Any","_Entities","Boolean","Float","ID","Int",W.FIELD_SET_SCALAR,W.SCOPE_SCALAR,W.STRING_SCALAR]);ut.DEPRECATED_DEFINITION={arguments:[{directives:[],kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.REASON),type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR),defaultValue:{kind:ge.Kind.STRING,value:ge.DEFAULT_DEPRECATION_REASON}}],kind:ge.Kind.DIRECTIVE_DEFINITION,locations:(0,me.stringArrayToNameNodeArray)([W.ARGUMENT_DEFINITION_UPPER,W.ENUM_VALUE_UPPER,W.FIELD_DEFINITION_UPPER,W.INPUT_FIELD_DEFINITION_UPPER]),name:(0,me.stringToNameNode)(W.DEPRECATED),repeatable:!1};var UV={kind:ge.Kind.DIRECTIVE_DEFINITION,locations:(0,me.stringArrayToNameNodeArray)([W.INTERFACE_UPPER,W.OBJECT_UPPER]),name:(0,me.stringToNameNode)(W.EXTENDS),repeatable:!1},MV={kind:ge.Kind.DIRECTIVE_DEFINITION,locations:(0,me.stringArrayToNameNodeArray)([W.FIELD_DEFINITION_UPPER,W.OBJECT_UPPER]),name:(0,me.stringToNameNode)(W.EXTERNAL),repeatable:!1},BV={arguments:[{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.TOPIC),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)}},{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.PROVIDER_ID),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)},defaultValue:{kind:ge.Kind.STRING,value:W.DEFAULT_EDFS_PROVIDER_ID}}],kind:ge.Kind.DIRECTIVE_DEFINITION,locations:[(0,me.stringToNameNode)(W.FIELD_DEFINITION_UPPER)],name:(0,me.stringToNameNode)(W.EDFS_KAFKA_PUBLISH),repeatable:!1},VV={arguments:[{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.TOPICS),type:{kind:ge.Kind.NON_NULL_TYPE,type:{kind:ge.Kind.LIST_TYPE,type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)}}}},{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.PROVIDER_ID),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)},defaultValue:{kind:ge.Kind.STRING,value:W.DEFAULT_EDFS_PROVIDER_ID}}],kind:ge.Kind.DIRECTIVE_DEFINITION,locations:[(0,me.stringToNameNode)(W.FIELD_DEFINITION_UPPER)],name:(0,me.stringToNameNode)(W.EDFS_KAFKA_PUBLISH),repeatable:!1},jV={arguments:[{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.SUBJECT),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)}},{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.PROVIDER_ID),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)},defaultValue:{kind:ge.Kind.STRING,value:W.DEFAULT_EDFS_PROVIDER_ID}}],kind:ge.Kind.DIRECTIVE_DEFINITION,locations:[(0,me.stringToNameNode)(W.FIELD_DEFINITION_UPPER)],name:(0,me.stringToNameNode)(W.EDFS_NATS_PUBLISH),repeatable:!1},$V={arguments:[{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.SUBJECT),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)}},{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.PROVIDER_ID),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)},defaultValue:{kind:ge.Kind.STRING,value:W.DEFAULT_EDFS_PROVIDER_ID}}],kind:ge.Kind.DIRECTIVE_DEFINITION,locations:[(0,me.stringToNameNode)(W.FIELD_DEFINITION_UPPER)],name:(0,me.stringToNameNode)(W.EDFS_NATS_REQUEST),repeatable:!1},qV={arguments:[{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.SUBJECTS),type:{kind:ge.Kind.NON_NULL_TYPE,type:{kind:ge.Kind.LIST_TYPE,type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)}}}},{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.PROVIDER_ID),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)},defaultValue:{kind:ge.Kind.STRING,value:W.DEFAULT_EDFS_PROVIDER_ID}},{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)("streamConfiguration"),type:(0,me.stringToNamedTypeNode)(W.EDFS_NATS_STREAM_CONFIGURATION)}],kind:ge.Kind.DIRECTIVE_DEFINITION,locations:[(0,me.stringToNameNode)(W.FIELD_DEFINITION_UPPER)],name:(0,me.stringToNameNode)(W.EDFS_NATS_SUBSCRIBE),repeatable:!1},KV={arguments:[{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.FIELDS),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.FIELD_SET_SCALAR)}},{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.RESOLVABLE),type:(0,me.stringToNamedTypeNode)(W.BOOLEAN_SCALAR),defaultValue:{kind:ge.Kind.BOOLEAN,value:!0}}],kind:ge.Kind.DIRECTIVE_DEFINITION,locations:(0,me.stringArrayToNameNodeArray)([W.INTERFACE_UPPER,W.OBJECT_UPPER]),name:(0,me.stringToNameNode)(W.KEY),repeatable:!0},GV={arguments:[{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.FIELDS),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.FIELD_SET_SCALAR)}}],kind:ge.Kind.DIRECTIVE_DEFINITION,locations:[(0,me.stringToNameNode)(W.FIELD_DEFINITION_UPPER)],name:(0,me.stringToNameNode)(W.PROVIDES),repeatable:!1},QV={arguments:[{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.FIELDS),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.FIELD_SET_SCALAR)}}],kind:ge.Kind.DIRECTIVE_DEFINITION,locations:[(0,me.stringToNameNode)(W.FIELD_DEFINITION_UPPER)],name:(0,me.stringToNameNode)(W.REQUIRES),repeatable:!1},YV={arguments:[{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.URL_LOWER),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)}}],kind:ge.Kind.DIRECTIVE_DEFINITION,locations:(0,me.stringArrayToNameNodeArray)([W.SCALAR_UPPER]),name:(0,me.stringToNameNode)(W.SPECIFIED_BY),repeatable:!1};ut.TAG_DEFINITION={arguments:[{directives:[],kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.NAME),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)}}],kind:ge.Kind.DIRECTIVE_DEFINITION,locations:(0,me.stringArrayToNameNodeArray)([W.ARGUMENT_DEFINITION_UPPER,W.ENUM_UPPER,W.ENUM_VALUE_UPPER,W.FIELD_DEFINITION_UPPER,W.INPUT_FIELD_DEFINITION_UPPER,W.INPUT_OBJECT_UPPER,W.INTERFACE_UPPER,W.OBJECT_UPPER,W.SCALAR_UPPER,W.UNION_UPPER]),name:(0,me.stringToNameNode)(W.TAG),repeatable:!0};ut.BASE_DIRECTIVE_DEFINITION_BY_DIRECTIVE_NAME=new Map([[W.DEPRECATED,ut.DEPRECATED_DEFINITION],[W.EXTENDS,UV],[W.EXTERNAL,MV],[W.EDFS_KAFKA_PUBLISH,BV],[W.EDFS_KAFKA_SUBSCRIBE,VV],[W.EDFS_NATS_PUBLISH,jV],[W.EDFS_NATS_REQUEST,$V],[W.EDFS_NATS_SUBSCRIBE,qV],[W.KEY,KV],[W.PROVIDES,GV],[W.REQUIRES,QV],[W.SPECIFIED_BY,YV],[W.TAG,ut.TAG_DEFINITION]]);ut.AUTHENTICATED_DEFINITION={arguments:[],kind:ge.Kind.DIRECTIVE_DEFINITION,locations:(0,me.stringArrayToNameNodeArray)([W.ENUM_UPPER,W.FIELD_DEFINITION_UPPER,W.INTERFACE_UPPER,W.OBJECT_UPPER,W.SCALAR_UPPER]),name:(0,me.stringToNameNode)(W.AUTHENTICATED),repeatable:!1};var JV={arguments:[{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.NAME),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)}}],kind:ge.Kind.DIRECTIVE_DEFINITION,locations:(0,me.stringArrayToNameNodeArray)([W.SCHEMA_UPPER]),name:(0,me.stringToNameNode)(W.COMPOSE_DIRECTIVE),repeatable:!0};ut.INACCESSIBLE_DEFINITION={arguments:[],kind:ge.Kind.DIRECTIVE_DEFINITION,locations:(0,me.stringArrayToNameNodeArray)([W.ARGUMENT_DEFINITION_UPPER,W.ENUM_UPPER,W.ENUM_VALUE_UPPER,W.FIELD_DEFINITION_UPPER,W.INPUT_FIELD_DEFINITION_UPPER,W.INPUT_OBJECT_UPPER,W.INTERFACE_UPPER,W.OBJECT_UPPER,W.SCALAR_UPPER,W.UNION_UPPER]),name:(0,me.stringToNameNode)(W.INACCESSIBLE),repeatable:!1};var zV={kind:ge.Kind.DIRECTIVE_DEFINITION,locations:(0,me.stringArrayToNameNodeArray)([W.OBJECT_UPPER]),name:(0,me.stringToNameNode)(W.INTERFACE_OBJECT),repeatable:!1},HV={arguments:[{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.URL_LOWER),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)}},{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)("as"),type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)},{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)("for"),type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)},{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)("import"),type:{kind:ge.Kind.LIST_TYPE,type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)}}],kind:ge.Kind.DIRECTIVE_DEFINITION,locations:(0,me.stringArrayToNameNodeArray)([W.SCHEMA_UPPER]),name:(0,me.stringToNameNode)(W.LINK),repeatable:!0},WV={arguments:[{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.FROM),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)}}],kind:ge.Kind.DIRECTIVE_DEFINITION,locations:(0,me.stringArrayToNameNodeArray)([W.FIELD_DEFINITION_UPPER]),name:(0,me.stringToNameNode)(W.OVERRIDE),repeatable:!1};ut.REQUIRES_SCOPES_DEFINITION={arguments:[{directives:[],kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.SCOPES),type:{kind:ge.Kind.NON_NULL_TYPE,type:{kind:ge.Kind.LIST_TYPE,type:{kind:ge.Kind.NON_NULL_TYPE,type:{kind:ge.Kind.LIST_TYPE,type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.SCOPE_SCALAR)}}}}}}],kind:ge.Kind.DIRECTIVE_DEFINITION,locations:(0,me.stringArrayToNameNodeArray)([W.ENUM_UPPER,W.FIELD_DEFINITION_UPPER,W.INTERFACE_UPPER,W.OBJECT_UPPER,W.SCALAR_UPPER]),name:(0,me.stringToNameNode)(W.REQUIRES_SCOPES),repeatable:!1};var XV={kind:ge.Kind.DIRECTIVE_DEFINITION,locations:(0,me.stringArrayToNameNodeArray)([W.FIELD_DEFINITION_UPPER,W.OBJECT_UPPER]),name:(0,me.stringToNameNode)(W.SHAREABLE),repeatable:!1};ut.SUBSCRIPTION_FILTER_DEFINITION={arguments:[{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.CONDITION),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.SUBSCRIPTION_FILTER_CONDITION)}}],kind:ge.Kind.DIRECTIVE_DEFINITION,locations:(0,me.stringArrayToNameNodeArray)([W.FIELD_DEFINITION_UPPER]),name:(0,me.stringToNameNode)(W.SUBSCRIPTION_FILTER),repeatable:!1};ut.SUBSCRIPTION_FILTER_CONDITION_DEFINITION={fields:[{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.AND_UPPER),type:{kind:ge.Kind.LIST_TYPE,type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.SUBSCRIPTION_FILTER_CONDITION)}}},{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.IN_UPPER),type:(0,me.stringToNamedTypeNode)(W.SUBSCRIPTION_FIELD_CONDITION)},{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.OR_UPPER),type:{kind:ge.Kind.LIST_TYPE,type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.SUBSCRIPTION_FILTER_CONDITION)}}},{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.NOT_UPPER),type:(0,me.stringToNamedTypeNode)(W.SUBSCRIPTION_FILTER_CONDITION)}],kind:ge.Kind.INPUT_OBJECT_TYPE_DEFINITION,name:(0,me.stringToNameNode)(W.SUBSCRIPTION_FILTER_CONDITION)};ut.SUBSCRIPTION_FILTER_VALUE_DEFINITION={kind:ge.Kind.SCALAR_TYPE_DEFINITION,name:(0,me.stringToNameNode)(W.SUBSCRIPTION_FILTER_VALUE)};ut.SUBSCRIPTION_FIELD_CONDITION_DEFINITION={fields:[{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.FIELD_PATH),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)}},{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.VALUES),type:{kind:ge.Kind.NON_NULL_TYPE,type:{kind:ge.Kind.LIST_TYPE,type:(0,me.stringToNamedTypeNode)(W.SUBSCRIPTION_FILTER_VALUE)}}}],kind:ge.Kind.INPUT_OBJECT_TYPE_DEFINITION,name:(0,me.stringToNameNode)(W.SUBSCRIPTION_FIELD_CONDITION)};ut.V2_DIRECTIVE_DEFINITION_BY_DIRECTIVE_NAME=new Map([[W.AUTHENTICATED,ut.AUTHENTICATED_DEFINITION],[W.COMPOSE_DIRECTIVE,JV],[W.INACCESSIBLE,ut.INACCESSIBLE_DEFINITION],[W.INTERFACE_OBJECT,zV],[W.LINK,HV],[W.OVERRIDE,WV],[W.REQUIRES_SCOPES,ut.REQUIRES_SCOPES_DEFINITION],[W.SHAREABLE,XV]]);ut.BASE_DIRECTIVE_DEFINITIONS=[ut.DEPRECATED_DEFINITION,UV,MV,KV,GV,QV,YV,ut.TAG_DEFINITION];ut.EVENT_DRIVEN_DIRECTIVE_DEFINITIONS_BY_DIRECTIVE_NAME=new Map([[W.EDFS_KAFKA_PUBLISH,BV],[W.EDFS_KAFKA_SUBSCRIBE,VV],[W.EDFS_NATS_PUBLISH,jV],[W.EDFS_NATS_REQUEST,$V],[W.EDFS_NATS_SUBSCRIBE,qV]]);ut.VERSION_TWO_DIRECTIVE_DEFINITIONS=[ut.AUTHENTICATED_DEFINITION,JV,ut.INACCESSIBLE_DEFINITION,zV,HV,WV,ut.REQUIRES_SCOPES_DEFINITION,XV];ut.FIELD_SET_SCALAR_DEFINITION={kind:ge.Kind.SCALAR_TYPE_DEFINITION,name:(0,me.stringToNameNode)(W.FIELD_SET_SCALAR)};ut.SCOPE_SCALAR_DEFINITION={kind:ge.Kind.SCALAR_TYPE_DEFINITION,name:(0,me.stringToNameNode)(W.SCOPE_SCALAR)};ut.EDFS_NATS_STREAM_CONFIGURATION_DEFINITION={kind:ge.Kind.INPUT_OBJECT_TYPE_DEFINITION,name:(0,me.stringToNameNode)(W.EDFS_NATS_STREAM_CONFIGURATION),fields:[{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.CONSUMER_NAME),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)}},{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.STREAM_NAME),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)}}]};ut.INHERITABLE_DIRECTIVE_NAMES=[W.EXTERNAL,W.SHAREABLE];ut.baseDirectives=` +`}});var hV=V(zD=>{"use strict";m();T();h();Object.defineProperty(zD,"__esModule",{value:!0});zD.concatAST=Vie;var Bie=en();function Vie(e){let t=[];for(let n of e)t.push(...n.definitions);return{kind:Bie.Kind.DOCUMENT,definitions:t}}});var NV=V(HD=>{"use strict";m();T();h();Object.defineProperty(HD,"__esModule",{value:!0});HD.separateOperations=$ie;var xE=en(),jie=ml();function $ie(e){let t=[],n=Object.create(null);for(let i of e.definitions)switch(i.kind){case xE.Kind.OPERATION_DEFINITION:t.push(i);break;case xE.Kind.FRAGMENT_DEFINITION:n[i.name.value]=TV(i.selectionSet);break;default:}let r=Object.create(null);for(let i of t){let s=new Set;for(let u of TV(i.selectionSet))yV(s,n,u);let o=i.name?i.name.value:"";r[o]={kind:xE.Kind.DOCUMENT,definitions:e.definitions.filter(u=>u===i||u.kind===xE.Kind.FRAGMENT_DEFINITION&&s.has(u.name.value))}}return r}function yV(e,t,n){if(!e.has(n)){e.add(n);let r=t[n];if(r!==void 0)for(let i of r)yV(e,t,i)}}function TV(e){let t=[];return(0,jie.visit)(e,{FragmentSpread(n){t.push(n.name.value)}}),t}});var IV=V(XD=>{"use strict";m();T();h();Object.defineProperty(XD,"__esModule",{value:!0});XD.stripIgnoredCharacters=Kie;var qie=Wm(),EV=hE(),gV=yE(),WD=Ah();function Kie(e){let t=(0,gV.isSource)(e)?e:new gV.Source(e),n=t.body,r=new EV.Lexer(t),i="",s=!1;for(;r.advance().kind!==WD.TokenKind.EOF;){let o=r.token,u=o.kind,l=!(0,EV.isPunctuatorTokenKind)(o.kind);s&&(l||o.kind===WD.TokenKind.SPREAD)&&(i+=" ");let d=n.slice(o.start,o.end);u===WD.TokenKind.BLOCK_STRING?i+=(0,qie.printBlockString)(o.value,{minimize:!0}):i+=d,s=l}return i}});var _V=V(CE=>{"use strict";m();T();h();Object.defineProperty(CE,"__esModule",{value:!0});CE.assertValidName=Jie;CE.isValidNameError=vV;var Gie=Oi(),Qie=ut(),Yie=Xm();function Jie(e){let t=vV(e);if(t)throw t;return e}function vV(e){if(typeof e=="string"||(0,Gie.devAssert)(!1,"Expected name to be a string."),e.startsWith("__"))return new Qie.GraphQLError(`Name "${e}" must not begin with "__", which is reserved by GraphQL introspection.`);try{(0,Yie.assertName)(e)}catch(t){return t}}});var wV=V(Xo=>{"use strict";m();T();h();Object.defineProperty(Xo,"__esModule",{value:!0});Xo.DangerousChangeType=Xo.BreakingChangeType=void 0;Xo.findBreakingChanges=ese;Xo.findDangerousChanges=tse;var zie=En(),RV=ci(),bV=hc(),Hie=ds(),ln=tn(),Wie=Qo(),Xie=dh(),Zie=$S(),lr;Xo.BreakingChangeType=lr;(function(e){e.TYPE_REMOVED="TYPE_REMOVED",e.TYPE_CHANGED_KIND="TYPE_CHANGED_KIND",e.TYPE_REMOVED_FROM_UNION="TYPE_REMOVED_FROM_UNION",e.VALUE_REMOVED_FROM_ENUM="VALUE_REMOVED_FROM_ENUM",e.REQUIRED_INPUT_FIELD_ADDED="REQUIRED_INPUT_FIELD_ADDED",e.IMPLEMENTED_INTERFACE_REMOVED="IMPLEMENTED_INTERFACE_REMOVED",e.FIELD_REMOVED="FIELD_REMOVED",e.FIELD_CHANGED_KIND="FIELD_CHANGED_KIND",e.REQUIRED_ARG_ADDED="REQUIRED_ARG_ADDED",e.ARG_REMOVED="ARG_REMOVED",e.ARG_CHANGED_KIND="ARG_CHANGED_KIND",e.DIRECTIVE_REMOVED="DIRECTIVE_REMOVED",e.DIRECTIVE_ARG_REMOVED="DIRECTIVE_ARG_REMOVED",e.REQUIRED_DIRECTIVE_ARG_ADDED="REQUIRED_DIRECTIVE_ARG_ADDED",e.DIRECTIVE_REPEATABLE_REMOVED="DIRECTIVE_REPEATABLE_REMOVED",e.DIRECTIVE_LOCATION_REMOVED="DIRECTIVE_LOCATION_REMOVED"})(lr||(Xo.BreakingChangeType=lr={}));var go;Xo.DangerousChangeType=go;(function(e){e.VALUE_ADDED_TO_ENUM="VALUE_ADDED_TO_ENUM",e.TYPE_ADDED_TO_UNION="TYPE_ADDED_TO_UNION",e.OPTIONAL_INPUT_FIELD_ADDED="OPTIONAL_INPUT_FIELD_ADDED",e.OPTIONAL_ARG_ADDED="OPTIONAL_ARG_ADDED",e.IMPLEMENTED_INTERFACE_ADDED="IMPLEMENTED_INTERFACE_ADDED",e.ARG_DEFAULT_VALUE_CHANGE="ARG_DEFAULT_VALUE_CHANGE"})(go||(Xo.DangerousChangeType=go={}));function ese(e,t){return FV(e,t).filter(n=>n.type in lr)}function tse(e,t){return FV(e,t).filter(n=>n.type in go)}function FV(e,t){return[...rse(e,t),...nse(e,t)]}function nse(e,t){let n=[],r=Ka(e.getDirectives(),t.getDirectives());for(let i of r.removed)n.push({type:lr.DIRECTIVE_REMOVED,description:`${i.name} was removed.`});for(let[i,s]of r.persisted){let o=Ka(i.args,s.args);for(let u of o.added)(0,ln.isRequiredArgument)(u)&&n.push({type:lr.REQUIRED_DIRECTIVE_ARG_ADDED,description:`A required arg ${u.name} on directive ${i.name} was added.`});for(let u of o.removed)n.push({type:lr.DIRECTIVE_ARG_REMOVED,description:`${u.name} was removed from ${i.name}.`});i.isRepeatable&&!s.isRepeatable&&n.push({type:lr.DIRECTIVE_REPEATABLE_REMOVED,description:`Repeatable flag was removed from ${i.name}.`});for(let u of i.locations)s.locations.includes(u)||n.push({type:lr.DIRECTIVE_LOCATION_REMOVED,description:`${u} was removed from ${i.name}.`})}return n}function rse(e,t){let n=[],r=Ka(Object.values(e.getTypeMap()),Object.values(t.getTypeMap()));for(let i of r.removed)n.push({type:lr.TYPE_REMOVED,description:(0,Wie.isSpecifiedScalarType)(i)?`Standard scalar ${i.name} was removed because it is not referenced anymore.`:`${i.name} was removed.`});for(let[i,s]of r.persisted)(0,ln.isEnumType)(i)&&(0,ln.isEnumType)(s)?n.push(...ose(i,s)):(0,ln.isUnionType)(i)&&(0,ln.isUnionType)(s)?n.push(...sse(i,s)):(0,ln.isInputObjectType)(i)&&(0,ln.isInputObjectType)(s)?n.push(...ise(i,s)):(0,ln.isObjectType)(i)&&(0,ln.isObjectType)(s)?n.push(...SV(i,s),...OV(i,s)):(0,ln.isInterfaceType)(i)&&(0,ln.isInterfaceType)(s)?n.push(...SV(i,s),...OV(i,s)):i.constructor!==s.constructor&&n.push({type:lr.TYPE_CHANGED_KIND,description:`${i.name} changed from ${DV(i)} to ${DV(s)}.`});return n}function ise(e,t){let n=[],r=Ka(Object.values(e.getFields()),Object.values(t.getFields()));for(let i of r.added)(0,ln.isRequiredInputField)(i)?n.push({type:lr.REQUIRED_INPUT_FIELD_ADDED,description:`A required field ${i.name} on input type ${e.name} was added.`}):n.push({type:go.OPTIONAL_INPUT_FIELD_ADDED,description:`An optional field ${i.name} on input type ${e.name} was added.`});for(let i of r.removed)n.push({type:lr.FIELD_REMOVED,description:`${e.name}.${i.name} was removed.`});for(let[i,s]of r.persisted)$h(i.type,s.type)||n.push({type:lr.FIELD_CHANGED_KIND,description:`${e.name}.${i.name} changed type from ${String(i.type)} to ${String(s.type)}.`});return n}function sse(e,t){let n=[],r=Ka(e.getTypes(),t.getTypes());for(let i of r.added)n.push({type:go.TYPE_ADDED_TO_UNION,description:`${i.name} was added to union type ${e.name}.`});for(let i of r.removed)n.push({type:lr.TYPE_REMOVED_FROM_UNION,description:`${i.name} was removed from union type ${e.name}.`});return n}function ose(e,t){let n=[],r=Ka(e.getValues(),t.getValues());for(let i of r.added)n.push({type:go.VALUE_ADDED_TO_ENUM,description:`${i.name} was added to enum type ${e.name}.`});for(let i of r.removed)n.push({type:lr.VALUE_REMOVED_FROM_ENUM,description:`${i.name} was removed from enum type ${e.name}.`});return n}function OV(e,t){let n=[],r=Ka(e.getInterfaces(),t.getInterfaces());for(let i of r.added)n.push({type:go.IMPLEMENTED_INTERFACE_ADDED,description:`${i.name} added to interfaces implemented by ${e.name}.`});for(let i of r.removed)n.push({type:lr.IMPLEMENTED_INTERFACE_REMOVED,description:`${e.name} no longer implements interface ${i.name}.`});return n}function SV(e,t){let n=[],r=Ka(Object.values(e.getFields()),Object.values(t.getFields()));for(let i of r.removed)n.push({type:lr.FIELD_REMOVED,description:`${e.name}.${i.name} was removed.`});for(let[i,s]of r.persisted)n.push(...ase(e,i,s)),jh(i.type,s.type)||n.push({type:lr.FIELD_CHANGED_KIND,description:`${e.name}.${i.name} changed type from ${String(i.type)} to ${String(s.type)}.`});return n}function ase(e,t,n){let r=[],i=Ka(t.args,n.args);for(let s of i.removed)r.push({type:lr.ARG_REMOVED,description:`${e.name}.${t.name} arg ${s.name} was removed.`});for(let[s,o]of i.persisted)if(!$h(s.type,o.type))r.push({type:lr.ARG_CHANGED_KIND,description:`${e.name}.${t.name} arg ${s.name} has changed type from ${String(s.type)} to ${String(o.type)}.`});else if(s.defaultValue!==void 0)if(o.defaultValue===void 0)r.push({type:go.ARG_DEFAULT_VALUE_CHANGE,description:`${e.name}.${t.name} arg ${s.name} defaultValue was removed.`});else{let l=AV(s.defaultValue,s.type),d=AV(o.defaultValue,o.type);l!==d&&r.push({type:go.ARG_DEFAULT_VALUE_CHANGE,description:`${e.name}.${t.name} arg ${s.name} has changed defaultValue from ${l} to ${d}.`})}for(let s of i.added)(0,ln.isRequiredArgument)(s)?r.push({type:lr.REQUIRED_ARG_ADDED,description:`A required arg ${s.name} on ${e.name}.${t.name} was added.`}):r.push({type:go.OPTIONAL_ARG_ADDED,description:`An optional arg ${s.name} on ${e.name}.${t.name} was added.`});return r}function jh(e,t){return(0,ln.isListType)(e)?(0,ln.isListType)(t)&&jh(e.ofType,t.ofType)||(0,ln.isNonNullType)(t)&&jh(e,t.ofType):(0,ln.isNonNullType)(e)?(0,ln.isNonNullType)(t)&&jh(e.ofType,t.ofType):(0,ln.isNamedType)(t)&&e.name===t.name||(0,ln.isNonNullType)(t)&&jh(e,t.ofType)}function $h(e,t){return(0,ln.isListType)(e)?(0,ln.isListType)(t)&&$h(e.ofType,t.ofType):(0,ln.isNonNullType)(e)?(0,ln.isNonNullType)(t)&&$h(e.ofType,t.ofType)||!(0,ln.isNonNullType)(t)&&$h(e.ofType,t):(0,ln.isNamedType)(t)&&e.name===t.name}function DV(e){if((0,ln.isScalarType)(e))return"a Scalar type";if((0,ln.isObjectType)(e))return"an Object type";if((0,ln.isInterfaceType)(e))return"an Interface type";if((0,ln.isUnionType)(e))return"a Union type";if((0,ln.isEnumType)(e))return"an Enum type";if((0,ln.isInputObjectType)(e))return"an Input type";(0,RV.invariant)(!1,"Unexpected type: "+(0,zie.inspect)(e))}function AV(e,t){let n=(0,Xie.astFromValue)(e,t);return n!=null||(0,RV.invariant)(!1),(0,Hie.print)((0,Zie.sortValueNode)(n))}function Ka(e,t){let n=[],r=[],i=[],s=(0,bV.keyMap)(e,({name:u})=>u),o=(0,bV.keyMap)(t,({name:u})=>u);for(let u of e){let l=o[u.name];l===void 0?r.push(u):i.push([u,l])}for(let u of t)s[u.name]===void 0&&n.push(u);return{added:n,persisted:i,removed:r}}});var xV=V(un=>{"use strict";m();T();h();Object.defineProperty(un,"__esModule",{value:!0});Object.defineProperty(un,"BreakingChangeType",{enumerable:!0,get:function(){return UE.BreakingChangeType}});Object.defineProperty(un,"DangerousChangeType",{enumerable:!0,get:function(){return UE.DangerousChangeType}});Object.defineProperty(un,"TypeInfo",{enumerable:!0,get:function(){return PV.TypeInfo}});Object.defineProperty(un,"assertValidName",{enumerable:!0,get:function(){return kV.assertValidName}});Object.defineProperty(un,"astFromValue",{enumerable:!0,get:function(){return Nse.astFromValue}});Object.defineProperty(un,"buildASTSchema",{enumerable:!0,get:function(){return LV.buildASTSchema}});Object.defineProperty(un,"buildClientSchema",{enumerable:!0,get:function(){return pse.buildClientSchema}});Object.defineProperty(un,"buildSchema",{enumerable:!0,get:function(){return LV.buildSchema}});Object.defineProperty(un,"coerceInputValue",{enumerable:!0,get:function(){return Ese.coerceInputValue}});Object.defineProperty(un,"concatAST",{enumerable:!0,get:function(){return gse.concatAST}});Object.defineProperty(un,"doTypesOverlap",{enumerable:!0,get:function(){return eA.doTypesOverlap}});Object.defineProperty(un,"extendSchema",{enumerable:!0,get:function(){return fse.extendSchema}});Object.defineProperty(un,"findBreakingChanges",{enumerable:!0,get:function(){return UE.findBreakingChanges}});Object.defineProperty(un,"findDangerousChanges",{enumerable:!0,get:function(){return UE.findDangerousChanges}});Object.defineProperty(un,"getIntrospectionQuery",{enumerable:!0,get:function(){return use.getIntrospectionQuery}});Object.defineProperty(un,"getOperationAST",{enumerable:!0,get:function(){return cse.getOperationAST}});Object.defineProperty(un,"getOperationRootType",{enumerable:!0,get:function(){return lse.getOperationRootType}});Object.defineProperty(un,"introspectionFromSchema",{enumerable:!0,get:function(){return dse.introspectionFromSchema}});Object.defineProperty(un,"isEqualType",{enumerable:!0,get:function(){return eA.isEqualType}});Object.defineProperty(un,"isTypeSubTypeOf",{enumerable:!0,get:function(){return eA.isTypeSubTypeOf}});Object.defineProperty(un,"isValidNameError",{enumerable:!0,get:function(){return kV.isValidNameError}});Object.defineProperty(un,"lexicographicSortSchema",{enumerable:!0,get:function(){return mse.lexicographicSortSchema}});Object.defineProperty(un,"printIntrospectionSchema",{enumerable:!0,get:function(){return ZD.printIntrospectionSchema}});Object.defineProperty(un,"printSchema",{enumerable:!0,get:function(){return ZD.printSchema}});Object.defineProperty(un,"printType",{enumerable:!0,get:function(){return ZD.printType}});Object.defineProperty(un,"separateOperations",{enumerable:!0,get:function(){return Ise.separateOperations}});Object.defineProperty(un,"stripIgnoredCharacters",{enumerable:!0,get:function(){return vse.stripIgnoredCharacters}});Object.defineProperty(un,"typeFromAST",{enumerable:!0,get:function(){return hse.typeFromAST}});Object.defineProperty(un,"valueFromAST",{enumerable:!0,get:function(){return Tse.valueFromAST}});Object.defineProperty(un,"valueFromASTUntyped",{enumerable:!0,get:function(){return yse.valueFromASTUntyped}});Object.defineProperty(un,"visitWithTypeInfo",{enumerable:!0,get:function(){return PV.visitWithTypeInfo}});var use=xD(),cse=KB(),lse=GB(),dse=QB(),pse=JB(),LV=iV(),fse=jD(),mse=aV(),ZD=mV(),hse=Yo(),Tse=Ih(),yse=UO(),Nse=dh(),PV=zN(),Ese=u0(),gse=hV(),Ise=NV(),vse=IV(),eA=rh(),kV=_V(),UE=wV()});var MV=V($=>{"use strict";m();T();h();Object.defineProperty($,"__esModule",{value:!0});Object.defineProperty($,"BREAK",{enumerable:!0,get:function(){return hn.BREAK}});Object.defineProperty($,"BreakingChangeType",{enumerable:!0,get:function(){return Tn.BreakingChangeType}});Object.defineProperty($,"DEFAULT_DEPRECATION_REASON",{enumerable:!0,get:function(){return Oe.DEFAULT_DEPRECATION_REASON}});Object.defineProperty($,"DangerousChangeType",{enumerable:!0,get:function(){return Tn.DangerousChangeType}});Object.defineProperty($,"DirectiveLocation",{enumerable:!0,get:function(){return hn.DirectiveLocation}});Object.defineProperty($,"ExecutableDefinitionsRule",{enumerable:!0,get:function(){return kt.ExecutableDefinitionsRule}});Object.defineProperty($,"FieldsOnCorrectTypeRule",{enumerable:!0,get:function(){return kt.FieldsOnCorrectTypeRule}});Object.defineProperty($,"FragmentsOnCompositeTypesRule",{enumerable:!0,get:function(){return kt.FragmentsOnCompositeTypesRule}});Object.defineProperty($,"GRAPHQL_MAX_INT",{enumerable:!0,get:function(){return Oe.GRAPHQL_MAX_INT}});Object.defineProperty($,"GRAPHQL_MIN_INT",{enumerable:!0,get:function(){return Oe.GRAPHQL_MIN_INT}});Object.defineProperty($,"GraphQLBoolean",{enumerable:!0,get:function(){return Oe.GraphQLBoolean}});Object.defineProperty($,"GraphQLDeprecatedDirective",{enumerable:!0,get:function(){return Oe.GraphQLDeprecatedDirective}});Object.defineProperty($,"GraphQLDirective",{enumerable:!0,get:function(){return Oe.GraphQLDirective}});Object.defineProperty($,"GraphQLEnumType",{enumerable:!0,get:function(){return Oe.GraphQLEnumType}});Object.defineProperty($,"GraphQLError",{enumerable:!0,get:function(){return qh.GraphQLError}});Object.defineProperty($,"GraphQLFloat",{enumerable:!0,get:function(){return Oe.GraphQLFloat}});Object.defineProperty($,"GraphQLID",{enumerable:!0,get:function(){return Oe.GraphQLID}});Object.defineProperty($,"GraphQLIncludeDirective",{enumerable:!0,get:function(){return Oe.GraphQLIncludeDirective}});Object.defineProperty($,"GraphQLInputObjectType",{enumerable:!0,get:function(){return Oe.GraphQLInputObjectType}});Object.defineProperty($,"GraphQLInt",{enumerable:!0,get:function(){return Oe.GraphQLInt}});Object.defineProperty($,"GraphQLInterfaceType",{enumerable:!0,get:function(){return Oe.GraphQLInterfaceType}});Object.defineProperty($,"GraphQLList",{enumerable:!0,get:function(){return Oe.GraphQLList}});Object.defineProperty($,"GraphQLNonNull",{enumerable:!0,get:function(){return Oe.GraphQLNonNull}});Object.defineProperty($,"GraphQLObjectType",{enumerable:!0,get:function(){return Oe.GraphQLObjectType}});Object.defineProperty($,"GraphQLOneOfDirective",{enumerable:!0,get:function(){return Oe.GraphQLOneOfDirective}});Object.defineProperty($,"GraphQLScalarType",{enumerable:!0,get:function(){return Oe.GraphQLScalarType}});Object.defineProperty($,"GraphQLSchema",{enumerable:!0,get:function(){return Oe.GraphQLSchema}});Object.defineProperty($,"GraphQLSkipDirective",{enumerable:!0,get:function(){return Oe.GraphQLSkipDirective}});Object.defineProperty($,"GraphQLSpecifiedByDirective",{enumerable:!0,get:function(){return Oe.GraphQLSpecifiedByDirective}});Object.defineProperty($,"GraphQLString",{enumerable:!0,get:function(){return Oe.GraphQLString}});Object.defineProperty($,"GraphQLUnionType",{enumerable:!0,get:function(){return Oe.GraphQLUnionType}});Object.defineProperty($,"Kind",{enumerable:!0,get:function(){return hn.Kind}});Object.defineProperty($,"KnownArgumentNamesRule",{enumerable:!0,get:function(){return kt.KnownArgumentNamesRule}});Object.defineProperty($,"KnownDirectivesRule",{enumerable:!0,get:function(){return kt.KnownDirectivesRule}});Object.defineProperty($,"KnownFragmentNamesRule",{enumerable:!0,get:function(){return kt.KnownFragmentNamesRule}});Object.defineProperty($,"KnownTypeNamesRule",{enumerable:!0,get:function(){return kt.KnownTypeNamesRule}});Object.defineProperty($,"Lexer",{enumerable:!0,get:function(){return hn.Lexer}});Object.defineProperty($,"Location",{enumerable:!0,get:function(){return hn.Location}});Object.defineProperty($,"LoneAnonymousOperationRule",{enumerable:!0,get:function(){return kt.LoneAnonymousOperationRule}});Object.defineProperty($,"LoneSchemaDefinitionRule",{enumerable:!0,get:function(){return kt.LoneSchemaDefinitionRule}});Object.defineProperty($,"MaxIntrospectionDepthRule",{enumerable:!0,get:function(){return kt.MaxIntrospectionDepthRule}});Object.defineProperty($,"NoDeprecatedCustomRule",{enumerable:!0,get:function(){return kt.NoDeprecatedCustomRule}});Object.defineProperty($,"NoFragmentCyclesRule",{enumerable:!0,get:function(){return kt.NoFragmentCyclesRule}});Object.defineProperty($,"NoSchemaIntrospectionCustomRule",{enumerable:!0,get:function(){return kt.NoSchemaIntrospectionCustomRule}});Object.defineProperty($,"NoUndefinedVariablesRule",{enumerable:!0,get:function(){return kt.NoUndefinedVariablesRule}});Object.defineProperty($,"NoUnusedFragmentsRule",{enumerable:!0,get:function(){return kt.NoUnusedFragmentsRule}});Object.defineProperty($,"NoUnusedVariablesRule",{enumerable:!0,get:function(){return kt.NoUnusedVariablesRule}});Object.defineProperty($,"OperationTypeNode",{enumerable:!0,get:function(){return hn.OperationTypeNode}});Object.defineProperty($,"OverlappingFieldsCanBeMergedRule",{enumerable:!0,get:function(){return kt.OverlappingFieldsCanBeMergedRule}});Object.defineProperty($,"PossibleFragmentSpreadsRule",{enumerable:!0,get:function(){return kt.PossibleFragmentSpreadsRule}});Object.defineProperty($,"PossibleTypeExtensionsRule",{enumerable:!0,get:function(){return kt.PossibleTypeExtensionsRule}});Object.defineProperty($,"ProvidedRequiredArgumentsRule",{enumerable:!0,get:function(){return kt.ProvidedRequiredArgumentsRule}});Object.defineProperty($,"ScalarLeafsRule",{enumerable:!0,get:function(){return kt.ScalarLeafsRule}});Object.defineProperty($,"SchemaMetaFieldDef",{enumerable:!0,get:function(){return Oe.SchemaMetaFieldDef}});Object.defineProperty($,"SingleFieldSubscriptionsRule",{enumerable:!0,get:function(){return kt.SingleFieldSubscriptionsRule}});Object.defineProperty($,"Source",{enumerable:!0,get:function(){return hn.Source}});Object.defineProperty($,"Token",{enumerable:!0,get:function(){return hn.Token}});Object.defineProperty($,"TokenKind",{enumerable:!0,get:function(){return hn.TokenKind}});Object.defineProperty($,"TypeInfo",{enumerable:!0,get:function(){return Tn.TypeInfo}});Object.defineProperty($,"TypeKind",{enumerable:!0,get:function(){return Oe.TypeKind}});Object.defineProperty($,"TypeMetaFieldDef",{enumerable:!0,get:function(){return Oe.TypeMetaFieldDef}});Object.defineProperty($,"TypeNameMetaFieldDef",{enumerable:!0,get:function(){return Oe.TypeNameMetaFieldDef}});Object.defineProperty($,"UniqueArgumentDefinitionNamesRule",{enumerable:!0,get:function(){return kt.UniqueArgumentDefinitionNamesRule}});Object.defineProperty($,"UniqueArgumentNamesRule",{enumerable:!0,get:function(){return kt.UniqueArgumentNamesRule}});Object.defineProperty($,"UniqueDirectiveNamesRule",{enumerable:!0,get:function(){return kt.UniqueDirectiveNamesRule}});Object.defineProperty($,"UniqueDirectivesPerLocationRule",{enumerable:!0,get:function(){return kt.UniqueDirectivesPerLocationRule}});Object.defineProperty($,"UniqueEnumValueNamesRule",{enumerable:!0,get:function(){return kt.UniqueEnumValueNamesRule}});Object.defineProperty($,"UniqueFieldDefinitionNamesRule",{enumerable:!0,get:function(){return kt.UniqueFieldDefinitionNamesRule}});Object.defineProperty($,"UniqueFragmentNamesRule",{enumerable:!0,get:function(){return kt.UniqueFragmentNamesRule}});Object.defineProperty($,"UniqueInputFieldNamesRule",{enumerable:!0,get:function(){return kt.UniqueInputFieldNamesRule}});Object.defineProperty($,"UniqueOperationNamesRule",{enumerable:!0,get:function(){return kt.UniqueOperationNamesRule}});Object.defineProperty($,"UniqueOperationTypesRule",{enumerable:!0,get:function(){return kt.UniqueOperationTypesRule}});Object.defineProperty($,"UniqueTypeNamesRule",{enumerable:!0,get:function(){return kt.UniqueTypeNamesRule}});Object.defineProperty($,"UniqueVariableNamesRule",{enumerable:!0,get:function(){return kt.UniqueVariableNamesRule}});Object.defineProperty($,"ValidationContext",{enumerable:!0,get:function(){return kt.ValidationContext}});Object.defineProperty($,"ValuesOfCorrectTypeRule",{enumerable:!0,get:function(){return kt.ValuesOfCorrectTypeRule}});Object.defineProperty($,"VariablesAreInputTypesRule",{enumerable:!0,get:function(){return kt.VariablesAreInputTypesRule}});Object.defineProperty($,"VariablesInAllowedPositionRule",{enumerable:!0,get:function(){return kt.VariablesInAllowedPositionRule}});Object.defineProperty($,"__Directive",{enumerable:!0,get:function(){return Oe.__Directive}});Object.defineProperty($,"__DirectiveLocation",{enumerable:!0,get:function(){return Oe.__DirectiveLocation}});Object.defineProperty($,"__EnumValue",{enumerable:!0,get:function(){return Oe.__EnumValue}});Object.defineProperty($,"__Field",{enumerable:!0,get:function(){return Oe.__Field}});Object.defineProperty($,"__InputValue",{enumerable:!0,get:function(){return Oe.__InputValue}});Object.defineProperty($,"__Schema",{enumerable:!0,get:function(){return Oe.__Schema}});Object.defineProperty($,"__Type",{enumerable:!0,get:function(){return Oe.__Type}});Object.defineProperty($,"__TypeKind",{enumerable:!0,get:function(){return Oe.__TypeKind}});Object.defineProperty($,"assertAbstractType",{enumerable:!0,get:function(){return Oe.assertAbstractType}});Object.defineProperty($,"assertCompositeType",{enumerable:!0,get:function(){return Oe.assertCompositeType}});Object.defineProperty($,"assertDirective",{enumerable:!0,get:function(){return Oe.assertDirective}});Object.defineProperty($,"assertEnumType",{enumerable:!0,get:function(){return Oe.assertEnumType}});Object.defineProperty($,"assertEnumValueName",{enumerable:!0,get:function(){return Oe.assertEnumValueName}});Object.defineProperty($,"assertInputObjectType",{enumerable:!0,get:function(){return Oe.assertInputObjectType}});Object.defineProperty($,"assertInputType",{enumerable:!0,get:function(){return Oe.assertInputType}});Object.defineProperty($,"assertInterfaceType",{enumerable:!0,get:function(){return Oe.assertInterfaceType}});Object.defineProperty($,"assertLeafType",{enumerable:!0,get:function(){return Oe.assertLeafType}});Object.defineProperty($,"assertListType",{enumerable:!0,get:function(){return Oe.assertListType}});Object.defineProperty($,"assertName",{enumerable:!0,get:function(){return Oe.assertName}});Object.defineProperty($,"assertNamedType",{enumerable:!0,get:function(){return Oe.assertNamedType}});Object.defineProperty($,"assertNonNullType",{enumerable:!0,get:function(){return Oe.assertNonNullType}});Object.defineProperty($,"assertNullableType",{enumerable:!0,get:function(){return Oe.assertNullableType}});Object.defineProperty($,"assertObjectType",{enumerable:!0,get:function(){return Oe.assertObjectType}});Object.defineProperty($,"assertOutputType",{enumerable:!0,get:function(){return Oe.assertOutputType}});Object.defineProperty($,"assertScalarType",{enumerable:!0,get:function(){return Oe.assertScalarType}});Object.defineProperty($,"assertSchema",{enumerable:!0,get:function(){return Oe.assertSchema}});Object.defineProperty($,"assertType",{enumerable:!0,get:function(){return Oe.assertType}});Object.defineProperty($,"assertUnionType",{enumerable:!0,get:function(){return Oe.assertUnionType}});Object.defineProperty($,"assertValidName",{enumerable:!0,get:function(){return Tn.assertValidName}});Object.defineProperty($,"assertValidSchema",{enumerable:!0,get:function(){return Oe.assertValidSchema}});Object.defineProperty($,"assertWrappingType",{enumerable:!0,get:function(){return Oe.assertWrappingType}});Object.defineProperty($,"astFromValue",{enumerable:!0,get:function(){return Tn.astFromValue}});Object.defineProperty($,"buildASTSchema",{enumerable:!0,get:function(){return Tn.buildASTSchema}});Object.defineProperty($,"buildClientSchema",{enumerable:!0,get:function(){return Tn.buildClientSchema}});Object.defineProperty($,"buildSchema",{enumerable:!0,get:function(){return Tn.buildSchema}});Object.defineProperty($,"coerceInputValue",{enumerable:!0,get:function(){return Tn.coerceInputValue}});Object.defineProperty($,"concatAST",{enumerable:!0,get:function(){return Tn.concatAST}});Object.defineProperty($,"createSourceEventStream",{enumerable:!0,get:function(){return Zo.createSourceEventStream}});Object.defineProperty($,"defaultFieldResolver",{enumerable:!0,get:function(){return Zo.defaultFieldResolver}});Object.defineProperty($,"defaultTypeResolver",{enumerable:!0,get:function(){return Zo.defaultTypeResolver}});Object.defineProperty($,"doTypesOverlap",{enumerable:!0,get:function(){return Tn.doTypesOverlap}});Object.defineProperty($,"execute",{enumerable:!0,get:function(){return Zo.execute}});Object.defineProperty($,"executeSync",{enumerable:!0,get:function(){return Zo.executeSync}});Object.defineProperty($,"extendSchema",{enumerable:!0,get:function(){return Tn.extendSchema}});Object.defineProperty($,"findBreakingChanges",{enumerable:!0,get:function(){return Tn.findBreakingChanges}});Object.defineProperty($,"findDangerousChanges",{enumerable:!0,get:function(){return Tn.findDangerousChanges}});Object.defineProperty($,"formatError",{enumerable:!0,get:function(){return qh.formatError}});Object.defineProperty($,"getArgumentValues",{enumerable:!0,get:function(){return Zo.getArgumentValues}});Object.defineProperty($,"getDirectiveValues",{enumerable:!0,get:function(){return Zo.getDirectiveValues}});Object.defineProperty($,"getEnterLeaveForKind",{enumerable:!0,get:function(){return hn.getEnterLeaveForKind}});Object.defineProperty($,"getIntrospectionQuery",{enumerable:!0,get:function(){return Tn.getIntrospectionQuery}});Object.defineProperty($,"getLocation",{enumerable:!0,get:function(){return hn.getLocation}});Object.defineProperty($,"getNamedType",{enumerable:!0,get:function(){return Oe.getNamedType}});Object.defineProperty($,"getNullableType",{enumerable:!0,get:function(){return Oe.getNullableType}});Object.defineProperty($,"getOperationAST",{enumerable:!0,get:function(){return Tn.getOperationAST}});Object.defineProperty($,"getOperationRootType",{enumerable:!0,get:function(){return Tn.getOperationRootType}});Object.defineProperty($,"getVariableValues",{enumerable:!0,get:function(){return Zo.getVariableValues}});Object.defineProperty($,"getVisitFn",{enumerable:!0,get:function(){return hn.getVisitFn}});Object.defineProperty($,"graphql",{enumerable:!0,get:function(){return UV.graphql}});Object.defineProperty($,"graphqlSync",{enumerable:!0,get:function(){return UV.graphqlSync}});Object.defineProperty($,"introspectionFromSchema",{enumerable:!0,get:function(){return Tn.introspectionFromSchema}});Object.defineProperty($,"introspectionTypes",{enumerable:!0,get:function(){return Oe.introspectionTypes}});Object.defineProperty($,"isAbstractType",{enumerable:!0,get:function(){return Oe.isAbstractType}});Object.defineProperty($,"isCompositeType",{enumerable:!0,get:function(){return Oe.isCompositeType}});Object.defineProperty($,"isConstValueNode",{enumerable:!0,get:function(){return hn.isConstValueNode}});Object.defineProperty($,"isDefinitionNode",{enumerable:!0,get:function(){return hn.isDefinitionNode}});Object.defineProperty($,"isDirective",{enumerable:!0,get:function(){return Oe.isDirective}});Object.defineProperty($,"isEnumType",{enumerable:!0,get:function(){return Oe.isEnumType}});Object.defineProperty($,"isEqualType",{enumerable:!0,get:function(){return Tn.isEqualType}});Object.defineProperty($,"isExecutableDefinitionNode",{enumerable:!0,get:function(){return hn.isExecutableDefinitionNode}});Object.defineProperty($,"isInputObjectType",{enumerable:!0,get:function(){return Oe.isInputObjectType}});Object.defineProperty($,"isInputType",{enumerable:!0,get:function(){return Oe.isInputType}});Object.defineProperty($,"isInterfaceType",{enumerable:!0,get:function(){return Oe.isInterfaceType}});Object.defineProperty($,"isIntrospectionType",{enumerable:!0,get:function(){return Oe.isIntrospectionType}});Object.defineProperty($,"isLeafType",{enumerable:!0,get:function(){return Oe.isLeafType}});Object.defineProperty($,"isListType",{enumerable:!0,get:function(){return Oe.isListType}});Object.defineProperty($,"isNamedType",{enumerable:!0,get:function(){return Oe.isNamedType}});Object.defineProperty($,"isNonNullType",{enumerable:!0,get:function(){return Oe.isNonNullType}});Object.defineProperty($,"isNullableType",{enumerable:!0,get:function(){return Oe.isNullableType}});Object.defineProperty($,"isObjectType",{enumerable:!0,get:function(){return Oe.isObjectType}});Object.defineProperty($,"isOutputType",{enumerable:!0,get:function(){return Oe.isOutputType}});Object.defineProperty($,"isRequiredArgument",{enumerable:!0,get:function(){return Oe.isRequiredArgument}});Object.defineProperty($,"isRequiredInputField",{enumerable:!0,get:function(){return Oe.isRequiredInputField}});Object.defineProperty($,"isScalarType",{enumerable:!0,get:function(){return Oe.isScalarType}});Object.defineProperty($,"isSchema",{enumerable:!0,get:function(){return Oe.isSchema}});Object.defineProperty($,"isSelectionNode",{enumerable:!0,get:function(){return hn.isSelectionNode}});Object.defineProperty($,"isSpecifiedDirective",{enumerable:!0,get:function(){return Oe.isSpecifiedDirective}});Object.defineProperty($,"isSpecifiedScalarType",{enumerable:!0,get:function(){return Oe.isSpecifiedScalarType}});Object.defineProperty($,"isType",{enumerable:!0,get:function(){return Oe.isType}});Object.defineProperty($,"isTypeDefinitionNode",{enumerable:!0,get:function(){return hn.isTypeDefinitionNode}});Object.defineProperty($,"isTypeExtensionNode",{enumerable:!0,get:function(){return hn.isTypeExtensionNode}});Object.defineProperty($,"isTypeNode",{enumerable:!0,get:function(){return hn.isTypeNode}});Object.defineProperty($,"isTypeSubTypeOf",{enumerable:!0,get:function(){return Tn.isTypeSubTypeOf}});Object.defineProperty($,"isTypeSystemDefinitionNode",{enumerable:!0,get:function(){return hn.isTypeSystemDefinitionNode}});Object.defineProperty($,"isTypeSystemExtensionNode",{enumerable:!0,get:function(){return hn.isTypeSystemExtensionNode}});Object.defineProperty($,"isUnionType",{enumerable:!0,get:function(){return Oe.isUnionType}});Object.defineProperty($,"isValidNameError",{enumerable:!0,get:function(){return Tn.isValidNameError}});Object.defineProperty($,"isValueNode",{enumerable:!0,get:function(){return hn.isValueNode}});Object.defineProperty($,"isWrappingType",{enumerable:!0,get:function(){return Oe.isWrappingType}});Object.defineProperty($,"lexicographicSortSchema",{enumerable:!0,get:function(){return Tn.lexicographicSortSchema}});Object.defineProperty($,"locatedError",{enumerable:!0,get:function(){return qh.locatedError}});Object.defineProperty($,"parse",{enumerable:!0,get:function(){return hn.parse}});Object.defineProperty($,"parseConstValue",{enumerable:!0,get:function(){return hn.parseConstValue}});Object.defineProperty($,"parseType",{enumerable:!0,get:function(){return hn.parseType}});Object.defineProperty($,"parseValue",{enumerable:!0,get:function(){return hn.parseValue}});Object.defineProperty($,"print",{enumerable:!0,get:function(){return hn.print}});Object.defineProperty($,"printError",{enumerable:!0,get:function(){return qh.printError}});Object.defineProperty($,"printIntrospectionSchema",{enumerable:!0,get:function(){return Tn.printIntrospectionSchema}});Object.defineProperty($,"printLocation",{enumerable:!0,get:function(){return hn.printLocation}});Object.defineProperty($,"printSchema",{enumerable:!0,get:function(){return Tn.printSchema}});Object.defineProperty($,"printSourceLocation",{enumerable:!0,get:function(){return hn.printSourceLocation}});Object.defineProperty($,"printType",{enumerable:!0,get:function(){return Tn.printType}});Object.defineProperty($,"recommendedRules",{enumerable:!0,get:function(){return kt.recommendedRules}});Object.defineProperty($,"resolveObjMapThunk",{enumerable:!0,get:function(){return Oe.resolveObjMapThunk}});Object.defineProperty($,"resolveReadonlyArrayThunk",{enumerable:!0,get:function(){return Oe.resolveReadonlyArrayThunk}});Object.defineProperty($,"responsePathAsArray",{enumerable:!0,get:function(){return Zo.responsePathAsArray}});Object.defineProperty($,"separateOperations",{enumerable:!0,get:function(){return Tn.separateOperations}});Object.defineProperty($,"specifiedDirectives",{enumerable:!0,get:function(){return Oe.specifiedDirectives}});Object.defineProperty($,"specifiedRules",{enumerable:!0,get:function(){return kt.specifiedRules}});Object.defineProperty($,"specifiedScalarTypes",{enumerable:!0,get:function(){return Oe.specifiedScalarTypes}});Object.defineProperty($,"stripIgnoredCharacters",{enumerable:!0,get:function(){return Tn.stripIgnoredCharacters}});Object.defineProperty($,"subscribe",{enumerable:!0,get:function(){return Zo.subscribe}});Object.defineProperty($,"syntaxError",{enumerable:!0,get:function(){return qh.syntaxError}});Object.defineProperty($,"typeFromAST",{enumerable:!0,get:function(){return Tn.typeFromAST}});Object.defineProperty($,"validate",{enumerable:!0,get:function(){return kt.validate}});Object.defineProperty($,"validateSchema",{enumerable:!0,get:function(){return Oe.validateSchema}});Object.defineProperty($,"valueFromAST",{enumerable:!0,get:function(){return Tn.valueFromAST}});Object.defineProperty($,"valueFromASTUntyped",{enumerable:!0,get:function(){return Tn.valueFromASTUntyped}});Object.defineProperty($,"version",{enumerable:!0,get:function(){return CV.version}});Object.defineProperty($,"versionInfo",{enumerable:!0,get:function(){return CV.versionInfo}});Object.defineProperty($,"visit",{enumerable:!0,get:function(){return hn.visit}});Object.defineProperty($,"visitInParallel",{enumerable:!0,get:function(){return hn.visitInParallel}});Object.defineProperty($,"visitWithTypeInfo",{enumerable:!0,get:function(){return Tn.visitWithTypeInfo}});var CV=ZM(),UV=OB(),Oe=AB(),hn=FB(),Zo=MB(),kt=$B(),qh=qB(),Tn=xV()});var _c=V(it=>{"use strict";m();T();h();Object.defineProperty(it,"__esModule",{value:!0});it.EDFS_ARGS_REGEXP=it.baseDirectives=it.INHERITABLE_DIRECTIVE_NAMES=it.EDFS_NATS_STREAM_CONFIGURATION_DEFINITION=it.SCOPE_SCALAR_DEFINITION=it.FIELD_SET_SCALAR_DEFINITION=it.VERSION_TWO_DIRECTIVE_DEFINITIONS=it.EVENT_DRIVEN_DIRECTIVE_DEFINITIONS_BY_DIRECTIVE_NAME=it.BASE_DIRECTIVE_DEFINITIONS=it.V2_DIRECTIVE_DEFINITION_BY_DIRECTIVE_NAME=it.SUBSCRIPTION_FIELD_CONDITION_DEFINITION=it.SUBSCRIPTION_FILTER_VALUE_DEFINITION=it.SUBSCRIPTION_FILTER_CONDITION_DEFINITION=it.SUBSCRIPTION_FILTER_DEFINITION=it.REQUIRES_SCOPES_DEFINITION=it.INACCESSIBLE_DEFINITION=it.AUTHENTICATED_DEFINITION=it.BASE_DIRECTIVE_DEFINITION_BY_DIRECTIVE_NAME=it.TAG_DEFINITION=it.DEPRECATED_DEFINITION=it.BASE_SCALARS=void 0;var ge=(we(),Me(je)),me=Vi(),W=bi();it.BASE_SCALARS=new Set(["_Any","_Entities","Boolean","Float","ID","Int",W.FIELD_SET_SCALAR,W.SCOPE_SCALAR,W.STRING_SCALAR]);it.DEPRECATED_DEFINITION={arguments:[{directives:[],kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.REASON),type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR),defaultValue:{kind:ge.Kind.STRING,value:ge.DEFAULT_DEPRECATION_REASON}}],kind:ge.Kind.DIRECTIVE_DEFINITION,locations:(0,me.stringArrayToNameNodeArray)([W.ARGUMENT_DEFINITION_UPPER,W.ENUM_VALUE_UPPER,W.FIELD_DEFINITION_UPPER,W.INPUT_FIELD_DEFINITION_UPPER]),name:(0,me.stringToNameNode)(W.DEPRECATED),repeatable:!1};var BV={kind:ge.Kind.DIRECTIVE_DEFINITION,locations:(0,me.stringArrayToNameNodeArray)([W.INTERFACE_UPPER,W.OBJECT_UPPER]),name:(0,me.stringToNameNode)(W.EXTENDS),repeatable:!1},VV={kind:ge.Kind.DIRECTIVE_DEFINITION,locations:(0,me.stringArrayToNameNodeArray)([W.FIELD_DEFINITION_UPPER,W.OBJECT_UPPER]),name:(0,me.stringToNameNode)(W.EXTERNAL),repeatable:!1},jV={arguments:[{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.TOPIC),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)}},{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.PROVIDER_ID),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)},defaultValue:{kind:ge.Kind.STRING,value:W.DEFAULT_EDFS_PROVIDER_ID}}],kind:ge.Kind.DIRECTIVE_DEFINITION,locations:[(0,me.stringToNameNode)(W.FIELD_DEFINITION_UPPER)],name:(0,me.stringToNameNode)(W.EDFS_KAFKA_PUBLISH),repeatable:!1},$V={arguments:[{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.TOPICS),type:{kind:ge.Kind.NON_NULL_TYPE,type:{kind:ge.Kind.LIST_TYPE,type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)}}}},{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.PROVIDER_ID),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)},defaultValue:{kind:ge.Kind.STRING,value:W.DEFAULT_EDFS_PROVIDER_ID}}],kind:ge.Kind.DIRECTIVE_DEFINITION,locations:[(0,me.stringToNameNode)(W.FIELD_DEFINITION_UPPER)],name:(0,me.stringToNameNode)(W.EDFS_KAFKA_PUBLISH),repeatable:!1},qV={arguments:[{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.SUBJECT),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)}},{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.PROVIDER_ID),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)},defaultValue:{kind:ge.Kind.STRING,value:W.DEFAULT_EDFS_PROVIDER_ID}}],kind:ge.Kind.DIRECTIVE_DEFINITION,locations:[(0,me.stringToNameNode)(W.FIELD_DEFINITION_UPPER)],name:(0,me.stringToNameNode)(W.EDFS_NATS_PUBLISH),repeatable:!1},KV={arguments:[{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.SUBJECT),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)}},{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.PROVIDER_ID),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)},defaultValue:{kind:ge.Kind.STRING,value:W.DEFAULT_EDFS_PROVIDER_ID}}],kind:ge.Kind.DIRECTIVE_DEFINITION,locations:[(0,me.stringToNameNode)(W.FIELD_DEFINITION_UPPER)],name:(0,me.stringToNameNode)(W.EDFS_NATS_REQUEST),repeatable:!1},GV={arguments:[{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.SUBJECTS),type:{kind:ge.Kind.NON_NULL_TYPE,type:{kind:ge.Kind.LIST_TYPE,type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)}}}},{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.PROVIDER_ID),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)},defaultValue:{kind:ge.Kind.STRING,value:W.DEFAULT_EDFS_PROVIDER_ID}},{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)("streamConfiguration"),type:(0,me.stringToNamedTypeNode)(W.EDFS_NATS_STREAM_CONFIGURATION)}],kind:ge.Kind.DIRECTIVE_DEFINITION,locations:[(0,me.stringToNameNode)(W.FIELD_DEFINITION_UPPER)],name:(0,me.stringToNameNode)(W.EDFS_NATS_SUBSCRIBE),repeatable:!1},QV={arguments:[{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.FIELDS),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.FIELD_SET_SCALAR)}},{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.RESOLVABLE),type:(0,me.stringToNamedTypeNode)(W.BOOLEAN_SCALAR),defaultValue:{kind:ge.Kind.BOOLEAN,value:!0}}],kind:ge.Kind.DIRECTIVE_DEFINITION,locations:(0,me.stringArrayToNameNodeArray)([W.INTERFACE_UPPER,W.OBJECT_UPPER]),name:(0,me.stringToNameNode)(W.KEY),repeatable:!0},YV={arguments:[{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.FIELDS),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.FIELD_SET_SCALAR)}}],kind:ge.Kind.DIRECTIVE_DEFINITION,locations:[(0,me.stringToNameNode)(W.FIELD_DEFINITION_UPPER)],name:(0,me.stringToNameNode)(W.PROVIDES),repeatable:!1},JV={arguments:[{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.FIELDS),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.FIELD_SET_SCALAR)}}],kind:ge.Kind.DIRECTIVE_DEFINITION,locations:[(0,me.stringToNameNode)(W.FIELD_DEFINITION_UPPER)],name:(0,me.stringToNameNode)(W.REQUIRES),repeatable:!1},zV={arguments:[{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.URL_LOWER),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)}}],kind:ge.Kind.DIRECTIVE_DEFINITION,locations:(0,me.stringArrayToNameNodeArray)([W.SCALAR_UPPER]),name:(0,me.stringToNameNode)(W.SPECIFIED_BY),repeatable:!1};it.TAG_DEFINITION={arguments:[{directives:[],kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.NAME),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)}}],kind:ge.Kind.DIRECTIVE_DEFINITION,locations:(0,me.stringArrayToNameNodeArray)([W.ARGUMENT_DEFINITION_UPPER,W.ENUM_UPPER,W.ENUM_VALUE_UPPER,W.FIELD_DEFINITION_UPPER,W.INPUT_FIELD_DEFINITION_UPPER,W.INPUT_OBJECT_UPPER,W.INTERFACE_UPPER,W.OBJECT_UPPER,W.SCALAR_UPPER,W.UNION_UPPER]),name:(0,me.stringToNameNode)(W.TAG),repeatable:!0};it.BASE_DIRECTIVE_DEFINITION_BY_DIRECTIVE_NAME=new Map([[W.DEPRECATED,it.DEPRECATED_DEFINITION],[W.EXTENDS,BV],[W.EXTERNAL,VV],[W.EDFS_KAFKA_PUBLISH,jV],[W.EDFS_KAFKA_SUBSCRIBE,$V],[W.EDFS_NATS_PUBLISH,qV],[W.EDFS_NATS_REQUEST,KV],[W.EDFS_NATS_SUBSCRIBE,GV],[W.KEY,QV],[W.PROVIDES,YV],[W.REQUIRES,JV],[W.SPECIFIED_BY,zV],[W.TAG,it.TAG_DEFINITION]]);it.AUTHENTICATED_DEFINITION={arguments:[],kind:ge.Kind.DIRECTIVE_DEFINITION,locations:(0,me.stringArrayToNameNodeArray)([W.ENUM_UPPER,W.FIELD_DEFINITION_UPPER,W.INTERFACE_UPPER,W.OBJECT_UPPER,W.SCALAR_UPPER]),name:(0,me.stringToNameNode)(W.AUTHENTICATED),repeatable:!1};var HV={arguments:[{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.NAME),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)}}],kind:ge.Kind.DIRECTIVE_DEFINITION,locations:(0,me.stringArrayToNameNodeArray)([W.SCHEMA_UPPER]),name:(0,me.stringToNameNode)(W.COMPOSE_DIRECTIVE),repeatable:!0};it.INACCESSIBLE_DEFINITION={arguments:[],kind:ge.Kind.DIRECTIVE_DEFINITION,locations:(0,me.stringArrayToNameNodeArray)([W.ARGUMENT_DEFINITION_UPPER,W.ENUM_UPPER,W.ENUM_VALUE_UPPER,W.FIELD_DEFINITION_UPPER,W.INPUT_FIELD_DEFINITION_UPPER,W.INPUT_OBJECT_UPPER,W.INTERFACE_UPPER,W.OBJECT_UPPER,W.SCALAR_UPPER,W.UNION_UPPER]),name:(0,me.stringToNameNode)(W.INACCESSIBLE),repeatable:!1};var WV={kind:ge.Kind.DIRECTIVE_DEFINITION,locations:(0,me.stringArrayToNameNodeArray)([W.OBJECT_UPPER]),name:(0,me.stringToNameNode)(W.INTERFACE_OBJECT),repeatable:!1},XV={arguments:[{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.URL_LOWER),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)}},{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)("as"),type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)},{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)("for"),type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)},{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)("import"),type:{kind:ge.Kind.LIST_TYPE,type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)}}],kind:ge.Kind.DIRECTIVE_DEFINITION,locations:(0,me.stringArrayToNameNodeArray)([W.SCHEMA_UPPER]),name:(0,me.stringToNameNode)(W.LINK),repeatable:!0},ZV={arguments:[{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.FROM),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)}}],kind:ge.Kind.DIRECTIVE_DEFINITION,locations:(0,me.stringArrayToNameNodeArray)([W.FIELD_DEFINITION_UPPER]),name:(0,me.stringToNameNode)(W.OVERRIDE),repeatable:!1};it.REQUIRES_SCOPES_DEFINITION={arguments:[{directives:[],kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.SCOPES),type:{kind:ge.Kind.NON_NULL_TYPE,type:{kind:ge.Kind.LIST_TYPE,type:{kind:ge.Kind.NON_NULL_TYPE,type:{kind:ge.Kind.LIST_TYPE,type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.SCOPE_SCALAR)}}}}}}],kind:ge.Kind.DIRECTIVE_DEFINITION,locations:(0,me.stringArrayToNameNodeArray)([W.ENUM_UPPER,W.FIELD_DEFINITION_UPPER,W.INTERFACE_UPPER,W.OBJECT_UPPER,W.SCALAR_UPPER]),name:(0,me.stringToNameNode)(W.REQUIRES_SCOPES),repeatable:!1};var ej={kind:ge.Kind.DIRECTIVE_DEFINITION,locations:(0,me.stringArrayToNameNodeArray)([W.FIELD_DEFINITION_UPPER,W.OBJECT_UPPER]),name:(0,me.stringToNameNode)(W.SHAREABLE),repeatable:!1};it.SUBSCRIPTION_FILTER_DEFINITION={arguments:[{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.CONDITION),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.SUBSCRIPTION_FILTER_CONDITION)}}],kind:ge.Kind.DIRECTIVE_DEFINITION,locations:(0,me.stringArrayToNameNodeArray)([W.FIELD_DEFINITION_UPPER]),name:(0,me.stringToNameNode)(W.SUBSCRIPTION_FILTER),repeatable:!1};it.SUBSCRIPTION_FILTER_CONDITION_DEFINITION={fields:[{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.AND_UPPER),type:{kind:ge.Kind.LIST_TYPE,type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.SUBSCRIPTION_FILTER_CONDITION)}}},{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.IN_UPPER),type:(0,me.stringToNamedTypeNode)(W.SUBSCRIPTION_FIELD_CONDITION)},{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.OR_UPPER),type:{kind:ge.Kind.LIST_TYPE,type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.SUBSCRIPTION_FILTER_CONDITION)}}},{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.NOT_UPPER),type:(0,me.stringToNamedTypeNode)(W.SUBSCRIPTION_FILTER_CONDITION)}],kind:ge.Kind.INPUT_OBJECT_TYPE_DEFINITION,name:(0,me.stringToNameNode)(W.SUBSCRIPTION_FILTER_CONDITION)};it.SUBSCRIPTION_FILTER_VALUE_DEFINITION={kind:ge.Kind.SCALAR_TYPE_DEFINITION,name:(0,me.stringToNameNode)(W.SUBSCRIPTION_FILTER_VALUE)};it.SUBSCRIPTION_FIELD_CONDITION_DEFINITION={fields:[{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.FIELD_PATH),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)}},{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.VALUES),type:{kind:ge.Kind.NON_NULL_TYPE,type:{kind:ge.Kind.LIST_TYPE,type:(0,me.stringToNamedTypeNode)(W.SUBSCRIPTION_FILTER_VALUE)}}}],kind:ge.Kind.INPUT_OBJECT_TYPE_DEFINITION,name:(0,me.stringToNameNode)(W.SUBSCRIPTION_FIELD_CONDITION)};it.V2_DIRECTIVE_DEFINITION_BY_DIRECTIVE_NAME=new Map([[W.AUTHENTICATED,it.AUTHENTICATED_DEFINITION],[W.COMPOSE_DIRECTIVE,HV],[W.INACCESSIBLE,it.INACCESSIBLE_DEFINITION],[W.INTERFACE_OBJECT,WV],[W.LINK,XV],[W.OVERRIDE,ZV],[W.REQUIRES_SCOPES,it.REQUIRES_SCOPES_DEFINITION],[W.SHAREABLE,ej]]);it.BASE_DIRECTIVE_DEFINITIONS=[it.DEPRECATED_DEFINITION,BV,VV,QV,YV,JV,zV,it.TAG_DEFINITION];it.EVENT_DRIVEN_DIRECTIVE_DEFINITIONS_BY_DIRECTIVE_NAME=new Map([[W.EDFS_KAFKA_PUBLISH,jV],[W.EDFS_KAFKA_SUBSCRIBE,$V],[W.EDFS_NATS_PUBLISH,qV],[W.EDFS_NATS_REQUEST,KV],[W.EDFS_NATS_SUBSCRIBE,GV]]);it.VERSION_TWO_DIRECTIVE_DEFINITIONS=[it.AUTHENTICATED_DEFINITION,HV,it.INACCESSIBLE_DEFINITION,WV,XV,ZV,it.REQUIRES_SCOPES_DEFINITION,ej];it.FIELD_SET_SCALAR_DEFINITION={kind:ge.Kind.SCALAR_TYPE_DEFINITION,name:(0,me.stringToNameNode)(W.FIELD_SET_SCALAR)};it.SCOPE_SCALAR_DEFINITION={kind:ge.Kind.SCALAR_TYPE_DEFINITION,name:(0,me.stringToNameNode)(W.SCOPE_SCALAR)};it.EDFS_NATS_STREAM_CONFIGURATION_DEFINITION={kind:ge.Kind.INPUT_OBJECT_TYPE_DEFINITION,name:(0,me.stringToNameNode)(W.EDFS_NATS_STREAM_CONFIGURATION),fields:[{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.CONSUMER_NAME),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)}},{kind:ge.Kind.INPUT_VALUE_DEFINITION,name:(0,me.stringToNameNode)(W.STREAM_NAME),type:{kind:ge.Kind.NON_NULL_TYPE,type:(0,me.stringToNamedTypeNode)(W.STRING_SCALAR)}}]};it.INHERITABLE_DIRECTIVE_NAMES=[W.EXTERNAL,W.SHAREABLE];it.baseDirectives=` directive @deprecated(reason: String = "No longer supported") on ARGUMENT_DEFINITION | ENUM_VALUE | FIELD_DEFINITION | INPUT_FIELD_DEFINITION directive @extends on INTERFACE | OBJECT directive @external on FIELD_DEFINITION | OBJECT @@ -596,62 +596,62 @@ ${t.join(` consumerName: String! streamName: String! } -`});var nA=V(tA=>{"use strict";m();T();h();Object.defineProperty(tA,"__esModule",{value:!0});tA.newFieldSetConditionData=vse;function vse({fieldCoordinatesPath:e,fieldPath:t}){return{fieldCoordinatesPath:e,fieldPath:t}}});var qh=V(UE=>{"use strict";m();T();h();Object.defineProperty(UE,"__esModule",{value:!0});UE.ExtensionType=void 0;var ZV;(function(e){e[e.EXTENDS=0]="EXTENDS",e[e.NONE=1]="NONE",e[e.REAL=2]="REAL"})(ZV||(UE.ExtensionType=ZV={}))});var sA={};vf(sA,{__addDisposableResource:()=>gj,__assign:()=>ME,__asyncDelegator:()=>pj,__asyncGenerator:()=>dj,__asyncValues:()=>fj,__await:()=>gp,__awaiter:()=>sj,__classPrivateFieldGet:()=>yj,__classPrivateFieldIn:()=>Ej,__classPrivateFieldSet:()=>Nj,__createBinding:()=>VE,__decorate:()=>nj,__disposeResources:()=>Ij,__esDecorate:()=>_se,__exportStar:()=>aj,__extends:()=>ej,__generator:()=>oj,__importDefault:()=>Tj,__importStar:()=>hj,__makeTemplateObject:()=>mj,__metadata:()=>ij,__param:()=>rj,__propKey:()=>Ose,__read:()=>iA,__rest:()=>tj,__runInitializers:()=>bse,__setFunctionName:()=>Sse,__spread:()=>uj,__spreadArray:()=>lj,__spreadArrays:()=>cj,__values:()=>BE,default:()=>Rse});function ej(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");rA(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}function tj(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(e);i=0;u--)(o=e[u])&&(s=(i<3?o(s):i>3?o(t,n,s):o(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s}function rj(e,t){return function(n,r){t(n,r,e)}}function _se(e,t,n,r,i,s){function o(Q){if(Q!==void 0&&typeof Q!="function")throw new TypeError("Function expected");return Q}for(var u=r.kind,l=u==="getter"?"get":u==="setter"?"set":"value",d=!t&&e?r.static?e:e.prototype:null,p=t||(d?Object.getOwnPropertyDescriptor(d,r.name):{}),y,N=!1,I=n.length-1;I>=0;I--){var b={};for(var C in r)b[C]=C==="access"?{}:r[C];for(var C in r.access)b.access[C]=r.access[C];b.addInitializer=function(Q){if(N)throw new TypeError("Cannot add initializers after decoration has completed");s.push(o(Q||null))};var j=(0,n[I])(u==="accessor"?{get:p.get,set:p.set}:p[l],b);if(u==="accessor"){if(j===void 0)continue;if(j===null||typeof j!="object")throw new TypeError("Object expected");(y=o(j.get))&&(p.get=y),(y=o(j.set))&&(p.set=y),(y=o(j.init))&&i.unshift(y)}else(y=o(j))&&(u==="field"?i.unshift(y):p[l]=y)}d&&Object.defineProperty(d,r.name,p),N=!0}function bse(e,t,n){for(var r=arguments.length>2,i=0;i0&&s[s.length-1])&&(d[0]===6||d[0]===2)){n=0;continue}if(d[0]===3&&(!s||d[1]>s[0]&&d[1]=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function iA(e,t){var n=typeof Symbol=="function"&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),i,s=[],o;try{for(;(t===void 0||t-- >0)&&!(i=r.next()).done;)s.push(i.value)}catch(u){o={error:u}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return s}function uj(){for(var e=[],t=0;t1||u(N,I)})})}function u(N,I){try{l(r[N](I))}catch(b){y(s[0][3],b)}}function l(N){N.value instanceof gp?Promise.resolve(N.value.v).then(d,p):y(s[0][2],N)}function d(N){u("next",N)}function p(N){u("throw",N)}function y(N,I){N(I),s.shift(),s.length&&u(s[0][0],s[0][1])}}function pj(e){var t,n;return t={},r("next"),r("throw",function(i){throw i}),r("return"),t[Symbol.iterator]=function(){return this},t;function r(i,s){t[i]=e[i]?function(o){return(n=!n)?{value:gp(e[i](o)),done:!1}:s?s(o):o}:s}}function fj(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof BE=="function"?BE(e):e[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(s){n[s]=e[s]&&function(o){return new Promise(function(u,l){o=e[s](o),i(u,l,o.done,o.value)})}}function i(s,o,u,l){Promise.resolve(l).then(function(d){s({value:d,done:u})},o)}}function mj(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}function hj(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)n!=="default"&&Object.prototype.hasOwnProperty.call(e,n)&&VE(t,e,n);return Dse(t,e),t}function Tj(e){return e&&e.__esModule?e:{default:e}}function yj(e,t,n,r){if(n==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?r:n==="a"?r.call(e):r?r.value:t.get(e)}function Nj(e,t,n,r,i){if(r==="m")throw new TypeError("Private method is not writable");if(r==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return r==="a"?i.call(e,n):i?i.value=n:t.set(e,n),n}function Ej(e,t){if(t===null||typeof t!="object"&&typeof t!="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof e=="function"?t===e:e.has(t)}function gj(e,t,n){if(t!=null){if(typeof t!="object"&&typeof t!="function")throw new TypeError("Object expected.");var r;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");r=t[Symbol.asyncDispose]}if(r===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");r=t[Symbol.dispose]}if(typeof r!="function")throw new TypeError("Object not disposable.");e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t}function Ij(e){function t(r){e.error=e.hasError?new Ase(r,e.error,"An error was suppressed during disposal."):r,e.hasError=!0}function n(){for(;e.stack.length;){var r=e.stack.pop();try{var i=r.dispose&&r.dispose.call(r.value);if(r.async)return Promise.resolve(i).then(n,function(s){return t(s),n()})}catch(s){t(s)}}if(e.hasError)throw e.error}return n()}var rA,ME,VE,Dse,Ase,Rse,oA=ue(()=>{"use strict";m();T();h();rA=function(e,t){return rA=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[i]=r[i])},rA(e,t)};ME=function(){return ME=Object.assign||function(t){for(var n,r=1,i=arguments.length;r$j,__assign:()=>jE,__asyncDelegator:()=>kj,__asyncGenerator:()=>Pj,__asyncValues:()=>xj,__await:()=>Ip,__awaiter:()=>Dj,__classPrivateFieldGet:()=>Bj,__classPrivateFieldIn:()=>jj,__classPrivateFieldSet:()=>Vj,__createBinding:()=>qE,__decorate:()=>bj,__disposeResources:()=>qj,__esDecorate:()=>Fse,__exportStar:()=>Rj,__extends:()=>vj,__generator:()=>Aj,__importDefault:()=>Mj,__importStar:()=>Uj,__makeTemplateObject:()=>Cj,__metadata:()=>Sj,__param:()=>Oj,__propKey:()=>Lse,__read:()=>uA,__rest:()=>_j,__runInitializers:()=>wse,__setFunctionName:()=>Pse,__spread:()=>Fj,__spreadArray:()=>Lj,__spreadArrays:()=>wj,__values:()=>$E,default:()=>Cse});function vj(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");aA(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}function _j(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(e);i=0;u--)(o=e[u])&&(s=(i<3?o(s):i>3?o(t,n,s):o(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s}function Oj(e,t){return function(n,r){t(n,r,e)}}function Fse(e,t,n,r,i,s){function o(Q){if(Q!==void 0&&typeof Q!="function")throw new TypeError("Function expected");return Q}for(var u=r.kind,l=u==="getter"?"get":u==="setter"?"set":"value",d=!t&&e?r.static?e:e.prototype:null,p=t||(d?Object.getOwnPropertyDescriptor(d,r.name):{}),y,N=!1,I=n.length-1;I>=0;I--){var b={};for(var C in r)b[C]=C==="access"?{}:r[C];for(var C in r.access)b.access[C]=r.access[C];b.addInitializer=function(Q){if(N)throw new TypeError("Cannot add initializers after decoration has completed");s.push(o(Q||null))};var j=(0,n[I])(u==="accessor"?{get:p.get,set:p.set}:p[l],b);if(u==="accessor"){if(j===void 0)continue;if(j===null||typeof j!="object")throw new TypeError("Object expected");(y=o(j.get))&&(p.get=y),(y=o(j.set))&&(p.set=y),(y=o(j.init))&&i.unshift(y)}else(y=o(j))&&(u==="field"?i.unshift(y):p[l]=y)}d&&Object.defineProperty(d,r.name,p),N=!0}function wse(e,t,n){for(var r=arguments.length>2,i=0;i0&&s[s.length-1])&&(d[0]===6||d[0]===2)){n=0;continue}if(d[0]===3&&(!s||d[1]>s[0]&&d[1]=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function uA(e,t){var n=typeof Symbol=="function"&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),i,s=[],o;try{for(;(t===void 0||t-- >0)&&!(i=r.next()).done;)s.push(i.value)}catch(u){o={error:u}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return s}function Fj(){for(var e=[],t=0;t1||u(N,I)})})}function u(N,I){try{l(r[N](I))}catch(b){y(s[0][3],b)}}function l(N){N.value instanceof Ip?Promise.resolve(N.value.v).then(d,p):y(s[0][2],N)}function d(N){u("next",N)}function p(N){u("throw",N)}function y(N,I){N(I),s.shift(),s.length&&u(s[0][0],s[0][1])}}function kj(e){var t,n;return t={},r("next"),r("throw",function(i){throw i}),r("return"),t[Symbol.iterator]=function(){return this},t;function r(i,s){t[i]=e[i]?function(o){return(n=!n)?{value:Ip(e[i](o)),done:!1}:s?s(o):o}:s}}function xj(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof $E=="function"?$E(e):e[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(s){n[s]=e[s]&&function(o){return new Promise(function(u,l){o=e[s](o),i(u,l,o.done,o.value)})}}function i(s,o,u,l){Promise.resolve(l).then(function(d){s({value:d,done:u})},o)}}function Cj(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}function Uj(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)n!=="default"&&Object.prototype.hasOwnProperty.call(e,n)&&qE(t,e,n);return kse(t,e),t}function Mj(e){return e&&e.__esModule?e:{default:e}}function Bj(e,t,n,r){if(n==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?r:n==="a"?r.call(e):r?r.value:t.get(e)}function Vj(e,t,n,r,i){if(r==="m")throw new TypeError("Private method is not writable");if(r==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return r==="a"?i.call(e,n):i?i.value=n:t.set(e,n),n}function jj(e,t){if(t===null||typeof t!="object"&&typeof t!="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof e=="function"?t===e:e.has(t)}function $j(e,t,n){if(t!=null){if(typeof t!="object"&&typeof t!="function")throw new TypeError("Object expected.");var r;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");r=t[Symbol.asyncDispose]}if(r===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");r=t[Symbol.dispose]}if(typeof r!="function")throw new TypeError("Object not disposable.");e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t}function qj(e){function t(r){e.error=e.hasError?new xse(r,e.error,"An error was suppressed during disposal."):r,e.hasError=!0}function n(){for(;e.stack.length;){var r=e.stack.pop();try{var i=r.dispose&&r.dispose.call(r.value);if(r.async)return Promise.resolve(i).then(n,function(s){return t(s),n()})}catch(s){t(s)}}if(e.hasError)throw e.error}return n()}var aA,jE,qE,kse,xse,Cse,Gj=ue(()=>{"use strict";m();T();h();aA=function(e,t){return aA=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[i]=r[i])},aA(e,t)};jE=function(){return jE=Object.assign||function(t){for(var n,r=1,i=arguments.length;r{"use strict";m();T();h()});var Kh=V(qr=>{"use strict";m();T();h();Object.defineProperty(qr,"__esModule",{value:!0});qr.assertSome=qr.isSome=qr.compareNodes=qr.nodeToString=qr.compareStrings=qr.isValidPath=qr.isDocumentString=qr.asArray=void 0;var Use=(we(),Me(je)),Mse=e=>Array.isArray(e)?e:e?[e]:[];qr.asArray=Mse;var Bse=/\.[a-z0-9]+$/i;function Vse(e){if(typeof e!="string"||Bse.test(e))return!1;try{return(0,Use.parse)(e),!0}catch(t){}return!1}qr.isDocumentString=Vse;var jse=/[‘“!%^<>`]/;function $se(e){return typeof e=="string"&&!jse.test(e)}qr.isValidPath=$se;function Yj(e,t){return String(e)String(t)?1:0}qr.compareStrings=Yj;function cA(e){var n,r;let t;return"alias"in e&&(t=(n=e.alias)==null?void 0:n.value),t==null&&"name"in e&&(t=(r=e.name)==null?void 0:r.value),t==null&&(t=e.kind),t}qr.nodeToString=cA;function qse(e,t,n){let r=cA(e),i=cA(t);return typeof n=="function"?n(r,i):Yj(r,i)}qr.compareNodes=qse;function Kse(e){return e!=null}qr.isSome=Kse;function Gse(e,t="Value should be something"){if(e==null)throw new Error(t)}qr.assertSome=Gse});var Gh=V(GE=>{"use strict";m();T();h();Object.defineProperty(GE,"__esModule",{value:!0});GE.inspect=void 0;var Hj=3;function Qse(e){return KE(e,[])}GE.inspect=Qse;function KE(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return Yse(e,t);default:return String(e)}}function Jj(e){return(e.name="GraphQLError")?e.toString():`${e.name}: ${e.message}; - ${e.stack}`}function Yse(e,t){if(e===null)return"null";if(e instanceof Error)return e.name==="AggregateError"?Jj(e)+` -`+zj(e.errors,t):Jj(e);if(t.includes(e))return"[Circular]";let n=[...t,e];if(Jse(e)){let r=e.toJSON();if(r!==e)return typeof r=="string"?r:KE(r,n)}else if(Array.isArray(e))return zj(e,n);return zse(e,n)}function Jse(e){return typeof e.toJSON=="function"}function zse(e,t){let n=Object.entries(e);return n.length===0?"{}":t.length>Hj?"["+Hse(e)+"]":"{ "+n.map(([i,s])=>i+": "+KE(s,t)).join(", ")+" }"}function zj(e,t){if(e.length===0)return"[]";if(t.length>Hj)return"[Array]";let n=e.length,r=[];for(let i=0;i{"use strict";m();T();h();Object.defineProperty(vp,"__esModule",{value:!0});vp.relocatedError=vp.createGraphQLError=void 0;var lA=(we(),Me(je)),Wse=["message","locations","path","nodes","source","positions","originalError","name","stack","extensions"];function Xse(e){return e!=null&&typeof e=="object"&&Object.keys(e).every(t=>Wse.includes(t))}function dA(e,t){return t!=null&&t.originalError&&!(t.originalError instanceof Error)&&Xse(t.originalError)&&(t.originalError=dA(t.originalError.message,t.originalError)),lA.versionInfo.major>=17?new lA.GraphQLError(e,t):new lA.GraphQLError(e,t==null?void 0:t.nodes,t==null?void 0:t.source,t==null?void 0:t.positions,t==null?void 0:t.path,t==null?void 0:t.originalError,t==null?void 0:t.extensions)}vp.createGraphQLError=dA;function Zse(e,t){return dA(e.message,{nodes:e.nodes,source:e.source,positions:e.positions,path:t==null?e.path:t,originalError:e,extensions:e.extensions})}vp.relocatedError=Zse});var Qh=V($s=>{"use strict";m();T();h();Object.defineProperty($s,"__esModule",{value:!0});$s.hasOwnProperty=$s.promiseReduce=$s.isPromise=$s.isObjectLike=$s.isIterableObject=void 0;function eoe(e){return e!=null&&typeof e=="object"&&Symbol.iterator in e}$s.isIterableObject=eoe;function toe(e){return typeof e=="object"&&e!==null}$s.isObjectLike=toe;function Wj(e){return(e==null?void 0:e.then)!=null}$s.isPromise=Wj;function noe(e,t,n){let r=n;for(let i of e)r=Wj(r)?r.then(s=>t(s,i)):t(r,i);return r}$s.promiseReduce=noe;function roe(e,t){return Object.prototype.hasOwnProperty.call(e,t)}$s.hasOwnProperty=roe});var fA=V(JE=>{"use strict";m();T();h();Object.defineProperty(JE,"__esModule",{value:!0});JE.getArgumentValues=void 0;var pA=Gh(),Ll=(we(),Me(je)),YE=QE(),ioe=Qh();function soe(e,t,n={}){var o;let r={},s=((o=t.arguments)!=null?o:[]).reduce((u,l)=>K(k({},u),{[l.name.value]:l}),{});for(let{name:u,type:l,defaultValue:d}of e.args){let p=s[u];if(!p){if(d!==void 0)r[u]=d;else if((0,Ll.isNonNullType)(l))throw(0,YE.createGraphQLError)(`Argument "${u}" of required type "${(0,pA.inspect)(l)}" was not provided.`,{nodes:[t]});continue}let y=p.value,N=y.kind===Ll.Kind.NULL;if(y.kind===Ll.Kind.VARIABLE){let b=y.name.value;if(n==null||!(0,ioe.hasOwnProperty)(n,b)){if(d!==void 0)r[u]=d;else if((0,Ll.isNonNullType)(l))throw(0,YE.createGraphQLError)(`Argument "${u}" of required type "${(0,pA.inspect)(l)}" was provided the variable "$${b}" which was not provided a runtime value.`,{nodes:[y]});continue}N=n[b]==null}if(N&&(0,Ll.isNonNullType)(l))throw(0,YE.createGraphQLError)(`Argument "${u}" of non-null type "${(0,pA.inspect)(l)}" must not be null.`,{nodes:[y]});let I=(0,Ll.valueFromAST)(y,l,n);if(I===void 0)throw(0,YE.createGraphQLError)(`Argument "${u}" has invalid value ${(0,Ll.print)(y)}.`,{nodes:[y]});r[u]=I}return r}JE.getArgumentValues=soe});var mA=V(ea=>{"use strict";m();T();h();Object.defineProperty(ea,"__esModule",{value:!0});ea.getDirective=ea.getDirectives=ea.getDirectiveInExtensions=ea.getDirectivesInExtensions=void 0;var Zj=fA();function e1(e,t=["directives"]){return t.reduce((n,r)=>n==null?n:n[r],e==null?void 0:e.extensions)}ea.getDirectivesInExtensions=e1;function Xj(e,t){let n=e.filter(r=>r.name===t);if(n.length)return n.map(r=>{var i;return(i=r.args)!=null?i:{}})}function t1(e,t,n=["directives"]){let r=n.reduce((s,o)=>s==null?s:s[o],e==null?void 0:e.extensions);if(r===void 0)return;if(Array.isArray(r))return Xj(r,t);let i=[];for(let[s,o]of Object.entries(r))if(Array.isArray(o))for(let u of o)i.push({name:s,args:u});else i.push({name:s,args:o});return Xj(i,t)}ea.getDirectiveInExtensions=t1;function ooe(e,t,n=["directives"]){let r=e1(t,n);if(r!=null&&r.length>0)return r;let s=(e&&e.getDirectives?e.getDirectives():[]).reduce((l,d)=>(l[d.name]=d,l),{}),o=[];t.astNode&&o.push(t.astNode),"extensionASTNodes"in t&&t.extensionASTNodes&&(o=[...o,...t.extensionASTNodes]);let u=[];for(let l of o)if(l.directives)for(let d of l.directives){let p=s[d.name.value];p&&u.push({name:d.name.value,args:(0,Zj.getArgumentValues)(p,d)})}return u}ea.getDirectives=ooe;function aoe(e,t,n,r=["directives"]){let i=t1(t,n,r);if(i!=null)return i;let s=e&&e.getDirective?e.getDirective(n):void 0;if(s==null)return;let o=[];t.astNode&&o.push(t.astNode),"extensionASTNodes"in t&&t.extensionASTNodes&&(o=[...o,...t.extensionASTNodes]);let u=[];for(let l of o)if(l.directives)for(let d of l.directives)d.name.value===n&&u.push((0,Zj.getArgumentValues)(s,d));if(u.length)return u}ea.getDirective=aoe});var hA=V(zE=>{"use strict";m();T();h();Object.defineProperty(zE,"__esModule",{value:!0});zE.getFieldsWithDirectives=void 0;var uoe=(we(),Me(je));function coe(e,t={}){let n={},r=["ObjectTypeDefinition","ObjectTypeExtension"];t.includeInputTypes&&(r=[...r,"InputObjectTypeDefinition","InputObjectTypeExtension"]);let i=e.definitions.filter(s=>r.includes(s.kind));for(let s of i){let o=s.name.value;if(s.fields!=null){for(let u of s.fields)if(u.directives&&u.directives.length>0){let l=u.name.value,d=`${o}.${l}`,p=u.directives.map(y=>({name:y.name.value,args:(y.arguments||[]).reduce((N,I)=>K(k({},N),{[I.name.value]:(0,uoe.valueFromASTUntyped)(I.value)}),{})}));n[d]=p}}}return n}zE.getFieldsWithDirectives=coe});var n1=V(HE=>{"use strict";m();T();h();Object.defineProperty(HE,"__esModule",{value:!0});HE.getArgumentsWithDirectives=void 0;var TA=(we(),Me(je));function loe(e){return e.kind===TA.Kind.OBJECT_TYPE_DEFINITION||e.kind===TA.Kind.OBJECT_TYPE_EXTENSION}function doe(e){var r;let t={},n=e.definitions.filter(loe);for(let i of n)if(i.fields!=null)for(let s of i.fields){let o=(r=s.arguments)==null?void 0:r.filter(l=>{var d;return(d=l.directives)==null?void 0:d.length});if(!(o!=null&&o.length))continue;let u=t[`${i.name.value}.${s.name.value}`]={};for(let l of o){let d=l.directives.map(p=>({name:p.name.value,args:(p.arguments||[]).reduce((y,N)=>K(k({},y),{[N.name.value]:(0,TA.valueFromASTUntyped)(N.value)}),{})}));u[l.name.value]=d}}return t}HE.getArgumentsWithDirectives=doe});var yA=V(WE=>{"use strict";m();T();h();Object.defineProperty(WE,"__esModule",{value:!0});WE.getImplementingTypes=void 0;var poe=(we(),Me(je));function foe(e,t){let n=t.getTypeMap(),r=[];for(let i in n){let s=n[i];(0,poe.isObjectType)(s)&&s.getInterfaces().find(u=>u.name===e)&&r.push(s.name)}return r}WE.getImplementingTypes=foe});var EA=V(XE=>{"use strict";m();T();h();Object.defineProperty(XE,"__esModule",{value:!0});XE.astFromType=void 0;var moe=Gh(),Pl=(we(),Me(je));function NA(e){if((0,Pl.isNonNullType)(e)){let t=NA(e.ofType);if(t.kind===Pl.Kind.NON_NULL_TYPE)throw new Error(`Invalid type node ${(0,moe.inspect)(e)}. Inner type of non-null type cannot be a non-null type.`);return{kind:Pl.Kind.NON_NULL_TYPE,type:t}}else if((0,Pl.isListType)(e))return{kind:Pl.Kind.LIST_TYPE,type:NA(e.ofType)};return{kind:Pl.Kind.NAMED_TYPE,name:{kind:Pl.Kind.NAME,value:e.name}}}XE.astFromType=NA});var eg=V(ZE=>{"use strict";m();T();h();Object.defineProperty(ZE,"__esModule",{value:!0});ZE.astFromValueUntyped=void 0;var ta=(we(),Me(je));function gA(e){if(e===null)return{kind:ta.Kind.NULL};if(e===void 0)return null;if(Array.isArray(e)){let t=[];for(let n of e){let r=gA(n);r!=null&&t.push(r)}return{kind:ta.Kind.LIST,values:t}}if(typeof e=="object"){let t=[];for(let n in e){let r=e[n],i=gA(r);i&&t.push({kind:ta.Kind.OBJECT_FIELD,name:{kind:ta.Kind.NAME,value:n},value:i})}return{kind:ta.Kind.OBJECT,fields:t}}if(typeof e=="boolean")return{kind:ta.Kind.BOOLEAN,value:e};if(typeof e=="bigint")return{kind:ta.Kind.INT,value:String(e)};if(typeof e=="number"&&isFinite(e)){let t=String(e);return hoe.test(t)?{kind:ta.Kind.INT,value:t}:{kind:ta.Kind.FLOAT,value:t}}if(typeof e=="string")return{kind:ta.Kind.STRING,value:e};throw new TypeError(`Cannot convert value to AST: ${e}.`)}ZE.astFromValueUntyped=gA;var hoe=/^-?(?:0|[1-9][0-9]*)$/});var i1=V(tg=>{"use strict";m();T();h();Object.defineProperty(tg,"__esModule",{value:!0});tg.astFromValue=void 0;var Toe=Gh(),hs=(we(),Me(je)),yoe=eg(),r1=Qh();function Yh(e,t){if((0,hs.isNonNullType)(t)){let n=Yh(e,t.ofType);return(n==null?void 0:n.kind)===hs.Kind.NULL?null:n}if(e===null)return{kind:hs.Kind.NULL};if(e===void 0)return null;if((0,hs.isListType)(t)){let n=t.ofType;if((0,r1.isIterableObject)(e)){let r=[];for(let i of e){let s=Yh(i,n);s!=null&&r.push(s)}return{kind:hs.Kind.LIST,values:r}}return Yh(e,n)}if((0,hs.isInputObjectType)(t)){if(!(0,r1.isObjectLike)(e))return null;let n=[];for(let r of Object.values(t.getFields())){let i=Yh(e[r.name],r.type);i&&n.push({kind:hs.Kind.OBJECT_FIELD,name:{kind:hs.Kind.NAME,value:r.name},value:i})}return{kind:hs.Kind.OBJECT,fields:n}}if((0,hs.isLeafType)(t)){let n=t.serialize(e);return n==null?null:(0,hs.isEnumType)(t)?{kind:hs.Kind.ENUM,value:n}:t.name==="ID"&&typeof n=="string"&&Noe.test(n)?{kind:hs.Kind.INT,value:n}:(0,yoe.astFromValueUntyped)(n)}console.assert(!1,"Unexpected input type: "+(0,Toe.inspect)(t))}tg.astFromValue=Yh;var Noe=/^-?(?:0|[1-9][0-9]*)$/});var s1=V(ng=>{"use strict";m();T();h();Object.defineProperty(ng,"__esModule",{value:!0});ng.getDescriptionNode=void 0;var Eoe=(we(),Me(je));function goe(e){var t;if((t=e.astNode)!=null&&t.description)return K(k({},e.astNode.description),{block:!0});if(e.description)return{kind:Eoe.Kind.STRING,value:e.description,block:!0}}ng.getDescriptionNode=goe});var _p=V(pi=>{"use strict";m();T();h();Object.defineProperty(pi,"__esModule",{value:!0});pi.memoize2of5=pi.memoize2of4=pi.memoize5=pi.memoize4=pi.memoize3=pi.memoize2=pi.memoize1=void 0;function Ioe(e){let t=new WeakMap;return function(r){let i=t.get(r);if(i===void 0){let s=e(r);return t.set(r,s),s}return i}}pi.memoize1=Ioe;function voe(e){let t=new WeakMap;return function(r,i){let s=t.get(r);if(!s){s=new WeakMap,t.set(r,s);let u=e(r,i);return s.set(i,u),u}let o=s.get(i);if(o===void 0){let u=e(r,i);return s.set(i,u),u}return o}}pi.memoize2=voe;function _oe(e){let t=new WeakMap;return function(r,i,s){let o=t.get(r);if(!o){o=new WeakMap,t.set(r,o);let d=new WeakMap;o.set(i,d);let p=e(r,i,s);return d.set(s,p),p}let u=o.get(i);if(!u){u=new WeakMap,o.set(i,u);let d=e(r,i,s);return u.set(s,d),d}let l=u.get(s);if(l===void 0){let d=e(r,i,s);return u.set(s,d),d}return l}}pi.memoize3=_oe;function boe(e){let t=new WeakMap;return function(r,i,s,o){let u=t.get(r);if(!u){u=new WeakMap,t.set(r,u);let y=new WeakMap;u.set(i,y);let N=new WeakMap;y.set(s,N);let I=e(r,i,s,o);return N.set(o,I),I}let l=u.get(i);if(!l){l=new WeakMap,u.set(i,l);let y=new WeakMap;l.set(s,y);let N=e(r,i,s,o);return y.set(o,N),N}let d=l.get(s);if(!d){let y=new WeakMap;l.set(s,y);let N=e(r,i,s,o);return y.set(o,N),N}let p=d.get(o);if(p===void 0){let y=e(r,i,s,o);return d.set(o,y),y}return p}}pi.memoize4=boe;function Ooe(e){let t=new WeakMap;return function(r,i,s,o,u){let l=t.get(r);if(!l){l=new WeakMap,t.set(r,l);let I=new WeakMap;l.set(i,I);let b=new WeakMap;I.set(s,b);let C=new WeakMap;b.set(o,C);let j=e(r,i,s,o,u);return C.set(u,j),j}let d=l.get(i);if(!d){d=new WeakMap,l.set(i,d);let I=new WeakMap;d.set(s,I);let b=new WeakMap;I.set(o,b);let C=e(r,i,s,o,u);return b.set(u,C),C}let p=d.get(s);if(!p){p=new WeakMap,d.set(s,p);let I=new WeakMap;p.set(o,I);let b=e(r,i,s,o,u);return I.set(u,b),b}let y=p.get(o);if(!y){y=new WeakMap,p.set(o,y);let I=e(r,i,s,o,u);return y.set(u,I),I}let N=y.get(u);if(N===void 0){let I=e(r,i,s,o,u);return y.set(u,I),I}return N}}pi.memoize5=Ooe;function Soe(e){let t=new WeakMap;return function(r,i,s,o){let u=t.get(r);if(!u){u=new WeakMap,t.set(r,u);let d=e(r,i,s,o);return u.set(i,d),d}let l=u.get(i);if(l===void 0){let d=e(r,i,s,o);return u.set(i,d),d}return l}}pi.memoize2of4=Soe;function Doe(e){let t=new WeakMap;return function(r,i,s,o,u){let l=t.get(r);if(!l){l=new WeakMap,t.set(r,l);let p=e(r,i,s,o,u);return l.set(i,p),p}let d=l.get(i);if(d===void 0){let p=e(r,i,s,o,u);return l.set(i,p),p}return d}}pi.memoize2of5=Doe});var Jh=V(Ts=>{"use strict";m();T();h();Object.defineProperty(Ts,"__esModule",{value:!0});Ts.getRootTypeMap=Ts.getRootTypes=Ts.getRootTypeNames=Ts.getDefinedRootType=void 0;var Aoe=QE(),IA=_p();function Roe(e,t,n){let i=(0,Ts.getRootTypeMap)(e).get(t);if(i==null)throw(0,Aoe.createGraphQLError)(`Schema is not configured to execute ${t} operation.`,{nodes:n});return i}Ts.getDefinedRootType=Roe;Ts.getRootTypeNames=(0,IA.memoize1)(function(t){let n=(0,Ts.getRootTypes)(t);return new Set([...n].map(r=>r.name))});Ts.getRootTypes=(0,IA.memoize1)(function(t){let n=(0,Ts.getRootTypeMap)(t);return new Set(n.values())});Ts.getRootTypeMap=(0,IA.memoize1)(function(t){let n=new Map,r=t.getQueryType();r&&n.set("query",r);let i=t.getMutationType();i&&n.set("mutation",i);let s=t.getSubscriptionType();return s&&n.set("subscription",s),n})});var SA=V(Mt=>{"use strict";m();T();h();Object.defineProperty(Mt,"__esModule",{value:!0});Mt.makeDirectiveNodes=Mt.makeDirectiveNode=Mt.makeDeprecatedDirective=Mt.astFromEnumValue=Mt.astFromInputField=Mt.astFromField=Mt.astFromScalarType=Mt.astFromEnumType=Mt.astFromInputObjectType=Mt.astFromUnionType=Mt.astFromInterfaceType=Mt.astFromObjectType=Mt.astFromArg=Mt.getDeprecatableDirectiveNodes=Mt.getDirectiveNodes=Mt.astFromDirective=Mt.astFromSchema=Mt.printSchemaWithDirectives=Mt.getDocumentNodeFromSchema=void 0;var bt=(we(),Me(je)),kl=EA(),vA=i1(),Foe=eg(),qs=s1(),_A=mA(),woe=Kh(),Loe=Jh();function o1(e,t={}){let n=t.pathToDirectivesInExtensions,r=e.getTypeMap(),i=a1(e,n),s=i!=null?[i]:[],o=e.getDirectives();for(let u of o)(0,bt.isSpecifiedDirective)(u)||s.push(u1(u,e,n));for(let u in r){let l=r[u],d=(0,bt.isSpecifiedScalarType)(l),p=(0,bt.isIntrospectionType)(l);if(!(d||p))if((0,bt.isObjectType)(l))s.push(c1(l,e,n));else if((0,bt.isInterfaceType)(l))s.push(l1(l,e,n));else if((0,bt.isUnionType)(l))s.push(d1(l,e,n));else if((0,bt.isInputObjectType)(l))s.push(p1(l,e,n));else if((0,bt.isEnumType)(l))s.push(f1(l,e,n));else if((0,bt.isScalarType)(l))s.push(m1(l,e,n));else throw new Error(`Unknown type ${l}.`)}return{kind:bt.Kind.DOCUMENT,definitions:s}}Mt.getDocumentNodeFromSchema=o1;function Poe(e,t={}){let n=o1(e,t);return(0,bt.print)(n)}Mt.printSchemaWithDirectives=Poe;function a1(e,t){let n=new Map([["query",void 0],["mutation",void 0],["subscription",void 0]]),r=[];if(e.astNode!=null&&r.push(e.astNode),e.extensionASTNodes!=null)for(let d of e.extensionASTNodes)r.push(d);for(let d of r)if(d.operationTypes)for(let p of d.operationTypes)n.set(p.operation,p);let i=(0,Loe.getRootTypeMap)(e);for(let[d,p]of n){let y=i.get(d);if(y!=null){let N=(0,kl.astFromType)(y);p!=null?p.type=N:n.set(d,{kind:bt.Kind.OPERATION_TYPE_DEFINITION,operation:d,type:N})}}let s=[...n.values()].filter(woe.isSome),o=xl(e,e,t);if(!s.length&&!o.length)return null;let u={kind:s!=null?bt.Kind.SCHEMA_DEFINITION:bt.Kind.SCHEMA_EXTENSION,operationTypes:s,directives:o},l=(0,qs.getDescriptionNode)(e);return l&&(u.description=l),u}Mt.astFromSchema=a1;function u1(e,t,n){var r,i;return{kind:bt.Kind.DIRECTIVE_DEFINITION,description:(0,qs.getDescriptionNode)(e),name:{kind:bt.Kind.NAME,value:e.name},arguments:(r=e.args)==null?void 0:r.map(s=>bA(s,t,n)),repeatable:e.isRepeatable,locations:((i=e.locations)==null?void 0:i.map(s=>({kind:bt.Kind.NAME,value:s})))||[]}}Mt.astFromDirective=u1;function xl(e,t,n){let r=(0,_A.getDirectivesInExtensions)(e,n),i=[];e.astNode!=null&&i.push(e.astNode),"extensionASTNodes"in e&&e.extensionASTNodes!=null&&(i=i.concat(e.extensionASTNodes));let s;if(r!=null)s=rg(t,r);else{s=[];for(let o of i)o.directives&&s.push(...o.directives)}return s}Mt.getDirectiveNodes=xl;function Hh(e,t,n){var u,l;let r=[],i=null,s=(0,_A.getDirectivesInExtensions)(e,n),o;return s!=null?o=rg(t,s):o=(u=e.astNode)==null?void 0:u.directives,o!=null&&(r=o.filter(d=>d.name.value!=="deprecated"),e.deprecationReason!=null&&(i=(l=o.filter(d=>d.name.value==="deprecated"))==null?void 0:l[0])),e.deprecationReason!=null&&i==null&&(i=y1(e.deprecationReason)),i==null?r:[i].concat(r)}Mt.getDeprecatableDirectiveNodes=Hh;function bA(e,t,n){var r;return{kind:bt.Kind.INPUT_VALUE_DEFINITION,description:(0,qs.getDescriptionNode)(e),name:{kind:bt.Kind.NAME,value:e.name},type:(0,kl.astFromType)(e.type),defaultValue:e.defaultValue!==void 0&&(r=(0,vA.astFromValue)(e.defaultValue,e.type))!=null?r:void 0,directives:Hh(e,t,n)}}Mt.astFromArg=bA;function c1(e,t,n){return{kind:bt.Kind.OBJECT_TYPE_DEFINITION,description:(0,qs.getDescriptionNode)(e),name:{kind:bt.Kind.NAME,value:e.name},fields:Object.values(e.getFields()).map(r=>OA(r,t,n)),interfaces:Object.values(e.getInterfaces()).map(r=>(0,kl.astFromType)(r)),directives:xl(e,t,n)}}Mt.astFromObjectType=c1;function l1(e,t,n){let r={kind:bt.Kind.INTERFACE_TYPE_DEFINITION,description:(0,qs.getDescriptionNode)(e),name:{kind:bt.Kind.NAME,value:e.name},fields:Object.values(e.getFields()).map(i=>OA(i,t,n)),directives:xl(e,t,n)};return"getInterfaces"in e&&(r.interfaces=Object.values(e.getInterfaces()).map(i=>(0,kl.astFromType)(i))),r}Mt.astFromInterfaceType=l1;function d1(e,t,n){return{kind:bt.Kind.UNION_TYPE_DEFINITION,description:(0,qs.getDescriptionNode)(e),name:{kind:bt.Kind.NAME,value:e.name},directives:xl(e,t,n),types:e.getTypes().map(r=>(0,kl.astFromType)(r))}}Mt.astFromUnionType=d1;function p1(e,t,n){return{kind:bt.Kind.INPUT_OBJECT_TYPE_DEFINITION,description:(0,qs.getDescriptionNode)(e),name:{kind:bt.Kind.NAME,value:e.name},fields:Object.values(e.getFields()).map(r=>h1(r,t,n)),directives:xl(e,t,n)}}Mt.astFromInputObjectType=p1;function f1(e,t,n){return{kind:bt.Kind.ENUM_TYPE_DEFINITION,description:(0,qs.getDescriptionNode)(e),name:{kind:bt.Kind.NAME,value:e.name},values:Object.values(e.getValues()).map(r=>T1(r,t,n)),directives:xl(e,t,n)}}Mt.astFromEnumType=f1;function m1(e,t,n){var o;let r=(0,_A.getDirectivesInExtensions)(e,n),i=r?rg(t,r):((o=e.astNode)==null?void 0:o.directives)||[],s=e.specifiedByUrl||e.specifiedByURL;if(s&&!i.some(u=>u.name.value==="specifiedBy")){let u={url:s};i.push(zh("specifiedBy",u))}return{kind:bt.Kind.SCALAR_TYPE_DEFINITION,description:(0,qs.getDescriptionNode)(e),name:{kind:bt.Kind.NAME,value:e.name},directives:i}}Mt.astFromScalarType=m1;function OA(e,t,n){return{kind:bt.Kind.FIELD_DEFINITION,description:(0,qs.getDescriptionNode)(e),name:{kind:bt.Kind.NAME,value:e.name},arguments:e.args.map(r=>bA(r,t,n)),type:(0,kl.astFromType)(e.type),directives:Hh(e,t,n)}}Mt.astFromField=OA;function h1(e,t,n){var r;return{kind:bt.Kind.INPUT_VALUE_DEFINITION,description:(0,qs.getDescriptionNode)(e),name:{kind:bt.Kind.NAME,value:e.name},type:(0,kl.astFromType)(e.type),directives:Hh(e,t,n),defaultValue:(r=(0,vA.astFromValue)(e.defaultValue,e.type))!=null?r:void 0}}Mt.astFromInputField=h1;function T1(e,t,n){return{kind:bt.Kind.ENUM_VALUE_DEFINITION,description:(0,qs.getDescriptionNode)(e),name:{kind:bt.Kind.NAME,value:e.name},directives:Hh(e,t,n)}}Mt.astFromEnumValue=T1;function y1(e){return zh("deprecated",{reason:e},bt.GraphQLDeprecatedDirective)}Mt.makeDeprecatedDirective=y1;function zh(e,t,n){let r=[];if(n!=null)for(let i of n.args){let s=i.name,o=t[s];if(o!==void 0){let u=(0,vA.astFromValue)(o,i.type);u&&r.push({kind:bt.Kind.ARGUMENT,name:{kind:bt.Kind.NAME,value:s},value:u})}}else for(let i in t){let s=t[i],o=(0,Foe.astFromValueUntyped)(s);o&&r.push({kind:bt.Kind.ARGUMENT,name:{kind:bt.Kind.NAME,value:i},value:o})}return{kind:bt.Kind.DIRECTIVE,name:{kind:bt.Kind.NAME,value:e},arguments:r}}Mt.makeDirectiveNode=zh;function rg(e,t){let n=[];for(let r in t){let i=t[r],s=e==null?void 0:e.getDirective(r);if(Array.isArray(i))for(let o of i)n.push(zh(r,o,s));else n.push(zh(r,i,s))}return n}Mt.makeDirectiveNodes=rg});var E1=V(bp=>{"use strict";m();T();h();Object.defineProperty(bp,"__esModule",{value:!0});bp.createDefaultRules=bp.validateGraphQlDocuments=void 0;var Wh=(we(),Me(je));function koe(e,t,n=N1()){var u;let r=new Set,i=new Map;for(let l of t)for(let d of l.definitions)d.kind===Wh.Kind.FRAGMENT_DEFINITION?i.set(d.name.value,d):r.add(d);let s={kind:Wh.Kind.DOCUMENT,definitions:Array.from([...r,...i.values()])},o=(0,Wh.validate)(e,s,n);for(let l of o)if(l.stack=l.message,l.locations)for(let d of l.locations)l.stack+=` - at ${(u=l.source)==null?void 0:u.name}:${d.line}:${d.column}`;return o}bp.validateGraphQlDocuments=koe;function N1(){let e=["NoUnusedFragmentsRule","NoUnusedVariablesRule","KnownDirectivesRule"];return Wh.versionInfo.major<15&&(e=e.map(t=>t.replace(/Rule$/,""))),Wh.specifiedRules.filter(t=>!e.includes(t.name))}bp.createDefaultRules=N1});var g1=V(ig=>{"use strict";m();T();h();Object.defineProperty(ig,"__esModule",{value:!0});ig.parseGraphQLJSON=void 0;var xoe=(we(),Me(je));function Coe(e){return e=e.toString(),e.charCodeAt(0)===65279&&(e=e.slice(1)),e}function Uoe(e){return JSON.parse(Coe(e))}function Moe(e,t,n){let r=Uoe(t);if(r.data&&(r=r.data),r.kind==="Document")return{location:e,document:r};if(r.__schema){let i=(0,xoe.buildClientSchema)(r,n);return{location:e,schema:i}}else if(typeof r=="string")return{location:e,rawSDL:r};throw new Error("Not valid JSON content")}ig.parseGraphQLJSON=Moe});var AA=V(dr=>{"use strict";m();T();h();Object.defineProperty(dr,"__esModule",{value:!0});dr.getBlockStringIndentation=dr.dedentBlockStringValue=dr.getLeadingCommentBlock=dr.getComment=dr.getDescription=dr.printWithComments=dr.printComment=dr.pushComment=dr.collectComment=dr.resetComments=void 0;var b1=(we(),Me(je)),Boe=80,Op={};function Voe(){Op={}}dr.resetComments=Voe;function joe(e){var n;let t=(n=e.name)==null?void 0:n.value;if(t!=null)switch(Xh(e,t),e.kind){case"EnumTypeDefinition":if(e.values)for(let r of e.values)Xh(r,t,r.name.value);break;case"ObjectTypeDefinition":case"InputObjectTypeDefinition":case"InterfaceTypeDefinition":if(e.fields){for(let r of e.fields)if(Xh(r,t,r.name.value),Qoe(r)&&r.arguments)for(let i of r.arguments)Xh(i,t,r.name.value,i.name.value)}break}}dr.collectComment=joe;function Xh(e,t,n,r){let i=DA(e);if(typeof i!="string"||i.length===0)return;let s=[t];n&&(s.push(n),r&&s.push(r));let o=s.join(".");Op[o]||(Op[o]=[]),Op[o].push(i)}dr.pushComment=Xh;function O1(e){return` +`;it.EDFS_ARGS_REGEXP=/{{\s*args\.([a-zA-Z0-9_]+)\s*}}/g});var nA=V(tA=>{"use strict";m();T();h();Object.defineProperty(tA,"__esModule",{value:!0});tA.newFieldSetConditionData=_se;function _se({fieldCoordinatesPath:e,fieldPath:t}){return{fieldCoordinatesPath:e,fieldPath:t}}});var Kh=V(ME=>{"use strict";m();T();h();Object.defineProperty(ME,"__esModule",{value:!0});ME.ExtensionType=void 0;var tj;(function(e){e[e.EXTENDS=0]="EXTENDS",e[e.NONE=1]="NONE",e[e.REAL=2]="REAL"})(tj||(ME.ExtensionType=tj={}))});var sA={};_f(sA,{__addDisposableResource:()=>vj,__assign:()=>BE,__asyncDelegator:()=>mj,__asyncGenerator:()=>fj,__asyncValues:()=>hj,__await:()=>vp,__awaiter:()=>aj,__classPrivateFieldGet:()=>Ej,__classPrivateFieldIn:()=>Ij,__classPrivateFieldSet:()=>gj,__createBinding:()=>jE,__decorate:()=>ij,__disposeResources:()=>_j,__esDecorate:()=>bse,__exportStar:()=>cj,__extends:()=>nj,__generator:()=>uj,__importDefault:()=>Nj,__importStar:()=>yj,__makeTemplateObject:()=>Tj,__metadata:()=>oj,__param:()=>sj,__propKey:()=>Sse,__read:()=>iA,__rest:()=>rj,__runInitializers:()=>Ose,__setFunctionName:()=>Dse,__spread:()=>lj,__spreadArray:()=>pj,__spreadArrays:()=>dj,__values:()=>VE,default:()=>Fse});function nj(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");rA(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}function rj(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(e);i=0;u--)(o=e[u])&&(s=(i<3?o(s):i>3?o(t,n,s):o(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s}function sj(e,t){return function(n,r){t(n,r,e)}}function bse(e,t,n,r,i,s){function o(Q){if(Q!==void 0&&typeof Q!="function")throw new TypeError("Function expected");return Q}for(var u=r.kind,l=u==="getter"?"get":u==="setter"?"set":"value",d=!t&&e?r.static?e:e.prototype:null,p=t||(d?Object.getOwnPropertyDescriptor(d,r.name):{}),y,N=!1,I=n.length-1;I>=0;I--){var O={};for(var x in r)O[x]=x==="access"?{}:r[x];for(var x in r.access)O.access[x]=r.access[x];O.addInitializer=function(Q){if(N)throw new TypeError("Cannot add initializers after decoration has completed");s.push(o(Q||null))};var j=(0,n[I])(u==="accessor"?{get:p.get,set:p.set}:p[l],O);if(u==="accessor"){if(j===void 0)continue;if(j===null||typeof j!="object")throw new TypeError("Object expected");(y=o(j.get))&&(p.get=y),(y=o(j.set))&&(p.set=y),(y=o(j.init))&&i.unshift(y)}else(y=o(j))&&(u==="field"?i.unshift(y):p[l]=y)}d&&Object.defineProperty(d,r.name,p),N=!0}function Ose(e,t,n){for(var r=arguments.length>2,i=0;i0&&s[s.length-1])&&(d[0]===6||d[0]===2)){n=0;continue}if(d[0]===3&&(!s||d[1]>s[0]&&d[1]=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function iA(e,t){var n=typeof Symbol=="function"&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),i,s=[],o;try{for(;(t===void 0||t-- >0)&&!(i=r.next()).done;)s.push(i.value)}catch(u){o={error:u}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return s}function lj(){for(var e=[],t=0;t1||u(N,I)})})}function u(N,I){try{l(r[N](I))}catch(O){y(s[0][3],O)}}function l(N){N.value instanceof vp?Promise.resolve(N.value.v).then(d,p):y(s[0][2],N)}function d(N){u("next",N)}function p(N){u("throw",N)}function y(N,I){N(I),s.shift(),s.length&&u(s[0][0],s[0][1])}}function mj(e){var t,n;return t={},r("next"),r("throw",function(i){throw i}),r("return"),t[Symbol.iterator]=function(){return this},t;function r(i,s){t[i]=e[i]?function(o){return(n=!n)?{value:vp(e[i](o)),done:!1}:s?s(o):o}:s}}function hj(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof VE=="function"?VE(e):e[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(s){n[s]=e[s]&&function(o){return new Promise(function(u,l){o=e[s](o),i(u,l,o.done,o.value)})}}function i(s,o,u,l){Promise.resolve(l).then(function(d){s({value:d,done:u})},o)}}function Tj(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}function yj(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)n!=="default"&&Object.prototype.hasOwnProperty.call(e,n)&&jE(t,e,n);return Ase(t,e),t}function Nj(e){return e&&e.__esModule?e:{default:e}}function Ej(e,t,n,r){if(n==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?r:n==="a"?r.call(e):r?r.value:t.get(e)}function gj(e,t,n,r,i){if(r==="m")throw new TypeError("Private method is not writable");if(r==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return r==="a"?i.call(e,n):i?i.value=n:t.set(e,n),n}function Ij(e,t){if(t===null||typeof t!="object"&&typeof t!="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof e=="function"?t===e:e.has(t)}function vj(e,t,n){if(t!=null){if(typeof t!="object"&&typeof t!="function")throw new TypeError("Object expected.");var r;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");r=t[Symbol.asyncDispose]}if(r===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");r=t[Symbol.dispose]}if(typeof r!="function")throw new TypeError("Object not disposable.");e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t}function _j(e){function t(r){e.error=e.hasError?new Rse(r,e.error,"An error was suppressed during disposal."):r,e.hasError=!0}function n(){for(;e.stack.length;){var r=e.stack.pop();try{var i=r.dispose&&r.dispose.call(r.value);if(r.async)return Promise.resolve(i).then(n,function(s){return t(s),n()})}catch(s){t(s)}}if(e.hasError)throw e.error}return n()}var rA,BE,jE,Ase,Rse,Fse,oA=ue(()=>{"use strict";m();T();h();rA=function(e,t){return rA=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[i]=r[i])},rA(e,t)};BE=function(){return BE=Object.assign||function(t){for(var n,r=1,i=arguments.length;rKj,__assign:()=>$E,__asyncDelegator:()=>Cj,__asyncGenerator:()=>xj,__asyncValues:()=>Uj,__await:()=>_p,__awaiter:()=>Rj,__classPrivateFieldGet:()=>jj,__classPrivateFieldIn:()=>qj,__classPrivateFieldSet:()=>$j,__createBinding:()=>KE,__decorate:()=>Sj,__disposeResources:()=>Gj,__esDecorate:()=>wse,__exportStar:()=>wj,__extends:()=>bj,__generator:()=>Fj,__importDefault:()=>Vj,__importStar:()=>Bj,__makeTemplateObject:()=>Mj,__metadata:()=>Aj,__param:()=>Dj,__propKey:()=>Pse,__read:()=>uA,__rest:()=>Oj,__runInitializers:()=>Lse,__setFunctionName:()=>kse,__spread:()=>Lj,__spreadArray:()=>kj,__spreadArrays:()=>Pj,__values:()=>qE,default:()=>Use});function bj(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");aA(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}function Oj(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(e);i=0;u--)(o=e[u])&&(s=(i<3?o(s):i>3?o(t,n,s):o(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s}function Dj(e,t){return function(n,r){t(n,r,e)}}function wse(e,t,n,r,i,s){function o(Q){if(Q!==void 0&&typeof Q!="function")throw new TypeError("Function expected");return Q}for(var u=r.kind,l=u==="getter"?"get":u==="setter"?"set":"value",d=!t&&e?r.static?e:e.prototype:null,p=t||(d?Object.getOwnPropertyDescriptor(d,r.name):{}),y,N=!1,I=n.length-1;I>=0;I--){var O={};for(var x in r)O[x]=x==="access"?{}:r[x];for(var x in r.access)O.access[x]=r.access[x];O.addInitializer=function(Q){if(N)throw new TypeError("Cannot add initializers after decoration has completed");s.push(o(Q||null))};var j=(0,n[I])(u==="accessor"?{get:p.get,set:p.set}:p[l],O);if(u==="accessor"){if(j===void 0)continue;if(j===null||typeof j!="object")throw new TypeError("Object expected");(y=o(j.get))&&(p.get=y),(y=o(j.set))&&(p.set=y),(y=o(j.init))&&i.unshift(y)}else(y=o(j))&&(u==="field"?i.unshift(y):p[l]=y)}d&&Object.defineProperty(d,r.name,p),N=!0}function Lse(e,t,n){for(var r=arguments.length>2,i=0;i0&&s[s.length-1])&&(d[0]===6||d[0]===2)){n=0;continue}if(d[0]===3&&(!s||d[1]>s[0]&&d[1]=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function uA(e,t){var n=typeof Symbol=="function"&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),i,s=[],o;try{for(;(t===void 0||t-- >0)&&!(i=r.next()).done;)s.push(i.value)}catch(u){o={error:u}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return s}function Lj(){for(var e=[],t=0;t1||u(N,I)})})}function u(N,I){try{l(r[N](I))}catch(O){y(s[0][3],O)}}function l(N){N.value instanceof _p?Promise.resolve(N.value.v).then(d,p):y(s[0][2],N)}function d(N){u("next",N)}function p(N){u("throw",N)}function y(N,I){N(I),s.shift(),s.length&&u(s[0][0],s[0][1])}}function Cj(e){var t,n;return t={},r("next"),r("throw",function(i){throw i}),r("return"),t[Symbol.iterator]=function(){return this},t;function r(i,s){t[i]=e[i]?function(o){return(n=!n)?{value:_p(e[i](o)),done:!1}:s?s(o):o}:s}}function Uj(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof qE=="function"?qE(e):e[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(s){n[s]=e[s]&&function(o){return new Promise(function(u,l){o=e[s](o),i(u,l,o.done,o.value)})}}function i(s,o,u,l){Promise.resolve(l).then(function(d){s({value:d,done:u})},o)}}function Mj(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}function Bj(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)n!=="default"&&Object.prototype.hasOwnProperty.call(e,n)&&KE(t,e,n);return xse(t,e),t}function Vj(e){return e&&e.__esModule?e:{default:e}}function jj(e,t,n,r){if(n==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?r:n==="a"?r.call(e):r?r.value:t.get(e)}function $j(e,t,n,r,i){if(r==="m")throw new TypeError("Private method is not writable");if(r==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return r==="a"?i.call(e,n):i?i.value=n:t.set(e,n),n}function qj(e,t){if(t===null||typeof t!="object"&&typeof t!="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof e=="function"?t===e:e.has(t)}function Kj(e,t,n){if(t!=null){if(typeof t!="object"&&typeof t!="function")throw new TypeError("Object expected.");var r;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");r=t[Symbol.asyncDispose]}if(r===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");r=t[Symbol.dispose]}if(typeof r!="function")throw new TypeError("Object not disposable.");e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t}function Gj(e){function t(r){e.error=e.hasError?new Cse(r,e.error,"An error was suppressed during disposal."):r,e.hasError=!0}function n(){for(;e.stack.length;){var r=e.stack.pop();try{var i=r.dispose&&r.dispose.call(r.value);if(r.async)return Promise.resolve(i).then(n,function(s){return t(s),n()})}catch(s){t(s)}}if(e.hasError)throw e.error}return n()}var aA,$E,KE,xse,Cse,Use,Yj=ue(()=>{"use strict";m();T();h();aA=function(e,t){return aA=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[i]=r[i])},aA(e,t)};$E=function(){return $E=Object.assign||function(t){for(var n,r=1,i=arguments.length;r{"use strict";m();T();h()});var Gh=V(qr=>{"use strict";m();T();h();Object.defineProperty(qr,"__esModule",{value:!0});qr.assertSome=qr.isSome=qr.compareNodes=qr.nodeToString=qr.compareStrings=qr.isValidPath=qr.isDocumentString=qr.asArray=void 0;var Mse=(we(),Me(je)),Bse=e=>Array.isArray(e)?e:e?[e]:[];qr.asArray=Bse;var Vse=/\.[a-z0-9]+$/i;function jse(e){if(typeof e!="string"||Vse.test(e))return!1;try{return(0,Mse.parse)(e),!0}catch(t){}return!1}qr.isDocumentString=jse;var $se=/[‘“!%^<>`]/;function qse(e){return typeof e=="string"&&!$se.test(e)}qr.isValidPath=qse;function zj(e,t){return String(e)String(t)?1:0}qr.compareStrings=zj;function cA(e){var n,r;let t;return"alias"in e&&(t=(n=e.alias)==null?void 0:n.value),t==null&&"name"in e&&(t=(r=e.name)==null?void 0:r.value),t==null&&(t=e.kind),t}qr.nodeToString=cA;function Kse(e,t,n){let r=cA(e),i=cA(t);return typeof n=="function"?n(r,i):zj(r,i)}qr.compareNodes=Kse;function Gse(e){return e!=null}qr.isSome=Gse;function Qse(e,t="Value should be something"){if(e==null)throw new Error(t)}qr.assertSome=Qse});var Qh=V(QE=>{"use strict";m();T();h();Object.defineProperty(QE,"__esModule",{value:!0});QE.inspect=void 0;var Xj=3;function Yse(e){return GE(e,[])}QE.inspect=Yse;function GE(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return Jse(e,t);default:return String(e)}}function Hj(e){return(e.name="GraphQLError")?e.toString():`${e.name}: ${e.message}; + ${e.stack}`}function Jse(e,t){if(e===null)return"null";if(e instanceof Error)return e.name==="AggregateError"?Hj(e)+` +`+Wj(e.errors,t):Hj(e);if(t.includes(e))return"[Circular]";let n=[...t,e];if(zse(e)){let r=e.toJSON();if(r!==e)return typeof r=="string"?r:GE(r,n)}else if(Array.isArray(e))return Wj(e,n);return Hse(e,n)}function zse(e){return typeof e.toJSON=="function"}function Hse(e,t){let n=Object.entries(e);return n.length===0?"{}":t.length>Xj?"["+Wse(e)+"]":"{ "+n.map(([i,s])=>i+": "+GE(s,t)).join(", ")+" }"}function Wj(e,t){if(e.length===0)return"[]";if(t.length>Xj)return"[Array]";let n=e.length,r=[];for(let i=0;i{"use strict";m();T();h();Object.defineProperty(bp,"__esModule",{value:!0});bp.relocatedError=bp.createGraphQLError=void 0;var lA=(we(),Me(je)),Xse=["message","locations","path","nodes","source","positions","originalError","name","stack","extensions"];function Zse(e){return e!=null&&typeof e=="object"&&Object.keys(e).every(t=>Xse.includes(t))}function dA(e,t){return t!=null&&t.originalError&&!(t.originalError instanceof Error)&&Zse(t.originalError)&&(t.originalError=dA(t.originalError.message,t.originalError)),lA.versionInfo.major>=17?new lA.GraphQLError(e,t):new lA.GraphQLError(e,t==null?void 0:t.nodes,t==null?void 0:t.source,t==null?void 0:t.positions,t==null?void 0:t.path,t==null?void 0:t.originalError,t==null?void 0:t.extensions)}bp.createGraphQLError=dA;function eoe(e,t){return dA(e.message,{nodes:e.nodes,source:e.source,positions:e.positions,path:t==null?e.path:t,originalError:e,extensions:e.extensions})}bp.relocatedError=eoe});var Yh=V(qs=>{"use strict";m();T();h();Object.defineProperty(qs,"__esModule",{value:!0});qs.hasOwnProperty=qs.promiseReduce=qs.isPromise=qs.isObjectLike=qs.isIterableObject=void 0;function toe(e){return e!=null&&typeof e=="object"&&Symbol.iterator in e}qs.isIterableObject=toe;function noe(e){return typeof e=="object"&&e!==null}qs.isObjectLike=noe;function Zj(e){return(e==null?void 0:e.then)!=null}qs.isPromise=Zj;function roe(e,t,n){let r=n;for(let i of e)r=Zj(r)?r.then(s=>t(s,i)):t(r,i);return r}qs.promiseReduce=roe;function ioe(e,t){return Object.prototype.hasOwnProperty.call(e,t)}qs.hasOwnProperty=ioe});var fA=V(zE=>{"use strict";m();T();h();Object.defineProperty(zE,"__esModule",{value:!0});zE.getArgumentValues=void 0;var pA=Qh(),kl=(we(),Me(je)),JE=YE(),soe=Yh();function ooe(e,t,n={}){var o;let r={},s=((o=t.arguments)!=null?o:[]).reduce((u,l)=>K(k({},u),{[l.name.value]:l}),{});for(let{name:u,type:l,defaultValue:d}of e.args){let p=s[u];if(!p){if(d!==void 0)r[u]=d;else if((0,kl.isNonNullType)(l))throw(0,JE.createGraphQLError)(`Argument "${u}" of required type "${(0,pA.inspect)(l)}" was not provided.`,{nodes:[t]});continue}let y=p.value,N=y.kind===kl.Kind.NULL;if(y.kind===kl.Kind.VARIABLE){let O=y.name.value;if(n==null||!(0,soe.hasOwnProperty)(n,O)){if(d!==void 0)r[u]=d;else if((0,kl.isNonNullType)(l))throw(0,JE.createGraphQLError)(`Argument "${u}" of required type "${(0,pA.inspect)(l)}" was provided the variable "$${O}" which was not provided a runtime value.`,{nodes:[y]});continue}N=n[O]==null}if(N&&(0,kl.isNonNullType)(l))throw(0,JE.createGraphQLError)(`Argument "${u}" of non-null type "${(0,pA.inspect)(l)}" must not be null.`,{nodes:[y]});let I=(0,kl.valueFromAST)(y,l,n);if(I===void 0)throw(0,JE.createGraphQLError)(`Argument "${u}" has invalid value ${(0,kl.print)(y)}.`,{nodes:[y]});r[u]=I}return r}zE.getArgumentValues=ooe});var mA=V(ea=>{"use strict";m();T();h();Object.defineProperty(ea,"__esModule",{value:!0});ea.getDirective=ea.getDirectives=ea.getDirectiveInExtensions=ea.getDirectivesInExtensions=void 0;var t1=fA();function n1(e,t=["directives"]){return t.reduce((n,r)=>n==null?n:n[r],e==null?void 0:e.extensions)}ea.getDirectivesInExtensions=n1;function e1(e,t){let n=e.filter(r=>r.name===t);if(n.length)return n.map(r=>{var i;return(i=r.args)!=null?i:{}})}function r1(e,t,n=["directives"]){let r=n.reduce((s,o)=>s==null?s:s[o],e==null?void 0:e.extensions);if(r===void 0)return;if(Array.isArray(r))return e1(r,t);let i=[];for(let[s,o]of Object.entries(r))if(Array.isArray(o))for(let u of o)i.push({name:s,args:u});else i.push({name:s,args:o});return e1(i,t)}ea.getDirectiveInExtensions=r1;function aoe(e,t,n=["directives"]){let r=n1(t,n);if(r!=null&&r.length>0)return r;let s=(e&&e.getDirectives?e.getDirectives():[]).reduce((l,d)=>(l[d.name]=d,l),{}),o=[];t.astNode&&o.push(t.astNode),"extensionASTNodes"in t&&t.extensionASTNodes&&(o=[...o,...t.extensionASTNodes]);let u=[];for(let l of o)if(l.directives)for(let d of l.directives){let p=s[d.name.value];p&&u.push({name:d.name.value,args:(0,t1.getArgumentValues)(p,d)})}return u}ea.getDirectives=aoe;function uoe(e,t,n,r=["directives"]){let i=r1(t,n,r);if(i!=null)return i;let s=e&&e.getDirective?e.getDirective(n):void 0;if(s==null)return;let o=[];t.astNode&&o.push(t.astNode),"extensionASTNodes"in t&&t.extensionASTNodes&&(o=[...o,...t.extensionASTNodes]);let u=[];for(let l of o)if(l.directives)for(let d of l.directives)d.name.value===n&&u.push((0,t1.getArgumentValues)(s,d));if(u.length)return u}ea.getDirective=uoe});var hA=V(HE=>{"use strict";m();T();h();Object.defineProperty(HE,"__esModule",{value:!0});HE.getFieldsWithDirectives=void 0;var coe=(we(),Me(je));function loe(e,t={}){let n={},r=["ObjectTypeDefinition","ObjectTypeExtension"];t.includeInputTypes&&(r=[...r,"InputObjectTypeDefinition","InputObjectTypeExtension"]);let i=e.definitions.filter(s=>r.includes(s.kind));for(let s of i){let o=s.name.value;if(s.fields!=null){for(let u of s.fields)if(u.directives&&u.directives.length>0){let l=u.name.value,d=`${o}.${l}`,p=u.directives.map(y=>({name:y.name.value,args:(y.arguments||[]).reduce((N,I)=>K(k({},N),{[I.name.value]:(0,coe.valueFromASTUntyped)(I.value)}),{})}));n[d]=p}}}return n}HE.getFieldsWithDirectives=loe});var i1=V(WE=>{"use strict";m();T();h();Object.defineProperty(WE,"__esModule",{value:!0});WE.getArgumentsWithDirectives=void 0;var TA=(we(),Me(je));function doe(e){return e.kind===TA.Kind.OBJECT_TYPE_DEFINITION||e.kind===TA.Kind.OBJECT_TYPE_EXTENSION}function poe(e){var r;let t={},n=e.definitions.filter(doe);for(let i of n)if(i.fields!=null)for(let s of i.fields){let o=(r=s.arguments)==null?void 0:r.filter(l=>{var d;return(d=l.directives)==null?void 0:d.length});if(!(o!=null&&o.length))continue;let u=t[`${i.name.value}.${s.name.value}`]={};for(let l of o){let d=l.directives.map(p=>({name:p.name.value,args:(p.arguments||[]).reduce((y,N)=>K(k({},y),{[N.name.value]:(0,TA.valueFromASTUntyped)(N.value)}),{})}));u[l.name.value]=d}}return t}WE.getArgumentsWithDirectives=poe});var yA=V(XE=>{"use strict";m();T();h();Object.defineProperty(XE,"__esModule",{value:!0});XE.getImplementingTypes=void 0;var foe=(we(),Me(je));function moe(e,t){let n=t.getTypeMap(),r=[];for(let i in n){let s=n[i];(0,foe.isObjectType)(s)&&s.getInterfaces().find(u=>u.name===e)&&r.push(s.name)}return r}XE.getImplementingTypes=moe});var EA=V(ZE=>{"use strict";m();T();h();Object.defineProperty(ZE,"__esModule",{value:!0});ZE.astFromType=void 0;var hoe=Qh(),xl=(we(),Me(je));function NA(e){if((0,xl.isNonNullType)(e)){let t=NA(e.ofType);if(t.kind===xl.Kind.NON_NULL_TYPE)throw new Error(`Invalid type node ${(0,hoe.inspect)(e)}. Inner type of non-null type cannot be a non-null type.`);return{kind:xl.Kind.NON_NULL_TYPE,type:t}}else if((0,xl.isListType)(e))return{kind:xl.Kind.LIST_TYPE,type:NA(e.ofType)};return{kind:xl.Kind.NAMED_TYPE,name:{kind:xl.Kind.NAME,value:e.name}}}ZE.astFromType=NA});var tg=V(eg=>{"use strict";m();T();h();Object.defineProperty(eg,"__esModule",{value:!0});eg.astFromValueUntyped=void 0;var ta=(we(),Me(je));function gA(e){if(e===null)return{kind:ta.Kind.NULL};if(e===void 0)return null;if(Array.isArray(e)){let t=[];for(let n of e){let r=gA(n);r!=null&&t.push(r)}return{kind:ta.Kind.LIST,values:t}}if(typeof e=="object"){let t=[];for(let n in e){let r=e[n],i=gA(r);i&&t.push({kind:ta.Kind.OBJECT_FIELD,name:{kind:ta.Kind.NAME,value:n},value:i})}return{kind:ta.Kind.OBJECT,fields:t}}if(typeof e=="boolean")return{kind:ta.Kind.BOOLEAN,value:e};if(typeof e=="bigint")return{kind:ta.Kind.INT,value:String(e)};if(typeof e=="number"&&isFinite(e)){let t=String(e);return Toe.test(t)?{kind:ta.Kind.INT,value:t}:{kind:ta.Kind.FLOAT,value:t}}if(typeof e=="string")return{kind:ta.Kind.STRING,value:e};throw new TypeError(`Cannot convert value to AST: ${e}.`)}eg.astFromValueUntyped=gA;var Toe=/^-?(?:0|[1-9][0-9]*)$/});var o1=V(ng=>{"use strict";m();T();h();Object.defineProperty(ng,"__esModule",{value:!0});ng.astFromValue=void 0;var yoe=Qh(),hs=(we(),Me(je)),Noe=tg(),s1=Yh();function Jh(e,t){if((0,hs.isNonNullType)(t)){let n=Jh(e,t.ofType);return(n==null?void 0:n.kind)===hs.Kind.NULL?null:n}if(e===null)return{kind:hs.Kind.NULL};if(e===void 0)return null;if((0,hs.isListType)(t)){let n=t.ofType;if((0,s1.isIterableObject)(e)){let r=[];for(let i of e){let s=Jh(i,n);s!=null&&r.push(s)}return{kind:hs.Kind.LIST,values:r}}return Jh(e,n)}if((0,hs.isInputObjectType)(t)){if(!(0,s1.isObjectLike)(e))return null;let n=[];for(let r of Object.values(t.getFields())){let i=Jh(e[r.name],r.type);i&&n.push({kind:hs.Kind.OBJECT_FIELD,name:{kind:hs.Kind.NAME,value:r.name},value:i})}return{kind:hs.Kind.OBJECT,fields:n}}if((0,hs.isLeafType)(t)){let n=t.serialize(e);return n==null?null:(0,hs.isEnumType)(t)?{kind:hs.Kind.ENUM,value:n}:t.name==="ID"&&typeof n=="string"&&Eoe.test(n)?{kind:hs.Kind.INT,value:n}:(0,Noe.astFromValueUntyped)(n)}console.assert(!1,"Unexpected input type: "+(0,yoe.inspect)(t))}ng.astFromValue=Jh;var Eoe=/^-?(?:0|[1-9][0-9]*)$/});var a1=V(rg=>{"use strict";m();T();h();Object.defineProperty(rg,"__esModule",{value:!0});rg.getDescriptionNode=void 0;var goe=(we(),Me(je));function Ioe(e){var t;if((t=e.astNode)!=null&&t.description)return K(k({},e.astNode.description),{block:!0});if(e.description)return{kind:goe.Kind.STRING,value:e.description,block:!0}}rg.getDescriptionNode=Ioe});var Op=V(pi=>{"use strict";m();T();h();Object.defineProperty(pi,"__esModule",{value:!0});pi.memoize2of5=pi.memoize2of4=pi.memoize5=pi.memoize4=pi.memoize3=pi.memoize2=pi.memoize1=void 0;function voe(e){let t=new WeakMap;return function(r){let i=t.get(r);if(i===void 0){let s=e(r);return t.set(r,s),s}return i}}pi.memoize1=voe;function _oe(e){let t=new WeakMap;return function(r,i){let s=t.get(r);if(!s){s=new WeakMap,t.set(r,s);let u=e(r,i);return s.set(i,u),u}let o=s.get(i);if(o===void 0){let u=e(r,i);return s.set(i,u),u}return o}}pi.memoize2=_oe;function boe(e){let t=new WeakMap;return function(r,i,s){let o=t.get(r);if(!o){o=new WeakMap,t.set(r,o);let d=new WeakMap;o.set(i,d);let p=e(r,i,s);return d.set(s,p),p}let u=o.get(i);if(!u){u=new WeakMap,o.set(i,u);let d=e(r,i,s);return u.set(s,d),d}let l=u.get(s);if(l===void 0){let d=e(r,i,s);return u.set(s,d),d}return l}}pi.memoize3=boe;function Ooe(e){let t=new WeakMap;return function(r,i,s,o){let u=t.get(r);if(!u){u=new WeakMap,t.set(r,u);let y=new WeakMap;u.set(i,y);let N=new WeakMap;y.set(s,N);let I=e(r,i,s,o);return N.set(o,I),I}let l=u.get(i);if(!l){l=new WeakMap,u.set(i,l);let y=new WeakMap;l.set(s,y);let N=e(r,i,s,o);return y.set(o,N),N}let d=l.get(s);if(!d){let y=new WeakMap;l.set(s,y);let N=e(r,i,s,o);return y.set(o,N),N}let p=d.get(o);if(p===void 0){let y=e(r,i,s,o);return d.set(o,y),y}return p}}pi.memoize4=Ooe;function Soe(e){let t=new WeakMap;return function(r,i,s,o,u){let l=t.get(r);if(!l){l=new WeakMap,t.set(r,l);let I=new WeakMap;l.set(i,I);let O=new WeakMap;I.set(s,O);let x=new WeakMap;O.set(o,x);let j=e(r,i,s,o,u);return x.set(u,j),j}let d=l.get(i);if(!d){d=new WeakMap,l.set(i,d);let I=new WeakMap;d.set(s,I);let O=new WeakMap;I.set(o,O);let x=e(r,i,s,o,u);return O.set(u,x),x}let p=d.get(s);if(!p){p=new WeakMap,d.set(s,p);let I=new WeakMap;p.set(o,I);let O=e(r,i,s,o,u);return I.set(u,O),O}let y=p.get(o);if(!y){y=new WeakMap,p.set(o,y);let I=e(r,i,s,o,u);return y.set(u,I),I}let N=y.get(u);if(N===void 0){let I=e(r,i,s,o,u);return y.set(u,I),I}return N}}pi.memoize5=Soe;function Doe(e){let t=new WeakMap;return function(r,i,s,o){let u=t.get(r);if(!u){u=new WeakMap,t.set(r,u);let d=e(r,i,s,o);return u.set(i,d),d}let l=u.get(i);if(l===void 0){let d=e(r,i,s,o);return u.set(i,d),d}return l}}pi.memoize2of4=Doe;function Aoe(e){let t=new WeakMap;return function(r,i,s,o,u){let l=t.get(r);if(!l){l=new WeakMap,t.set(r,l);let p=e(r,i,s,o,u);return l.set(i,p),p}let d=l.get(i);if(d===void 0){let p=e(r,i,s,o,u);return l.set(i,p),p}return d}}pi.memoize2of5=Aoe});var zh=V(Ts=>{"use strict";m();T();h();Object.defineProperty(Ts,"__esModule",{value:!0});Ts.getRootTypeMap=Ts.getRootTypes=Ts.getRootTypeNames=Ts.getDefinedRootType=void 0;var Roe=YE(),IA=Op();function Foe(e,t,n){let i=(0,Ts.getRootTypeMap)(e).get(t);if(i==null)throw(0,Roe.createGraphQLError)(`Schema is not configured to execute ${t} operation.`,{nodes:n});return i}Ts.getDefinedRootType=Foe;Ts.getRootTypeNames=(0,IA.memoize1)(function(t){let n=(0,Ts.getRootTypes)(t);return new Set([...n].map(r=>r.name))});Ts.getRootTypes=(0,IA.memoize1)(function(t){let n=(0,Ts.getRootTypeMap)(t);return new Set(n.values())});Ts.getRootTypeMap=(0,IA.memoize1)(function(t){let n=new Map,r=t.getQueryType();r&&n.set("query",r);let i=t.getMutationType();i&&n.set("mutation",i);let s=t.getSubscriptionType();return s&&n.set("subscription",s),n})});var SA=V(Mt=>{"use strict";m();T();h();Object.defineProperty(Mt,"__esModule",{value:!0});Mt.makeDirectiveNodes=Mt.makeDirectiveNode=Mt.makeDeprecatedDirective=Mt.astFromEnumValue=Mt.astFromInputField=Mt.astFromField=Mt.astFromScalarType=Mt.astFromEnumType=Mt.astFromInputObjectType=Mt.astFromUnionType=Mt.astFromInterfaceType=Mt.astFromObjectType=Mt.astFromArg=Mt.getDeprecatableDirectiveNodes=Mt.getDirectiveNodes=Mt.astFromDirective=Mt.astFromSchema=Mt.printSchemaWithDirectives=Mt.getDocumentNodeFromSchema=void 0;var bt=(we(),Me(je)),Cl=EA(),vA=o1(),woe=tg(),Ks=a1(),_A=mA(),Loe=Gh(),Poe=zh();function u1(e,t={}){let n=t.pathToDirectivesInExtensions,r=e.getTypeMap(),i=c1(e,n),s=i!=null?[i]:[],o=e.getDirectives();for(let u of o)(0,bt.isSpecifiedDirective)(u)||s.push(l1(u,e,n));for(let u in r){let l=r[u],d=(0,bt.isSpecifiedScalarType)(l),p=(0,bt.isIntrospectionType)(l);if(!(d||p))if((0,bt.isObjectType)(l))s.push(d1(l,e,n));else if((0,bt.isInterfaceType)(l))s.push(p1(l,e,n));else if((0,bt.isUnionType)(l))s.push(f1(l,e,n));else if((0,bt.isInputObjectType)(l))s.push(m1(l,e,n));else if((0,bt.isEnumType)(l))s.push(h1(l,e,n));else if((0,bt.isScalarType)(l))s.push(T1(l,e,n));else throw new Error(`Unknown type ${l}.`)}return{kind:bt.Kind.DOCUMENT,definitions:s}}Mt.getDocumentNodeFromSchema=u1;function koe(e,t={}){let n=u1(e,t);return(0,bt.print)(n)}Mt.printSchemaWithDirectives=koe;function c1(e,t){let n=new Map([["query",void 0],["mutation",void 0],["subscription",void 0]]),r=[];if(e.astNode!=null&&r.push(e.astNode),e.extensionASTNodes!=null)for(let d of e.extensionASTNodes)r.push(d);for(let d of r)if(d.operationTypes)for(let p of d.operationTypes)n.set(p.operation,p);let i=(0,Poe.getRootTypeMap)(e);for(let[d,p]of n){let y=i.get(d);if(y!=null){let N=(0,Cl.astFromType)(y);p!=null?p.type=N:n.set(d,{kind:bt.Kind.OPERATION_TYPE_DEFINITION,operation:d,type:N})}}let s=[...n.values()].filter(Loe.isSome),o=Ul(e,e,t);if(!s.length&&!o.length)return null;let u={kind:s!=null?bt.Kind.SCHEMA_DEFINITION:bt.Kind.SCHEMA_EXTENSION,operationTypes:s,directives:o},l=(0,Ks.getDescriptionNode)(e);return l&&(u.description=l),u}Mt.astFromSchema=c1;function l1(e,t,n){var r,i;return{kind:bt.Kind.DIRECTIVE_DEFINITION,description:(0,Ks.getDescriptionNode)(e),name:{kind:bt.Kind.NAME,value:e.name},arguments:(r=e.args)==null?void 0:r.map(s=>bA(s,t,n)),repeatable:e.isRepeatable,locations:((i=e.locations)==null?void 0:i.map(s=>({kind:bt.Kind.NAME,value:s})))||[]}}Mt.astFromDirective=l1;function Ul(e,t,n){let r=(0,_A.getDirectivesInExtensions)(e,n),i=[];e.astNode!=null&&i.push(e.astNode),"extensionASTNodes"in e&&e.extensionASTNodes!=null&&(i=i.concat(e.extensionASTNodes));let s;if(r!=null)s=ig(t,r);else{s=[];for(let o of i)o.directives&&s.push(...o.directives)}return s}Mt.getDirectiveNodes=Ul;function Wh(e,t,n){var u,l;let r=[],i=null,s=(0,_A.getDirectivesInExtensions)(e,n),o;return s!=null?o=ig(t,s):o=(u=e.astNode)==null?void 0:u.directives,o!=null&&(r=o.filter(d=>d.name.value!=="deprecated"),e.deprecationReason!=null&&(i=(l=o.filter(d=>d.name.value==="deprecated"))==null?void 0:l[0])),e.deprecationReason!=null&&i==null&&(i=E1(e.deprecationReason)),i==null?r:[i].concat(r)}Mt.getDeprecatableDirectiveNodes=Wh;function bA(e,t,n){var r;return{kind:bt.Kind.INPUT_VALUE_DEFINITION,description:(0,Ks.getDescriptionNode)(e),name:{kind:bt.Kind.NAME,value:e.name},type:(0,Cl.astFromType)(e.type),defaultValue:e.defaultValue!==void 0&&(r=(0,vA.astFromValue)(e.defaultValue,e.type))!=null?r:void 0,directives:Wh(e,t,n)}}Mt.astFromArg=bA;function d1(e,t,n){return{kind:bt.Kind.OBJECT_TYPE_DEFINITION,description:(0,Ks.getDescriptionNode)(e),name:{kind:bt.Kind.NAME,value:e.name},fields:Object.values(e.getFields()).map(r=>OA(r,t,n)),interfaces:Object.values(e.getInterfaces()).map(r=>(0,Cl.astFromType)(r)),directives:Ul(e,t,n)}}Mt.astFromObjectType=d1;function p1(e,t,n){let r={kind:bt.Kind.INTERFACE_TYPE_DEFINITION,description:(0,Ks.getDescriptionNode)(e),name:{kind:bt.Kind.NAME,value:e.name},fields:Object.values(e.getFields()).map(i=>OA(i,t,n)),directives:Ul(e,t,n)};return"getInterfaces"in e&&(r.interfaces=Object.values(e.getInterfaces()).map(i=>(0,Cl.astFromType)(i))),r}Mt.astFromInterfaceType=p1;function f1(e,t,n){return{kind:bt.Kind.UNION_TYPE_DEFINITION,description:(0,Ks.getDescriptionNode)(e),name:{kind:bt.Kind.NAME,value:e.name},directives:Ul(e,t,n),types:e.getTypes().map(r=>(0,Cl.astFromType)(r))}}Mt.astFromUnionType=f1;function m1(e,t,n){return{kind:bt.Kind.INPUT_OBJECT_TYPE_DEFINITION,description:(0,Ks.getDescriptionNode)(e),name:{kind:bt.Kind.NAME,value:e.name},fields:Object.values(e.getFields()).map(r=>y1(r,t,n)),directives:Ul(e,t,n)}}Mt.astFromInputObjectType=m1;function h1(e,t,n){return{kind:bt.Kind.ENUM_TYPE_DEFINITION,description:(0,Ks.getDescriptionNode)(e),name:{kind:bt.Kind.NAME,value:e.name},values:Object.values(e.getValues()).map(r=>N1(r,t,n)),directives:Ul(e,t,n)}}Mt.astFromEnumType=h1;function T1(e,t,n){var o;let r=(0,_A.getDirectivesInExtensions)(e,n),i=r?ig(t,r):((o=e.astNode)==null?void 0:o.directives)||[],s=e.specifiedByUrl||e.specifiedByURL;if(s&&!i.some(u=>u.name.value==="specifiedBy")){let u={url:s};i.push(Hh("specifiedBy",u))}return{kind:bt.Kind.SCALAR_TYPE_DEFINITION,description:(0,Ks.getDescriptionNode)(e),name:{kind:bt.Kind.NAME,value:e.name},directives:i}}Mt.astFromScalarType=T1;function OA(e,t,n){return{kind:bt.Kind.FIELD_DEFINITION,description:(0,Ks.getDescriptionNode)(e),name:{kind:bt.Kind.NAME,value:e.name},arguments:e.args.map(r=>bA(r,t,n)),type:(0,Cl.astFromType)(e.type),directives:Wh(e,t,n)}}Mt.astFromField=OA;function y1(e,t,n){var r;return{kind:bt.Kind.INPUT_VALUE_DEFINITION,description:(0,Ks.getDescriptionNode)(e),name:{kind:bt.Kind.NAME,value:e.name},type:(0,Cl.astFromType)(e.type),directives:Wh(e,t,n),defaultValue:(r=(0,vA.astFromValue)(e.defaultValue,e.type))!=null?r:void 0}}Mt.astFromInputField=y1;function N1(e,t,n){return{kind:bt.Kind.ENUM_VALUE_DEFINITION,description:(0,Ks.getDescriptionNode)(e),name:{kind:bt.Kind.NAME,value:e.name},directives:Wh(e,t,n)}}Mt.astFromEnumValue=N1;function E1(e){return Hh("deprecated",{reason:e},bt.GraphQLDeprecatedDirective)}Mt.makeDeprecatedDirective=E1;function Hh(e,t,n){let r=[];if(n!=null)for(let i of n.args){let s=i.name,o=t[s];if(o!==void 0){let u=(0,vA.astFromValue)(o,i.type);u&&r.push({kind:bt.Kind.ARGUMENT,name:{kind:bt.Kind.NAME,value:s},value:u})}}else for(let i in t){let s=t[i],o=(0,woe.astFromValueUntyped)(s);o&&r.push({kind:bt.Kind.ARGUMENT,name:{kind:bt.Kind.NAME,value:i},value:o})}return{kind:bt.Kind.DIRECTIVE,name:{kind:bt.Kind.NAME,value:e},arguments:r}}Mt.makeDirectiveNode=Hh;function ig(e,t){let n=[];for(let r in t){let i=t[r],s=e==null?void 0:e.getDirective(r);if(Array.isArray(i))for(let o of i)n.push(Hh(r,o,s));else n.push(Hh(r,i,s))}return n}Mt.makeDirectiveNodes=ig});var I1=V(Sp=>{"use strict";m();T();h();Object.defineProperty(Sp,"__esModule",{value:!0});Sp.createDefaultRules=Sp.validateGraphQlDocuments=void 0;var Xh=(we(),Me(je));function xoe(e,t,n=g1()){var u;let r=new Set,i=new Map;for(let l of t)for(let d of l.definitions)d.kind===Xh.Kind.FRAGMENT_DEFINITION?i.set(d.name.value,d):r.add(d);let s={kind:Xh.Kind.DOCUMENT,definitions:Array.from([...r,...i.values()])},o=(0,Xh.validate)(e,s,n);for(let l of o)if(l.stack=l.message,l.locations)for(let d of l.locations)l.stack+=` + at ${(u=l.source)==null?void 0:u.name}:${d.line}:${d.column}`;return o}Sp.validateGraphQlDocuments=xoe;function g1(){let e=["NoUnusedFragmentsRule","NoUnusedVariablesRule","KnownDirectivesRule"];return Xh.versionInfo.major<15&&(e=e.map(t=>t.replace(/Rule$/,""))),Xh.specifiedRules.filter(t=>!e.includes(t.name))}Sp.createDefaultRules=g1});var v1=V(sg=>{"use strict";m();T();h();Object.defineProperty(sg,"__esModule",{value:!0});sg.parseGraphQLJSON=void 0;var Coe=(we(),Me(je));function Uoe(e){return e=e.toString(),e.charCodeAt(0)===65279&&(e=e.slice(1)),e}function Moe(e){return JSON.parse(Uoe(e))}function Boe(e,t,n){let r=Moe(t);if(r.data&&(r=r.data),r.kind==="Document")return{location:e,document:r};if(r.__schema){let i=(0,Coe.buildClientSchema)(r,n);return{location:e,schema:i}}else if(typeof r=="string")return{location:e,rawSDL:r};throw new Error("Not valid JSON content")}sg.parseGraphQLJSON=Boe});var AA=V(dr=>{"use strict";m();T();h();Object.defineProperty(dr,"__esModule",{value:!0});dr.getBlockStringIndentation=dr.dedentBlockStringValue=dr.getLeadingCommentBlock=dr.getComment=dr.getDescription=dr.printWithComments=dr.printComment=dr.pushComment=dr.collectComment=dr.resetComments=void 0;var S1=(we(),Me(je)),Voe=80,Dp={};function joe(){Dp={}}dr.resetComments=joe;function $oe(e){var n;let t=(n=e.name)==null?void 0:n.value;if(t!=null)switch(Zh(e,t),e.kind){case"EnumTypeDefinition":if(e.values)for(let r of e.values)Zh(r,t,r.name.value);break;case"ObjectTypeDefinition":case"InputObjectTypeDefinition":case"InterfaceTypeDefinition":if(e.fields){for(let r of e.fields)if(Zh(r,t,r.name.value),Yoe(r)&&r.arguments)for(let i of r.arguments)Zh(i,t,r.name.value,i.name.value)}break}}dr.collectComment=$oe;function Zh(e,t,n,r){let i=DA(e);if(typeof i!="string"||i.length===0)return;let s=[t];n&&(s.push(n),r&&s.push(r));let o=s.join(".");Dp[o]||(Dp[o]=[]),Dp[o].push(i)}dr.pushComment=Zh;function D1(e){return` # `+e.replace(/\n/g,` -# `)}dr.printComment=O1;function qe(e,t){return e?e.filter(n=>n).join(t||""):""}function I1(e){var t;return(t=e==null?void 0:e.some(n=>n.includes(` -`)))!=null?t:!1}function $oe(e){return(t,n,r,i,s)=>{var p;let o=[],u=i.reduce((y,N)=>(["fields","arguments","values"].includes(N)&&y.name&&o.push(y.name.value),y[N]),s[0]),l=[...o,(p=u==null?void 0:u.name)==null?void 0:p.value].filter(Boolean).join("."),d=[];return t.kind.includes("Definition")&&Op[l]&&d.push(...Op[l]),qe([...d.map(O1),t.description,e(t,n,r,i,s)],` -`)}}function Zh(e){return e&&` ${e.replace(/\n/g,` +# `)}dr.printComment=D1;function qe(e,t){return e?e.filter(n=>n).join(t||""):""}function _1(e){var t;return(t=e==null?void 0:e.some(n=>n.includes(` +`)))!=null?t:!1}function qoe(e){return(t,n,r,i,s)=>{var p;let o=[],u=i.reduce((y,N)=>(["fields","arguments","values"].includes(N)&&y.name&&o.push(y.name.value),y[N]),s[0]),l=[...o,(p=u==null?void 0:u.name)==null?void 0:p.value].filter(Boolean).join("."),d=[];return t.kind.includes("Definition")&&Dp[l]&&d.push(...Dp[l]),qe([...d.map(D1),t.description,e(t,n,r,i,s)],` +`)}}function eT(e){return e&&` ${e.replace(/\n/g,` `)}`}function Io(e){return e&&e.length!==0?`{ -${Zh(qe(e,` +${eT(qe(e,` `))} -}`:""}function nr(e,t,n){return t?e+t+(n||""):""}function qoe(e,t=!1){let n=e.replace(/"""/g,'\\"""');return(e[0]===" "||e[0]===" ")&&e.indexOf(` +}`:""}function nr(e,t,n){return t?e+t+(n||""):""}function Koe(e,t=!1){let n=e.replace(/"""/g,'\\"""');return(e[0]===" "||e[0]===" ")&&e.indexOf(` `)===-1?`"""${n.replace(/"$/,`" `)}"""`:`""" -${t?n:Zh(n)} -"""`}var v1={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>qe(e.definitions,` +${t?n:eT(n)} +"""`}var b1={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>qe(e.definitions,` -`)},OperationDefinition:{leave:e=>{let t=nr("(",qe(e.variableDefinitions,", "),")");return qe([e.operation,qe([e.name,t]),qe(e.directives," ")]," ")+" "+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:n,directives:r})=>e+": "+t+nr(" = ",n)+nr(" ",qe(r," "))},SelectionSet:{leave:({selections:e})=>Io(e)},Field:{leave({alias:e,name:t,arguments:n,directives:r,selectionSet:i}){let s=nr("",e,": ")+t,o=s+nr("(",qe(n,", "),")");return o.length>Boe&&(o=s+nr(`( -`,Zh(qe(n,` +`)},OperationDefinition:{leave:e=>{let t=nr("(",qe(e.variableDefinitions,", "),")");return qe([e.operation,qe([e.name,t]),qe(e.directives," ")]," ")+" "+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:n,directives:r})=>e+": "+t+nr(" = ",n)+nr(" ",qe(r," "))},SelectionSet:{leave:({selections:e})=>Io(e)},Field:{leave({alias:e,name:t,arguments:n,directives:r,selectionSet:i}){let s=nr("",e,": ")+t,o=s+nr("(",qe(n,", "),")");return o.length>Voe&&(o=s+nr(`( +`,eT(qe(n,` `)),` -)`)),qe([o,qe(r," "),i]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+nr(" ",qe(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:n})=>qe(["...",nr("on ",e),qe(t," "),n]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:n,directives:r,selectionSet:i})=>`fragment ${e}${nr("(",qe(n,", "),")")} on ${t} ${nr("",qe(r," ")," ")}`+i},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?qoe(e):JSON.stringify(e)},BooleanValue:{leave:({value:e})=>e?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:e})=>e},ListValue:{leave:({values:e})=>"["+qe(e,", ")+"]"},ObjectValue:{leave:({fields:e})=>"{"+qe(e,", ")+"}"},ObjectField:{leave:({name:e,value:t})=>e+": "+t},Directive:{leave:({name:e,arguments:t})=>"@"+e+nr("(",qe(t,", "),")")},NamedType:{leave:({name:e})=>e},ListType:{leave:({type:e})=>"["+e+"]"},NonNullType:{leave:({type:e})=>e+"!"},SchemaDefinition:{leave:({directives:e,operationTypes:t})=>qe(["schema",qe(e," "),Io(t)]," ")},OperationTypeDefinition:{leave:({operation:e,type:t})=>e+": "+t},ScalarTypeDefinition:{leave:({name:e,directives:t})=>qe(["scalar",e,qe(t," ")]," ")},ObjectTypeDefinition:{leave:({name:e,interfaces:t,directives:n,fields:r})=>qe(["type",e,nr("implements ",qe(t," & ")),qe(n," "),Io(r)]," ")},FieldDefinition:{leave:({name:e,arguments:t,type:n,directives:r})=>e+(I1(t)?nr(`( -`,Zh(qe(t,` +)`)),qe([o,qe(r," "),i]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+nr(" ",qe(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:n})=>qe(["...",nr("on ",e),qe(t," "),n]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:n,directives:r,selectionSet:i})=>`fragment ${e}${nr("(",qe(n,", "),")")} on ${t} ${nr("",qe(r," ")," ")}`+i},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?Koe(e):JSON.stringify(e)},BooleanValue:{leave:({value:e})=>e?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:e})=>e},ListValue:{leave:({values:e})=>"["+qe(e,", ")+"]"},ObjectValue:{leave:({fields:e})=>"{"+qe(e,", ")+"}"},ObjectField:{leave:({name:e,value:t})=>e+": "+t},Directive:{leave:({name:e,arguments:t})=>"@"+e+nr("(",qe(t,", "),")")},NamedType:{leave:({name:e})=>e},ListType:{leave:({type:e})=>"["+e+"]"},NonNullType:{leave:({type:e})=>e+"!"},SchemaDefinition:{leave:({directives:e,operationTypes:t})=>qe(["schema",qe(e," "),Io(t)]," ")},OperationTypeDefinition:{leave:({operation:e,type:t})=>e+": "+t},ScalarTypeDefinition:{leave:({name:e,directives:t})=>qe(["scalar",e,qe(t," ")]," ")},ObjectTypeDefinition:{leave:({name:e,interfaces:t,directives:n,fields:r})=>qe(["type",e,nr("implements ",qe(t," & ")),qe(n," "),Io(r)]," ")},FieldDefinition:{leave:({name:e,arguments:t,type:n,directives:r})=>e+(_1(t)?nr(`( +`,eT(qe(t,` `)),` -)`):nr("(",qe(t,", "),")"))+": "+n+nr(" ",qe(r," "))},InputValueDefinition:{leave:({name:e,type:t,defaultValue:n,directives:r})=>qe([e+": "+t,nr("= ",n),qe(r," ")]," ")},InterfaceTypeDefinition:{leave:({name:e,interfaces:t,directives:n,fields:r})=>qe(["interface",e,nr("implements ",qe(t," & ")),qe(n," "),Io(r)]," ")},UnionTypeDefinition:{leave:({name:e,directives:t,types:n})=>qe(["union",e,qe(t," "),nr("= ",qe(n," | "))]," ")},EnumTypeDefinition:{leave:({name:e,directives:t,values:n})=>qe(["enum",e,qe(t," "),Io(n)]," ")},EnumValueDefinition:{leave:({name:e,directives:t})=>qe([e,qe(t," ")]," ")},InputObjectTypeDefinition:{leave:({name:e,directives:t,fields:n})=>qe(["input",e,qe(t," "),Io(n)]," ")},DirectiveDefinition:{leave:({name:e,arguments:t,repeatable:n,locations:r})=>"directive @"+e+(I1(t)?nr(`( -`,Zh(qe(t,` +)`):nr("(",qe(t,", "),")"))+": "+n+nr(" ",qe(r," "))},InputValueDefinition:{leave:({name:e,type:t,defaultValue:n,directives:r})=>qe([e+": "+t,nr("= ",n),qe(r," ")]," ")},InterfaceTypeDefinition:{leave:({name:e,interfaces:t,directives:n,fields:r})=>qe(["interface",e,nr("implements ",qe(t," & ")),qe(n," "),Io(r)]," ")},UnionTypeDefinition:{leave:({name:e,directives:t,types:n})=>qe(["union",e,qe(t," "),nr("= ",qe(n," | "))]," ")},EnumTypeDefinition:{leave:({name:e,directives:t,values:n})=>qe(["enum",e,qe(t," "),Io(n)]," ")},EnumValueDefinition:{leave:({name:e,directives:t})=>qe([e,qe(t," ")]," ")},InputObjectTypeDefinition:{leave:({name:e,directives:t,fields:n})=>qe(["input",e,qe(t," "),Io(n)]," ")},DirectiveDefinition:{leave:({name:e,arguments:t,repeatable:n,locations:r})=>"directive @"+e+(_1(t)?nr(`( +`,eT(qe(t,` `)),` -)`):nr("(",qe(t,", "),")"))+(n?" repeatable":"")+" on "+qe(r," | ")},SchemaExtension:{leave:({directives:e,operationTypes:t})=>qe(["extend schema",qe(e," "),Io(t)]," ")},ScalarTypeExtension:{leave:({name:e,directives:t})=>qe(["extend scalar",e,qe(t," ")]," ")},ObjectTypeExtension:{leave:({name:e,interfaces:t,directives:n,fields:r})=>qe(["extend type",e,nr("implements ",qe(t," & ")),qe(n," "),Io(r)]," ")},InterfaceTypeExtension:{leave:({name:e,interfaces:t,directives:n,fields:r})=>qe(["extend interface",e,nr("implements ",qe(t," & ")),qe(n," "),Io(r)]," ")},UnionTypeExtension:{leave:({name:e,directives:t,types:n})=>qe(["extend union",e,qe(t," "),nr("= ",qe(n," | "))]," ")},EnumTypeExtension:{leave:({name:e,directives:t,values:n})=>qe(["extend enum",e,qe(t," "),Io(n)]," ")},InputObjectTypeExtension:{leave:({name:e,directives:t,fields:n})=>qe(["extend input",e,qe(t," "),Io(n)]," ")}},Koe=Object.keys(v1).reduce((e,t)=>K(k({},e),{[t]:{leave:$oe(v1[t].leave)}}),{});function Goe(e){return(0,b1.visit)(e,Koe)}dr.printWithComments=Goe;function Qoe(e){return e.kind==="FieldDefinition"}function Yoe(e,t){if(e.description!=null)return e.description.value;if(t!=null&&t.commentDescriptions)return DA(e)}dr.getDescription=Yoe;function DA(e){let t=S1(e);if(t!==void 0)return D1(` -${t}`)}dr.getComment=DA;function S1(e){let t=e.loc;if(!t)return;let n=[],r=t.startToken.prev;for(;r!=null&&r.kind===b1.TokenKind.COMMENT&&r.next!=null&&r.prev!=null&&r.line+1===r.next.line&&r.line!==r.prev.line;){let i=String(r.value);n.push(i),r=r.prev}return n.length>0?n.reverse().join(` -`):void 0}dr.getLeadingCommentBlock=S1;function D1(e){let t=e.split(/\r\n|[\n\r]/g),n=A1(t);if(n!==0)for(let r=1;r0&&_1(t[0]);)t.shift();for(;t.length>0&&_1(t[t.length-1]);)t.pop();return t.join(` -`)}dr.dedentBlockStringValue=D1;function A1(e){let t=null;for(let n=1;n{"use strict";m();T();h();Object.defineProperty(bc,"__esModule",{value:!0});bc.isDescribable=bc.transformCommentsToDescriptions=bc.parseGraphQLSDL=void 0;var Ks=(we(),Me(je)),F1=AA();function Joe(e,t,n={}){let r;try{n.commentDescriptions&&t.includes("#")?(r=w1(t,n),n.noLocation&&(r=(0,Ks.parse)((0,Ks.print)(r),n))):r=(0,Ks.parse)(new Ks.Source(t,e),n)}catch(i){if(i.message.includes("EOF")&&t.replace(/(\#[^*]*)/g,"").trim()==="")r={kind:Ks.Kind.DOCUMENT,definitions:[]};else throw i}return{location:e,document:r}}bc.parseGraphQLSDL=Joe;function w1(e,t={}){let n=(0,Ks.parse)(e,K(k({},t),{noLocation:!1}));return(0,Ks.visit)(n,{leave:i=>{if(L1(i)){let s=(0,F1.getLeadingCommentBlock)(i);if(s!==void 0){let o=(0,F1.dedentBlockStringValue)(` +)`):nr("(",qe(t,", "),")"))+(n?" repeatable":"")+" on "+qe(r," | ")},SchemaExtension:{leave:({directives:e,operationTypes:t})=>qe(["extend schema",qe(e," "),Io(t)]," ")},ScalarTypeExtension:{leave:({name:e,directives:t})=>qe(["extend scalar",e,qe(t," ")]," ")},ObjectTypeExtension:{leave:({name:e,interfaces:t,directives:n,fields:r})=>qe(["extend type",e,nr("implements ",qe(t," & ")),qe(n," "),Io(r)]," ")},InterfaceTypeExtension:{leave:({name:e,interfaces:t,directives:n,fields:r})=>qe(["extend interface",e,nr("implements ",qe(t," & ")),qe(n," "),Io(r)]," ")},UnionTypeExtension:{leave:({name:e,directives:t,types:n})=>qe(["extend union",e,qe(t," "),nr("= ",qe(n," | "))]," ")},EnumTypeExtension:{leave:({name:e,directives:t,values:n})=>qe(["extend enum",e,qe(t," "),Io(n)]," ")},InputObjectTypeExtension:{leave:({name:e,directives:t,fields:n})=>qe(["extend input",e,qe(t," "),Io(n)]," ")}},Goe=Object.keys(b1).reduce((e,t)=>K(k({},e),{[t]:{leave:qoe(b1[t].leave)}}),{});function Qoe(e){return(0,S1.visit)(e,Goe)}dr.printWithComments=Qoe;function Yoe(e){return e.kind==="FieldDefinition"}function Joe(e,t){if(e.description!=null)return e.description.value;if(t!=null&&t.commentDescriptions)return DA(e)}dr.getDescription=Joe;function DA(e){let t=A1(e);if(t!==void 0)return R1(` +${t}`)}dr.getComment=DA;function A1(e){let t=e.loc;if(!t)return;let n=[],r=t.startToken.prev;for(;r!=null&&r.kind===S1.TokenKind.COMMENT&&r.next!=null&&r.prev!=null&&r.line+1===r.next.line&&r.line!==r.prev.line;){let i=String(r.value);n.push(i),r=r.prev}return n.length>0?n.reverse().join(` +`):void 0}dr.getLeadingCommentBlock=A1;function R1(e){let t=e.split(/\r\n|[\n\r]/g),n=F1(t);if(n!==0)for(let r=1;r0&&O1(t[0]);)t.shift();for(;t.length>0&&O1(t[t.length-1]);)t.pop();return t.join(` +`)}dr.dedentBlockStringValue=R1;function F1(e){let t=null;for(let n=1;n{"use strict";m();T();h();Object.defineProperty(bc,"__esModule",{value:!0});bc.isDescribable=bc.transformCommentsToDescriptions=bc.parseGraphQLSDL=void 0;var Gs=(we(),Me(je)),L1=AA();function zoe(e,t,n={}){let r;try{n.commentDescriptions&&t.includes("#")?(r=P1(t,n),n.noLocation&&(r=(0,Gs.parse)((0,Gs.print)(r),n))):r=(0,Gs.parse)(new Gs.Source(t,e),n)}catch(i){if(i.message.includes("EOF")&&t.replace(/(\#[^*]*)/g,"").trim()==="")r={kind:Gs.Kind.DOCUMENT,definitions:[]};else throw i}return{location:e,document:r}}bc.parseGraphQLSDL=zoe;function P1(e,t={}){let n=(0,Gs.parse)(e,K(k({},t),{noLocation:!1}));return(0,Gs.visit)(n,{leave:i=>{if(k1(i)){let s=(0,L1.getLeadingCommentBlock)(i);if(s!==void 0){let o=(0,L1.dedentBlockStringValue)(` `+s),u=o.includes(` `);return i.description?K(k({},i),{description:K(k({},i.description),{value:i.description.value+` -`+o,block:!0})}):K(k({},i),{description:{kind:Ks.Kind.STRING,value:o,block:u}})}}}})}bc.transformCommentsToDescriptions=w1;function L1(e){return(0,Ks.isTypeSystemDefinitionNode)(e)||e.kind===Ks.Kind.FIELD_DEFINITION||e.kind===Ks.Kind.INPUT_VALUE_DEFINITION||e.kind===Ks.Kind.ENUM_VALUE_DEFINITION}bc.isDescribable=L1});var j1=V(og=>{"use strict";m();T();h();Object.defineProperty(og,"__esModule",{value:!0});og.buildOperationNodeForField=void 0;var Ot=(we(),Me(je)),U1=Jh(),wA=[],sg=new Map;function M1(e){wA.push(e)}function k1(){wA=[]}function x1(){sg=new Map}function zoe({schema:e,kind:t,field:n,models:r,ignore:i=[],depthLimit:s,circularReferenceDepth:o,argNames:u,selectedFields:l=!0}){k1(),x1();let d=(0,U1.getRootTypeNames)(e),p=Hoe({schema:e,fieldName:n,kind:t,models:r||[],ignore:i,depthLimit:s||1/0,circularReferenceDepth:o||1,argNames:u,selectedFields:l,rootTypeNames:d});return p.variableDefinitions=[...wA],k1(),x1(),p}og.buildOperationNodeForField=zoe;function Hoe({schema:e,fieldName:t,kind:n,models:r,ignore:i,depthLimit:s,circularReferenceDepth:o,argNames:u,selectedFields:l,rootTypeNames:d}){let p=(0,U1.getDefinedRootType)(e,n),y=p.getFields()[t],N=`${t}_${n}`;if(y.args)for(let I of y.args){let b=I.name;(!u||u.includes(b))&&M1(B1(I,b))}return{kind:Ot.Kind.OPERATION_DEFINITION,operation:n,name:{kind:Ot.Kind.NAME,value:N},variableDefinitions:[],selectionSet:{kind:Ot.Kind.SELECTION_SET,selections:[V1({type:p,field:y,models:r,firstCall:!0,path:[],ancestors:[],ignore:i,depthLimit:s,circularReferenceDepth:o,schema:e,depth:0,argNames:u,selectedFields:l,rootTypeNames:d})]}}}function FA({parent:e,type:t,models:n,firstCall:r,path:i,ancestors:s,ignore:o,depthLimit:u,circularReferenceDepth:l,schema:d,depth:p,argNames:y,selectedFields:N,rootTypeNames:I}){if(!(typeof N=="boolean"&&p>u)){if((0,Ot.isUnionType)(t)){let b=t.getTypes();return{kind:Ot.Kind.SELECTION_SET,selections:b.filter(C=>!RA([...s,C],{depth:l})).map(C=>({kind:Ot.Kind.INLINE_FRAGMENT,typeCondition:{kind:Ot.Kind.NAMED_TYPE,name:{kind:Ot.Kind.NAME,value:C.name}},selectionSet:FA({parent:t,type:C,models:n,path:i,ancestors:s,ignore:o,depthLimit:u,circularReferenceDepth:l,schema:d,depth:p,argNames:y,selectedFields:N,rootTypeNames:I})})).filter(C=>{var j,Q;return((Q=(j=C==null?void 0:C.selectionSet)==null?void 0:j.selections)==null?void 0:Q.length)>0})}}if((0,Ot.isInterfaceType)(t)){let b=Object.values(d.getTypeMap()).filter(C=>(0,Ot.isObjectType)(C)&&C.getInterfaces().includes(t));return{kind:Ot.Kind.SELECTION_SET,selections:b.filter(C=>!RA([...s,C],{depth:l})).map(C=>({kind:Ot.Kind.INLINE_FRAGMENT,typeCondition:{kind:Ot.Kind.NAMED_TYPE,name:{kind:Ot.Kind.NAME,value:C.name}},selectionSet:FA({parent:t,type:C,models:n,path:i,ancestors:s,ignore:o,depthLimit:u,circularReferenceDepth:l,schema:d,depth:p,argNames:y,selectedFields:N,rootTypeNames:I})})).filter(C=>{var j,Q;return((Q=(j=C==null?void 0:C.selectionSet)==null?void 0:j.selections)==null?void 0:Q.length)>0})}}if((0,Ot.isObjectType)(t)&&!I.has(t.name)){let b=o.includes(t.name)||o.includes(`${e.name}.${i[i.length-1]}`),C=n.includes(t.name);if(!r&&C&&!b)return{kind:Ot.Kind.SELECTION_SET,selections:[{kind:Ot.Kind.FIELD,name:{kind:Ot.Kind.NAME,value:"id"}}]};let j=t.getFields();return{kind:Ot.Kind.SELECTION_SET,selections:Object.keys(j).filter(Q=>!RA([...s,(0,Ot.getNamedType)(j[Q].type)],{depth:l})).map(Q=>{let re=typeof N=="object"?N[Q]:!0;return re?V1({type:t,field:j[Q],models:n,path:[...i,Q],ancestors:s,ignore:o,depthLimit:u,circularReferenceDepth:l,schema:d,depth:p,argNames:y,selectedFields:re,rootTypeNames:I}):null}).filter(Q=>{var re,se;return Q==null?!1:"selectionSet"in Q?!!((se=(re=Q.selectionSet)==null?void 0:re.selections)!=null&&se.length):!0})}}}}function B1(e,t){function n(r){return(0,Ot.isListType)(r)?{kind:Ot.Kind.LIST_TYPE,type:n(r.ofType)}:(0,Ot.isNonNullType)(r)?{kind:Ot.Kind.NON_NULL_TYPE,type:n(r.ofType)}:{kind:Ot.Kind.NAMED_TYPE,name:{kind:Ot.Kind.NAME,value:r.name}}}return{kind:Ot.Kind.VARIABLE_DEFINITION,variable:{kind:Ot.Kind.VARIABLE,name:{kind:Ot.Kind.NAME,value:t||e.name}},type:n(e.type)}}function C1(e,t){return[...t,e].join("_")}function V1({type:e,field:t,models:n,firstCall:r,path:i,ancestors:s,ignore:o,depthLimit:u,circularReferenceDepth:l,schema:d,depth:p,argNames:y,selectedFields:N,rootTypeNames:I}){let b=(0,Ot.getNamedType)(t.type),C=[],j=!1;if(t.args&&t.args.length&&(C=t.args.map(pe=>{let ye=C1(pe.name,i);return y&&!y.includes(ye)?((0,Ot.isNonNullType)(pe.type)&&(j=!0),null):(r||M1(B1(pe,ye)),{kind:Ot.Kind.ARGUMENT,name:{kind:Ot.Kind.NAME,value:pe.name},value:{kind:Ot.Kind.VARIABLE,name:{kind:Ot.Kind.NAME,value:C1(pe.name,i)}}})}).filter(Boolean)),j)return null;let Q=[...i,t.name],re=Q.join("."),se=t.name;return sg.has(re)&&sg.get(re)!==t.type.toString()&&(se+=t.type.toString().replace("!","NonNull").replace("[","List").replace("]","")),sg.set(re,t.type.toString()),!(0,Ot.isScalarType)(b)&&!(0,Ot.isEnumType)(b)?K(k({kind:Ot.Kind.FIELD,name:{kind:Ot.Kind.NAME,value:t.name}},se!==t.name&&{alias:{kind:Ot.Kind.NAME,value:se}}),{selectionSet:FA({parent:e,type:b,models:n,firstCall:r,path:Q,ancestors:[...s,e],ignore:o,depthLimit:u,circularReferenceDepth:l,schema:d,depth:p+1,argNames:y,selectedFields:N,rootTypeNames:I})||void 0,arguments:C}):K(k({kind:Ot.Kind.FIELD,name:{kind:Ot.Kind.NAME,value:t.name}},se!==t.name&&{alias:{kind:Ot.Kind.NAME,value:se}}),{arguments:C})}function RA(e,t={depth:1}){let n=e[e.length-1];return(0,Ot.isScalarType)(n)?!1:e.filter(i=>i.name===n.name).length>t.depth}});var q1=V(ag=>{"use strict";m();T();h();Object.defineProperty(ag,"__esModule",{value:!0});ag.DirectiveLocation=void 0;var $1;(function(e){e.QUERY="QUERY",e.MUTATION="MUTATION",e.SUBSCRIPTION="SUBSCRIPTION",e.FIELD="FIELD",e.FRAGMENT_DEFINITION="FRAGMENT_DEFINITION",e.FRAGMENT_SPREAD="FRAGMENT_SPREAD",e.INLINE_FRAGMENT="INLINE_FRAGMENT",e.VARIABLE_DEFINITION="VARIABLE_DEFINITION",e.SCHEMA="SCHEMA",e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.FIELD_DEFINITION="FIELD_DEFINITION",e.ARGUMENT_DEFINITION="ARGUMENT_DEFINITION",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.ENUM_VALUE="ENUM_VALUE",e.INPUT_OBJECT="INPUT_OBJECT",e.INPUT_FIELD_DEFINITION="INPUT_FIELD_DEFINITION"})($1||(ag.DirectiveLocation=$1={}))});var Cl=V(ug=>{"use strict";m();T();h();Object.defineProperty(ug,"__esModule",{value:!0});ug.MapperKind=void 0;var K1;(function(e){e.TYPE="MapperKind.TYPE",e.SCALAR_TYPE="MapperKind.SCALAR_TYPE",e.ENUM_TYPE="MapperKind.ENUM_TYPE",e.COMPOSITE_TYPE="MapperKind.COMPOSITE_TYPE",e.OBJECT_TYPE="MapperKind.OBJECT_TYPE",e.INPUT_OBJECT_TYPE="MapperKind.INPUT_OBJECT_TYPE",e.ABSTRACT_TYPE="MapperKind.ABSTRACT_TYPE",e.UNION_TYPE="MapperKind.UNION_TYPE",e.INTERFACE_TYPE="MapperKind.INTERFACE_TYPE",e.ROOT_OBJECT="MapperKind.ROOT_OBJECT",e.QUERY="MapperKind.QUERY",e.MUTATION="MapperKind.MUTATION",e.SUBSCRIPTION="MapperKind.SUBSCRIPTION",e.DIRECTIVE="MapperKind.DIRECTIVE",e.FIELD="MapperKind.FIELD",e.COMPOSITE_FIELD="MapperKind.COMPOSITE_FIELD",e.OBJECT_FIELD="MapperKind.OBJECT_FIELD",e.ROOT_FIELD="MapperKind.ROOT_FIELD",e.QUERY_ROOT_FIELD="MapperKind.QUERY_ROOT_FIELD",e.MUTATION_ROOT_FIELD="MapperKind.MUTATION_ROOT_FIELD",e.SUBSCRIPTION_ROOT_FIELD="MapperKind.SUBSCRIPTION_ROOT_FIELD",e.INTERFACE_FIELD="MapperKind.INTERFACE_FIELD",e.INPUT_OBJECT_FIELD="MapperKind.INPUT_OBJECT_FIELD",e.ARGUMENT="MapperKind.ARGUMENT",e.ENUM_VALUE="MapperKind.ENUM_VALUE"})(K1||(ug.MapperKind=K1={}))});var LA=V(cg=>{"use strict";m();T();h();Object.defineProperty(cg,"__esModule",{value:!0});cg.getObjectTypeFromTypeMap=void 0;var Woe=(we(),Me(je));function Xoe(e,t){if(t){let n=e[t.name];if((0,Woe.isObjectType)(n))return n}}cg.getObjectTypeFromTypeMap=Xoe});var xA=V(na=>{"use strict";m();T();h();Object.defineProperty(na,"__esModule",{value:!0});na.getBuiltInForStub=na.isNamedStub=na.createStub=na.createNamedStub=void 0;var Kr=(we(),Me(je));function PA(e,t){let n;return t==="object"?n=Kr.GraphQLObjectType:t==="interface"?n=Kr.GraphQLInterfaceType:n=Kr.GraphQLInputObjectType,new n({name:e,fields:{_fake:{type:Kr.GraphQLString}}})}na.createNamedStub=PA;function kA(e,t){switch(e.kind){case Kr.Kind.LIST_TYPE:return new Kr.GraphQLList(kA(e.type,t));case Kr.Kind.NON_NULL_TYPE:return new Kr.GraphQLNonNull(kA(e.type,t));default:return t==="output"?PA(e.name.value,"object"):PA(e.name.value,"input")}}na.createStub=kA;function Zoe(e){if("getFields"in e){let t=e.getFields();for(let n in t)return t[n].name==="_fake"}return!1}na.isNamedStub=Zoe;function eae(e){switch(e.name){case Kr.GraphQLInt.name:return Kr.GraphQLInt;case Kr.GraphQLFloat.name:return Kr.GraphQLFloat;case Kr.GraphQLString.name:return Kr.GraphQLString;case Kr.GraphQLBoolean.name:return Kr.GraphQLBoolean;case Kr.GraphQLID.name:return Kr.GraphQLID;default:return e}}na.getBuiltInForStub=eae});var dg=V(lg=>{"use strict";m();T();h();Object.defineProperty(lg,"__esModule",{value:!0});lg.rewireTypes=void 0;var Sr=(we(),Me(je)),G1=xA();function tae(e,t){let n=Object.create(null);for(let N in e)n[N]=e[N];let r=Object.create(null);for(let N in n){let I=n[N];if(I==null||N.startsWith("__"))continue;let b=I.name;if(!b.startsWith("__")){if(r[b]!=null){console.warn(`Duplicate schema type name ${b} found; keeping the existing one found in the schema`);continue}r[b]=I}}for(let N in r)r[N]=u(r[N]);let i=t.map(N=>s(N));return{typeMap:r,directives:i};function s(N){if((0,Sr.isSpecifiedDirective)(N))return N;let I=N.toConfig();return I.args=o(I.args),new Sr.GraphQLDirective(I)}function o(N){let I={};for(let b in N){let C=N[b],j=y(C.type);j!=null&&(C.type=j,I[b]=C)}return I}function u(N){if((0,Sr.isObjectType)(N)){let I=N.toConfig(),b=K(k({},I),{fields:()=>l(I.fields),interfaces:()=>p(I.interfaces)});return new Sr.GraphQLObjectType(b)}else if((0,Sr.isInterfaceType)(N)){let I=N.toConfig(),b=K(k({},I),{fields:()=>l(I.fields)});return"interfaces"in b&&(b.interfaces=()=>p(I.interfaces)),new Sr.GraphQLInterfaceType(b)}else if((0,Sr.isUnionType)(N)){let I=N.toConfig(),b=K(k({},I),{types:()=>p(I.types)});return new Sr.GraphQLUnionType(b)}else if((0,Sr.isInputObjectType)(N)){let I=N.toConfig(),b=K(k({},I),{fields:()=>d(I.fields)});return new Sr.GraphQLInputObjectType(b)}else if((0,Sr.isEnumType)(N)){let I=N.toConfig();return new Sr.GraphQLEnumType(I)}else if((0,Sr.isScalarType)(N)){if((0,Sr.isSpecifiedScalarType)(N))return N;let I=N.toConfig();return new Sr.GraphQLScalarType(I)}throw new Error(`Unexpected schema type: ${N}`)}function l(N){let I={};for(let b in N){let C=N[b],j=y(C.type);j!=null&&C.args&&(C.type=j,C.args=o(C.args),I[b]=C)}return I}function d(N){let I={};for(let b in N){let C=N[b],j=y(C.type);j!=null&&(C.type=j,I[b]=C)}return I}function p(N){let I=[];for(let b of N){let C=y(b);C!=null&&I.push(C)}return I}function y(N){if((0,Sr.isListType)(N)){let I=y(N.ofType);return I!=null?new Sr.GraphQLList(I):null}else if((0,Sr.isNonNullType)(N)){let I=y(N.ofType);return I!=null?new Sr.GraphQLNonNull(I):null}else if((0,Sr.isNamedType)(N)){let I=n[N.name];return I===void 0&&(I=(0,G1.isNamedStub)(N)?(0,G1.getBuiltInForStub)(N):u(N),r[I.name]=n[N.name]=I),I!=null?r[I.name]:null}return null}}lg.rewireTypes=tae});var CA=V(ra=>{"use strict";m();T();h();Object.defineProperty(ra,"__esModule",{value:!0});ra.parseInputValueLiteral=ra.parseInputValue=ra.serializeInputValue=ra.transformInputValue=void 0;var pg=(we(),Me(je)),nae=Kh();function Sp(e,t,n=null,r=null){if(t==null)return t;let i=(0,pg.getNullableType)(e);if((0,pg.isLeafType)(i))return n!=null?n(i,t):t;if((0,pg.isListType)(i))return(0,nae.asArray)(t).map(s=>Sp(i.ofType,s,n,r));if((0,pg.isInputObjectType)(i)){let s=i.getFields(),o={};for(let u in t){let l=s[u];l!=null&&(o[u]=Sp(l.type,t[u],n,r))}return r!=null?r(i,o):o}}ra.transformInputValue=Sp;function rae(e,t){return Sp(e,t,(n,r)=>{try{return n.serialize(r)}catch(i){return r}})}ra.serializeInputValue=rae;function iae(e,t){return Sp(e,t,(n,r)=>{try{return n.parseValue(r)}catch(i){return r}})}ra.parseInputValue=iae;function sae(e,t){return Sp(e,t,(n,r)=>n.parseLiteral(r,{}))}ra.parseInputValueLiteral=sae});var Rp=V(Ap=>{"use strict";m();T();h();Object.defineProperty(Ap,"__esModule",{value:!0});Ap.correctASTNodes=Ap.mapSchema=void 0;var yt=(we(),Me(je)),Dp=LA(),zt=Cl(),oae=dg(),Q1=CA();function aae(e,t={}){let n=z1(J1(UA(Y1(uae(UA(Y1(e.getTypeMap(),e,Q1.serializeInputValue),e,t,u=>(0,yt.isLeafType)(u)),e,t),e,Q1.parseInputValue),e,t,u=>!(0,yt.isLeafType)(u)),e,t),e,t),r=e.getDirectives(),i=cae(r,e,t),{typeMap:s,directives:o}=(0,oae.rewireTypes)(n,i);return new yt.GraphQLSchema(K(k({},e.toConfig()),{query:(0,Dp.getObjectTypeFromTypeMap)(s,(0,Dp.getObjectTypeFromTypeMap)(n,e.getQueryType())),mutation:(0,Dp.getObjectTypeFromTypeMap)(s,(0,Dp.getObjectTypeFromTypeMap)(n,e.getMutationType())),subscription:(0,Dp.getObjectTypeFromTypeMap)(s,(0,Dp.getObjectTypeFromTypeMap)(n,e.getSubscriptionType())),types:Object.values(s),directives:o}))}Ap.mapSchema=aae;function UA(e,t,n,r=()=>!0){let i={};for(let s in e)if(!s.startsWith("__")){let o=e[s];if(o==null||!r(o)){i[s]=o;continue}let u=dae(t,n,s);if(u==null){i[s]=o;continue}let l=u(o,t);if(l===void 0){i[s]=o;continue}i[s]=l}return i}function uae(e,t,n){let r=Tae(n);return r?UA(e,t,{[zt.MapperKind.ENUM_TYPE]:i=>{let s=i.toConfig(),o=s.values,u={};for(let l in o){let d=o[l],p=r(d,i.name,t,l);if(p===void 0)u[l]=d;else if(Array.isArray(p)){let[y,N]=p;u[y]=N===void 0?d:N}else p!==null&&(u[l]=p)}return eT(new yt.GraphQLEnumType(K(k({},s),{values:u})))}},i=>(0,yt.isEnumType)(i)):e}function Y1(e,t,n){let r=z1(e,t,{[zt.MapperKind.ARGUMENT]:i=>{if(i.defaultValue===void 0)return i;let s=fg(e,i.type);if(s!=null)return K(k({},i),{defaultValue:n(s,i.defaultValue)})}});return J1(r,t,{[zt.MapperKind.INPUT_OBJECT_FIELD]:i=>{if(i.defaultValue===void 0)return i;let s=fg(r,i.type);if(s!=null)return K(k({},i),{defaultValue:n(s,i.defaultValue)})}})}function fg(e,t){if((0,yt.isListType)(t)){let n=fg(e,t.ofType);return n!=null?new yt.GraphQLList(n):null}else if((0,yt.isNonNullType)(t)){let n=fg(e,t.ofType);return n!=null?new yt.GraphQLNonNull(n):null}else if((0,yt.isNamedType)(t)){let n=e[t.name];return n!=null?n:null}return null}function J1(e,t,n){let r={};for(let i in e)if(!i.startsWith("__")){let s=e[i];if(!(0,yt.isObjectType)(s)&&!(0,yt.isInterfaceType)(s)&&!(0,yt.isInputObjectType)(s)){r[i]=s;continue}let o=fae(t,n,i);if(o==null){r[i]=s;continue}let u=s.toConfig(),l=u.fields,d={};for(let p in l){let y=l[p],N=o(y,p,i,t);if(N===void 0)d[p]=y;else if(Array.isArray(N)){let[I,b]=N;b.astNode!=null&&(b.astNode=K(k({},b.astNode),{name:K(k({},b.astNode.name),{value:I})})),d[I]=b===void 0?y:b}else N!==null&&(d[p]=N)}(0,yt.isObjectType)(s)?r[i]=eT(new yt.GraphQLObjectType(K(k({},u),{fields:d}))):(0,yt.isInterfaceType)(s)?r[i]=eT(new yt.GraphQLInterfaceType(K(k({},u),{fields:d}))):r[i]=eT(new yt.GraphQLInputObjectType(K(k({},u),{fields:d})))}return r}function z1(e,t,n){let r={};for(let i in e)if(!i.startsWith("__")){let s=e[i];if(!(0,yt.isObjectType)(s)&&!(0,yt.isInterfaceType)(s)){r[i]=s;continue}let o=mae(n);if(o==null){r[i]=s;continue}let u=s.toConfig(),l=u.fields,d={};for(let p in l){let y=l[p],N=y.args;if(N==null){d[p]=y;continue}let I=Object.keys(N);if(!I.length){d[p]=y;continue}let b={};for(let C of I){let j=N[C],Q=o(j,p,i,t);if(Q===void 0)b[C]=j;else if(Array.isArray(Q)){let[re,se]=Q;b[re]=se}else Q!==null&&(b[C]=Q)}d[p]=K(k({},y),{args:b})}(0,yt.isObjectType)(s)?r[i]=new yt.GraphQLObjectType(K(k({},u),{fields:d})):(0,yt.isInterfaceType)(s)?r[i]=new yt.GraphQLInterfaceType(K(k({},u),{fields:d})):r[i]=new yt.GraphQLInputObjectType(K(k({},u),{fields:d}))}return r}function cae(e,t,n){let r=hae(n);if(r==null)return e.slice();let i=[];for(let s of e){let o=r(s,t);o===void 0?i.push(s):o!==null&&i.push(o)}return i}function lae(e,t){var i,s,o;let n=e.getType(t),r=[zt.MapperKind.TYPE];return(0,yt.isObjectType)(n)?(r.push(zt.MapperKind.COMPOSITE_TYPE,zt.MapperKind.OBJECT_TYPE),t===((i=e.getQueryType())==null?void 0:i.name)?r.push(zt.MapperKind.ROOT_OBJECT,zt.MapperKind.QUERY):t===((s=e.getMutationType())==null?void 0:s.name)?r.push(zt.MapperKind.ROOT_OBJECT,zt.MapperKind.MUTATION):t===((o=e.getSubscriptionType())==null?void 0:o.name)&&r.push(zt.MapperKind.ROOT_OBJECT,zt.MapperKind.SUBSCRIPTION)):(0,yt.isInputObjectType)(n)?r.push(zt.MapperKind.INPUT_OBJECT_TYPE):(0,yt.isInterfaceType)(n)?r.push(zt.MapperKind.COMPOSITE_TYPE,zt.MapperKind.ABSTRACT_TYPE,zt.MapperKind.INTERFACE_TYPE):(0,yt.isUnionType)(n)?r.push(zt.MapperKind.COMPOSITE_TYPE,zt.MapperKind.ABSTRACT_TYPE,zt.MapperKind.UNION_TYPE):(0,yt.isEnumType)(n)?r.push(zt.MapperKind.ENUM_TYPE):(0,yt.isScalarType)(n)&&r.push(zt.MapperKind.SCALAR_TYPE),r}function dae(e,t,n){let r=lae(e,n),i,s=[...r];for(;!i&&s.length>0;){let o=s.pop();i=t[o]}return i!=null?i:null}function pae(e,t){var i,s,o;let n=e.getType(t),r=[zt.MapperKind.FIELD];return(0,yt.isObjectType)(n)?(r.push(zt.MapperKind.COMPOSITE_FIELD,zt.MapperKind.OBJECT_FIELD),t===((i=e.getQueryType())==null?void 0:i.name)?r.push(zt.MapperKind.ROOT_FIELD,zt.MapperKind.QUERY_ROOT_FIELD):t===((s=e.getMutationType())==null?void 0:s.name)?r.push(zt.MapperKind.ROOT_FIELD,zt.MapperKind.MUTATION_ROOT_FIELD):t===((o=e.getSubscriptionType())==null?void 0:o.name)&&r.push(zt.MapperKind.ROOT_FIELD,zt.MapperKind.SUBSCRIPTION_ROOT_FIELD)):(0,yt.isInterfaceType)(n)?r.push(zt.MapperKind.COMPOSITE_FIELD,zt.MapperKind.INTERFACE_FIELD):(0,yt.isInputObjectType)(n)&&r.push(zt.MapperKind.INPUT_OBJECT_FIELD),r}function fae(e,t,n){let r=pae(e,n),i,s=[...r];for(;!i&&s.length>0;){let o=s.pop();i=t[o]}return i!=null?i:null}function mae(e){let t=e[zt.MapperKind.ARGUMENT];return t!=null?t:null}function hae(e){let t=e[zt.MapperKind.DIRECTIVE];return t!=null?t:null}function Tae(e){let t=e[zt.MapperKind.ENUM_VALUE];return t!=null?t:null}function eT(e){if((0,yt.isObjectType)(e)){let t=e.toConfig();if(t.astNode!=null){let n=[];for(let r in t.fields){let i=t.fields[r];i.astNode!=null&&n.push(i.astNode)}t.astNode=K(k({},t.astNode),{kind:yt.Kind.OBJECT_TYPE_DEFINITION,fields:n})}return t.extensionASTNodes!=null&&(t.extensionASTNodes=t.extensionASTNodes.map(n=>K(k({},n),{kind:yt.Kind.OBJECT_TYPE_EXTENSION,fields:void 0}))),new yt.GraphQLObjectType(t)}else if((0,yt.isInterfaceType)(e)){let t=e.toConfig();if(t.astNode!=null){let n=[];for(let r in t.fields){let i=t.fields[r];i.astNode!=null&&n.push(i.astNode)}t.astNode=K(k({},t.astNode),{kind:yt.Kind.INTERFACE_TYPE_DEFINITION,fields:n})}return t.extensionASTNodes!=null&&(t.extensionASTNodes=t.extensionASTNodes.map(n=>K(k({},n),{kind:yt.Kind.INTERFACE_TYPE_EXTENSION,fields:void 0}))),new yt.GraphQLInterfaceType(t)}else if((0,yt.isInputObjectType)(e)){let t=e.toConfig();if(t.astNode!=null){let n=[];for(let r in t.fields){let i=t.fields[r];i.astNode!=null&&n.push(i.astNode)}t.astNode=K(k({},t.astNode),{kind:yt.Kind.INPUT_OBJECT_TYPE_DEFINITION,fields:n})}return t.extensionASTNodes!=null&&(t.extensionASTNodes=t.extensionASTNodes.map(n=>K(k({},n),{kind:yt.Kind.INPUT_OBJECT_TYPE_EXTENSION,fields:void 0}))),new yt.GraphQLInputObjectType(t)}else if((0,yt.isEnumType)(e)){let t=e.toConfig();if(t.astNode!=null){let n=[];for(let r in t.values){let i=t.values[r];i.astNode!=null&&n.push(i.astNode)}t.astNode=K(k({},t.astNode),{values:n})}return t.extensionASTNodes!=null&&(t.extensionASTNodes=t.extensionASTNodes.map(n=>K(k({},n),{values:void 0}))),new yt.GraphQLEnumType(t)}else return e}Ap.correctASTNodes=eT});var H1=V(hg=>{"use strict";m();T();h();Object.defineProperty(hg,"__esModule",{value:!0});hg.filterSchema=void 0;var mg=(we(),Me(je)),Ga=Cl(),yae=Rp();function Nae({schema:e,typeFilter:t=()=>!0,fieldFilter:n=void 0,rootFieldFilter:r=void 0,objectFieldFilter:i=void 0,interfaceFieldFilter:s=void 0,inputObjectFieldFilter:o=void 0,argumentFilter:u=void 0}){return(0,yae.mapSchema)(e,{[Ga.MapperKind.QUERY]:d=>MA(d,"Query",r,u),[Ga.MapperKind.MUTATION]:d=>MA(d,"Mutation",r,u),[Ga.MapperKind.SUBSCRIPTION]:d=>MA(d,"Subscription",r,u),[Ga.MapperKind.OBJECT_TYPE]:d=>t(d.name,d)?BA(mg.GraphQLObjectType,d,i||n,u):null,[Ga.MapperKind.INTERFACE_TYPE]:d=>t(d.name,d)?BA(mg.GraphQLInterfaceType,d,s||n,u):null,[Ga.MapperKind.INPUT_OBJECT_TYPE]:d=>t(d.name,d)?BA(mg.GraphQLInputObjectType,d,o||n):null,[Ga.MapperKind.UNION_TYPE]:d=>t(d.name,d)?void 0:null,[Ga.MapperKind.ENUM_TYPE]:d=>t(d.name,d)?void 0:null,[Ga.MapperKind.SCALAR_TYPE]:d=>t(d.name,d)?void 0:null})}hg.filterSchema=Nae;function MA(e,t,n,r){if(n||r){let i=e.toConfig();for(let s in i.fields){let o=i.fields[s];if(n&&!n(t,s,i.fields[s]))delete i.fields[s];else if(r&&o.args)for(let u in o.args)r(t,s,u,o.args[u])||delete o.args[u]}return new mg.GraphQLObjectType(i)}return e}function BA(e,t,n,r){if(n||r){let i=t.toConfig();for(let s in i.fields){let o=i.fields[s];if(n&&!n(t.name,s,i.fields[s]))delete i.fields[s];else if(r&&"args"in o)for(let u in o.args)r(t.name,s,u,o.args[u])||delete o.args[u]}return new e(i)}}});var X1=V(Fp=>{"use strict";m();T();h();Object.defineProperty(Fp,"__esModule",{value:!0});Fp.healTypes=Fp.healSchema=void 0;var ia=(we(),Me(je));function Eae(e){return W1(e.getTypeMap(),e.getDirectives()),e}Fp.healSchema=Eae;function W1(e,t){let n=Object.create(null);for(let d in e){let p=e[d];if(p==null||d.startsWith("__"))continue;let y=p.name;if(!y.startsWith("__")){if(n[y]!=null){console.warn(`Duplicate schema type name ${y} found; keeping the existing one found in the schema`);continue}n[y]=p}}for(let d in n){let p=n[d];e[d]=p}for(let d of t)d.args=d.args.filter(p=>(p.type=l(p.type),p.type!==null));for(let d in e){let p=e[d];!d.startsWith("__")&&d in n&&p!=null&&r(p)}for(let d in e)!d.startsWith("__")&&!(d in n)&&delete e[d];function r(d){if((0,ia.isObjectType)(d)){i(d),s(d);return}else if((0,ia.isInterfaceType)(d)){i(d),"getInterfaces"in d&&s(d);return}else if((0,ia.isUnionType)(d)){u(d);return}else if((0,ia.isInputObjectType)(d)){o(d);return}else if((0,ia.isLeafType)(d))return;throw new Error(`Unexpected schema type: ${d}`)}function i(d){let p=d.getFields();for(let[y,N]of Object.entries(p))N.args.map(I=>(I.type=l(I.type),I.type===null?null:I)).filter(Boolean),N.type=l(N.type),N.type===null&&delete p[y]}function s(d){if("getInterfaces"in d){let p=d.getInterfaces();p.push(...p.splice(0).map(y=>l(y)).filter(Boolean))}}function o(d){let p=d.getFields();for(let[y,N]of Object.entries(p))N.type=l(N.type),N.type===null&&delete p[y]}function u(d){let p=d.getTypes();p.push(...p.splice(0).map(y=>l(y)).filter(Boolean))}function l(d){if((0,ia.isListType)(d)){let p=l(d.ofType);return p!=null?new ia.GraphQLList(p):null}else if((0,ia.isNonNullType)(d)){let p=l(d.ofType);return p!=null?new ia.GraphQLNonNull(p):null}else if((0,ia.isNamedType)(d)){let p=e[d.name];if(p&&d!==p)return p}return d}}Fp.healTypes=W1});var Z1=V(Tg=>{"use strict";m();T();h();Object.defineProperty(Tg,"__esModule",{value:!0});Tg.getResolversFromSchema=void 0;var Ul=(we(),Me(je));function gae(e,t){var i,s;let n=Object.create(null),r=e.getTypeMap();for(let o in r)if(!o.startsWith("__")){let u=r[o];if((0,Ul.isScalarType)(u)){if(!(0,Ul.isSpecifiedScalarType)(u)){let l=u.toConfig();delete l.astNode,n[o]=new Ul.GraphQLScalarType(l)}}else if((0,Ul.isEnumType)(u)){n[o]={};let l=u.getValues();for(let d of l)n[o][d.name]=d.value}else if((0,Ul.isInterfaceType)(u))u.resolveType!=null&&(n[o]={__resolveType:u.resolveType});else if((0,Ul.isUnionType)(u))u.resolveType!=null&&(n[o]={__resolveType:u.resolveType});else if((0,Ul.isObjectType)(u)){n[o]={},u.isTypeOf!=null&&(n[o].__isTypeOf=u.isTypeOf);let l=u.getFields();for(let d in l){let p=l[d];if(p.subscribe!=null&&(n[o][d]=n[o][d]||{},n[o][d].subscribe=p.subscribe),p.resolve!=null&&((i=p.resolve)==null?void 0:i.name)!=="defaultFieldResolver"){switch((s=p.resolve)==null?void 0:s.name){case"defaultMergedResolver":if(!t)continue;break;case"defaultFieldResolver":continue}n[o][d]=n[o][d]||{},n[o][d].resolve=p.resolve}}}}return n}Tg.getResolversFromSchema=gae});var t$=V(yg=>{"use strict";m();T();h();Object.defineProperty(yg,"__esModule",{value:!0});yg.forEachField=void 0;var e$=(we(),Me(je));function Iae(e,t){let n=e.getTypeMap();for(let r in n){let i=n[r];if(!(0,e$.getNamedType)(i).name.startsWith("__")&&(0,e$.isObjectType)(i)){let s=i.getFields();for(let o in s){let u=s[o];t(u,r,o)}}}}yg.forEachField=Iae});var n$=V(Ng=>{"use strict";m();T();h();Object.defineProperty(Ng,"__esModule",{value:!0});Ng.forEachDefaultValue=void 0;var VA=(we(),Me(je));function vae(e,t){let n=e.getTypeMap();for(let r in n){let i=n[r];if(!(0,VA.getNamedType)(i).name.startsWith("__")){if((0,VA.isObjectType)(i)){let s=i.getFields();for(let o in s){let u=s[o];for(let l of u.args)l.defaultValue=t(l.type,l.defaultValue)}}else if((0,VA.isInputObjectType)(i)){let s=i.getFields();for(let o in s){let u=s[o];u.defaultValue=t(u.type,u.defaultValue)}}}}}Ng.forEachDefaultValue=vae});var qA=V(Eg=>{"use strict";m();T();h();Object.defineProperty(Eg,"__esModule",{value:!0});Eg.addTypes=void 0;var jA=(we(),Me(je)),$A=LA(),_ae=dg();function bae(e,t){let n=e.toConfig(),r={};for(let u of n.types)r[u.name]=u;let i={};for(let u of n.directives)i[u.name]=u;for(let u of t)(0,jA.isNamedType)(u)?r[u.name]=u:(0,jA.isDirective)(u)&&(i[u.name]=u);let{typeMap:s,directives:o}=(0,_ae.rewireTypes)(r,Object.values(i));return new jA.GraphQLSchema(K(k({},n),{query:(0,$A.getObjectTypeFromTypeMap)(s,e.getQueryType()),mutation:(0,$A.getObjectTypeFromTypeMap)(s,e.getMutationType()),subscription:(0,$A.getObjectTypeFromTypeMap)(s,e.getSubscriptionType()),types:Object.values(s),directives:o}))}Eg.addTypes=bae});var i$=V(Ig=>{"use strict";m();T();h();Object.defineProperty(Ig,"__esModule",{value:!0});Ig.pruneSchema=void 0;var kr=(we(),Me(je)),Oae=yA(),Sae=Cl(),Dae=Rp(),Aae=Jh();function Rae(e,t={}){let{skipEmptyCompositeTypePruning:n,skipEmptyUnionPruning:r,skipPruning:i,skipUnimplementedInterfacesPruning:s,skipUnusedTypesPruning:o}=t,u=[],l=e;do{let d=Fae(l);if(i){let p=[];for(let y in l.getTypeMap()){if(y.startsWith("__"))continue;let N=l.getType(y);N&&i(N)&&p.push(y)}d=r$(p,l,d)}u=[],l=(0,Dae.mapSchema)(l,{[Sae.MapperKind.TYPE]:p=>!d.has(p.name)&&!(0,kr.isSpecifiedScalarType)(p)?((0,kr.isUnionType)(p)||(0,kr.isInputObjectType)(p)||(0,kr.isInterfaceType)(p)||(0,kr.isObjectType)(p)||(0,kr.isScalarType)(p))&&(o||(0,kr.isUnionType)(p)&&r&&!Object.keys(p.getTypes()).length||((0,kr.isInputObjectType)(p)||(0,kr.isInterfaceType)(p)||(0,kr.isObjectType)(p))&&n&&!Object.keys(p.getFields()).length||(0,kr.isInterfaceType)(p)&&s)?p:(u.push(p.name),d.delete(p.name),null):p})}while(u.length);return l}Ig.pruneSchema=Rae;function Fae(e){let t=[];for(let n of(0,Aae.getRootTypes)(e))t.push(n.name);return r$(t,e)}function r$(e,t,n=new Set){let r=new Map;for(;e.length;){let i=e.pop();if(n.has(i)&&r[i]!==!0)continue;let s=t.getType(i);if(s){if((0,kr.isUnionType)(s)&&e.push(...s.getTypes().map(o=>o.name)),(0,kr.isInterfaceType)(s)&&r[i]===!0&&(e.push(...(0,Oae.getImplementingTypes)(s.name,t)),r[i]=!1),(0,kr.isEnumType)(s)&&e.push(...s.getValues().flatMap(o=>o.astNode?gg(t,o.astNode):[])),"getInterfaces"in s&&e.push(...s.getInterfaces().map(o=>o.name)),"getFields"in s){let o=s.getFields(),u=Object.entries(o);if(!u.length)continue;for(let[,l]of u){(0,kr.isObjectType)(s)&&e.push(...l.args.flatMap(p=>{let y=[(0,kr.getNamedType)(p.type).name];return p.astNode&&y.push(...gg(t,p.astNode)),y}));let d=(0,kr.getNamedType)(l.type);e.push(d.name),l.astNode&&e.push(...gg(t,l.astNode)),(0,kr.isInterfaceType)(d)&&!(d.name in r)&&(r[d.name]=!0)}}s.astNode&&e.push(...gg(t,s.astNode)),n.add(i)}}return n}function gg(e,t){var n;return((n=t.directives)!=null?n:[]).flatMap(r=>{var i,s;return(s=(i=e.getDirective(r.name.value))==null?void 0:i.args.map(o=>(0,kr.getNamedType)(o.type).name))!=null?s:[]})}});var o$=V(vg=>{"use strict";m();T();h();Object.defineProperty(vg,"__esModule",{value:!0});vg.mergeDeep=void 0;var wae=Kh();function s$(e,t=!1,n=!1){let r=e[0]||{},i={};t&&Object.setPrototypeOf(i,Object.create(Object.getPrototypeOf(r)));for(let s of e)if(KA(r)&&KA(s)){if(t){let o=Object.getPrototypeOf(i),u=Object.getPrototypeOf(s);if(u)for(let l of Object.getOwnPropertyNames(u)){let d=Object.getOwnPropertyDescriptor(u,l);(0,wae.isSome)(d)&&Object.defineProperty(o,l,d)}}for(let o in s)KA(s[o])?o in i?i[o]=s$([i[o],s[o]],t,n):Object.assign(i,{[o]:s[o]}):n&&Array.isArray(i[o])?Array.isArray(s[o])?i[o].push(...s[o]):i[o].push(s[o]):Object.assign(i,{[o]:s[o]})}else if(n&&Array.isArray(r))Array.isArray(s)?r.push(...s):r.push(s);else if(n&&Array.isArray(s))return[r,...s];return i}vg.mergeDeep=s$;function KA(e){return e&&typeof e=="object"&&!Array.isArray(e)}});var a$=V(_g=>{"use strict";m();T();h();Object.defineProperty(_g,"__esModule",{value:!0});_g.parseSelectionSet=void 0;var Lae=(we(),Me(je));function Pae(e,t){return(0,Lae.parse)(e,t).definitions[0].selectionSet}_g.parseSelectionSet=Pae});var u$=V(bg=>{"use strict";m();T();h();Object.defineProperty(bg,"__esModule",{value:!0});bg.getResponseKeyFromInfo=void 0;function kae(e){return e.fieldNodes[0].alias!=null?e.fieldNodes[0].alias.value:e.fieldName}bg.getResponseKeyFromInfo=kae});var c$=V(sa=>{"use strict";m();T();h();Object.defineProperty(sa,"__esModule",{value:!0});sa.modifyObjectFields=sa.selectObjectFields=sa.removeObjectFields=sa.appendObjectFields=void 0;var Og=(we(),Me(je)),xae=qA(),Sg=Cl(),Ml=Rp();function Cae(e,t,n){return e.getType(t)==null?(0,xae.addTypes)(e,[new Og.GraphQLObjectType({name:t,fields:n})]):(0,Ml.mapSchema)(e,{[Sg.MapperKind.OBJECT_TYPE]:r=>{if(r.name===t){let i=r.toConfig(),s=i.fields,o={};for(let u in s)o[u]=s[u];for(let u in n)o[u]=n[u];return(0,Ml.correctASTNodes)(new Og.GraphQLObjectType(K(k({},i),{fields:o})))}}})}sa.appendObjectFields=Cae;function Uae(e,t,n){let r={};return[(0,Ml.mapSchema)(e,{[Sg.MapperKind.OBJECT_TYPE]:s=>{if(s.name===t){let o=s.toConfig(),u=o.fields,l={};for(let d in u){let p=u[d];n(d,p)?r[d]=p:l[d]=p}return(0,Ml.correctASTNodes)(new Og.GraphQLObjectType(K(k({},o),{fields:l})))}}}),r]}sa.removeObjectFields=Uae;function Mae(e,t,n){let r={};return(0,Ml.mapSchema)(e,{[Sg.MapperKind.OBJECT_TYPE]:i=>{if(i.name===t){let o=i.toConfig().fields;for(let u in o){let l=o[u];n(u,l)&&(r[u]=l)}}}}),r}sa.selectObjectFields=Mae;function Bae(e,t,n,r){let i={};return[(0,Ml.mapSchema)(e,{[Sg.MapperKind.OBJECT_TYPE]:o=>{if(o.name===t){let u=o.toConfig(),l=u.fields,d={};for(let p in l){let y=l[p];n(p,y)?i[p]=y:d[p]=y}for(let p in r){let y=r[p];d[p]=y}return(0,Ml.correctASTNodes)(new Og.GraphQLObjectType(K(k({},u),{fields:d})))}}}),i]}sa.modifyObjectFields=Bae});var l$=V(Dg=>{"use strict";m();T();h();Object.defineProperty(Dg,"__esModule",{value:!0});Dg.renameType=void 0;var Gs=(we(),Me(je));function Vae(e,t){if((0,Gs.isObjectType)(e))return new Gs.GraphQLObjectType(K(k({},e.toConfig()),{name:t,astNode:e.astNode==null?e.astNode:K(k({},e.astNode),{name:K(k({},e.astNode.name),{value:t})}),extensionASTNodes:e.extensionASTNodes==null?e.extensionASTNodes:e.extensionASTNodes.map(n=>K(k({},n),{name:K(k({},n.name),{value:t})}))}));if((0,Gs.isInterfaceType)(e))return new Gs.GraphQLInterfaceType(K(k({},e.toConfig()),{name:t,astNode:e.astNode==null?e.astNode:K(k({},e.astNode),{name:K(k({},e.astNode.name),{value:t})}),extensionASTNodes:e.extensionASTNodes==null?e.extensionASTNodes:e.extensionASTNodes.map(n=>K(k({},n),{name:K(k({},n.name),{value:t})}))}));if((0,Gs.isUnionType)(e))return new Gs.GraphQLUnionType(K(k({},e.toConfig()),{name:t,astNode:e.astNode==null?e.astNode:K(k({},e.astNode),{name:K(k({},e.astNode.name),{value:t})}),extensionASTNodes:e.extensionASTNodes==null?e.extensionASTNodes:e.extensionASTNodes.map(n=>K(k({},n),{name:K(k({},n.name),{value:t})}))}));if((0,Gs.isInputObjectType)(e))return new Gs.GraphQLInputObjectType(K(k({},e.toConfig()),{name:t,astNode:e.astNode==null?e.astNode:K(k({},e.astNode),{name:K(k({},e.astNode.name),{value:t})}),extensionASTNodes:e.extensionASTNodes==null?e.extensionASTNodes:e.extensionASTNodes.map(n=>K(k({},n),{name:K(k({},n.name),{value:t})}))}));if((0,Gs.isEnumType)(e))return new Gs.GraphQLEnumType(K(k({},e.toConfig()),{name:t,astNode:e.astNode==null?e.astNode:K(k({},e.astNode),{name:K(k({},e.astNode.name),{value:t})}),extensionASTNodes:e.extensionASTNodes==null?e.extensionASTNodes:e.extensionASTNodes.map(n=>K(k({},n),{name:K(k({},n.name),{value:t})}))}));if((0,Gs.isScalarType)(e))return new Gs.GraphQLScalarType(K(k({},e.toConfig()),{name:t,astNode:e.astNode==null?e.astNode:K(k({},e.astNode),{name:K(k({},e.astNode.name),{value:t})}),extensionASTNodes:e.extensionASTNodes==null?e.extensionASTNodes:e.extensionASTNodes.map(n=>K(k({},n),{name:K(k({},n.name),{value:t})}))}));throw new Error(`Unknown type ${e}.`)}Dg.renameType=Vae});var f$=V(Ag=>{"use strict";m();T();h();Object.defineProperty(Ag,"__esModule",{value:!0});Ag.mapAsyncIterator=void 0;var jae=Qh();function $ae(e,t,n,r){let i,s,o;r&&(o=d=>{let p=r();return(0,jae.isPromise)(p)?p.then(()=>d):d}),typeof e.return=="function"&&(i=e.return,s=d=>{let p=()=>Promise.reject(d);return i.call(e).then(p,p)});function u(d){return d.done?o?o(d):d:d$(d.value,t).then(p$,s)}let l;if(n){let d=n;l=p=>d$(p,d).then(p$,s)}return{next(){return e.next().then(u,l)},return(){let d=i?i.call(e).then(u,l):Promise.resolve({value:void 0,done:!0});return o?d.then(o):d},throw(d){return typeof e.throw=="function"?e.throw(d).then(u,l):Promise.reject(d).catch(s)},[Symbol.asyncIterator](){return this}}}Ag.mapAsyncIterator=$ae;function d$(e,t){return new Promise(n=>n(t(e)))}function p$(e){return{value:e,done:!1}}});var m$=V(wp=>{"use strict";m();T();h();Object.defineProperty(wp,"__esModule",{value:!0});wp.createVariableNameGenerator=wp.updateArgument=void 0;var Bl=(we(),Me(je)),qae=EA();function Kae(e,t,n,r,i,s,o){if(e[r]={kind:Bl.Kind.ARGUMENT,name:{kind:Bl.Kind.NAME,value:r},value:{kind:Bl.Kind.VARIABLE,name:{kind:Bl.Kind.NAME,value:i}}},t[i]={kind:Bl.Kind.VARIABLE_DEFINITION,variable:{kind:Bl.Kind.VARIABLE,name:{kind:Bl.Kind.NAME,value:i}},type:(0,qae.astFromType)(s)},o!==void 0){n[i]=o;return}i in n&&delete n[i]}wp.updateArgument=Kae;function Gae(e){let t=0;return n=>{let r;do r=`_v${(t++).toString()}_${n}`;while(r in e);return r}}wp.createVariableNameGenerator=Gae});var h$=V(Rg=>{"use strict";m();T();h();Object.defineProperty(Rg,"__esModule",{value:!0});Rg.implementsAbstractType=void 0;var GA=(we(),Me(je));function Qae(e,t,n){return n==null||t==null?!1:t===n?!0:(0,GA.isCompositeType)(t)&&(0,GA.isCompositeType)(n)?(0,GA.doTypesOverlap)(e,t,n):!1}Rg.implementsAbstractType=Qae});var T$=V(Fg=>{"use strict";m();T();h();Object.defineProperty(Fg,"__esModule",{value:!0});Fg.observableToAsyncIterable=void 0;function Yae(e){let t=[],n=[],r=!0,i=p=>{t.length!==0?t.shift()({value:p,done:!1}):n.push({value:p,done:!1})},s=p=>{t.length!==0?t.shift()({value:{errors:[p]},done:!1}):n.push({value:{errors:[p]},done:!1})},o=()=>{t.length!==0?t.shift()({done:!0}):n.push({done:!0})},u=()=>new Promise(p=>{if(n.length!==0){let y=n.shift();p(y)}else t.push(p)}),l=e.subscribe({next(p){i(p)},error(p){s(p)},complete(){o()}}),d=()=>{if(r){r=!1,l.unsubscribe();for(let p of t)p({value:void 0,done:!0});t.length=0,n.length=0}};return{next(){return r?u():this.return()},return(){return d(),Promise.resolve({value:void 0,done:!0})},throw(p){return d(),Promise.reject(p)},[Symbol.asyncIterator](){return this}}}Fg.observableToAsyncIterable=Yae});var y$=V(wg=>{"use strict";m();T();h();Object.defineProperty(wg,"__esModule",{value:!0});wg.AccumulatorMap=void 0;var QA=class extends Map{get[Symbol.toStringTag](){return"AccumulatorMap"}add(t,n){let r=this.get(t);r===void 0?this.set(t,[n]):r.push(n)}};wg.AccumulatorMap=QA});var YA=V(Lp=>{"use strict";m();T();h();Object.defineProperty(Lp,"__esModule",{value:!0});Lp.GraphQLStreamDirective=Lp.GraphQLDeferDirective=void 0;var Qs=(we(),Me(je));Lp.GraphQLDeferDirective=new Qs.GraphQLDirective({name:"defer",description:"Directs the executor to defer this fragment when the `if` argument is true or undefined.",locations:[Qs.DirectiveLocation.FRAGMENT_SPREAD,Qs.DirectiveLocation.INLINE_FRAGMENT],args:{if:{type:new Qs.GraphQLNonNull(Qs.GraphQLBoolean),description:"Deferred when true or undefined.",defaultValue:!0},label:{type:Qs.GraphQLString,description:"Unique name"}}});Lp.GraphQLStreamDirective=new Qs.GraphQLDirective({name:"stream",description:"Directs the executor to stream plural fields when the `if` argument is true or undefined.",locations:[Qs.DirectiveLocation.FIELD],args:{if:{type:new Qs.GraphQLNonNull(Qs.GraphQLBoolean),description:"Stream when true or undefined.",defaultValue:!0},label:{type:Qs.GraphQLString,description:"Unique name"},initialCount:{defaultValue:0,type:Qs.GraphQLInt,description:"Number of items to return immediately"}}})});var HA=V(Ki=>{"use strict";m();T();h();Object.defineProperty(Ki,"__esModule",{value:!0});Ki.collectSubFields=Ki.getDeferValues=Ki.getFieldEntryKey=Ki.doesFragmentConditionMatch=Ki.shouldIncludeNode=Ki.collectFields=void 0;var oa=(we(),Me(je)),Pg=y$(),Jae=YA(),zae=_p();function Pp(e,t,n,r,i,s,o,u){for(let l of i.selections)switch(l.kind){case oa.Kind.FIELD:{if(!Lg(n,l))continue;s.add(N$(l),l);break}case oa.Kind.INLINE_FRAGMENT:{if(!Lg(n,l)||!JA(e,l,r))continue;let d=zA(n,l);if(d){let p=new Pg.AccumulatorMap;Pp(e,t,n,r,l.selectionSet,p,o,u),o.push({label:d.label,fields:p})}else Pp(e,t,n,r,l.selectionSet,s,o,u);break}case oa.Kind.FRAGMENT_SPREAD:{let d=l.name.value;if(!Lg(n,l))continue;let p=zA(n,l);if(u.has(d)&&!p)continue;let y=t[d];if(!y||!JA(e,y,r))continue;if(p||u.add(d),p){let N=new Pg.AccumulatorMap;Pp(e,t,n,r,y.selectionSet,N,o,u),o.push({label:p.label,fields:N})}else Pp(e,t,n,r,y.selectionSet,s,o,u);break}}}function Hae(e,t,n,r,i){let s=new Pg.AccumulatorMap,o=[];return Pp(e,t,n,r,i,s,o,new Set),{fields:s,patches:o}}Ki.collectFields=Hae;function Lg(e,t){let n=(0,oa.getDirectiveValues)(oa.GraphQLSkipDirective,t,e);if((n==null?void 0:n.if)===!0)return!1;let r=(0,oa.getDirectiveValues)(oa.GraphQLIncludeDirective,t,e);return(r==null?void 0:r.if)!==!1}Ki.shouldIncludeNode=Lg;function JA(e,t,n){let r=t.typeCondition;if(!r)return!0;let i=(0,oa.typeFromAST)(e,r);return i===n?!0:(0,oa.isAbstractType)(i)?e.getPossibleTypes(i).includes(n):!1}Ki.doesFragmentConditionMatch=JA;function N$(e){return e.alias?e.alias.value:e.name.value}Ki.getFieldEntryKey=N$;function zA(e,t){let n=(0,oa.getDirectiveValues)(Jae.GraphQLDeferDirective,t,e);if(n&&n.if!==!1)return{label:typeof n.label=="string"?n.label:void 0}}Ki.getDeferValues=zA;Ki.collectSubFields=(0,zae.memoize5)(function(t,n,r,i,s){let o=new Pg.AccumulatorMap,u=new Set,l=[],d={fields:o,patches:l};for(let p of s)p.selectionSet&&Pp(t,n,r,i,p.selectionSet,o,l,u);return d})});var WA=V(kp=>{"use strict";m();T();h();Object.defineProperty(kp,"__esModule",{value:!0});kp.getOperationASTFromRequest=kp.getOperationASTFromDocument=void 0;var Wae=(we(),Me(je)),Xae=_p();function E$(e,t){let n=(0,Wae.getOperationAST)(e,t);if(!n)throw new Error(`Cannot infer operation ${t||""}`);return n}kp.getOperationASTFromDocument=E$;kp.getOperationASTFromRequest=(0,Xae.memoize1)(function(t){return E$(t.document,t.operationName)})});var v$=V(Sc=>{"use strict";m();T();h();Object.defineProperty(Sc,"__esModule",{value:!0});Sc.visitResult=Sc.visitErrors=Sc.visitData=void 0;var Oc=(we(),Me(je)),XA=HA(),Zae=WA();function ZA(e,t,n){if(Array.isArray(e))return e.map(r=>ZA(r,t,n));if(typeof e=="object"){let r=t!=null?t(e):e;if(r!=null)for(let i in r){let s=r[i];Object.defineProperty(r,i,{value:ZA(s,t,n)})}return n!=null?n(r):r}return e}Sc.visitData=ZA;function eue(e,t){return e.map(n=>t(n))}Sc.visitErrors=eue;function tue(e,t,n,r,i){let s=t.document.definitions.reduce((N,I)=>(I.kind===Oc.Kind.FRAGMENT_DEFINITION&&(N[I.name.value]=I),N),{}),o=t.variables||{},u={segmentInfoMap:new Map,unpathedErrors:new Set},l=e.data,d=e.errors,p=d!=null&&i!=null,y=(0,Zae.getOperationASTFromRequest)(t);return l!=null&&y!=null&&(e.data=iue(l,y,n,s,o,r,p?d:void 0,u)),d!=null&&i&&(e.errors=nue(d,i,u)),e}Sc.visitResult=tue;function nue(e,t,n){let r=n.segmentInfoMap,i=n.unpathedErrors,s=t.__unpathed;return e.map(o=>{let u=r.get(o),l=u==null?o:u.reduceRight((d,p)=>{let y=p.type.name,N=t[y];if(N==null)return d;let I=N[p.fieldName];return I==null?d:I(d,p.pathIndex)},o);return s&&i.has(o)?s(l):l})}function rue(e,t){switch(t.operation){case"query":return e.getQueryType();case"mutation":return e.getMutationType();case"subscription":return e.getSubscriptionType()}}function iue(e,t,n,r,i,s,o,u){let l=rue(n,t),{fields:d}=(0,XA.collectFields)(n,r,i,l,t.selectionSet);return eR(e,l,d,n,r,i,s,0,o,u)}function eR(e,t,n,r,i,s,o,u,l,d){var re;let p=t.getFields(),y=o==null?void 0:o[t.name],N=y==null?void 0:y.__enter,I=N!=null?N(e):e,b,C=null;if(l!=null){b=oue(l,u),C=b.errorMap;for(let se of b.unpathedErrors)d.unpathedErrors.add(se)}for(let[se,pe]of n){let ye=pe[0].name.value,Ce=(re=p[ye])==null?void 0:re.type;if(Ce==null)switch(ye){case"__typename":Ce=Oc.TypeNameMetaFieldDef.type;break;case"__schema":Ce=Oc.SchemaMetaFieldDef.type;break;case"__type":Ce=Oc.TypeMetaFieldDef.type;break}let ht=u+1,xt;C&&(xt=C[se],xt!=null&&delete C[se],aue(t,ye,ht,xt,d));let B=I$(e[se],Ce,pe,r,i,s,o,ht,xt,d);g$(I,se,B,y,ye)}let j=I.__typename;if(j!=null&&g$(I,"__typename",j,y,"__typename"),C)for(let se in C){let pe=C[se];for(let ye of pe)d.unpathedErrors.add(ye)}let Q=y==null?void 0:y.__leave;return Q!=null?Q(I):I}function g$(e,t,n,r,i){if(r==null){e[t]=n;return}let s=r[i];if(s==null){e[t]=n;return}let o=s(n);if(o===void 0){delete e[t];return}e[t]=o}function sue(e,t,n,r,i,s,o,u,l,d){return e.map(p=>I$(p,t,n,r,i,s,o,u+1,l,d))}function I$(e,t,n,r,i,s,o,u,l=[],d){if(e==null)return e;let p=(0,Oc.getNullableType)(t);if((0,Oc.isListType)(p))return sue(e,p.ofType,n,r,i,s,o,u,l,d);if((0,Oc.isAbstractType)(p)){let I=r.getType(e.__typename),{fields:b}=(0,XA.collectSubFields)(r,i,s,I,n);return eR(e,I,b,r,i,s,o,u,l,d)}else if((0,Oc.isObjectType)(p)){let{fields:I}=(0,XA.collectSubFields)(r,i,s,p,n);return eR(e,p,I,r,i,s,o,u,l,d)}let y=o==null?void 0:o[p.name];if(y==null)return e;let N=y(e);return N===void 0?e:N}function oue(e,t){var i;let n=Object.create(null),r=new Set;for(let s of e){let o=(i=s.path)==null?void 0:i[t];if(o==null){r.add(s);continue}o in n?n[o].push(s):n[o]=[s]}return{errorMap:n,unpathedErrors:r}}function aue(e,t,n,r=[],i){for(let s of r){let o={type:e,fieldName:t,pathIndex:n},u=i.segmentInfoMap.get(s);u==null?i.segmentInfoMap.set(s,[o]):u.push(o)}}});var _$=V(kg=>{"use strict";m();T();h();Object.defineProperty(kg,"__esModule",{value:!0});kg.valueMatchesCriteria=void 0;function tR(e,t){return e==null?e===t:Array.isArray(e)?Array.isArray(t)&&e.every((n,r)=>tR(n,t[r])):typeof e=="object"?typeof t=="object"&&t&&Object.keys(t).every(n=>tR(e[n],t[n])):t instanceof RegExp?t.test(e):e===t}kg.valueMatchesCriteria=tR});var b$=V(xg=>{"use strict";m();T();h();Object.defineProperty(xg,"__esModule",{value:!0});xg.isAsyncIterable=void 0;function uue(e){return(e==null?void 0:e[Symbol.asyncIterator])!=null}xg.isAsyncIterable=uue});var O$=V(Cg=>{"use strict";m();T();h();Object.defineProperty(Cg,"__esModule",{value:!0});Cg.isDocumentNode=void 0;var cue=(we(),Me(je));function lue(e){return e&&typeof e=="object"&&"kind"in e&&e.kind===cue.Kind.DOCUMENT}Cg.isDocumentNode=lue});var S$=V(()=>{"use strict";m();T();h()});var F$=V(Dc=>{"use strict";m();T();h();Object.defineProperty(Dc,"__esModule",{value:!0});Dc.withCancel=Dc.getAsyncIterableWithCancel=Dc.getAsyncIteratorWithCancel=void 0;var due=_p();function pue(e){return yr(this,null,function*(){return{value:e,done:!0}})}var D$=(0,due.memoize2)(function(t,n){return function(...i){return Reflect.apply(n,t,i)}});function A$(e,t){return new Proxy(e,{has(n,r){return r==="return"?!0:Reflect.has(n,r)},get(n,r,i){let s=Reflect.get(n,r,i);if(r==="return"){let o=s||pue;return function(l){return yr(this,null,function*(){let d=yield t(l);return Reflect.apply(o,n,[d])})}}else if(typeof s=="function")return D$(n,s);return s}})}Dc.getAsyncIteratorWithCancel=A$;function R$(e,t){return new Proxy(e,{get(n,r,i){let s=Reflect.get(n,r,i);return Symbol.asyncIterator===r?function(){let u=Reflect.apply(s,n,[]);return A$(u,t)}:typeof s=="function"?D$(n,s):s}})}Dc.getAsyncIterableWithCancel=R$;Dc.withCancel=R$});var w$=V(Ug=>{"use strict";m();T();h();Object.defineProperty(Ug,"__esModule",{value:!0});Ug.fixSchemaAst=void 0;var fue=(we(),Me(je)),mue=SA();function hue(e,t){let n=(0,mue.getDocumentNodeFromSchema)(e);return(0,fue.buildASTSchema)(n,k({},t||{}))}function Tue(e,t){let n;return(!e.astNode||!e.extensionASTNodes)&&(n=hue(e,t)),!e.astNode&&(n!=null&&n.astNode)&&(e.astNode=n.astNode),!e.extensionASTNodes&&(n!=null&&n.astNode)&&(e.extensionASTNodes=n.extensionASTNodes),e}Ug.fixSchemaAst=Tue});var L$=V(Mg=>{"use strict";m();T();h();Object.defineProperty(Mg,"__esModule",{value:!0});Mg.extractExtensionsFromSchema=void 0;var Qa=Cl(),yue=Rp();function vo(e={}){let t=k({},e),n=t.directives;if(n!=null)for(let r in n){let i=n[r];Array.isArray(i)||(n[r]=[i])}return t}function Nue(e){let t={schemaExtensions:vo(e.extensions),types:{}};return(0,yue.mapSchema)(e,{[Qa.MapperKind.OBJECT_TYPE]:n=>(t.types[n.name]={fields:{},type:"object",extensions:vo(n.extensions)},n),[Qa.MapperKind.INTERFACE_TYPE]:n=>(t.types[n.name]={fields:{},type:"interface",extensions:vo(n.extensions)},n),[Qa.MapperKind.FIELD]:(n,r,i)=>{t.types[i].fields[r]={arguments:{},extensions:vo(n.extensions)};let s=n.args;if(s!=null)for(let o in s)t.types[i].fields[r].arguments[o]=vo(s[o].extensions);return n},[Qa.MapperKind.ENUM_TYPE]:n=>(t.types[n.name]={values:{},type:"enum",extensions:vo(n.extensions)},n),[Qa.MapperKind.ENUM_VALUE]:(n,r,i,s)=>(t.types[r].values[s]=vo(n.extensions),n),[Qa.MapperKind.SCALAR_TYPE]:n=>(t.types[n.name]={type:"scalar",extensions:vo(n.extensions)},n),[Qa.MapperKind.UNION_TYPE]:n=>(t.types[n.name]={type:"union",extensions:vo(n.extensions)},n),[Qa.MapperKind.INPUT_OBJECT_TYPE]:n=>(t.types[n.name]={fields:{},type:"input",extensions:vo(n.extensions)},n),[Qa.MapperKind.INPUT_OBJECT_FIELD]:(n,r,i)=>(t.types[i].fields[r]={extensions:vo(n.extensions)},n)}),t}Mg.extractExtensionsFromSchema=Nue});var P$=V(Ac=>{"use strict";m();T();h();Object.defineProperty(Ac,"__esModule",{value:!0});Ac.printPathArray=Ac.pathToArray=Ac.addPath=void 0;function Eue(e,t,n){return{prev:e,key:t,typename:n}}Ac.addPath=Eue;function gue(e){let t=[],n=e;for(;n;)t.push(n.key),n=n.prev;return t.reverse()}Ac.pathToArray=gue;function Iue(e){return e.map(t=>typeof t=="number"?"["+t.toString()+"]":"."+t).join("")}Ac.printPathArray=Iue});var k$=V(nR=>{"use strict";m();T();h();function Bg(e,t,n){if(typeof e=="object"&&typeof t=="object"){if(Array.isArray(e)&&Array.isArray(t))for(n=0;n{"use strict";m();T();h();Object.defineProperty(Vg,"__esModule",{value:!0});Vg.mergeIncrementalResult=void 0;var rR=k$();function x$({incrementalResult:e,executionResult:t}){var r;let n=["data",...(r=e.path)!=null?r:[]];if(e.items)for(let i of e.items)(0,rR.dset)(t,n,i),n[n.length-1]++;e.data&&(0,rR.dset)(t,n,e.data),e.errors&&(t.errors=t.errors||[],t.errors.push(...e.errors)),e.extensions&&(0,rR.dset)(t,"extensions",e.extensions),e.incremental&&e.incremental.forEach(i=>{x$({incrementalResult:i,executionResult:t})})}Vg.mergeIncrementalResult=x$});var M$=V(xp=>{"use strict";m();T();h();Object.defineProperty(xp,"__esModule",{value:!0});xp.debugTimerEnd=xp.debugTimerStart=void 0;var U$=new Set;function _ue(e){let t=(globalThis==null?void 0:globalThis.process.env.DEBUG)||globalThis.DEBUG;(t==="1"||t!=null&&t.includes(e))&&(U$.add(e),console.time(e))}xp.debugTimerStart=_ue;function bue(e){U$.has(e)&&console.timeEnd(e)}xp.debugTimerEnd=bue});var _o=V(Ze=>{"use strict";m();T();h();Object.defineProperty(Ze,"__esModule",{value:!0});Ze.inspect=void 0;var tt=(Gj(),Me(Kj));tt.__exportStar(Qj(),Ze);tt.__exportStar(Kh(),Ze);tt.__exportStar(mA(),Ze);tt.__exportStar(hA(),Ze);tt.__exportStar(n1(),Ze);tt.__exportStar(yA(),Ze);tt.__exportStar(SA(),Ze);tt.__exportStar(hA(),Ze);tt.__exportStar(E1(),Ze);tt.__exportStar(g1(),Ze);tt.__exportStar(P1(),Ze);tt.__exportStar(j1(),Ze);tt.__exportStar(q1(),Ze);tt.__exportStar(H1(),Ze);tt.__exportStar(X1(),Ze);tt.__exportStar(Z1(),Ze);tt.__exportStar(t$(),Ze);tt.__exportStar(n$(),Ze);tt.__exportStar(Rp(),Ze);tt.__exportStar(qA(),Ze);tt.__exportStar(dg(),Ze);tt.__exportStar(i$(),Ze);tt.__exportStar(o$(),Ze);tt.__exportStar(Cl(),Ze);tt.__exportStar(xA(),Ze);tt.__exportStar(a$(),Ze);tt.__exportStar(u$(),Ze);tt.__exportStar(c$(),Ze);tt.__exportStar(l$(),Ze);tt.__exportStar(CA(),Ze);tt.__exportStar(f$(),Ze);tt.__exportStar(m$(),Ze);tt.__exportStar(h$(),Ze);tt.__exportStar(QE(),Ze);tt.__exportStar(T$(),Ze);tt.__exportStar(v$(),Ze);tt.__exportStar(fA(),Ze);tt.__exportStar(_$(),Ze);tt.__exportStar(b$(),Ze);tt.__exportStar(O$(),Ze);tt.__exportStar(eg(),Ze);tt.__exportStar(S$(),Ze);tt.__exportStar(F$(),Ze);tt.__exportStar(Jh(),Ze);tt.__exportStar(AA(),Ze);tt.__exportStar(HA(),Ze);var Oue=Gh();Object.defineProperty(Ze,"inspect",{enumerable:!0,get:function(){return Oue.inspect}});tt.__exportStar(_p(),Ze);tt.__exportStar(w$(),Ze);tt.__exportStar(WA(),Ze);tt.__exportStar(L$(),Ze);tt.__exportStar(P$(),Ze);tt.__exportStar(Qh(),Ze);tt.__exportStar(YA(),Ze);tt.__exportStar(C$(),Ze);tt.__exportStar(M$(),Ze)});var V$=V(jg=>{"use strict";m();T();h();Object.defineProperty(jg,"__esModule",{value:!0});jg.mergeResolvers=void 0;var Sue=_o();function B$(e,t){if(!e||Array.isArray(e)&&e.length===0)return{};if(!Array.isArray(e))return e;if(e.length===1)return e[0]||{};let n=new Array;for(let i of e)Array.isArray(i)&&(i=B$(i)),typeof i=="object"&&i&&n.push(i);let r=(0,Sue.mergeDeep)(n,!0);if(t!=null&&t.exclusions)for(let i of t.exclusions){let[s,o]=i.split(".");!o||o==="*"?delete r[s]:r[s]&&delete r[s][o]}return r}jg.mergeResolvers=B$});var iR=V($g=>{"use strict";m();T();h();Object.defineProperty($g,"__esModule",{value:!0});$g.mergeArguments=void 0;var j$=_o();function Due(e,t,n){let r=Aue([...t,...e].filter(j$.isSome),n);return n&&n.sort&&r.sort(j$.compareNodes),r}$g.mergeArguments=Due;function Aue(e,t){return e.reduce((n,r)=>{let i=n.findIndex(s=>s.name.value===r.name.value);return i===-1?n.concat([r]):(t!=null&&t.reverseArguments||(n[i]=r),n)},[])}});var Ys=V(Cp=>{"use strict";m();T();h();Object.defineProperty(Cp,"__esModule",{value:!0});Cp.mergeDirective=Cp.mergeDirectives=void 0;var $$=(we(),Me(je)),Rue=_o();function Fue(e,t){return!!e.find(n=>n.name.value===t.name.value)}function q$(e,t){var n;return!!((n=t==null?void 0:t[e.name.value])!=null&&n.repeatable)}function wue(e,t){return t.some(({value:n})=>n===e.value)}function K$(e,t){let n=[...t];for(let r of e){let i=n.findIndex(s=>s.name.value===r.name.value);if(i>-1){let s=n[i];if(s.value.kind==="ListValue"){let o=s.value.values,u=r.value.values;s.value.values=Cue(o,u,(l,d)=>{let p=l.value;return!p||!d.some(y=>y.value===p)})}else s.value=r.value}else n.push(r)}return n}function Lue(e,t){return e.map((n,r,i)=>{let s=i.findIndex(o=>o.name.value===n.name.value);if(s!==r&&!q$(n,t)){let o=i[s];return n.arguments=K$(n.arguments,o.arguments),null}return n}).filter(Rue.isSome)}function Pue(e=[],t=[],n,r){let i=n&&n.reverseDirectives,s=i?e:t,o=i?t:e,u=Lue([...s],r);for(let l of o)if(Fue(u,l)&&!q$(l,r)){let d=u.findIndex(y=>y.name.value===l.name.value),p=u[d];u[d].arguments=K$(l.arguments||[],p.arguments||[])}else u.push(l);return u}Cp.mergeDirectives=Pue;function kue(e,t){let n=(0,$$.print)(K(k({},e),{description:void 0})),r=(0,$$.print)(K(k({},t),{description:void 0})),i=new RegExp("(directive @w*d*)|( on .*$)","g");if(!(n.replace(i,"")===r.replace(i,"")))throw new Error(`Unable to merge GraphQL directive "${e.name.value}". +`+o,block:!0})}):K(k({},i),{description:{kind:Gs.Kind.STRING,value:o,block:u}})}}}})}bc.transformCommentsToDescriptions=P1;function k1(e){return(0,Gs.isTypeSystemDefinitionNode)(e)||e.kind===Gs.Kind.FIELD_DEFINITION||e.kind===Gs.Kind.INPUT_VALUE_DEFINITION||e.kind===Gs.Kind.ENUM_VALUE_DEFINITION}bc.isDescribable=k1});var q1=V(ag=>{"use strict";m();T();h();Object.defineProperty(ag,"__esModule",{value:!0});ag.buildOperationNodeForField=void 0;var Ot=(we(),Me(je)),B1=zh(),wA=[],og=new Map;function V1(e){wA.push(e)}function C1(){wA=[]}function U1(){og=new Map}function Hoe({schema:e,kind:t,field:n,models:r,ignore:i=[],depthLimit:s,circularReferenceDepth:o,argNames:u,selectedFields:l=!0}){C1(),U1();let d=(0,B1.getRootTypeNames)(e),p=Woe({schema:e,fieldName:n,kind:t,models:r||[],ignore:i,depthLimit:s||1/0,circularReferenceDepth:o||1,argNames:u,selectedFields:l,rootTypeNames:d});return p.variableDefinitions=[...wA],C1(),U1(),p}ag.buildOperationNodeForField=Hoe;function Woe({schema:e,fieldName:t,kind:n,models:r,ignore:i,depthLimit:s,circularReferenceDepth:o,argNames:u,selectedFields:l,rootTypeNames:d}){let p=(0,B1.getDefinedRootType)(e,n),y=p.getFields()[t],N=`${t}_${n}`;if(y.args)for(let I of y.args){let O=I.name;(!u||u.includes(O))&&V1(j1(I,O))}return{kind:Ot.Kind.OPERATION_DEFINITION,operation:n,name:{kind:Ot.Kind.NAME,value:N},variableDefinitions:[],selectionSet:{kind:Ot.Kind.SELECTION_SET,selections:[$1({type:p,field:y,models:r,firstCall:!0,path:[],ancestors:[],ignore:i,depthLimit:s,circularReferenceDepth:o,schema:e,depth:0,argNames:u,selectedFields:l,rootTypeNames:d})]}}}function FA({parent:e,type:t,models:n,firstCall:r,path:i,ancestors:s,ignore:o,depthLimit:u,circularReferenceDepth:l,schema:d,depth:p,argNames:y,selectedFields:N,rootTypeNames:I}){if(!(typeof N=="boolean"&&p>u)){if((0,Ot.isUnionType)(t)){let O=t.getTypes();return{kind:Ot.Kind.SELECTION_SET,selections:O.filter(x=>!RA([...s,x],{depth:l})).map(x=>({kind:Ot.Kind.INLINE_FRAGMENT,typeCondition:{kind:Ot.Kind.NAMED_TYPE,name:{kind:Ot.Kind.NAME,value:x.name}},selectionSet:FA({parent:t,type:x,models:n,path:i,ancestors:s,ignore:o,depthLimit:u,circularReferenceDepth:l,schema:d,depth:p,argNames:y,selectedFields:N,rootTypeNames:I})})).filter(x=>{var j,Q;return((Q=(j=x==null?void 0:x.selectionSet)==null?void 0:j.selections)==null?void 0:Q.length)>0})}}if((0,Ot.isInterfaceType)(t)){let O=Object.values(d.getTypeMap()).filter(x=>(0,Ot.isObjectType)(x)&&x.getInterfaces().includes(t));return{kind:Ot.Kind.SELECTION_SET,selections:O.filter(x=>!RA([...s,x],{depth:l})).map(x=>({kind:Ot.Kind.INLINE_FRAGMENT,typeCondition:{kind:Ot.Kind.NAMED_TYPE,name:{kind:Ot.Kind.NAME,value:x.name}},selectionSet:FA({parent:t,type:x,models:n,path:i,ancestors:s,ignore:o,depthLimit:u,circularReferenceDepth:l,schema:d,depth:p,argNames:y,selectedFields:N,rootTypeNames:I})})).filter(x=>{var j,Q;return((Q=(j=x==null?void 0:x.selectionSet)==null?void 0:j.selections)==null?void 0:Q.length)>0})}}if((0,Ot.isObjectType)(t)&&!I.has(t.name)){let O=o.includes(t.name)||o.includes(`${e.name}.${i[i.length-1]}`),x=n.includes(t.name);if(!r&&x&&!O)return{kind:Ot.Kind.SELECTION_SET,selections:[{kind:Ot.Kind.FIELD,name:{kind:Ot.Kind.NAME,value:"id"}}]};let j=t.getFields();return{kind:Ot.Kind.SELECTION_SET,selections:Object.keys(j).filter(Q=>!RA([...s,(0,Ot.getNamedType)(j[Q].type)],{depth:l})).map(Q=>{let re=typeof N=="object"?N[Q]:!0;return re?$1({type:t,field:j[Q],models:n,path:[...i,Q],ancestors:s,ignore:o,depthLimit:u,circularReferenceDepth:l,schema:d,depth:p,argNames:y,selectedFields:re,rootTypeNames:I}):null}).filter(Q=>{var re,se;return Q==null?!1:"selectionSet"in Q?!!((se=(re=Q.selectionSet)==null?void 0:re.selections)!=null&&se.length):!0})}}}}function j1(e,t){function n(r){return(0,Ot.isListType)(r)?{kind:Ot.Kind.LIST_TYPE,type:n(r.ofType)}:(0,Ot.isNonNullType)(r)?{kind:Ot.Kind.NON_NULL_TYPE,type:n(r.ofType)}:{kind:Ot.Kind.NAMED_TYPE,name:{kind:Ot.Kind.NAME,value:r.name}}}return{kind:Ot.Kind.VARIABLE_DEFINITION,variable:{kind:Ot.Kind.VARIABLE,name:{kind:Ot.Kind.NAME,value:t||e.name}},type:n(e.type)}}function M1(e,t){return[...t,e].join("_")}function $1({type:e,field:t,models:n,firstCall:r,path:i,ancestors:s,ignore:o,depthLimit:u,circularReferenceDepth:l,schema:d,depth:p,argNames:y,selectedFields:N,rootTypeNames:I}){let O=(0,Ot.getNamedType)(t.type),x=[],j=!1;if(t.args&&t.args.length&&(x=t.args.map(pe=>{let ye=M1(pe.name,i);return y&&!y.includes(ye)?((0,Ot.isNonNullType)(pe.type)&&(j=!0),null):(r||V1(j1(pe,ye)),{kind:Ot.Kind.ARGUMENT,name:{kind:Ot.Kind.NAME,value:pe.name},value:{kind:Ot.Kind.VARIABLE,name:{kind:Ot.Kind.NAME,value:M1(pe.name,i)}}})}).filter(Boolean)),j)return null;let Q=[...i,t.name],re=Q.join("."),se=t.name;return og.has(re)&&og.get(re)!==t.type.toString()&&(se+=t.type.toString().replace("!","NonNull").replace("[","List").replace("]","")),og.set(re,t.type.toString()),!(0,Ot.isScalarType)(O)&&!(0,Ot.isEnumType)(O)?K(k({kind:Ot.Kind.FIELD,name:{kind:Ot.Kind.NAME,value:t.name}},se!==t.name&&{alias:{kind:Ot.Kind.NAME,value:se}}),{selectionSet:FA({parent:e,type:O,models:n,firstCall:r,path:Q,ancestors:[...s,e],ignore:o,depthLimit:u,circularReferenceDepth:l,schema:d,depth:p+1,argNames:y,selectedFields:N,rootTypeNames:I})||void 0,arguments:x}):K(k({kind:Ot.Kind.FIELD,name:{kind:Ot.Kind.NAME,value:t.name}},se!==t.name&&{alias:{kind:Ot.Kind.NAME,value:se}}),{arguments:x})}function RA(e,t={depth:1}){let n=e[e.length-1];return(0,Ot.isScalarType)(n)?!1:e.filter(i=>i.name===n.name).length>t.depth}});var G1=V(ug=>{"use strict";m();T();h();Object.defineProperty(ug,"__esModule",{value:!0});ug.DirectiveLocation=void 0;var K1;(function(e){e.QUERY="QUERY",e.MUTATION="MUTATION",e.SUBSCRIPTION="SUBSCRIPTION",e.FIELD="FIELD",e.FRAGMENT_DEFINITION="FRAGMENT_DEFINITION",e.FRAGMENT_SPREAD="FRAGMENT_SPREAD",e.INLINE_FRAGMENT="INLINE_FRAGMENT",e.VARIABLE_DEFINITION="VARIABLE_DEFINITION",e.SCHEMA="SCHEMA",e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.FIELD_DEFINITION="FIELD_DEFINITION",e.ARGUMENT_DEFINITION="ARGUMENT_DEFINITION",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.ENUM_VALUE="ENUM_VALUE",e.INPUT_OBJECT="INPUT_OBJECT",e.INPUT_FIELD_DEFINITION="INPUT_FIELD_DEFINITION"})(K1||(ug.DirectiveLocation=K1={}))});var Ml=V(cg=>{"use strict";m();T();h();Object.defineProperty(cg,"__esModule",{value:!0});cg.MapperKind=void 0;var Q1;(function(e){e.TYPE="MapperKind.TYPE",e.SCALAR_TYPE="MapperKind.SCALAR_TYPE",e.ENUM_TYPE="MapperKind.ENUM_TYPE",e.COMPOSITE_TYPE="MapperKind.COMPOSITE_TYPE",e.OBJECT_TYPE="MapperKind.OBJECT_TYPE",e.INPUT_OBJECT_TYPE="MapperKind.INPUT_OBJECT_TYPE",e.ABSTRACT_TYPE="MapperKind.ABSTRACT_TYPE",e.UNION_TYPE="MapperKind.UNION_TYPE",e.INTERFACE_TYPE="MapperKind.INTERFACE_TYPE",e.ROOT_OBJECT="MapperKind.ROOT_OBJECT",e.QUERY="MapperKind.QUERY",e.MUTATION="MapperKind.MUTATION",e.SUBSCRIPTION="MapperKind.SUBSCRIPTION",e.DIRECTIVE="MapperKind.DIRECTIVE",e.FIELD="MapperKind.FIELD",e.COMPOSITE_FIELD="MapperKind.COMPOSITE_FIELD",e.OBJECT_FIELD="MapperKind.OBJECT_FIELD",e.ROOT_FIELD="MapperKind.ROOT_FIELD",e.QUERY_ROOT_FIELD="MapperKind.QUERY_ROOT_FIELD",e.MUTATION_ROOT_FIELD="MapperKind.MUTATION_ROOT_FIELD",e.SUBSCRIPTION_ROOT_FIELD="MapperKind.SUBSCRIPTION_ROOT_FIELD",e.INTERFACE_FIELD="MapperKind.INTERFACE_FIELD",e.INPUT_OBJECT_FIELD="MapperKind.INPUT_OBJECT_FIELD",e.ARGUMENT="MapperKind.ARGUMENT",e.ENUM_VALUE="MapperKind.ENUM_VALUE"})(Q1||(cg.MapperKind=Q1={}))});var LA=V(lg=>{"use strict";m();T();h();Object.defineProperty(lg,"__esModule",{value:!0});lg.getObjectTypeFromTypeMap=void 0;var Xoe=(we(),Me(je));function Zoe(e,t){if(t){let n=e[t.name];if((0,Xoe.isObjectType)(n))return n}}lg.getObjectTypeFromTypeMap=Zoe});var xA=V(na=>{"use strict";m();T();h();Object.defineProperty(na,"__esModule",{value:!0});na.getBuiltInForStub=na.isNamedStub=na.createStub=na.createNamedStub=void 0;var Kr=(we(),Me(je));function PA(e,t){let n;return t==="object"?n=Kr.GraphQLObjectType:t==="interface"?n=Kr.GraphQLInterfaceType:n=Kr.GraphQLInputObjectType,new n({name:e,fields:{_fake:{type:Kr.GraphQLString}}})}na.createNamedStub=PA;function kA(e,t){switch(e.kind){case Kr.Kind.LIST_TYPE:return new Kr.GraphQLList(kA(e.type,t));case Kr.Kind.NON_NULL_TYPE:return new Kr.GraphQLNonNull(kA(e.type,t));default:return t==="output"?PA(e.name.value,"object"):PA(e.name.value,"input")}}na.createStub=kA;function eae(e){if("getFields"in e){let t=e.getFields();for(let n in t)return t[n].name==="_fake"}return!1}na.isNamedStub=eae;function tae(e){switch(e.name){case Kr.GraphQLInt.name:return Kr.GraphQLInt;case Kr.GraphQLFloat.name:return Kr.GraphQLFloat;case Kr.GraphQLString.name:return Kr.GraphQLString;case Kr.GraphQLBoolean.name:return Kr.GraphQLBoolean;case Kr.GraphQLID.name:return Kr.GraphQLID;default:return e}}na.getBuiltInForStub=tae});var pg=V(dg=>{"use strict";m();T();h();Object.defineProperty(dg,"__esModule",{value:!0});dg.rewireTypes=void 0;var Sr=(we(),Me(je)),Y1=xA();function nae(e,t){let n=Object.create(null);for(let N in e)n[N]=e[N];let r=Object.create(null);for(let N in n){let I=n[N];if(I==null||N.startsWith("__"))continue;let O=I.name;if(!O.startsWith("__")){if(r[O]!=null){console.warn(`Duplicate schema type name ${O} found; keeping the existing one found in the schema`);continue}r[O]=I}}for(let N in r)r[N]=u(r[N]);let i=t.map(N=>s(N));return{typeMap:r,directives:i};function s(N){if((0,Sr.isSpecifiedDirective)(N))return N;let I=N.toConfig();return I.args=o(I.args),new Sr.GraphQLDirective(I)}function o(N){let I={};for(let O in N){let x=N[O],j=y(x.type);j!=null&&(x.type=j,I[O]=x)}return I}function u(N){if((0,Sr.isObjectType)(N)){let I=N.toConfig(),O=K(k({},I),{fields:()=>l(I.fields),interfaces:()=>p(I.interfaces)});return new Sr.GraphQLObjectType(O)}else if((0,Sr.isInterfaceType)(N)){let I=N.toConfig(),O=K(k({},I),{fields:()=>l(I.fields)});return"interfaces"in O&&(O.interfaces=()=>p(I.interfaces)),new Sr.GraphQLInterfaceType(O)}else if((0,Sr.isUnionType)(N)){let I=N.toConfig(),O=K(k({},I),{types:()=>p(I.types)});return new Sr.GraphQLUnionType(O)}else if((0,Sr.isInputObjectType)(N)){let I=N.toConfig(),O=K(k({},I),{fields:()=>d(I.fields)});return new Sr.GraphQLInputObjectType(O)}else if((0,Sr.isEnumType)(N)){let I=N.toConfig();return new Sr.GraphQLEnumType(I)}else if((0,Sr.isScalarType)(N)){if((0,Sr.isSpecifiedScalarType)(N))return N;let I=N.toConfig();return new Sr.GraphQLScalarType(I)}throw new Error(`Unexpected schema type: ${N}`)}function l(N){let I={};for(let O in N){let x=N[O],j=y(x.type);j!=null&&x.args&&(x.type=j,x.args=o(x.args),I[O]=x)}return I}function d(N){let I={};for(let O in N){let x=N[O],j=y(x.type);j!=null&&(x.type=j,I[O]=x)}return I}function p(N){let I=[];for(let O of N){let x=y(O);x!=null&&I.push(x)}return I}function y(N){if((0,Sr.isListType)(N)){let I=y(N.ofType);return I!=null?new Sr.GraphQLList(I):null}else if((0,Sr.isNonNullType)(N)){let I=y(N.ofType);return I!=null?new Sr.GraphQLNonNull(I):null}else if((0,Sr.isNamedType)(N)){let I=n[N.name];return I===void 0&&(I=(0,Y1.isNamedStub)(N)?(0,Y1.getBuiltInForStub)(N):u(N),r[I.name]=n[N.name]=I),I!=null?r[I.name]:null}return null}}dg.rewireTypes=nae});var CA=V(ra=>{"use strict";m();T();h();Object.defineProperty(ra,"__esModule",{value:!0});ra.parseInputValueLiteral=ra.parseInputValue=ra.serializeInputValue=ra.transformInputValue=void 0;var fg=(we(),Me(je)),rae=Gh();function Ap(e,t,n=null,r=null){if(t==null)return t;let i=(0,fg.getNullableType)(e);if((0,fg.isLeafType)(i))return n!=null?n(i,t):t;if((0,fg.isListType)(i))return(0,rae.asArray)(t).map(s=>Ap(i.ofType,s,n,r));if((0,fg.isInputObjectType)(i)){let s=i.getFields(),o={};for(let u in t){let l=s[u];l!=null&&(o[u]=Ap(l.type,t[u],n,r))}return r!=null?r(i,o):o}}ra.transformInputValue=Ap;function iae(e,t){return Ap(e,t,(n,r)=>{try{return n.serialize(r)}catch(i){return r}})}ra.serializeInputValue=iae;function sae(e,t){return Ap(e,t,(n,r)=>{try{return n.parseValue(r)}catch(i){return r}})}ra.parseInputValue=sae;function oae(e,t){return Ap(e,t,(n,r)=>n.parseLiteral(r,{}))}ra.parseInputValueLiteral=oae});var wp=V(Fp=>{"use strict";m();T();h();Object.defineProperty(Fp,"__esModule",{value:!0});Fp.correctASTNodes=Fp.mapSchema=void 0;var yt=(we(),Me(je)),Rp=LA(),zt=Ml(),aae=pg(),J1=CA();function uae(e,t={}){let n=W1(H1(UA(z1(cae(UA(z1(e.getTypeMap(),e,J1.serializeInputValue),e,t,u=>(0,yt.isLeafType)(u)),e,t),e,J1.parseInputValue),e,t,u=>!(0,yt.isLeafType)(u)),e,t),e,t),r=e.getDirectives(),i=lae(r,e,t),{typeMap:s,directives:o}=(0,aae.rewireTypes)(n,i);return new yt.GraphQLSchema(K(k({},e.toConfig()),{query:(0,Rp.getObjectTypeFromTypeMap)(s,(0,Rp.getObjectTypeFromTypeMap)(n,e.getQueryType())),mutation:(0,Rp.getObjectTypeFromTypeMap)(s,(0,Rp.getObjectTypeFromTypeMap)(n,e.getMutationType())),subscription:(0,Rp.getObjectTypeFromTypeMap)(s,(0,Rp.getObjectTypeFromTypeMap)(n,e.getSubscriptionType())),types:Object.values(s),directives:o}))}Fp.mapSchema=uae;function UA(e,t,n,r=()=>!0){let i={};for(let s in e)if(!s.startsWith("__")){let o=e[s];if(o==null||!r(o)){i[s]=o;continue}let u=pae(t,n,s);if(u==null){i[s]=o;continue}let l=u(o,t);if(l===void 0){i[s]=o;continue}i[s]=l}return i}function cae(e,t,n){let r=yae(n);return r?UA(e,t,{[zt.MapperKind.ENUM_TYPE]:i=>{let s=i.toConfig(),o=s.values,u={};for(let l in o){let d=o[l],p=r(d,i.name,t,l);if(p===void 0)u[l]=d;else if(Array.isArray(p)){let[y,N]=p;u[y]=N===void 0?d:N}else p!==null&&(u[l]=p)}return tT(new yt.GraphQLEnumType(K(k({},s),{values:u})))}},i=>(0,yt.isEnumType)(i)):e}function z1(e,t,n){let r=W1(e,t,{[zt.MapperKind.ARGUMENT]:i=>{if(i.defaultValue===void 0)return i;let s=mg(e,i.type);if(s!=null)return K(k({},i),{defaultValue:n(s,i.defaultValue)})}});return H1(r,t,{[zt.MapperKind.INPUT_OBJECT_FIELD]:i=>{if(i.defaultValue===void 0)return i;let s=mg(r,i.type);if(s!=null)return K(k({},i),{defaultValue:n(s,i.defaultValue)})}})}function mg(e,t){if((0,yt.isListType)(t)){let n=mg(e,t.ofType);return n!=null?new yt.GraphQLList(n):null}else if((0,yt.isNonNullType)(t)){let n=mg(e,t.ofType);return n!=null?new yt.GraphQLNonNull(n):null}else if((0,yt.isNamedType)(t)){let n=e[t.name];return n!=null?n:null}return null}function H1(e,t,n){let r={};for(let i in e)if(!i.startsWith("__")){let s=e[i];if(!(0,yt.isObjectType)(s)&&!(0,yt.isInterfaceType)(s)&&!(0,yt.isInputObjectType)(s)){r[i]=s;continue}let o=mae(t,n,i);if(o==null){r[i]=s;continue}let u=s.toConfig(),l=u.fields,d={};for(let p in l){let y=l[p],N=o(y,p,i,t);if(N===void 0)d[p]=y;else if(Array.isArray(N)){let[I,O]=N;O.astNode!=null&&(O.astNode=K(k({},O.astNode),{name:K(k({},O.astNode.name),{value:I})})),d[I]=O===void 0?y:O}else N!==null&&(d[p]=N)}(0,yt.isObjectType)(s)?r[i]=tT(new yt.GraphQLObjectType(K(k({},u),{fields:d}))):(0,yt.isInterfaceType)(s)?r[i]=tT(new yt.GraphQLInterfaceType(K(k({},u),{fields:d}))):r[i]=tT(new yt.GraphQLInputObjectType(K(k({},u),{fields:d})))}return r}function W1(e,t,n){let r={};for(let i in e)if(!i.startsWith("__")){let s=e[i];if(!(0,yt.isObjectType)(s)&&!(0,yt.isInterfaceType)(s)){r[i]=s;continue}let o=hae(n);if(o==null){r[i]=s;continue}let u=s.toConfig(),l=u.fields,d={};for(let p in l){let y=l[p],N=y.args;if(N==null){d[p]=y;continue}let I=Object.keys(N);if(!I.length){d[p]=y;continue}let O={};for(let x of I){let j=N[x],Q=o(j,p,i,t);if(Q===void 0)O[x]=j;else if(Array.isArray(Q)){let[re,se]=Q;O[re]=se}else Q!==null&&(O[x]=Q)}d[p]=K(k({},y),{args:O})}(0,yt.isObjectType)(s)?r[i]=new yt.GraphQLObjectType(K(k({},u),{fields:d})):(0,yt.isInterfaceType)(s)?r[i]=new yt.GraphQLInterfaceType(K(k({},u),{fields:d})):r[i]=new yt.GraphQLInputObjectType(K(k({},u),{fields:d}))}return r}function lae(e,t,n){let r=Tae(n);if(r==null)return e.slice();let i=[];for(let s of e){let o=r(s,t);o===void 0?i.push(s):o!==null&&i.push(o)}return i}function dae(e,t){var i,s,o;let n=e.getType(t),r=[zt.MapperKind.TYPE];return(0,yt.isObjectType)(n)?(r.push(zt.MapperKind.COMPOSITE_TYPE,zt.MapperKind.OBJECT_TYPE),t===((i=e.getQueryType())==null?void 0:i.name)?r.push(zt.MapperKind.ROOT_OBJECT,zt.MapperKind.QUERY):t===((s=e.getMutationType())==null?void 0:s.name)?r.push(zt.MapperKind.ROOT_OBJECT,zt.MapperKind.MUTATION):t===((o=e.getSubscriptionType())==null?void 0:o.name)&&r.push(zt.MapperKind.ROOT_OBJECT,zt.MapperKind.SUBSCRIPTION)):(0,yt.isInputObjectType)(n)?r.push(zt.MapperKind.INPUT_OBJECT_TYPE):(0,yt.isInterfaceType)(n)?r.push(zt.MapperKind.COMPOSITE_TYPE,zt.MapperKind.ABSTRACT_TYPE,zt.MapperKind.INTERFACE_TYPE):(0,yt.isUnionType)(n)?r.push(zt.MapperKind.COMPOSITE_TYPE,zt.MapperKind.ABSTRACT_TYPE,zt.MapperKind.UNION_TYPE):(0,yt.isEnumType)(n)?r.push(zt.MapperKind.ENUM_TYPE):(0,yt.isScalarType)(n)&&r.push(zt.MapperKind.SCALAR_TYPE),r}function pae(e,t,n){let r=dae(e,n),i,s=[...r];for(;!i&&s.length>0;){let o=s.pop();i=t[o]}return i!=null?i:null}function fae(e,t){var i,s,o;let n=e.getType(t),r=[zt.MapperKind.FIELD];return(0,yt.isObjectType)(n)?(r.push(zt.MapperKind.COMPOSITE_FIELD,zt.MapperKind.OBJECT_FIELD),t===((i=e.getQueryType())==null?void 0:i.name)?r.push(zt.MapperKind.ROOT_FIELD,zt.MapperKind.QUERY_ROOT_FIELD):t===((s=e.getMutationType())==null?void 0:s.name)?r.push(zt.MapperKind.ROOT_FIELD,zt.MapperKind.MUTATION_ROOT_FIELD):t===((o=e.getSubscriptionType())==null?void 0:o.name)&&r.push(zt.MapperKind.ROOT_FIELD,zt.MapperKind.SUBSCRIPTION_ROOT_FIELD)):(0,yt.isInterfaceType)(n)?r.push(zt.MapperKind.COMPOSITE_FIELD,zt.MapperKind.INTERFACE_FIELD):(0,yt.isInputObjectType)(n)&&r.push(zt.MapperKind.INPUT_OBJECT_FIELD),r}function mae(e,t,n){let r=fae(e,n),i,s=[...r];for(;!i&&s.length>0;){let o=s.pop();i=t[o]}return i!=null?i:null}function hae(e){let t=e[zt.MapperKind.ARGUMENT];return t!=null?t:null}function Tae(e){let t=e[zt.MapperKind.DIRECTIVE];return t!=null?t:null}function yae(e){let t=e[zt.MapperKind.ENUM_VALUE];return t!=null?t:null}function tT(e){if((0,yt.isObjectType)(e)){let t=e.toConfig();if(t.astNode!=null){let n=[];for(let r in t.fields){let i=t.fields[r];i.astNode!=null&&n.push(i.astNode)}t.astNode=K(k({},t.astNode),{kind:yt.Kind.OBJECT_TYPE_DEFINITION,fields:n})}return t.extensionASTNodes!=null&&(t.extensionASTNodes=t.extensionASTNodes.map(n=>K(k({},n),{kind:yt.Kind.OBJECT_TYPE_EXTENSION,fields:void 0}))),new yt.GraphQLObjectType(t)}else if((0,yt.isInterfaceType)(e)){let t=e.toConfig();if(t.astNode!=null){let n=[];for(let r in t.fields){let i=t.fields[r];i.astNode!=null&&n.push(i.astNode)}t.astNode=K(k({},t.astNode),{kind:yt.Kind.INTERFACE_TYPE_DEFINITION,fields:n})}return t.extensionASTNodes!=null&&(t.extensionASTNodes=t.extensionASTNodes.map(n=>K(k({},n),{kind:yt.Kind.INTERFACE_TYPE_EXTENSION,fields:void 0}))),new yt.GraphQLInterfaceType(t)}else if((0,yt.isInputObjectType)(e)){let t=e.toConfig();if(t.astNode!=null){let n=[];for(let r in t.fields){let i=t.fields[r];i.astNode!=null&&n.push(i.astNode)}t.astNode=K(k({},t.astNode),{kind:yt.Kind.INPUT_OBJECT_TYPE_DEFINITION,fields:n})}return t.extensionASTNodes!=null&&(t.extensionASTNodes=t.extensionASTNodes.map(n=>K(k({},n),{kind:yt.Kind.INPUT_OBJECT_TYPE_EXTENSION,fields:void 0}))),new yt.GraphQLInputObjectType(t)}else if((0,yt.isEnumType)(e)){let t=e.toConfig();if(t.astNode!=null){let n=[];for(let r in t.values){let i=t.values[r];i.astNode!=null&&n.push(i.astNode)}t.astNode=K(k({},t.astNode),{values:n})}return t.extensionASTNodes!=null&&(t.extensionASTNodes=t.extensionASTNodes.map(n=>K(k({},n),{values:void 0}))),new yt.GraphQLEnumType(t)}else return e}Fp.correctASTNodes=tT});var X1=V(Tg=>{"use strict";m();T();h();Object.defineProperty(Tg,"__esModule",{value:!0});Tg.filterSchema=void 0;var hg=(we(),Me(je)),Ga=Ml(),Nae=wp();function Eae({schema:e,typeFilter:t=()=>!0,fieldFilter:n=void 0,rootFieldFilter:r=void 0,objectFieldFilter:i=void 0,interfaceFieldFilter:s=void 0,inputObjectFieldFilter:o=void 0,argumentFilter:u=void 0}){return(0,Nae.mapSchema)(e,{[Ga.MapperKind.QUERY]:d=>MA(d,"Query",r,u),[Ga.MapperKind.MUTATION]:d=>MA(d,"Mutation",r,u),[Ga.MapperKind.SUBSCRIPTION]:d=>MA(d,"Subscription",r,u),[Ga.MapperKind.OBJECT_TYPE]:d=>t(d.name,d)?BA(hg.GraphQLObjectType,d,i||n,u):null,[Ga.MapperKind.INTERFACE_TYPE]:d=>t(d.name,d)?BA(hg.GraphQLInterfaceType,d,s||n,u):null,[Ga.MapperKind.INPUT_OBJECT_TYPE]:d=>t(d.name,d)?BA(hg.GraphQLInputObjectType,d,o||n):null,[Ga.MapperKind.UNION_TYPE]:d=>t(d.name,d)?void 0:null,[Ga.MapperKind.ENUM_TYPE]:d=>t(d.name,d)?void 0:null,[Ga.MapperKind.SCALAR_TYPE]:d=>t(d.name,d)?void 0:null})}Tg.filterSchema=Eae;function MA(e,t,n,r){if(n||r){let i=e.toConfig();for(let s in i.fields){let o=i.fields[s];if(n&&!n(t,s,i.fields[s]))delete i.fields[s];else if(r&&o.args)for(let u in o.args)r(t,s,u,o.args[u])||delete o.args[u]}return new hg.GraphQLObjectType(i)}return e}function BA(e,t,n,r){if(n||r){let i=t.toConfig();for(let s in i.fields){let o=i.fields[s];if(n&&!n(t.name,s,i.fields[s]))delete i.fields[s];else if(r&&"args"in o)for(let u in o.args)r(t.name,s,u,o.args[u])||delete o.args[u]}return new e(i)}}});var e$=V(Lp=>{"use strict";m();T();h();Object.defineProperty(Lp,"__esModule",{value:!0});Lp.healTypes=Lp.healSchema=void 0;var ia=(we(),Me(je));function gae(e){return Z1(e.getTypeMap(),e.getDirectives()),e}Lp.healSchema=gae;function Z1(e,t){let n=Object.create(null);for(let d in e){let p=e[d];if(p==null||d.startsWith("__"))continue;let y=p.name;if(!y.startsWith("__")){if(n[y]!=null){console.warn(`Duplicate schema type name ${y} found; keeping the existing one found in the schema`);continue}n[y]=p}}for(let d in n){let p=n[d];e[d]=p}for(let d of t)d.args=d.args.filter(p=>(p.type=l(p.type),p.type!==null));for(let d in e){let p=e[d];!d.startsWith("__")&&d in n&&p!=null&&r(p)}for(let d in e)!d.startsWith("__")&&!(d in n)&&delete e[d];function r(d){if((0,ia.isObjectType)(d)){i(d),s(d);return}else if((0,ia.isInterfaceType)(d)){i(d),"getInterfaces"in d&&s(d);return}else if((0,ia.isUnionType)(d)){u(d);return}else if((0,ia.isInputObjectType)(d)){o(d);return}else if((0,ia.isLeafType)(d))return;throw new Error(`Unexpected schema type: ${d}`)}function i(d){let p=d.getFields();for(let[y,N]of Object.entries(p))N.args.map(I=>(I.type=l(I.type),I.type===null?null:I)).filter(Boolean),N.type=l(N.type),N.type===null&&delete p[y]}function s(d){if("getInterfaces"in d){let p=d.getInterfaces();p.push(...p.splice(0).map(y=>l(y)).filter(Boolean))}}function o(d){let p=d.getFields();for(let[y,N]of Object.entries(p))N.type=l(N.type),N.type===null&&delete p[y]}function u(d){let p=d.getTypes();p.push(...p.splice(0).map(y=>l(y)).filter(Boolean))}function l(d){if((0,ia.isListType)(d)){let p=l(d.ofType);return p!=null?new ia.GraphQLList(p):null}else if((0,ia.isNonNullType)(d)){let p=l(d.ofType);return p!=null?new ia.GraphQLNonNull(p):null}else if((0,ia.isNamedType)(d)){let p=e[d.name];if(p&&d!==p)return p}return d}}Lp.healTypes=Z1});var t$=V(yg=>{"use strict";m();T();h();Object.defineProperty(yg,"__esModule",{value:!0});yg.getResolversFromSchema=void 0;var Bl=(we(),Me(je));function Iae(e,t){var i,s;let n=Object.create(null),r=e.getTypeMap();for(let o in r)if(!o.startsWith("__")){let u=r[o];if((0,Bl.isScalarType)(u)){if(!(0,Bl.isSpecifiedScalarType)(u)){let l=u.toConfig();delete l.astNode,n[o]=new Bl.GraphQLScalarType(l)}}else if((0,Bl.isEnumType)(u)){n[o]={};let l=u.getValues();for(let d of l)n[o][d.name]=d.value}else if((0,Bl.isInterfaceType)(u))u.resolveType!=null&&(n[o]={__resolveType:u.resolveType});else if((0,Bl.isUnionType)(u))u.resolveType!=null&&(n[o]={__resolveType:u.resolveType});else if((0,Bl.isObjectType)(u)){n[o]={},u.isTypeOf!=null&&(n[o].__isTypeOf=u.isTypeOf);let l=u.getFields();for(let d in l){let p=l[d];if(p.subscribe!=null&&(n[o][d]=n[o][d]||{},n[o][d].subscribe=p.subscribe),p.resolve!=null&&((i=p.resolve)==null?void 0:i.name)!=="defaultFieldResolver"){switch((s=p.resolve)==null?void 0:s.name){case"defaultMergedResolver":if(!t)continue;break;case"defaultFieldResolver":continue}n[o][d]=n[o][d]||{},n[o][d].resolve=p.resolve}}}}return n}yg.getResolversFromSchema=Iae});var r$=V(Ng=>{"use strict";m();T();h();Object.defineProperty(Ng,"__esModule",{value:!0});Ng.forEachField=void 0;var n$=(we(),Me(je));function vae(e,t){let n=e.getTypeMap();for(let r in n){let i=n[r];if(!(0,n$.getNamedType)(i).name.startsWith("__")&&(0,n$.isObjectType)(i)){let s=i.getFields();for(let o in s){let u=s[o];t(u,r,o)}}}}Ng.forEachField=vae});var i$=V(Eg=>{"use strict";m();T();h();Object.defineProperty(Eg,"__esModule",{value:!0});Eg.forEachDefaultValue=void 0;var VA=(we(),Me(je));function _ae(e,t){let n=e.getTypeMap();for(let r in n){let i=n[r];if(!(0,VA.getNamedType)(i).name.startsWith("__")){if((0,VA.isObjectType)(i)){let s=i.getFields();for(let o in s){let u=s[o];for(let l of u.args)l.defaultValue=t(l.type,l.defaultValue)}}else if((0,VA.isInputObjectType)(i)){let s=i.getFields();for(let o in s){let u=s[o];u.defaultValue=t(u.type,u.defaultValue)}}}}}Eg.forEachDefaultValue=_ae});var qA=V(gg=>{"use strict";m();T();h();Object.defineProperty(gg,"__esModule",{value:!0});gg.addTypes=void 0;var jA=(we(),Me(je)),$A=LA(),bae=pg();function Oae(e,t){let n=e.toConfig(),r={};for(let u of n.types)r[u.name]=u;let i={};for(let u of n.directives)i[u.name]=u;for(let u of t)(0,jA.isNamedType)(u)?r[u.name]=u:(0,jA.isDirective)(u)&&(i[u.name]=u);let{typeMap:s,directives:o}=(0,bae.rewireTypes)(r,Object.values(i));return new jA.GraphQLSchema(K(k({},n),{query:(0,$A.getObjectTypeFromTypeMap)(s,e.getQueryType()),mutation:(0,$A.getObjectTypeFromTypeMap)(s,e.getMutationType()),subscription:(0,$A.getObjectTypeFromTypeMap)(s,e.getSubscriptionType()),types:Object.values(s),directives:o}))}gg.addTypes=Oae});var o$=V(vg=>{"use strict";m();T();h();Object.defineProperty(vg,"__esModule",{value:!0});vg.pruneSchema=void 0;var kr=(we(),Me(je)),Sae=yA(),Dae=Ml(),Aae=wp(),Rae=zh();function Fae(e,t={}){let{skipEmptyCompositeTypePruning:n,skipEmptyUnionPruning:r,skipPruning:i,skipUnimplementedInterfacesPruning:s,skipUnusedTypesPruning:o}=t,u=[],l=e;do{let d=wae(l);if(i){let p=[];for(let y in l.getTypeMap()){if(y.startsWith("__"))continue;let N=l.getType(y);N&&i(N)&&p.push(y)}d=s$(p,l,d)}u=[],l=(0,Aae.mapSchema)(l,{[Dae.MapperKind.TYPE]:p=>!d.has(p.name)&&!(0,kr.isSpecifiedScalarType)(p)?((0,kr.isUnionType)(p)||(0,kr.isInputObjectType)(p)||(0,kr.isInterfaceType)(p)||(0,kr.isObjectType)(p)||(0,kr.isScalarType)(p))&&(o||(0,kr.isUnionType)(p)&&r&&!Object.keys(p.getTypes()).length||((0,kr.isInputObjectType)(p)||(0,kr.isInterfaceType)(p)||(0,kr.isObjectType)(p))&&n&&!Object.keys(p.getFields()).length||(0,kr.isInterfaceType)(p)&&s)?p:(u.push(p.name),d.delete(p.name),null):p})}while(u.length);return l}vg.pruneSchema=Fae;function wae(e){let t=[];for(let n of(0,Rae.getRootTypes)(e))t.push(n.name);return s$(t,e)}function s$(e,t,n=new Set){let r=new Map;for(;e.length;){let i=e.pop();if(n.has(i)&&r[i]!==!0)continue;let s=t.getType(i);if(s){if((0,kr.isUnionType)(s)&&e.push(...s.getTypes().map(o=>o.name)),(0,kr.isInterfaceType)(s)&&r[i]===!0&&(e.push(...(0,Sae.getImplementingTypes)(s.name,t)),r[i]=!1),(0,kr.isEnumType)(s)&&e.push(...s.getValues().flatMap(o=>o.astNode?Ig(t,o.astNode):[])),"getInterfaces"in s&&e.push(...s.getInterfaces().map(o=>o.name)),"getFields"in s){let o=s.getFields(),u=Object.entries(o);if(!u.length)continue;for(let[,l]of u){(0,kr.isObjectType)(s)&&e.push(...l.args.flatMap(p=>{let y=[(0,kr.getNamedType)(p.type).name];return p.astNode&&y.push(...Ig(t,p.astNode)),y}));let d=(0,kr.getNamedType)(l.type);e.push(d.name),l.astNode&&e.push(...Ig(t,l.astNode)),(0,kr.isInterfaceType)(d)&&!(d.name in r)&&(r[d.name]=!0)}}s.astNode&&e.push(...Ig(t,s.astNode)),n.add(i)}}return n}function Ig(e,t){var n;return((n=t.directives)!=null?n:[]).flatMap(r=>{var i,s;return(s=(i=e.getDirective(r.name.value))==null?void 0:i.args.map(o=>(0,kr.getNamedType)(o.type).name))!=null?s:[]})}});var u$=V(_g=>{"use strict";m();T();h();Object.defineProperty(_g,"__esModule",{value:!0});_g.mergeDeep=void 0;var Lae=Gh();function a$(e,t=!1,n=!1){let r=e[0]||{},i={};t&&Object.setPrototypeOf(i,Object.create(Object.getPrototypeOf(r)));for(let s of e)if(KA(r)&&KA(s)){if(t){let o=Object.getPrototypeOf(i),u=Object.getPrototypeOf(s);if(u)for(let l of Object.getOwnPropertyNames(u)){let d=Object.getOwnPropertyDescriptor(u,l);(0,Lae.isSome)(d)&&Object.defineProperty(o,l,d)}}for(let o in s)KA(s[o])?o in i?i[o]=a$([i[o],s[o]],t,n):Object.assign(i,{[o]:s[o]}):n&&Array.isArray(i[o])?Array.isArray(s[o])?i[o].push(...s[o]):i[o].push(s[o]):Object.assign(i,{[o]:s[o]})}else if(n&&Array.isArray(r))Array.isArray(s)?r.push(...s):r.push(s);else if(n&&Array.isArray(s))return[r,...s];return i}_g.mergeDeep=a$;function KA(e){return e&&typeof e=="object"&&!Array.isArray(e)}});var c$=V(bg=>{"use strict";m();T();h();Object.defineProperty(bg,"__esModule",{value:!0});bg.parseSelectionSet=void 0;var Pae=(we(),Me(je));function kae(e,t){return(0,Pae.parse)(e,t).definitions[0].selectionSet}bg.parseSelectionSet=kae});var l$=V(Og=>{"use strict";m();T();h();Object.defineProperty(Og,"__esModule",{value:!0});Og.getResponseKeyFromInfo=void 0;function xae(e){return e.fieldNodes[0].alias!=null?e.fieldNodes[0].alias.value:e.fieldName}Og.getResponseKeyFromInfo=xae});var d$=V(sa=>{"use strict";m();T();h();Object.defineProperty(sa,"__esModule",{value:!0});sa.modifyObjectFields=sa.selectObjectFields=sa.removeObjectFields=sa.appendObjectFields=void 0;var Sg=(we(),Me(je)),Cae=qA(),Dg=Ml(),Vl=wp();function Uae(e,t,n){return e.getType(t)==null?(0,Cae.addTypes)(e,[new Sg.GraphQLObjectType({name:t,fields:n})]):(0,Vl.mapSchema)(e,{[Dg.MapperKind.OBJECT_TYPE]:r=>{if(r.name===t){let i=r.toConfig(),s=i.fields,o={};for(let u in s)o[u]=s[u];for(let u in n)o[u]=n[u];return(0,Vl.correctASTNodes)(new Sg.GraphQLObjectType(K(k({},i),{fields:o})))}}})}sa.appendObjectFields=Uae;function Mae(e,t,n){let r={};return[(0,Vl.mapSchema)(e,{[Dg.MapperKind.OBJECT_TYPE]:s=>{if(s.name===t){let o=s.toConfig(),u=o.fields,l={};for(let d in u){let p=u[d];n(d,p)?r[d]=p:l[d]=p}return(0,Vl.correctASTNodes)(new Sg.GraphQLObjectType(K(k({},o),{fields:l})))}}}),r]}sa.removeObjectFields=Mae;function Bae(e,t,n){let r={};return(0,Vl.mapSchema)(e,{[Dg.MapperKind.OBJECT_TYPE]:i=>{if(i.name===t){let o=i.toConfig().fields;for(let u in o){let l=o[u];n(u,l)&&(r[u]=l)}}}}),r}sa.selectObjectFields=Bae;function Vae(e,t,n,r){let i={};return[(0,Vl.mapSchema)(e,{[Dg.MapperKind.OBJECT_TYPE]:o=>{if(o.name===t){let u=o.toConfig(),l=u.fields,d={};for(let p in l){let y=l[p];n(p,y)?i[p]=y:d[p]=y}for(let p in r){let y=r[p];d[p]=y}return(0,Vl.correctASTNodes)(new Sg.GraphQLObjectType(K(k({},u),{fields:d})))}}}),i]}sa.modifyObjectFields=Vae});var p$=V(Ag=>{"use strict";m();T();h();Object.defineProperty(Ag,"__esModule",{value:!0});Ag.renameType=void 0;var Qs=(we(),Me(je));function jae(e,t){if((0,Qs.isObjectType)(e))return new Qs.GraphQLObjectType(K(k({},e.toConfig()),{name:t,astNode:e.astNode==null?e.astNode:K(k({},e.astNode),{name:K(k({},e.astNode.name),{value:t})}),extensionASTNodes:e.extensionASTNodes==null?e.extensionASTNodes:e.extensionASTNodes.map(n=>K(k({},n),{name:K(k({},n.name),{value:t})}))}));if((0,Qs.isInterfaceType)(e))return new Qs.GraphQLInterfaceType(K(k({},e.toConfig()),{name:t,astNode:e.astNode==null?e.astNode:K(k({},e.astNode),{name:K(k({},e.astNode.name),{value:t})}),extensionASTNodes:e.extensionASTNodes==null?e.extensionASTNodes:e.extensionASTNodes.map(n=>K(k({},n),{name:K(k({},n.name),{value:t})}))}));if((0,Qs.isUnionType)(e))return new Qs.GraphQLUnionType(K(k({},e.toConfig()),{name:t,astNode:e.astNode==null?e.astNode:K(k({},e.astNode),{name:K(k({},e.astNode.name),{value:t})}),extensionASTNodes:e.extensionASTNodes==null?e.extensionASTNodes:e.extensionASTNodes.map(n=>K(k({},n),{name:K(k({},n.name),{value:t})}))}));if((0,Qs.isInputObjectType)(e))return new Qs.GraphQLInputObjectType(K(k({},e.toConfig()),{name:t,astNode:e.astNode==null?e.astNode:K(k({},e.astNode),{name:K(k({},e.astNode.name),{value:t})}),extensionASTNodes:e.extensionASTNodes==null?e.extensionASTNodes:e.extensionASTNodes.map(n=>K(k({},n),{name:K(k({},n.name),{value:t})}))}));if((0,Qs.isEnumType)(e))return new Qs.GraphQLEnumType(K(k({},e.toConfig()),{name:t,astNode:e.astNode==null?e.astNode:K(k({},e.astNode),{name:K(k({},e.astNode.name),{value:t})}),extensionASTNodes:e.extensionASTNodes==null?e.extensionASTNodes:e.extensionASTNodes.map(n=>K(k({},n),{name:K(k({},n.name),{value:t})}))}));if((0,Qs.isScalarType)(e))return new Qs.GraphQLScalarType(K(k({},e.toConfig()),{name:t,astNode:e.astNode==null?e.astNode:K(k({},e.astNode),{name:K(k({},e.astNode.name),{value:t})}),extensionASTNodes:e.extensionASTNodes==null?e.extensionASTNodes:e.extensionASTNodes.map(n=>K(k({},n),{name:K(k({},n.name),{value:t})}))}));throw new Error(`Unknown type ${e}.`)}Ag.renameType=jae});var h$=V(Rg=>{"use strict";m();T();h();Object.defineProperty(Rg,"__esModule",{value:!0});Rg.mapAsyncIterator=void 0;var $ae=Yh();function qae(e,t,n,r){let i,s,o;r&&(o=d=>{let p=r();return(0,$ae.isPromise)(p)?p.then(()=>d):d}),typeof e.return=="function"&&(i=e.return,s=d=>{let p=()=>Promise.reject(d);return i.call(e).then(p,p)});function u(d){return d.done?o?o(d):d:f$(d.value,t).then(m$,s)}let l;if(n){let d=n;l=p=>f$(p,d).then(m$,s)}return{next(){return e.next().then(u,l)},return(){let d=i?i.call(e).then(u,l):Promise.resolve({value:void 0,done:!0});return o?d.then(o):d},throw(d){return typeof e.throw=="function"?e.throw(d).then(u,l):Promise.reject(d).catch(s)},[Symbol.asyncIterator](){return this}}}Rg.mapAsyncIterator=qae;function f$(e,t){return new Promise(n=>n(t(e)))}function m$(e){return{value:e,done:!1}}});var T$=V(Pp=>{"use strict";m();T();h();Object.defineProperty(Pp,"__esModule",{value:!0});Pp.createVariableNameGenerator=Pp.updateArgument=void 0;var jl=(we(),Me(je)),Kae=EA();function Gae(e,t,n,r,i,s,o){if(e[r]={kind:jl.Kind.ARGUMENT,name:{kind:jl.Kind.NAME,value:r},value:{kind:jl.Kind.VARIABLE,name:{kind:jl.Kind.NAME,value:i}}},t[i]={kind:jl.Kind.VARIABLE_DEFINITION,variable:{kind:jl.Kind.VARIABLE,name:{kind:jl.Kind.NAME,value:i}},type:(0,Kae.astFromType)(s)},o!==void 0){n[i]=o;return}i in n&&delete n[i]}Pp.updateArgument=Gae;function Qae(e){let t=0;return n=>{let r;do r=`_v${(t++).toString()}_${n}`;while(r in e);return r}}Pp.createVariableNameGenerator=Qae});var y$=V(Fg=>{"use strict";m();T();h();Object.defineProperty(Fg,"__esModule",{value:!0});Fg.implementsAbstractType=void 0;var GA=(we(),Me(je));function Yae(e,t,n){return n==null||t==null?!1:t===n?!0:(0,GA.isCompositeType)(t)&&(0,GA.isCompositeType)(n)?(0,GA.doTypesOverlap)(e,t,n):!1}Fg.implementsAbstractType=Yae});var N$=V(wg=>{"use strict";m();T();h();Object.defineProperty(wg,"__esModule",{value:!0});wg.observableToAsyncIterable=void 0;function Jae(e){let t=[],n=[],r=!0,i=p=>{t.length!==0?t.shift()({value:p,done:!1}):n.push({value:p,done:!1})},s=p=>{t.length!==0?t.shift()({value:{errors:[p]},done:!1}):n.push({value:{errors:[p]},done:!1})},o=()=>{t.length!==0?t.shift()({done:!0}):n.push({done:!0})},u=()=>new Promise(p=>{if(n.length!==0){let y=n.shift();p(y)}else t.push(p)}),l=e.subscribe({next(p){i(p)},error(p){s(p)},complete(){o()}}),d=()=>{if(r){r=!1,l.unsubscribe();for(let p of t)p({value:void 0,done:!0});t.length=0,n.length=0}};return{next(){return r?u():this.return()},return(){return d(),Promise.resolve({value:void 0,done:!0})},throw(p){return d(),Promise.reject(p)},[Symbol.asyncIterator](){return this}}}wg.observableToAsyncIterable=Jae});var E$=V(Lg=>{"use strict";m();T();h();Object.defineProperty(Lg,"__esModule",{value:!0});Lg.AccumulatorMap=void 0;var QA=class extends Map{get[Symbol.toStringTag](){return"AccumulatorMap"}add(t,n){let r=this.get(t);r===void 0?this.set(t,[n]):r.push(n)}};Lg.AccumulatorMap=QA});var YA=V(kp=>{"use strict";m();T();h();Object.defineProperty(kp,"__esModule",{value:!0});kp.GraphQLStreamDirective=kp.GraphQLDeferDirective=void 0;var Ys=(we(),Me(je));kp.GraphQLDeferDirective=new Ys.GraphQLDirective({name:"defer",description:"Directs the executor to defer this fragment when the `if` argument is true or undefined.",locations:[Ys.DirectiveLocation.FRAGMENT_SPREAD,Ys.DirectiveLocation.INLINE_FRAGMENT],args:{if:{type:new Ys.GraphQLNonNull(Ys.GraphQLBoolean),description:"Deferred when true or undefined.",defaultValue:!0},label:{type:Ys.GraphQLString,description:"Unique name"}}});kp.GraphQLStreamDirective=new Ys.GraphQLDirective({name:"stream",description:"Directs the executor to stream plural fields when the `if` argument is true or undefined.",locations:[Ys.DirectiveLocation.FIELD],args:{if:{type:new Ys.GraphQLNonNull(Ys.GraphQLBoolean),description:"Stream when true or undefined.",defaultValue:!0},label:{type:Ys.GraphQLString,description:"Unique name"},initialCount:{defaultValue:0,type:Ys.GraphQLInt,description:"Number of items to return immediately"}}})});var HA=V(Ki=>{"use strict";m();T();h();Object.defineProperty(Ki,"__esModule",{value:!0});Ki.collectSubFields=Ki.getDeferValues=Ki.getFieldEntryKey=Ki.doesFragmentConditionMatch=Ki.shouldIncludeNode=Ki.collectFields=void 0;var oa=(we(),Me(je)),kg=E$(),zae=YA(),Hae=Op();function xp(e,t,n,r,i,s,o,u){for(let l of i.selections)switch(l.kind){case oa.Kind.FIELD:{if(!Pg(n,l))continue;s.add(g$(l),l);break}case oa.Kind.INLINE_FRAGMENT:{if(!Pg(n,l)||!JA(e,l,r))continue;let d=zA(n,l);if(d){let p=new kg.AccumulatorMap;xp(e,t,n,r,l.selectionSet,p,o,u),o.push({label:d.label,fields:p})}else xp(e,t,n,r,l.selectionSet,s,o,u);break}case oa.Kind.FRAGMENT_SPREAD:{let d=l.name.value;if(!Pg(n,l))continue;let p=zA(n,l);if(u.has(d)&&!p)continue;let y=t[d];if(!y||!JA(e,y,r))continue;if(p||u.add(d),p){let N=new kg.AccumulatorMap;xp(e,t,n,r,y.selectionSet,N,o,u),o.push({label:p.label,fields:N})}else xp(e,t,n,r,y.selectionSet,s,o,u);break}}}function Wae(e,t,n,r,i){let s=new kg.AccumulatorMap,o=[];return xp(e,t,n,r,i,s,o,new Set),{fields:s,patches:o}}Ki.collectFields=Wae;function Pg(e,t){let n=(0,oa.getDirectiveValues)(oa.GraphQLSkipDirective,t,e);if((n==null?void 0:n.if)===!0)return!1;let r=(0,oa.getDirectiveValues)(oa.GraphQLIncludeDirective,t,e);return(r==null?void 0:r.if)!==!1}Ki.shouldIncludeNode=Pg;function JA(e,t,n){let r=t.typeCondition;if(!r)return!0;let i=(0,oa.typeFromAST)(e,r);return i===n?!0:(0,oa.isAbstractType)(i)?e.getPossibleTypes(i).includes(n):!1}Ki.doesFragmentConditionMatch=JA;function g$(e){return e.alias?e.alias.value:e.name.value}Ki.getFieldEntryKey=g$;function zA(e,t){let n=(0,oa.getDirectiveValues)(zae.GraphQLDeferDirective,t,e);if(n&&n.if!==!1)return{label:typeof n.label=="string"?n.label:void 0}}Ki.getDeferValues=zA;Ki.collectSubFields=(0,Hae.memoize5)(function(t,n,r,i,s){let o=new kg.AccumulatorMap,u=new Set,l=[],d={fields:o,patches:l};for(let p of s)p.selectionSet&&xp(t,n,r,i,p.selectionSet,o,l,u);return d})});var WA=V(Cp=>{"use strict";m();T();h();Object.defineProperty(Cp,"__esModule",{value:!0});Cp.getOperationASTFromRequest=Cp.getOperationASTFromDocument=void 0;var Xae=(we(),Me(je)),Zae=Op();function I$(e,t){let n=(0,Xae.getOperationAST)(e,t);if(!n)throw new Error(`Cannot infer operation ${t||""}`);return n}Cp.getOperationASTFromDocument=I$;Cp.getOperationASTFromRequest=(0,Zae.memoize1)(function(t){return I$(t.document,t.operationName)})});var b$=V(Sc=>{"use strict";m();T();h();Object.defineProperty(Sc,"__esModule",{value:!0});Sc.visitResult=Sc.visitErrors=Sc.visitData=void 0;var Oc=(we(),Me(je)),XA=HA(),eue=WA();function ZA(e,t,n){if(Array.isArray(e))return e.map(r=>ZA(r,t,n));if(typeof e=="object"){let r=t!=null?t(e):e;if(r!=null)for(let i in r){let s=r[i];Object.defineProperty(r,i,{value:ZA(s,t,n)})}return n!=null?n(r):r}return e}Sc.visitData=ZA;function tue(e,t){return e.map(n=>t(n))}Sc.visitErrors=tue;function nue(e,t,n,r,i){let s=t.document.definitions.reduce((N,I)=>(I.kind===Oc.Kind.FRAGMENT_DEFINITION&&(N[I.name.value]=I),N),{}),o=t.variables||{},u={segmentInfoMap:new Map,unpathedErrors:new Set},l=e.data,d=e.errors,p=d!=null&&i!=null,y=(0,eue.getOperationASTFromRequest)(t);return l!=null&&y!=null&&(e.data=sue(l,y,n,s,o,r,p?d:void 0,u)),d!=null&&i&&(e.errors=rue(d,i,u)),e}Sc.visitResult=nue;function rue(e,t,n){let r=n.segmentInfoMap,i=n.unpathedErrors,s=t.__unpathed;return e.map(o=>{let u=r.get(o),l=u==null?o:u.reduceRight((d,p)=>{let y=p.type.name,N=t[y];if(N==null)return d;let I=N[p.fieldName];return I==null?d:I(d,p.pathIndex)},o);return s&&i.has(o)?s(l):l})}function iue(e,t){switch(t.operation){case"query":return e.getQueryType();case"mutation":return e.getMutationType();case"subscription":return e.getSubscriptionType()}}function sue(e,t,n,r,i,s,o,u){let l=iue(n,t),{fields:d}=(0,XA.collectFields)(n,r,i,l,t.selectionSet);return eR(e,l,d,n,r,i,s,0,o,u)}function eR(e,t,n,r,i,s,o,u,l,d){var re;let p=t.getFields(),y=o==null?void 0:o[t.name],N=y==null?void 0:y.__enter,I=N!=null?N(e):e,O,x=null;if(l!=null){O=aue(l,u),x=O.errorMap;for(let se of O.unpathedErrors)d.unpathedErrors.add(se)}for(let[se,pe]of n){let ye=pe[0].name.value,Ce=(re=p[ye])==null?void 0:re.type;if(Ce==null)switch(ye){case"__typename":Ce=Oc.TypeNameMetaFieldDef.type;break;case"__schema":Ce=Oc.SchemaMetaFieldDef.type;break;case"__type":Ce=Oc.TypeMetaFieldDef.type;break}let ht=u+1,xt;x&&(xt=x[se],xt!=null&&delete x[se],uue(t,ye,ht,xt,d));let B=_$(e[se],Ce,pe,r,i,s,o,ht,xt,d);v$(I,se,B,y,ye)}let j=I.__typename;if(j!=null&&v$(I,"__typename",j,y,"__typename"),x)for(let se in x){let pe=x[se];for(let ye of pe)d.unpathedErrors.add(ye)}let Q=y==null?void 0:y.__leave;return Q!=null?Q(I):I}function v$(e,t,n,r,i){if(r==null){e[t]=n;return}let s=r[i];if(s==null){e[t]=n;return}let o=s(n);if(o===void 0){delete e[t];return}e[t]=o}function oue(e,t,n,r,i,s,o,u,l,d){return e.map(p=>_$(p,t,n,r,i,s,o,u+1,l,d))}function _$(e,t,n,r,i,s,o,u,l=[],d){if(e==null)return e;let p=(0,Oc.getNullableType)(t);if((0,Oc.isListType)(p))return oue(e,p.ofType,n,r,i,s,o,u,l,d);if((0,Oc.isAbstractType)(p)){let I=r.getType(e.__typename),{fields:O}=(0,XA.collectSubFields)(r,i,s,I,n);return eR(e,I,O,r,i,s,o,u,l,d)}else if((0,Oc.isObjectType)(p)){let{fields:I}=(0,XA.collectSubFields)(r,i,s,p,n);return eR(e,p,I,r,i,s,o,u,l,d)}let y=o==null?void 0:o[p.name];if(y==null)return e;let N=y(e);return N===void 0?e:N}function aue(e,t){var i;let n=Object.create(null),r=new Set;for(let s of e){let o=(i=s.path)==null?void 0:i[t];if(o==null){r.add(s);continue}o in n?n[o].push(s):n[o]=[s]}return{errorMap:n,unpathedErrors:r}}function uue(e,t,n,r=[],i){for(let s of r){let o={type:e,fieldName:t,pathIndex:n},u=i.segmentInfoMap.get(s);u==null?i.segmentInfoMap.set(s,[o]):u.push(o)}}});var O$=V(xg=>{"use strict";m();T();h();Object.defineProperty(xg,"__esModule",{value:!0});xg.valueMatchesCriteria=void 0;function tR(e,t){return e==null?e===t:Array.isArray(e)?Array.isArray(t)&&e.every((n,r)=>tR(n,t[r])):typeof e=="object"?typeof t=="object"&&t&&Object.keys(t).every(n=>tR(e[n],t[n])):t instanceof RegExp?t.test(e):e===t}xg.valueMatchesCriteria=tR});var S$=V(Cg=>{"use strict";m();T();h();Object.defineProperty(Cg,"__esModule",{value:!0});Cg.isAsyncIterable=void 0;function cue(e){return(e==null?void 0:e[Symbol.asyncIterator])!=null}Cg.isAsyncIterable=cue});var D$=V(Ug=>{"use strict";m();T();h();Object.defineProperty(Ug,"__esModule",{value:!0});Ug.isDocumentNode=void 0;var lue=(we(),Me(je));function due(e){return e&&typeof e=="object"&&"kind"in e&&e.kind===lue.Kind.DOCUMENT}Ug.isDocumentNode=due});var A$=V(()=>{"use strict";m();T();h()});var L$=V(Dc=>{"use strict";m();T();h();Object.defineProperty(Dc,"__esModule",{value:!0});Dc.withCancel=Dc.getAsyncIterableWithCancel=Dc.getAsyncIteratorWithCancel=void 0;var pue=Op();function fue(e){return yr(this,null,function*(){return{value:e,done:!0}})}var R$=(0,pue.memoize2)(function(t,n){return function(...i){return Reflect.apply(n,t,i)}});function F$(e,t){return new Proxy(e,{has(n,r){return r==="return"?!0:Reflect.has(n,r)},get(n,r,i){let s=Reflect.get(n,r,i);if(r==="return"){let o=s||fue;return function(l){return yr(this,null,function*(){let d=yield t(l);return Reflect.apply(o,n,[d])})}}else if(typeof s=="function")return R$(n,s);return s}})}Dc.getAsyncIteratorWithCancel=F$;function w$(e,t){return new Proxy(e,{get(n,r,i){let s=Reflect.get(n,r,i);return Symbol.asyncIterator===r?function(){let u=Reflect.apply(s,n,[]);return F$(u,t)}:typeof s=="function"?R$(n,s):s}})}Dc.getAsyncIterableWithCancel=w$;Dc.withCancel=w$});var P$=V(Mg=>{"use strict";m();T();h();Object.defineProperty(Mg,"__esModule",{value:!0});Mg.fixSchemaAst=void 0;var mue=(we(),Me(je)),hue=SA();function Tue(e,t){let n=(0,hue.getDocumentNodeFromSchema)(e);return(0,mue.buildASTSchema)(n,k({},t||{}))}function yue(e,t){let n;return(!e.astNode||!e.extensionASTNodes)&&(n=Tue(e,t)),!e.astNode&&(n!=null&&n.astNode)&&(e.astNode=n.astNode),!e.extensionASTNodes&&(n!=null&&n.astNode)&&(e.extensionASTNodes=n.extensionASTNodes),e}Mg.fixSchemaAst=yue});var k$=V(Bg=>{"use strict";m();T();h();Object.defineProperty(Bg,"__esModule",{value:!0});Bg.extractExtensionsFromSchema=void 0;var Qa=Ml(),Nue=wp();function vo(e={}){let t=k({},e),n=t.directives;if(n!=null)for(let r in n){let i=n[r];Array.isArray(i)||(n[r]=[i])}return t}function Eue(e){let t={schemaExtensions:vo(e.extensions),types:{}};return(0,Nue.mapSchema)(e,{[Qa.MapperKind.OBJECT_TYPE]:n=>(t.types[n.name]={fields:{},type:"object",extensions:vo(n.extensions)},n),[Qa.MapperKind.INTERFACE_TYPE]:n=>(t.types[n.name]={fields:{},type:"interface",extensions:vo(n.extensions)},n),[Qa.MapperKind.FIELD]:(n,r,i)=>{t.types[i].fields[r]={arguments:{},extensions:vo(n.extensions)};let s=n.args;if(s!=null)for(let o in s)t.types[i].fields[r].arguments[o]=vo(s[o].extensions);return n},[Qa.MapperKind.ENUM_TYPE]:n=>(t.types[n.name]={values:{},type:"enum",extensions:vo(n.extensions)},n),[Qa.MapperKind.ENUM_VALUE]:(n,r,i,s)=>(t.types[r].values[s]=vo(n.extensions),n),[Qa.MapperKind.SCALAR_TYPE]:n=>(t.types[n.name]={type:"scalar",extensions:vo(n.extensions)},n),[Qa.MapperKind.UNION_TYPE]:n=>(t.types[n.name]={type:"union",extensions:vo(n.extensions)},n),[Qa.MapperKind.INPUT_OBJECT_TYPE]:n=>(t.types[n.name]={fields:{},type:"input",extensions:vo(n.extensions)},n),[Qa.MapperKind.INPUT_OBJECT_FIELD]:(n,r,i)=>(t.types[i].fields[r]={extensions:vo(n.extensions)},n)}),t}Bg.extractExtensionsFromSchema=Eue});var x$=V(Ac=>{"use strict";m();T();h();Object.defineProperty(Ac,"__esModule",{value:!0});Ac.printPathArray=Ac.pathToArray=Ac.addPath=void 0;function gue(e,t,n){return{prev:e,key:t,typename:n}}Ac.addPath=gue;function Iue(e){let t=[],n=e;for(;n;)t.push(n.key),n=n.prev;return t.reverse()}Ac.pathToArray=Iue;function vue(e){return e.map(t=>typeof t=="number"?"["+t.toString()+"]":"."+t).join("")}Ac.printPathArray=vue});var C$=V(nR=>{"use strict";m();T();h();function Vg(e,t,n){if(typeof e=="object"&&typeof t=="object"){if(Array.isArray(e)&&Array.isArray(t))for(n=0;n{"use strict";m();T();h();Object.defineProperty(jg,"__esModule",{value:!0});jg.mergeIncrementalResult=void 0;var rR=C$();function U$({incrementalResult:e,executionResult:t}){var r;let n=["data",...(r=e.path)!=null?r:[]];if(e.items)for(let i of e.items)(0,rR.dset)(t,n,i),n[n.length-1]++;e.data&&(0,rR.dset)(t,n,e.data),e.errors&&(t.errors=t.errors||[],t.errors.push(...e.errors)),e.extensions&&(0,rR.dset)(t,"extensions",e.extensions),e.incremental&&e.incremental.forEach(i=>{U$({incrementalResult:i,executionResult:t})})}jg.mergeIncrementalResult=U$});var V$=V(Up=>{"use strict";m();T();h();Object.defineProperty(Up,"__esModule",{value:!0});Up.debugTimerEnd=Up.debugTimerStart=void 0;var B$=new Set;function bue(e){let t=(globalThis==null?void 0:globalThis.process.env.DEBUG)||globalThis.DEBUG;(t==="1"||t!=null&&t.includes(e))&&(B$.add(e),console.time(e))}Up.debugTimerStart=bue;function Oue(e){B$.has(e)&&console.timeEnd(e)}Up.debugTimerEnd=Oue});var _o=V(Ze=>{"use strict";m();T();h();Object.defineProperty(Ze,"__esModule",{value:!0});Ze.inspect=void 0;var tt=(Yj(),Me(Qj));tt.__exportStar(Jj(),Ze);tt.__exportStar(Gh(),Ze);tt.__exportStar(mA(),Ze);tt.__exportStar(hA(),Ze);tt.__exportStar(i1(),Ze);tt.__exportStar(yA(),Ze);tt.__exportStar(SA(),Ze);tt.__exportStar(hA(),Ze);tt.__exportStar(I1(),Ze);tt.__exportStar(v1(),Ze);tt.__exportStar(x1(),Ze);tt.__exportStar(q1(),Ze);tt.__exportStar(G1(),Ze);tt.__exportStar(X1(),Ze);tt.__exportStar(e$(),Ze);tt.__exportStar(t$(),Ze);tt.__exportStar(r$(),Ze);tt.__exportStar(i$(),Ze);tt.__exportStar(wp(),Ze);tt.__exportStar(qA(),Ze);tt.__exportStar(pg(),Ze);tt.__exportStar(o$(),Ze);tt.__exportStar(u$(),Ze);tt.__exportStar(Ml(),Ze);tt.__exportStar(xA(),Ze);tt.__exportStar(c$(),Ze);tt.__exportStar(l$(),Ze);tt.__exportStar(d$(),Ze);tt.__exportStar(p$(),Ze);tt.__exportStar(CA(),Ze);tt.__exportStar(h$(),Ze);tt.__exportStar(T$(),Ze);tt.__exportStar(y$(),Ze);tt.__exportStar(YE(),Ze);tt.__exportStar(N$(),Ze);tt.__exportStar(b$(),Ze);tt.__exportStar(fA(),Ze);tt.__exportStar(O$(),Ze);tt.__exportStar(S$(),Ze);tt.__exportStar(D$(),Ze);tt.__exportStar(tg(),Ze);tt.__exportStar(A$(),Ze);tt.__exportStar(L$(),Ze);tt.__exportStar(zh(),Ze);tt.__exportStar(AA(),Ze);tt.__exportStar(HA(),Ze);var Sue=Qh();Object.defineProperty(Ze,"inspect",{enumerable:!0,get:function(){return Sue.inspect}});tt.__exportStar(Op(),Ze);tt.__exportStar(P$(),Ze);tt.__exportStar(WA(),Ze);tt.__exportStar(k$(),Ze);tt.__exportStar(x$(),Ze);tt.__exportStar(Yh(),Ze);tt.__exportStar(YA(),Ze);tt.__exportStar(M$(),Ze);tt.__exportStar(V$(),Ze)});var $$=V($g=>{"use strict";m();T();h();Object.defineProperty($g,"__esModule",{value:!0});$g.mergeResolvers=void 0;var Due=_o();function j$(e,t){if(!e||Array.isArray(e)&&e.length===0)return{};if(!Array.isArray(e))return e;if(e.length===1)return e[0]||{};let n=new Array;for(let i of e)Array.isArray(i)&&(i=j$(i)),typeof i=="object"&&i&&n.push(i);let r=(0,Due.mergeDeep)(n,!0);if(t!=null&&t.exclusions)for(let i of t.exclusions){let[s,o]=i.split(".");!o||o==="*"?delete r[s]:r[s]&&delete r[s][o]}return r}$g.mergeResolvers=j$});var iR=V(qg=>{"use strict";m();T();h();Object.defineProperty(qg,"__esModule",{value:!0});qg.mergeArguments=void 0;var q$=_o();function Aue(e,t,n){let r=Rue([...t,...e].filter(q$.isSome),n);return n&&n.sort&&r.sort(q$.compareNodes),r}qg.mergeArguments=Aue;function Rue(e,t){return e.reduce((n,r)=>{let i=n.findIndex(s=>s.name.value===r.name.value);return i===-1?n.concat([r]):(t!=null&&t.reverseArguments||(n[i]=r),n)},[])}});var Js=V(Mp=>{"use strict";m();T();h();Object.defineProperty(Mp,"__esModule",{value:!0});Mp.mergeDirective=Mp.mergeDirectives=void 0;var K$=(we(),Me(je)),Fue=_o();function wue(e,t){return!!e.find(n=>n.name.value===t.name.value)}function G$(e,t){var n;return!!((n=t==null?void 0:t[e.name.value])!=null&&n.repeatable)}function Lue(e,t){return t.some(({value:n})=>n===e.value)}function Q$(e,t){let n=[...t];for(let r of e){let i=n.findIndex(s=>s.name.value===r.name.value);if(i>-1){let s=n[i];if(s.value.kind==="ListValue"){let o=s.value.values,u=r.value.values;s.value.values=Uue(o,u,(l,d)=>{let p=l.value;return!p||!d.some(y=>y.value===p)})}else s.value=r.value}else n.push(r)}return n}function Pue(e,t){return e.map((n,r,i)=>{let s=i.findIndex(o=>o.name.value===n.name.value);if(s!==r&&!G$(n,t)){let o=i[s];return n.arguments=Q$(n.arguments,o.arguments),null}return n}).filter(Fue.isSome)}function kue(e=[],t=[],n,r){let i=n&&n.reverseDirectives,s=i?e:t,o=i?t:e,u=Pue([...s],r);for(let l of o)if(wue(u,l)&&!G$(l,r)){let d=u.findIndex(y=>y.name.value===l.name.value),p=u[d];u[d].arguments=Q$(l.arguments||[],p.arguments||[])}else u.push(l);return u}Mp.mergeDirectives=kue;function xue(e,t){let n=(0,K$.print)(K(k({},e),{description:void 0})),r=(0,K$.print)(K(k({},t),{description:void 0})),i=new RegExp("(directive @w*d*)|( on .*$)","g");if(!(n.replace(i,"")===r.replace(i,"")))throw new Error(`Unable to merge GraphQL directive "${e.name.value}". Existing directive: ${r} Received directive: - ${n}`)}function xue(e,t){return t?(kue(e,t),K(k({},e),{locations:[...t.locations,...e.locations.filter(n=>!wue(n,t.locations))]})):e}Cp.mergeDirective=xue;function Cue(e,t,n){return e.concat(t.filter(r=>n(r,e)))}});var sR=V(qg=>{"use strict";m();T();h();Object.defineProperty(qg,"__esModule",{value:!0});qg.mergeEnumValues=void 0;var Uue=Ys(),Mue=_o();function Bue(e,t,n,r){if(n!=null&&n.consistentEnumMerge){let o=[];e&&o.push(...e),e=t,t=o}let i=new Map;if(e)for(let o of e)i.set(o.name.value,o);if(t)for(let o of t){let u=o.name.value;if(i.has(u)){let l=i.get(u);l.description=o.description||l.description,l.directives=(0,Uue.mergeDirectives)(o.directives,l.directives,r)}else i.set(u,o)}let s=[...i.values()];return n&&n.sort&&s.sort(Mue.compareNodes),s}qg.mergeEnumValues=Bue});var oR=V(Kg=>{"use strict";m();T();h();Object.defineProperty(Kg,"__esModule",{value:!0});Kg.mergeEnum=void 0;var Vue=(we(),Me(je)),jue=Ys(),$ue=sR();function que(e,t,n,r){return t?{name:e.name,description:e.description||t.description,kind:n!=null&&n.convertExtensions||e.kind==="EnumTypeDefinition"||t.kind==="EnumTypeDefinition"?"EnumTypeDefinition":"EnumTypeExtension",loc:e.loc,directives:(0,jue.mergeDirectives)(e.directives,t.directives,n,r),values:(0,$ue.mergeEnumValues)(e.values,t.values,n)}:n!=null&&n.convertExtensions?K(k({},e),{kind:Vue.Kind.ENUM_TYPE_DEFINITION}):e}Kg.mergeEnum=que});var Gg=V(gr=>{"use strict";m();T();h();Object.defineProperty(gr,"__esModule",{value:!0});gr.defaultStringComparator=gr.CompareVal=gr.printTypeNode=gr.isNonNullTypeNode=gr.isListTypeNode=gr.isWrappingTypeNode=gr.extractType=gr.isSourceTypes=gr.isStringTypes=void 0;var tT=(we(),Me(je));function Kue(e){return typeof e=="string"}gr.isStringTypes=Kue;function Gue(e){return e instanceof tT.Source}gr.isSourceTypes=Gue;function Que(e){let t=e;for(;t.kind===tT.Kind.LIST_TYPE||t.kind==="NonNullType";)t=t.type;return t}gr.extractType=Que;function Yue(e){return e.kind!==tT.Kind.NAMED_TYPE}gr.isWrappingTypeNode=Yue;function G$(e){return e.kind===tT.Kind.LIST_TYPE}gr.isListTypeNode=G$;function Q$(e){return e.kind===tT.Kind.NON_NULL_TYPE}gr.isNonNullTypeNode=Q$;function aR(e){return G$(e)?`[${aR(e.type)}]`:Q$(e)?`${aR(e.type)}!`:e.name.value}gr.printTypeNode=aR;var Vl;(function(e){e[e.A_SMALLER_THAN_B=-1]="A_SMALLER_THAN_B",e[e.A_EQUALS_B=0]="A_EQUALS_B",e[e.A_GREATER_THAN_B=1]="A_GREATER_THAN_B"})(Vl=gr.CompareVal||(gr.CompareVal={}));function Jue(e,t){return e==null&&t==null?Vl.A_EQUALS_B:e==null?Vl.A_SMALLER_THAN_B:t==null?Vl.A_GREATER_THAN_B:et?Vl.A_GREATER_THAN_B:Vl.A_EQUALS_B}gr.defaultStringComparator=Jue});var rT=V(Qg=>{"use strict";m();T();h();Object.defineProperty(Qg,"__esModule",{value:!0});Qg.mergeFields=void 0;var Gi=Gg(),zue=Ys(),Hue=_o(),Wue=iR();function Xue(e,t){let n=e.findIndex(r=>r.name.value===t.name.value);return[n>-1?e[n]:null,n]}function Zue(e,t,n,r,i){let s=[];if(n!=null&&s.push(...n),t!=null)for(let o of t){let[u,l]=Xue(s,o);if(u&&!(r!=null&&r.ignoreFieldConflicts)){let d=(r==null?void 0:r.onFieldTypeConflict)&&r.onFieldTypeConflict(u,o,e,r==null?void 0:r.throwOnConflict)||ece(e,u,o,r==null?void 0:r.throwOnConflict);d.arguments=(0,Wue.mergeArguments)(o.arguments||[],u.arguments||[],r),d.directives=(0,zue.mergeDirectives)(o.directives,u.directives,r,i),d.description=o.description||u.description,s[l]=d}else s.push(o)}if(r&&r.sort&&s.sort(Hue.compareNodes),r&&r.exclusions){let o=r.exclusions;return s.filter(u=>!o.includes(`${e.name.value}.${u.name.value}`))}return s}Qg.mergeFields=Zue;function ece(e,t,n,r=!1){let i=(0,Gi.printTypeNode)(t.type),s=(0,Gi.printTypeNode)(n.type);if(i!==s){let o=(0,Gi.extractType)(t.type),u=(0,Gi.extractType)(n.type);if(o.name.value!==u.name.value)throw new Error(`Field "${n.name.value}" already defined with a different type. Declared as "${o.name.value}", but you tried to override with "${u.name.value}"`);if(!nT(t.type,n.type,!r))throw new Error(`Field '${e.name.value}.${t.name.value}' changed type from '${i}' to '${s}'`)}return(0,Gi.isNonNullTypeNode)(n.type)&&!(0,Gi.isNonNullTypeNode)(t.type)&&(t.type=n.type),t}function nT(e,t,n=!1){if(!(0,Gi.isWrappingTypeNode)(e)&&!(0,Gi.isWrappingTypeNode)(t))return e.toString()===t.toString();if((0,Gi.isNonNullTypeNode)(t)){let r=(0,Gi.isNonNullTypeNode)(e)?e.type:e;return nT(r,t.type)}return(0,Gi.isNonNullTypeNode)(e)?nT(t,e,n):(0,Gi.isListTypeNode)(e)?(0,Gi.isListTypeNode)(t)&&nT(e.type,t.type)||(0,Gi.isNonNullTypeNode)(t)&&nT(e,t.type):!1}});var uR=V(Yg=>{"use strict";m();T();h();Object.defineProperty(Yg,"__esModule",{value:!0});Yg.mergeInputType=void 0;var tce=(we(),Me(je)),nce=rT(),rce=Ys();function ice(e,t,n,r){if(t)try{return{name:e.name,description:e.description||t.description,kind:n!=null&&n.convertExtensions||e.kind==="InputObjectTypeDefinition"||t.kind==="InputObjectTypeDefinition"?"InputObjectTypeDefinition":"InputObjectTypeExtension",loc:e.loc,fields:(0,nce.mergeFields)(e,e.fields,t.fields,n),directives:(0,rce.mergeDirectives)(e.directives,t.directives,n,r)}}catch(i){throw new Error(`Unable to merge GraphQL input type "${e.name.value}": ${i.message}`)}return n!=null&&n.convertExtensions?K(k({},e),{kind:tce.Kind.INPUT_OBJECT_TYPE_DEFINITION}):e}Yg.mergeInputType=ice});var iT=V(Jg=>{"use strict";m();T();h();Object.defineProperty(Jg,"__esModule",{value:!0});Jg.mergeNamedTypeArray=void 0;var sce=_o();function oce(e,t){return!!e.find(n=>n.name.value===t.name.value)}function ace(e=[],t=[],n={}){let r=[...t,...e.filter(i=>!oce(t,i))];return n&&n.sort&&r.sort(sce.compareNodes),r}Jg.mergeNamedTypeArray=ace});var cR=V(zg=>{"use strict";m();T();h();Object.defineProperty(zg,"__esModule",{value:!0});zg.mergeInterface=void 0;var uce=(we(),Me(je)),cce=rT(),lce=Ys(),dce=iT();function pce(e,t,n,r){if(t)try{return{name:e.name,description:e.description||t.description,kind:n!=null&&n.convertExtensions||e.kind==="InterfaceTypeDefinition"||t.kind==="InterfaceTypeDefinition"?"InterfaceTypeDefinition":"InterfaceTypeExtension",loc:e.loc,fields:(0,cce.mergeFields)(e,e.fields,t.fields,n),directives:(0,lce.mergeDirectives)(e.directives,t.directives,n,r),interfaces:e.interfaces?(0,dce.mergeNamedTypeArray)(e.interfaces,t.interfaces,n):void 0}}catch(i){throw new Error(`Unable to merge GraphQL interface "${e.name.value}": ${i.message}`)}return n!=null&&n.convertExtensions?K(k({},e),{kind:uce.Kind.INTERFACE_TYPE_DEFINITION}):e}zg.mergeInterface=pce});var lR=V(Hg=>{"use strict";m();T();h();Object.defineProperty(Hg,"__esModule",{value:!0});Hg.mergeType=void 0;var fce=(we(),Me(je)),mce=rT(),hce=Ys(),Tce=iT();function yce(e,t,n,r){if(t)try{return{name:e.name,description:e.description||t.description,kind:n!=null&&n.convertExtensions||e.kind==="ObjectTypeDefinition"||t.kind==="ObjectTypeDefinition"?"ObjectTypeDefinition":"ObjectTypeExtension",loc:e.loc,fields:(0,mce.mergeFields)(e,e.fields,t.fields,n),directives:(0,hce.mergeDirectives)(e.directives,t.directives,n,r),interfaces:(0,Tce.mergeNamedTypeArray)(e.interfaces,t.interfaces,n)}}catch(i){throw new Error(`Unable to merge GraphQL type "${e.name.value}": ${i.message}`)}return n!=null&&n.convertExtensions?K(k({},e),{kind:fce.Kind.OBJECT_TYPE_DEFINITION}):e}Hg.mergeType=yce});var dR=V(Wg=>{"use strict";m();T();h();Object.defineProperty(Wg,"__esModule",{value:!0});Wg.mergeScalar=void 0;var Nce=(we(),Me(je)),Ece=Ys();function gce(e,t,n,r){return t?{name:e.name,description:e.description||t.description,kind:n!=null&&n.convertExtensions||e.kind==="ScalarTypeDefinition"||t.kind==="ScalarTypeDefinition"?"ScalarTypeDefinition":"ScalarTypeExtension",loc:e.loc,directives:(0,Ece.mergeDirectives)(e.directives,t.directives,n,r)}:n!=null&&n.convertExtensions?K(k({},e),{kind:Nce.Kind.SCALAR_TYPE_DEFINITION}):e}Wg.mergeScalar=gce});var fR=V(Xg=>{"use strict";m();T();h();Object.defineProperty(Xg,"__esModule",{value:!0});Xg.mergeUnion=void 0;var pR=(we(),Me(je)),Ice=Ys(),vce=iT();function _ce(e,t,n,r){return t?{name:e.name,description:e.description||t.description,directives:(0,Ice.mergeDirectives)(e.directives,t.directives,n,r),kind:n!=null&&n.convertExtensions||e.kind==="UnionTypeDefinition"||t.kind==="UnionTypeDefinition"?pR.Kind.UNION_TYPE_DEFINITION:pR.Kind.UNION_TYPE_EXTENSION,loc:e.loc,types:(0,vce.mergeNamedTypeArray)(e.types,t.types,n)}:n!=null&&n.convertExtensions?K(k({},e),{kind:pR.Kind.UNION_TYPE_DEFINITION}):e}Xg.mergeUnion=_ce});var mR=V(jl=>{"use strict";m();T();h();Object.defineProperty(jl,"__esModule",{value:!0});jl.mergeSchemaDefs=jl.DEFAULT_OPERATION_TYPE_NAME_MAP=void 0;var sT=(we(),Me(je)),bce=Ys();jl.DEFAULT_OPERATION_TYPE_NAME_MAP={query:"Query",mutation:"Mutation",subscription:"Subscription"};function Oce(e=[],t=[]){let n=[];for(let r in jl.DEFAULT_OPERATION_TYPE_NAME_MAP){let i=e.find(s=>s.operation===r)||t.find(s=>s.operation===r);i&&n.push(i)}return n}function Sce(e,t,n,r){return t?{kind:e.kind===sT.Kind.SCHEMA_DEFINITION||t.kind===sT.Kind.SCHEMA_DEFINITION?sT.Kind.SCHEMA_DEFINITION:sT.Kind.SCHEMA_EXTENSION,description:e.description||t.description,directives:(0,bce.mergeDirectives)(e.directives,t.directives,n,r),operationTypes:Oce(e.operationTypes,t.operationTypes)}:n!=null&&n.convertExtensions?K(k({},e),{kind:sT.Kind.SCHEMA_DEFINITION}):e}jl.mergeSchemaDefs=Sce});var hR=V(aa=>{"use strict";m();T();h();Object.defineProperty(aa,"__esModule",{value:!0});aa.mergeGraphQLNodes=aa.isNamedDefinitionNode=aa.schemaDefSymbol=void 0;var Ri=(we(),Me(je)),Dce=lR(),Ace=oR(),Rce=dR(),Fce=fR(),wce=uR(),Lce=cR(),Pce=Ys(),kce=mR(),xce=_o();aa.schemaDefSymbol="SCHEMA_DEF_SYMBOL";function Y$(e){return"name"in e}aa.isNamedDefinitionNode=Y$;function Cce(e,t,n={}){var i,s,o;let r=n;for(let u of e)if(Y$(u)){let l=(i=u.name)==null?void 0:i.value;if(t!=null&&t.commentDescriptions&&(0,xce.collectComment)(u),l==null)continue;if((s=t==null?void 0:t.exclusions)!=null&&s.includes(l+".*")||(o=t==null?void 0:t.exclusions)!=null&&o.includes(l))delete r[l];else switch(u.kind){case Ri.Kind.OBJECT_TYPE_DEFINITION:case Ri.Kind.OBJECT_TYPE_EXTENSION:r[l]=(0,Dce.mergeType)(u,r[l],t,n);break;case Ri.Kind.ENUM_TYPE_DEFINITION:case Ri.Kind.ENUM_TYPE_EXTENSION:r[l]=(0,Ace.mergeEnum)(u,r[l],t,n);break;case Ri.Kind.UNION_TYPE_DEFINITION:case Ri.Kind.UNION_TYPE_EXTENSION:r[l]=(0,Fce.mergeUnion)(u,r[l],t,n);break;case Ri.Kind.SCALAR_TYPE_DEFINITION:case Ri.Kind.SCALAR_TYPE_EXTENSION:r[l]=(0,Rce.mergeScalar)(u,r[l],t,n);break;case Ri.Kind.INPUT_OBJECT_TYPE_DEFINITION:case Ri.Kind.INPUT_OBJECT_TYPE_EXTENSION:r[l]=(0,wce.mergeInputType)(u,r[l],t,n);break;case Ri.Kind.INTERFACE_TYPE_DEFINITION:case Ri.Kind.INTERFACE_TYPE_EXTENSION:r[l]=(0,Lce.mergeInterface)(u,r[l],t,n);break;case Ri.Kind.DIRECTIVE_DEFINITION:r[l]=(0,Pce.mergeDirective)(u,r[l]);break}}else(u.kind===Ri.Kind.SCHEMA_DEFINITION||u.kind===Ri.Kind.SCHEMA_EXTENSION)&&(r[aa.schemaDefSymbol]=(0,kce.mergeSchemaDefs)(u,r[aa.schemaDefSymbol],t));return r}aa.mergeGraphQLNodes=Cce});var H$=V(Vp=>{"use strict";m();T();h();Object.defineProperty(Vp,"__esModule",{value:!0});Vp.mergeGraphQLTypes=Vp.mergeTypeDefs=void 0;var Js=(we(),Me(je)),TR=Gg(),Up=hR(),Bp=_o(),J$=mR();function Uce(e,t){(0,Bp.resetComments)();let n={kind:Js.Kind.DOCUMENT,definitions:z$(e,k({useSchemaDefinition:!0,forceSchemaDefinition:!1,throwOnConflict:!1,commentDescriptions:!1},t))},r;return t!=null&&t.commentDescriptions?r=(0,Bp.printWithComments)(n):r=n,(0,Bp.resetComments)(),r}Vp.mergeTypeDefs=Uce;function Mp(e,t,n=[],r=[],i=new Set){if(e&&!i.has(e))if(i.add(e),typeof e=="function")Mp(e(),t,n,r,i);else if(Array.isArray(e))for(let s of e)Mp(s,t,n,r,i);else if((0,Js.isSchema)(e)){let s=(0,Bp.getDocumentNodeFromSchema)(e,t);Mp(s.definitions,t,n,r,i)}else if((0,TR.isStringTypes)(e)||(0,TR.isSourceTypes)(e)){let s=(0,Js.parse)(e,t);Mp(s.definitions,t,n,r,i)}else if(typeof e=="object"&&(0,Js.isDefinitionNode)(e))e.kind===Js.Kind.DIRECTIVE_DEFINITION?n.push(e):r.push(e);else if((0,Bp.isDocumentNode)(e))Mp(e.definitions,t,n,r,i);else throw new Error(`typeDefs must contain only strings, documents, schemas, or functions, got ${typeof e}`);return{allDirectives:n,allNodes:r}}function z$(e,t){var u,l,d;(0,Bp.resetComments)();let{allDirectives:n,allNodes:r}=Mp(e,t),i=(0,Up.mergeGraphQLNodes)(n,t),s=(0,Up.mergeGraphQLNodes)(r,t,i);if(t!=null&&t.useSchemaDefinition){let p=s[Up.schemaDefSymbol]||{kind:Js.Kind.SCHEMA_DEFINITION,operationTypes:[]},y=p.operationTypes;for(let N in J$.DEFAULT_OPERATION_TYPE_NAME_MAP)if(!y.find(b=>b.operation===N)){let b=J$.DEFAULT_OPERATION_TYPE_NAME_MAP[N],C=s[b];C!=null&&C.name!=null&&y.push({kind:Js.Kind.OPERATION_TYPE_DEFINITION,type:{kind:Js.Kind.NAMED_TYPE,name:C.name},operation:N})}((u=p==null?void 0:p.operationTypes)==null?void 0:u.length)!=null&&p.operationTypes.length>0&&(s[Up.schemaDefSymbol]=p)}t!=null&&t.forceSchemaDefinition&&!((d=(l=s[Up.schemaDefSymbol])==null?void 0:l.operationTypes)!=null&&d.length)&&(s[Up.schemaDefSymbol]={kind:Js.Kind.SCHEMA_DEFINITION,operationTypes:[{kind:Js.Kind.OPERATION_TYPE_DEFINITION,operation:"query",type:{kind:Js.Kind.NAMED_TYPE,name:{kind:Js.Kind.NAME,value:"Query"}}}]});let o=Object.values(s);if(t!=null&&t.sort){let p=typeof t.sort=="function"?t.sort:TR.defaultStringComparator;o.sort((y,N)=>{var I,b;return p((I=y.name)==null?void 0:I.value,(b=N.name)==null?void 0:b.value)})}return o}Vp.mergeGraphQLTypes=z$});var W$=V(fi=>{"use strict";m();T();h();Object.defineProperty(fi,"__esModule",{value:!0});var Qi=(oA(),Me(sA));Qi.__exportStar(iR(),fi);Qi.__exportStar(Ys(),fi);Qi.__exportStar(sR(),fi);Qi.__exportStar(oR(),fi);Qi.__exportStar(rT(),fi);Qi.__exportStar(uR(),fi);Qi.__exportStar(cR(),fi);Qi.__exportStar(iT(),fi);Qi.__exportStar(hR(),fi);Qi.__exportStar(H$(),fi);Qi.__exportStar(dR(),fi);Qi.__exportStar(lR(),fi);Qi.__exportStar(fR(),fi);Qi.__exportStar(Gg(),fi)});var Z$=V(Rc=>{"use strict";m();T();h();Object.defineProperty(Rc,"__esModule",{value:!0});Rc.applyExtensions=Rc.mergeExtensions=Rc.extractExtensionsFromSchema=void 0;var X$=_o(),Mce=_o();Object.defineProperty(Rc,"extractExtensionsFromSchema",{enumerable:!0,get:function(){return Mce.extractExtensionsFromSchema}});function Bce(e){return(0,X$.mergeDeep)(e)}Rc.mergeExtensions=Bce;function jp(e,t){e&&(e.extensions=(0,X$.mergeDeep)([e.extensions||{},t||{}]))}function Vce(e,t){jp(e,t.schemaExtensions);for(let[n,r]of Object.entries(t.types||{})){let i=e.getType(n);if(i){if(jp(i,r.extensions),r.type==="object"||r.type==="interface")for(let[s,o]of Object.entries(r.fields)){let u=i.getFields()[s];if(u){jp(u,o.extensions);for(let[l,d]of Object.entries(o.arguments))jp(u.args.find(p=>p.name===l),d)}}else if(r.type==="input")for(let[s,o]of Object.entries(r.fields)){let u=i.getFields()[s];jp(u,o.extensions)}else if(r.type==="enum")for(let[s,o]of Object.entries(r.values)){let u=i.getValue(s);jp(u,o)}}}return e}Rc.applyExtensions=Vce});var Zg=V(oT=>{"use strict";m();T();h();Object.defineProperty(oT,"__esModule",{value:!0});var yR=(oA(),Me(sA));yR.__exportStar(V$(),oT);yR.__exportStar(W$(),oT);yR.__exportStar(Z$(),oT)});var Kp=V(mt=>{"use strict";m();T();h();Object.defineProperty(mt,"__esModule",{value:!0});mt.FieldSetDirective=mt.MergeMethod=void 0;mt.newPersistedDirectivesData=nI;mt.isNodeExternalOrShareable=rq;mt.getDefinedArgumentsForDirective=iq;mt.getDirectiveValidationErrors=sq;mt.extractDirectives=gR;mt.extractArguments=$ce;mt.isTypeRequired=IR;mt.compareAndValidateInputValueDefaultValues=qce;mt.addEnumValueDataByNode=Kce;mt.addInheritedDirectivesToFieldData=Gce;mt.addFieldDataByNode=Qce;mt.addInputValueDataByNode=vR;mt.addPersistedDirectiveDefinitionDataByNode=Yce;mt.setMutualExecutableLocations=Jce;mt.isTypeNameRootType=zce;mt.getRenamedRootTypeName=Hce;mt.getEnumNodeByData=Zce;mt.getInputObjectNodeByData=ele;mt.getCompositeOutputNodeByData=tle;mt.getScalarNodeByData=nle;mt.getSchemaNodeByData=rle;mt.getUnionNodeByData=ile;mt.removeInheritableDirectivesFromParentWithFieldsData=sle;mt.setLongestDescription=ole;mt.isParentDataRootType=aq;mt.setParentDataExtensionType=ale;mt.extractPersistedDirectives=lle;mt.pushAuthorizationDirectives=dle;mt.getClientPersistedDirectiveNodes=ER;mt.getNodeForRouterSchemaByData=fle;mt.getNodeWithPersistedDirectivesByFieldData=mle;mt.getClientSchemaFieldNodeByFieldData=hle;mt.getNodeWithPersistedDirectivesByInputValueData=OR;mt.getValidFieldArgumentNodes=Tle;mt.addValidPersistedDirectiveDefinitionNodeByData=Nle;mt.newInvalidFieldNames=Ele;mt.validateExternalAndShareable=gle;mt.isTypeValidImplementation=eI;mt.isNodeDataInaccessible=cq;mt.isLeafKind=Ile;mt.getSubscriptionFilterValue=vle;mt.getParentTypeName=_le;mt.newConditionalFieldData=ble;var wt=(we(),Me(je)),NR=qh(),$p=$a(),zs=Vi(),xr=To(),qt=bi(),eq=$l(),ys=ps(),tI=_c(),jce=Zg();function nI(){return{deprecatedReason:"",directives:new Map,isDeprecated:!1,tags:new Map}}function rq(e,t,n){var i;let r={isExternal:n.has(qt.EXTERNAL),isShareable:t||n.has(qt.SHAREABLE)};if(!((i=e.directives)!=null&&i.length))return r;for(let s of e.directives){let o=s.name.value;if(o===qt.EXTERNAL){r.isExternal=!0;continue}o===qt.SHAREABLE&&(r.isShareable=!0)}return r}function iq(e,t,n,r,i){let s=e.arguments||[],o=e.name.value,u=new Set,l=new Set,d=new Set;for(let p of s){let y=p.name.value;if(u.has(y)){l.add(y);continue}if(!t.get(y)){d.add(y);continue}u.add(y)}return l.size>0&&i.push((0,xr.duplicateDirectiveArgumentDefinitionsErrorMessage)(o,r,[...l])),d.size>0&&i.push((0,xr.unexpectedDirectiveArgumentErrorMessage)(o,[...d])),u}function sq(e,t,n,r,i,s,o=!1){var b,C,j;let u=e.name.value,l=r.get(u)||tI.V2_DIRECTIVE_DEFINITION_BY_DIRECTIVE_NAME.get(u),d=[];if(!l)return d.push((0,xr.undefinedDirectiveErrorMessage)(u,s)),d;let p=new Map,y=new Set;if((0,eq.getDirectiveDefinitionArgumentSets)(l.arguments||[],p,y),(0,eq.areNodeKindAndDirectiveLocationCompatible)(t,l,o)||d.push((0,xr.invalidDirectiveLocationErrorMessage)(s,o?wt.Kind.ARGUMENT:t,u)),!l.repeatable&&n.get(u)){let Q=(0,ys.getValueOrDefault)(i,s,()=>new Set);Q.has(u)||(Q.add(u),d.push((0,xr.invalidRepeatedDirectiveErrorMessage)(u,s)))}if(!((b=l.arguments)!=null&&b.length))return(C=e.arguments)!=null&&C.length&&d.push((0,xr.unexpectedDirectiveArgumentsErrorMessage)(e,s)),d;if(!((j=e.arguments)!=null&&j.length))return y.size>0&&d.push((0,xr.undefinedRequiredArgumentsErrorMessage)(u,s,[...y])),d;let N=iq(e,p,y,s,d),I=(0,ys.getEntriesNotInHashSet)(y,N);return I.length>0&&d.push((0,xr.undefinedRequiredArgumentsErrorMessage)(u,s,[...y],I)),d}function gR(e,t,n,r,i,s,o=!1){if(!e.directives)return t;let u=new Set;for(let l of e.directives){let d=sq(l,e.kind,t,r,i,s,o),p=l.name.value;if(d.length>0){n.push((0,xr.invalidDirectiveError)(p,s,d));continue}if(qt.IGNORED_PARENT_DIRECTIVES.has(p))continue;if(p===qt.KEY){let N=l.arguments[0].value.value;if(u.has(N))continue;u.add(N)}let y=t.get(p);y?y.push(l):t.set(p,[l])}return t}function $ce(e,t,n,r,i,s,o,u,l){var I;if(!((I=t.arguments)!=null&&I.length))return e;let d=t.name.value,p=`${o}.${d}`,y=`${u}.${d}`;s.add(o);let N=new Set;for(let b of t.arguments){let C=b.name.value;if(e.has(C)){N.add(C);continue}vR(e,b,r,i,`${p}(${C}: ...)`,l,n,`${y}(${C}: ...)`)}return N.size>0&&n.push((0,xr.duplicateArgumentsError)(p,[...N])),e}function IR(e){return e.kind===wt.Kind.NON_NULL_TYPE}function oq(e,t){switch(e.kind){case wt.Kind.LIST_TYPE:return t.kind===wt.Kind.LIST||t.kind===wt.Kind.NULL;case wt.Kind.NAMED_TYPE:if(t.kind===wt.Kind.NULL)return!0;switch(e.name.value){case qt.BOOLEAN_SCALAR:return t.kind===wt.Kind.BOOLEAN;case qt.FLOAT_SCALAR:return t.kind===wt.Kind.INT||t.kind===wt.Kind.FLOAT;case qt.INT_SCALAR:return t.kind===wt.Kind.INT;case qt.STRING_SCALAR:return t.kind===wt.Kind.STRING;default:return!0}case wt.Kind.NON_NULL_TYPE:return t.kind===wt.Kind.NULL?!1:oq(e.type,t)}}function qce(e,t,n){if(!e.defaultValue)return;if(!t.defaultValue){e.includeDefaultValue=!1;return}let r=(0,wt.print)(e.defaultValue),i=(0,wt.print)(t.defaultValue);if(r!==i){n.push((0,xr.incompatibleInputValueDefaultValuesError)(`${e.isArgument?qt.ARGUMENT:qt.INPUT_FIELD} "${e.name}"`,e.originalPath,[...t.subgraphNames],r,i));return}}function Kce(e,t,n,r,i,s){let o=t.name.value;e.set(o,{appearances:1,directivesByDirectiveName:gR(t,new Map,n,r,i,`${s}.${o}`),name:o,node:(0,$p.getMutableEnumValueNode)(t),parentTypeName:s,persistedDirectivesData:nI(),description:(0,zs.formatDescription)(t.description)})}function Gce(e,t){for(let n of tI.INHERITABLE_DIRECTIVE_NAMES)e.get(n)&&(0,ys.getValueOrDefault)(t,n,()=>[(0,ys.generateSimpleDirective)(n)]);return t}function Qce(e,t,n,r,i,s,o,u,l){let d=t.name.value,p=`${i}.${d}`,y=rq(t,!u,r),N={argumentDataByArgumentName:n,isExternalBySubgraphName:new Map([[o,y.isExternal]]),isInaccessible:r.has(qt.INACCESSIBLE),isShareableBySubgraphName:new Map([[o,y.isShareable]]),node:(0,$p.getMutableFieldNode)(t,p,l),name:d,namedTypeName:(0,$p.getTypeNodeNamedTypeName)(t.type),originalParentTypeName:i,persistedDirectivesData:nI(),renamedParentTypeName:s,subgraphNames:new Set([o]),type:(0,$p.getMutableTypeNode)(t.type,p,l),directivesByDirectiveName:r,description:(0,zs.formatDescription)(t.description)};return e.set(d,N),N}function vR(e,t,n,r,i,s,o,u){let l=t.name.value,d=!!u;t.defaultValue&&!oq(t.type,t.defaultValue)&&o.push((0,xr.incompatibleInputValueDefaultValueTypeError)((d?qt.ARGUMENT:qt.INPUT_FIELD)+` "${l}"`,i,(0,jce.printTypeNode)(t.type),(0,wt.print)(t.defaultValue))),e.set(l,{directivesByDirectiveName:gR(t,new Map,o,n,r,i,d),includeDefaultValue:!!t.defaultValue,isArgument:d,name:l,node:(0,$p.getMutableInputValueNode)(t,i,o),originalPath:i,persistedDirectivesData:nI(),renamedPath:u||i,requiredSubgraphNames:new Set(IR(t.type)?[s]:[]),subgraphNames:new Set([s]),type:(0,$p.getMutableTypeNode)(t.type,i,o),defaultValue:t.defaultValue,description:(0,zs.formatDescription)(t.description)})}function Yce(e,t,n,r,i,s,o){let u=t.name.value,l=new Map;for(let d of t.arguments||[]){let p=`@${u}(${d.name.value}: ...)`;vR(l,d,r,i,p,o,n,p)}e.set(u,{argumentDataByArgumentName:l,executableLocations:s,name:u,repeatable:t.repeatable,subgraphNames:new Set([o]),description:(0,zs.formatDescription)(t.description)})}function Jce(e,t){let n=new Set;for(let r of t)e.executableLocations.has(r)&&n.add(r);e.executableLocations=n}function zce(e,t){return qt.ROOT_TYPE_NAMES.has(e)||t.has(e)}function Hce(e,t){let n=t.get(e);if(!n)return e;switch(n){case wt.OperationTypeNode.MUTATION:return qt.MUTATION;case wt.OperationTypeNode.SUBSCRIPTION:return qt.SUBSCRIPTION;default:return qt.QUERY}}function Wce(e,t){let n=e.get(t.originalParentTypeName);if(!n)return;let r=n.fieldAuthorizationDataByFieldName.get(t.name);if(r){if(r.requiresAuthentication){let i=(0,ys.generateSimpleDirective)(qt.AUTHENTICATED);t.directivesByDirectiveName.set(qt.AUTHENTICATED,[i])}if(r.requiredScopes.length>0){let i=(0,ys.generateRequiresScopesDirective)(r.requiredScopes);t.directivesByDirectiveName.set(qt.REQUIRES_SCOPES,[i])}}}function Xce(e){for(let t of e.argumentDataByArgumentName.values()){for(let n of t.directivesByDirectiveName.values())t.node.directives.push(...n);e.node.arguments.push(t.node)}}function _R(e,t){let n=[];for(let r of e.values()){if(r.node.kind===wt.Kind.FIELD_DEFINITION){let i=r;Wce(t,i),Xce(i)}for(let i of r.directivesByDirectiveName.values())r.node.directives.push(...i);n.push(r.node)}return n}function qp(e,t,n,r){let i=[];for(let[s,o]of e){let u=n.get(s)||tI.V2_DIRECTIVE_DEFINITION_BY_DIRECTIVE_NAME.get(s);if(!u)continue;if(!u.repeatable&&o.length>1){t.push((0,xr.invalidDirectiveError)(s,r,[(0,xr.invalidRepeatedDirectiveErrorMessage)(s,r)]));continue}if(s!==qt.KEY){i.push(...o);continue}let l=[],d=new Set,p=[];for(let y of o){let N=y.arguments[0].value;if(N.kind!==wt.Kind.STRING){p.push((0,xr.invalidKeyDirectiveArgumentErrorMessage)(N.kind));continue}let I=N.value;d.has(I)||(d.add(I),i.push(y),l.push(y))}e.set(s,l),p.length>0&&t.push((0,xr.invalidDirectiveError)(s,r,p))}return i}function Zce(e,t,n,r){return e.node.description=e.description,e.node.directives=qp(e.directivesByDirectiveName,t,n,e.name),e.node.values=_R(e.enumValueDataByValueName,r),e.node}function ele(e,t,n,r){return e.node.description=e.description,e.node.directives=qp(e.directivesByDirectiveName,t,n,e.name),e.node.fields=_R(e.inputValueDataByValueName,r),e.node}function tle(e,t,n,r){return e.node.description=e.description,e.node.directives=qp(e.directivesByDirectiveName,t,n,e.name),e.node.fields=_R(e.fieldDataByFieldName,r),e.node.interfaces=(0,zs.setToNamedTypeNodeArray)(e.implementedInterfaceTypeNames),e.node}function nle(e,t,n){return e.node.description=e.description,e.node.directives=qp(e.directivesByDirectiveName,t,n,e.name),e.node}function rle(e,t,n){return{description:e.description,directives:qp(e.directivesByDirectiveName,t,n,e.typeName),kind:e.kind,operationTypes:(0,ys.mapToArrayOfValues)(e.operationTypes)}}function ile(e,t,n){return e.node.description=e.description,e.node.directives=qp(e.directivesByDirectiveName,t,n,e.name),e.node.types=(0,ys.mapToArrayOfValues)(e.memberByMemberTypeName),e.node}function sle(e){for(let t of tI.INHERITABLE_DIRECTIVE_NAMES)e.directivesByDirectiveName.delete(t)}function ole(e,t){t.description&&(!e.description||e.description.value.length0&&e.persistedDirectivesData.directives.set(qt.REQUIRES_SCOPES,[(0,ys.generateRequiresScopesDirective)(n.requiredScopes)]))}function uq(e){return{kind:wt.Kind.DIRECTIVE,name:(0,zs.stringToNameNode)(qt.DEPRECATED),arguments:[{kind:wt.Kind.ARGUMENT,name:(0,zs.stringToNameNode)(qt.REASON),value:{kind:wt.Kind.STRING,value:e||qt.DEPRECATED_DEFAULT_ARGUMENT_VALUE}}]}}function ple(e,t,n,r){let i=[];for(let[s,o]of e){let u=t.get(s);if(u){if(o.length<2){i.push(...o);continue}if(!u.repeatable){r.push((0,xr.invalidRepeatedFederatedDirectiveErrorMessage)(s,n));continue}i.push(...o)}}return i}function bR(e,t,n){let r=[...e.persistedDirectivesData.tags.values()];return e.persistedDirectivesData.isDeprecated&&r.push(uq(e.persistedDirectivesData.deprecatedReason)),r.push(...ple(e.persistedDirectivesData.directives,t,e.name,n)),r}function ER(e){let t=[];e.persistedDirectivesData.isDeprecated&&t.push(uq(e.persistedDirectivesData.deprecatedReason));for(let[n,r]of e.persistedDirectivesData.directives)qt.PERSISTED_CLIENT_DIRECTIVES.has(n)&&t.push(r[0]);return t}function fle(e,t,n){return e.node.name=(0,zs.stringToNameNode)(e.name),e.node.description=e.description,e.node.directives=bR(e,t,n),e.node}function mle(e,t,n,r){return e.node.arguments=n,e.node.name=(0,zs.stringToNameNode)(e.name),e.node.type=e.type,e.node.description=e.description,e.node.directives=bR(e,t,r),e.node}function hle(e){let t=ER(e),n=[];for(let r of e.argumentDataByArgumentName.values())cq(r)||n.push(K(k({},r.node),{directives:ER(r)}));return K(k({},e.node),{directives:t,arguments:n})}function OR(e,t,n){return e.node.name=(0,zs.stringToNameNode)(e.name),e.node.type=e.type,e.node.description=e.description,e.node.directives=bR(e,t,n),e.includeDefaultValue&&(e.node.defaultValue=e.defaultValue),e.node}function Tle(e,t,n,r){let i=[],s=[],o=[],u=`${e.renamedParentTypeName}.${e.name}`;for(let[l,d]of e.argumentDataByArgumentName)e.subgraphNames.size===d.subgraphNames.size?(s.push(l),i.push(OR(d,t,r))):IR(d.type)&&o.push({inputValueName:l,missingSubgraphs:(0,ys.getEntriesNotInHashSet)(e.subgraphNames,d.subgraphNames),requiredSubgraphs:[...d.requiredSubgraphNames]});return o.length>0?r.push((0,xr.invalidRequiredInputValueError)(qt.FIELD,u,o)):s.length>0&&((0,ys.getValueOrDefault)(n,u,()=>({argumentNames:s,fieldName:e.name,typeName:e.renamedParentTypeName})).argumentNames=s),i}function yle(e,t,n,r,i){let s=[];for(let[o,u]of t.argumentDataByArgumentName){let l=(0,ys.getEntriesNotInHashSet)(t.subgraphNames,u.subgraphNames);if(l.length>0){u.requiredSubgraphNames.size>0&&s.push({inputValueName:o,missingSubgraphs:l,requiredSubgraphs:[...u.requiredSubgraphNames]});continue}e.push(OR(u,n,r)),i&&i.add(o)}return s.length>0?(r.push((0,xr.invalidRequiredInputValueError)(qt.DIRECTIVE_DEFINITION,`@${t.name}`,s)),!1):!0}function Nle(e,t,n,r){let i=[];yle(i,t,n,r)&&e.push({arguments:i,kind:wt.Kind.DIRECTIVE_DEFINITION,locations:(0,zs.setToNameNodeArray)(t.executableLocations),name:(0,zs.stringToNameNode)(t.name),repeatable:t.repeatable,description:t.description})}function Ele(){return{byShareable:new Set,subgraphNamesByExternalFieldName:new Map}}function gle(e,t){let n=e.isShareableBySubgraphName.size,r=[],i=0;for(let[s,o]of e.isShareableBySubgraphName){if(e.isExternalBySubgraphName.get(s)){r.push(s);continue}o||(i+=1)}switch(i){case 0:n===r.length&&t.subgraphNamesByExternalFieldName.set(e.name,r);return;case 1:if(n===1)return;n-r.length!==1&&t.byShareable.add(e.name);return;default:t.byShareable.add(e.name)}}var tq;(function(e){e[e.UNION=0]="UNION",e[e.INTERSECTION=1]="INTERSECTION",e[e.CONSISTENT=2]="CONSISTENT"})(tq||(mt.MergeMethod=tq={}));function eI(e,t,n){if(e.kind===wt.Kind.NON_NULL_TYPE)return t.kind!==wt.Kind.NON_NULL_TYPE?!1:eI(e.type,t.type,n);if(t.kind===wt.Kind.NON_NULL_TYPE)return eI(e,t.type,n);switch(e.kind){case wt.Kind.NAMED_TYPE:if(t.kind===wt.Kind.NAMED_TYPE){let r=e.name.value,i=t.name.value;if(r===i)return!0;let s=n.get(r);return s?s.has(i):!1}return!1;default:return t.kind===wt.Kind.LIST_TYPE?eI(e.type,t.type,n):!1}}function cq(e){return e.persistedDirectivesData.directives.has(qt.INACCESSIBLE)||e.directivesByDirectiveName.has(qt.INACCESSIBLE)}function Ile(e){return e===wt.Kind.SCALAR_TYPE_DEFINITION||e===wt.Kind.ENUM_TYPE_DEFINITION}function vle(e){switch(e.kind){case wt.Kind.BOOLEAN:return e.value;case wt.Kind.ENUM:case wt.Kind.STRING:return e.value;case wt.Kind.FLOAT:case wt.Kind.INT:try{return parseFloat(e.value)}catch(t){return"NaN"}case wt.Kind.NULL:return null}}function _le(e){switch(e.kind){case wt.Kind.OBJECT_TYPE_DEFINITION:case wt.Kind.OBJECT_TYPE_EXTENSION:return e.renamedTypeName;default:return e.name}}var nq;(function(e){e.PROVIDES="provides",e.REQUIRES="requires"})(nq||(mt.FieldSetDirective=nq={}));function ble(){return{providedBy:[],requiredBy:[]}}});var rI=V(ql=>{"use strict";m();T();h();Object.defineProperty(ql,"__esModule",{value:!0});ql.Warning=void 0;ql.invalidOverrideTargetSubgraphNameWarning=Ole;ql.externalInterfaceFieldsWarning=Sle;ql.nonExternalConditionalFieldWarning=Dle;var lq=bi(),Gp=class extends Error{constructor(t){super(t),this.name="Warning"}};ql.Warning=Gp;function Ole(e,t,n){return new Gp(`The object type "${t}" defines the directive "@override(from: "${e})" on the following field`+(n.length>1?"s":"")+': "'+n.join(lq.QUOTATION_JOIN)+`". + ${n}`)}function Cue(e,t){return t?(xue(e,t),K(k({},e),{locations:[...t.locations,...e.locations.filter(n=>!Lue(n,t.locations))]})):e}Mp.mergeDirective=Cue;function Uue(e,t,n){return e.concat(t.filter(r=>n(r,e)))}});var sR=V(Kg=>{"use strict";m();T();h();Object.defineProperty(Kg,"__esModule",{value:!0});Kg.mergeEnumValues=void 0;var Mue=Js(),Bue=_o();function Vue(e,t,n,r){if(n!=null&&n.consistentEnumMerge){let o=[];e&&o.push(...e),e=t,t=o}let i=new Map;if(e)for(let o of e)i.set(o.name.value,o);if(t)for(let o of t){let u=o.name.value;if(i.has(u)){let l=i.get(u);l.description=o.description||l.description,l.directives=(0,Mue.mergeDirectives)(o.directives,l.directives,r)}else i.set(u,o)}let s=[...i.values()];return n&&n.sort&&s.sort(Bue.compareNodes),s}Kg.mergeEnumValues=Vue});var oR=V(Gg=>{"use strict";m();T();h();Object.defineProperty(Gg,"__esModule",{value:!0});Gg.mergeEnum=void 0;var jue=(we(),Me(je)),$ue=Js(),que=sR();function Kue(e,t,n,r){return t?{name:e.name,description:e.description||t.description,kind:n!=null&&n.convertExtensions||e.kind==="EnumTypeDefinition"||t.kind==="EnumTypeDefinition"?"EnumTypeDefinition":"EnumTypeExtension",loc:e.loc,directives:(0,$ue.mergeDirectives)(e.directives,t.directives,n,r),values:(0,que.mergeEnumValues)(e.values,t.values,n)}:n!=null&&n.convertExtensions?K(k({},e),{kind:jue.Kind.ENUM_TYPE_DEFINITION}):e}Gg.mergeEnum=Kue});var Qg=V(gr=>{"use strict";m();T();h();Object.defineProperty(gr,"__esModule",{value:!0});gr.defaultStringComparator=gr.CompareVal=gr.printTypeNode=gr.isNonNullTypeNode=gr.isListTypeNode=gr.isWrappingTypeNode=gr.extractType=gr.isSourceTypes=gr.isStringTypes=void 0;var nT=(we(),Me(je));function Gue(e){return typeof e=="string"}gr.isStringTypes=Gue;function Que(e){return e instanceof nT.Source}gr.isSourceTypes=Que;function Yue(e){let t=e;for(;t.kind===nT.Kind.LIST_TYPE||t.kind==="NonNullType";)t=t.type;return t}gr.extractType=Yue;function Jue(e){return e.kind!==nT.Kind.NAMED_TYPE}gr.isWrappingTypeNode=Jue;function Y$(e){return e.kind===nT.Kind.LIST_TYPE}gr.isListTypeNode=Y$;function J$(e){return e.kind===nT.Kind.NON_NULL_TYPE}gr.isNonNullTypeNode=J$;function aR(e){return Y$(e)?`[${aR(e.type)}]`:J$(e)?`${aR(e.type)}!`:e.name.value}gr.printTypeNode=aR;var $l;(function(e){e[e.A_SMALLER_THAN_B=-1]="A_SMALLER_THAN_B",e[e.A_EQUALS_B=0]="A_EQUALS_B",e[e.A_GREATER_THAN_B=1]="A_GREATER_THAN_B"})($l=gr.CompareVal||(gr.CompareVal={}));function zue(e,t){return e==null&&t==null?$l.A_EQUALS_B:e==null?$l.A_SMALLER_THAN_B:t==null?$l.A_GREATER_THAN_B:et?$l.A_GREATER_THAN_B:$l.A_EQUALS_B}gr.defaultStringComparator=zue});var iT=V(Yg=>{"use strict";m();T();h();Object.defineProperty(Yg,"__esModule",{value:!0});Yg.mergeFields=void 0;var Gi=Qg(),Hue=Js(),Wue=_o(),Xue=iR();function Zue(e,t){let n=e.findIndex(r=>r.name.value===t.name.value);return[n>-1?e[n]:null,n]}function ece(e,t,n,r,i){let s=[];if(n!=null&&s.push(...n),t!=null)for(let o of t){let[u,l]=Zue(s,o);if(u&&!(r!=null&&r.ignoreFieldConflicts)){let d=(r==null?void 0:r.onFieldTypeConflict)&&r.onFieldTypeConflict(u,o,e,r==null?void 0:r.throwOnConflict)||tce(e,u,o,r==null?void 0:r.throwOnConflict);d.arguments=(0,Xue.mergeArguments)(o.arguments||[],u.arguments||[],r),d.directives=(0,Hue.mergeDirectives)(o.directives,u.directives,r,i),d.description=o.description||u.description,s[l]=d}else s.push(o)}if(r&&r.sort&&s.sort(Wue.compareNodes),r&&r.exclusions){let o=r.exclusions;return s.filter(u=>!o.includes(`${e.name.value}.${u.name.value}`))}return s}Yg.mergeFields=ece;function tce(e,t,n,r=!1){let i=(0,Gi.printTypeNode)(t.type),s=(0,Gi.printTypeNode)(n.type);if(i!==s){let o=(0,Gi.extractType)(t.type),u=(0,Gi.extractType)(n.type);if(o.name.value!==u.name.value)throw new Error(`Field "${n.name.value}" already defined with a different type. Declared as "${o.name.value}", but you tried to override with "${u.name.value}"`);if(!rT(t.type,n.type,!r))throw new Error(`Field '${e.name.value}.${t.name.value}' changed type from '${i}' to '${s}'`)}return(0,Gi.isNonNullTypeNode)(n.type)&&!(0,Gi.isNonNullTypeNode)(t.type)&&(t.type=n.type),t}function rT(e,t,n=!1){if(!(0,Gi.isWrappingTypeNode)(e)&&!(0,Gi.isWrappingTypeNode)(t))return e.toString()===t.toString();if((0,Gi.isNonNullTypeNode)(t)){let r=(0,Gi.isNonNullTypeNode)(e)?e.type:e;return rT(r,t.type)}return(0,Gi.isNonNullTypeNode)(e)?rT(t,e,n):(0,Gi.isListTypeNode)(e)?(0,Gi.isListTypeNode)(t)&&rT(e.type,t.type)||(0,Gi.isNonNullTypeNode)(t)&&rT(e,t.type):!1}});var uR=V(Jg=>{"use strict";m();T();h();Object.defineProperty(Jg,"__esModule",{value:!0});Jg.mergeInputType=void 0;var nce=(we(),Me(je)),rce=iT(),ice=Js();function sce(e,t,n,r){if(t)try{return{name:e.name,description:e.description||t.description,kind:n!=null&&n.convertExtensions||e.kind==="InputObjectTypeDefinition"||t.kind==="InputObjectTypeDefinition"?"InputObjectTypeDefinition":"InputObjectTypeExtension",loc:e.loc,fields:(0,rce.mergeFields)(e,e.fields,t.fields,n),directives:(0,ice.mergeDirectives)(e.directives,t.directives,n,r)}}catch(i){throw new Error(`Unable to merge GraphQL input type "${e.name.value}": ${i.message}`)}return n!=null&&n.convertExtensions?K(k({},e),{kind:nce.Kind.INPUT_OBJECT_TYPE_DEFINITION}):e}Jg.mergeInputType=sce});var sT=V(zg=>{"use strict";m();T();h();Object.defineProperty(zg,"__esModule",{value:!0});zg.mergeNamedTypeArray=void 0;var oce=_o();function ace(e,t){return!!e.find(n=>n.name.value===t.name.value)}function uce(e=[],t=[],n={}){let r=[...t,...e.filter(i=>!ace(t,i))];return n&&n.sort&&r.sort(oce.compareNodes),r}zg.mergeNamedTypeArray=uce});var cR=V(Hg=>{"use strict";m();T();h();Object.defineProperty(Hg,"__esModule",{value:!0});Hg.mergeInterface=void 0;var cce=(we(),Me(je)),lce=iT(),dce=Js(),pce=sT();function fce(e,t,n,r){if(t)try{return{name:e.name,description:e.description||t.description,kind:n!=null&&n.convertExtensions||e.kind==="InterfaceTypeDefinition"||t.kind==="InterfaceTypeDefinition"?"InterfaceTypeDefinition":"InterfaceTypeExtension",loc:e.loc,fields:(0,lce.mergeFields)(e,e.fields,t.fields,n),directives:(0,dce.mergeDirectives)(e.directives,t.directives,n,r),interfaces:e.interfaces?(0,pce.mergeNamedTypeArray)(e.interfaces,t.interfaces,n):void 0}}catch(i){throw new Error(`Unable to merge GraphQL interface "${e.name.value}": ${i.message}`)}return n!=null&&n.convertExtensions?K(k({},e),{kind:cce.Kind.INTERFACE_TYPE_DEFINITION}):e}Hg.mergeInterface=fce});var lR=V(Wg=>{"use strict";m();T();h();Object.defineProperty(Wg,"__esModule",{value:!0});Wg.mergeType=void 0;var mce=(we(),Me(je)),hce=iT(),Tce=Js(),yce=sT();function Nce(e,t,n,r){if(t)try{return{name:e.name,description:e.description||t.description,kind:n!=null&&n.convertExtensions||e.kind==="ObjectTypeDefinition"||t.kind==="ObjectTypeDefinition"?"ObjectTypeDefinition":"ObjectTypeExtension",loc:e.loc,fields:(0,hce.mergeFields)(e,e.fields,t.fields,n),directives:(0,Tce.mergeDirectives)(e.directives,t.directives,n,r),interfaces:(0,yce.mergeNamedTypeArray)(e.interfaces,t.interfaces,n)}}catch(i){throw new Error(`Unable to merge GraphQL type "${e.name.value}": ${i.message}`)}return n!=null&&n.convertExtensions?K(k({},e),{kind:mce.Kind.OBJECT_TYPE_DEFINITION}):e}Wg.mergeType=Nce});var dR=V(Xg=>{"use strict";m();T();h();Object.defineProperty(Xg,"__esModule",{value:!0});Xg.mergeScalar=void 0;var Ece=(we(),Me(je)),gce=Js();function Ice(e,t,n,r){return t?{name:e.name,description:e.description||t.description,kind:n!=null&&n.convertExtensions||e.kind==="ScalarTypeDefinition"||t.kind==="ScalarTypeDefinition"?"ScalarTypeDefinition":"ScalarTypeExtension",loc:e.loc,directives:(0,gce.mergeDirectives)(e.directives,t.directives,n,r)}:n!=null&&n.convertExtensions?K(k({},e),{kind:Ece.Kind.SCALAR_TYPE_DEFINITION}):e}Xg.mergeScalar=Ice});var fR=V(Zg=>{"use strict";m();T();h();Object.defineProperty(Zg,"__esModule",{value:!0});Zg.mergeUnion=void 0;var pR=(we(),Me(je)),vce=Js(),_ce=sT();function bce(e,t,n,r){return t?{name:e.name,description:e.description||t.description,directives:(0,vce.mergeDirectives)(e.directives,t.directives,n,r),kind:n!=null&&n.convertExtensions||e.kind==="UnionTypeDefinition"||t.kind==="UnionTypeDefinition"?pR.Kind.UNION_TYPE_DEFINITION:pR.Kind.UNION_TYPE_EXTENSION,loc:e.loc,types:(0,_ce.mergeNamedTypeArray)(e.types,t.types,n)}:n!=null&&n.convertExtensions?K(k({},e),{kind:pR.Kind.UNION_TYPE_DEFINITION}):e}Zg.mergeUnion=bce});var mR=V(ql=>{"use strict";m();T();h();Object.defineProperty(ql,"__esModule",{value:!0});ql.mergeSchemaDefs=ql.DEFAULT_OPERATION_TYPE_NAME_MAP=void 0;var oT=(we(),Me(je)),Oce=Js();ql.DEFAULT_OPERATION_TYPE_NAME_MAP={query:"Query",mutation:"Mutation",subscription:"Subscription"};function Sce(e=[],t=[]){let n=[];for(let r in ql.DEFAULT_OPERATION_TYPE_NAME_MAP){let i=e.find(s=>s.operation===r)||t.find(s=>s.operation===r);i&&n.push(i)}return n}function Dce(e,t,n,r){return t?{kind:e.kind===oT.Kind.SCHEMA_DEFINITION||t.kind===oT.Kind.SCHEMA_DEFINITION?oT.Kind.SCHEMA_DEFINITION:oT.Kind.SCHEMA_EXTENSION,description:e.description||t.description,directives:(0,Oce.mergeDirectives)(e.directives,t.directives,n,r),operationTypes:Sce(e.operationTypes,t.operationTypes)}:n!=null&&n.convertExtensions?K(k({},e),{kind:oT.Kind.SCHEMA_DEFINITION}):e}ql.mergeSchemaDefs=Dce});var hR=V(aa=>{"use strict";m();T();h();Object.defineProperty(aa,"__esModule",{value:!0});aa.mergeGraphQLNodes=aa.isNamedDefinitionNode=aa.schemaDefSymbol=void 0;var Ri=(we(),Me(je)),Ace=lR(),Rce=oR(),Fce=dR(),wce=fR(),Lce=uR(),Pce=cR(),kce=Js(),xce=mR(),Cce=_o();aa.schemaDefSymbol="SCHEMA_DEF_SYMBOL";function z$(e){return"name"in e}aa.isNamedDefinitionNode=z$;function Uce(e,t,n={}){var i,s,o;let r=n;for(let u of e)if(z$(u)){let l=(i=u.name)==null?void 0:i.value;if(t!=null&&t.commentDescriptions&&(0,Cce.collectComment)(u),l==null)continue;if((s=t==null?void 0:t.exclusions)!=null&&s.includes(l+".*")||(o=t==null?void 0:t.exclusions)!=null&&o.includes(l))delete r[l];else switch(u.kind){case Ri.Kind.OBJECT_TYPE_DEFINITION:case Ri.Kind.OBJECT_TYPE_EXTENSION:r[l]=(0,Ace.mergeType)(u,r[l],t,n);break;case Ri.Kind.ENUM_TYPE_DEFINITION:case Ri.Kind.ENUM_TYPE_EXTENSION:r[l]=(0,Rce.mergeEnum)(u,r[l],t,n);break;case Ri.Kind.UNION_TYPE_DEFINITION:case Ri.Kind.UNION_TYPE_EXTENSION:r[l]=(0,wce.mergeUnion)(u,r[l],t,n);break;case Ri.Kind.SCALAR_TYPE_DEFINITION:case Ri.Kind.SCALAR_TYPE_EXTENSION:r[l]=(0,Fce.mergeScalar)(u,r[l],t,n);break;case Ri.Kind.INPUT_OBJECT_TYPE_DEFINITION:case Ri.Kind.INPUT_OBJECT_TYPE_EXTENSION:r[l]=(0,Lce.mergeInputType)(u,r[l],t,n);break;case Ri.Kind.INTERFACE_TYPE_DEFINITION:case Ri.Kind.INTERFACE_TYPE_EXTENSION:r[l]=(0,Pce.mergeInterface)(u,r[l],t,n);break;case Ri.Kind.DIRECTIVE_DEFINITION:r[l]=(0,kce.mergeDirective)(u,r[l]);break}}else(u.kind===Ri.Kind.SCHEMA_DEFINITION||u.kind===Ri.Kind.SCHEMA_EXTENSION)&&(r[aa.schemaDefSymbol]=(0,xce.mergeSchemaDefs)(u,r[aa.schemaDefSymbol],t));return r}aa.mergeGraphQLNodes=Uce});var X$=V($p=>{"use strict";m();T();h();Object.defineProperty($p,"__esModule",{value:!0});$p.mergeGraphQLTypes=$p.mergeTypeDefs=void 0;var zs=(we(),Me(je)),TR=Qg(),Bp=hR(),jp=_o(),H$=mR();function Mce(e,t){(0,jp.resetComments)();let n={kind:zs.Kind.DOCUMENT,definitions:W$(e,k({useSchemaDefinition:!0,forceSchemaDefinition:!1,throwOnConflict:!1,commentDescriptions:!1},t))},r;return t!=null&&t.commentDescriptions?r=(0,jp.printWithComments)(n):r=n,(0,jp.resetComments)(),r}$p.mergeTypeDefs=Mce;function Vp(e,t,n=[],r=[],i=new Set){if(e&&!i.has(e))if(i.add(e),typeof e=="function")Vp(e(),t,n,r,i);else if(Array.isArray(e))for(let s of e)Vp(s,t,n,r,i);else if((0,zs.isSchema)(e)){let s=(0,jp.getDocumentNodeFromSchema)(e,t);Vp(s.definitions,t,n,r,i)}else if((0,TR.isStringTypes)(e)||(0,TR.isSourceTypes)(e)){let s=(0,zs.parse)(e,t);Vp(s.definitions,t,n,r,i)}else if(typeof e=="object"&&(0,zs.isDefinitionNode)(e))e.kind===zs.Kind.DIRECTIVE_DEFINITION?n.push(e):r.push(e);else if((0,jp.isDocumentNode)(e))Vp(e.definitions,t,n,r,i);else throw new Error(`typeDefs must contain only strings, documents, schemas, or functions, got ${typeof e}`);return{allDirectives:n,allNodes:r}}function W$(e,t){var u,l,d;(0,jp.resetComments)();let{allDirectives:n,allNodes:r}=Vp(e,t),i=(0,Bp.mergeGraphQLNodes)(n,t),s=(0,Bp.mergeGraphQLNodes)(r,t,i);if(t!=null&&t.useSchemaDefinition){let p=s[Bp.schemaDefSymbol]||{kind:zs.Kind.SCHEMA_DEFINITION,operationTypes:[]},y=p.operationTypes;for(let N in H$.DEFAULT_OPERATION_TYPE_NAME_MAP)if(!y.find(O=>O.operation===N)){let O=H$.DEFAULT_OPERATION_TYPE_NAME_MAP[N],x=s[O];x!=null&&x.name!=null&&y.push({kind:zs.Kind.OPERATION_TYPE_DEFINITION,type:{kind:zs.Kind.NAMED_TYPE,name:x.name},operation:N})}((u=p==null?void 0:p.operationTypes)==null?void 0:u.length)!=null&&p.operationTypes.length>0&&(s[Bp.schemaDefSymbol]=p)}t!=null&&t.forceSchemaDefinition&&!((d=(l=s[Bp.schemaDefSymbol])==null?void 0:l.operationTypes)!=null&&d.length)&&(s[Bp.schemaDefSymbol]={kind:zs.Kind.SCHEMA_DEFINITION,operationTypes:[{kind:zs.Kind.OPERATION_TYPE_DEFINITION,operation:"query",type:{kind:zs.Kind.NAMED_TYPE,name:{kind:zs.Kind.NAME,value:"Query"}}}]});let o=Object.values(s);if(t!=null&&t.sort){let p=typeof t.sort=="function"?t.sort:TR.defaultStringComparator;o.sort((y,N)=>{var I,O;return p((I=y.name)==null?void 0:I.value,(O=N.name)==null?void 0:O.value)})}return o}$p.mergeGraphQLTypes=W$});var Z$=V(fi=>{"use strict";m();T();h();Object.defineProperty(fi,"__esModule",{value:!0});var Qi=(oA(),Me(sA));Qi.__exportStar(iR(),fi);Qi.__exportStar(Js(),fi);Qi.__exportStar(sR(),fi);Qi.__exportStar(oR(),fi);Qi.__exportStar(iT(),fi);Qi.__exportStar(uR(),fi);Qi.__exportStar(cR(),fi);Qi.__exportStar(sT(),fi);Qi.__exportStar(hR(),fi);Qi.__exportStar(X$(),fi);Qi.__exportStar(dR(),fi);Qi.__exportStar(lR(),fi);Qi.__exportStar(fR(),fi);Qi.__exportStar(Qg(),fi)});var tq=V(Rc=>{"use strict";m();T();h();Object.defineProperty(Rc,"__esModule",{value:!0});Rc.applyExtensions=Rc.mergeExtensions=Rc.extractExtensionsFromSchema=void 0;var eq=_o(),Bce=_o();Object.defineProperty(Rc,"extractExtensionsFromSchema",{enumerable:!0,get:function(){return Bce.extractExtensionsFromSchema}});function Vce(e){return(0,eq.mergeDeep)(e)}Rc.mergeExtensions=Vce;function qp(e,t){e&&(e.extensions=(0,eq.mergeDeep)([e.extensions||{},t||{}]))}function jce(e,t){qp(e,t.schemaExtensions);for(let[n,r]of Object.entries(t.types||{})){let i=e.getType(n);if(i){if(qp(i,r.extensions),r.type==="object"||r.type==="interface")for(let[s,o]of Object.entries(r.fields)){let u=i.getFields()[s];if(u){qp(u,o.extensions);for(let[l,d]of Object.entries(o.arguments))qp(u.args.find(p=>p.name===l),d)}}else if(r.type==="input")for(let[s,o]of Object.entries(r.fields)){let u=i.getFields()[s];qp(u,o.extensions)}else if(r.type==="enum")for(let[s,o]of Object.entries(r.values)){let u=i.getValue(s);qp(u,o)}}}return e}Rc.applyExtensions=jce});var eI=V(aT=>{"use strict";m();T();h();Object.defineProperty(aT,"__esModule",{value:!0});var yR=(oA(),Me(sA));yR.__exportStar($$(),aT);yR.__exportStar(Z$(),aT);yR.__exportStar(tq(),aT)});var Qp=V(mt=>{"use strict";m();T();h();Object.defineProperty(mt,"__esModule",{value:!0});mt.FieldSetDirective=mt.MergeMethod=void 0;mt.newPersistedDirectivesData=rI;mt.isNodeExternalOrShareable=sq;mt.getDefinedArgumentsForDirective=oq;mt.getDirectiveValidationErrors=aq;mt.extractDirectives=gR;mt.extractArguments=qce;mt.isTypeRequired=IR;mt.compareAndValidateInputValueDefaultValues=Kce;mt.addEnumValueDataByNode=Gce;mt.addInheritedDirectivesToFieldData=Qce;mt.addFieldDataByNode=Yce;mt.addInputValueDataByNode=vR;mt.addPersistedDirectiveDefinitionDataByNode=Jce;mt.setMutualExecutableLocations=zce;mt.isTypeNameRootType=Hce;mt.getRenamedRootTypeName=Wce;mt.getEnumNodeByData=ele;mt.getInputObjectNodeByData=tle;mt.getCompositeOutputNodeByData=nle;mt.getScalarNodeByData=rle;mt.getSchemaNodeByData=ile;mt.getUnionNodeByData=sle;mt.removeInheritableDirectivesFromParentWithFieldsData=ole;mt.setLongestDescription=ale;mt.isParentDataRootType=cq;mt.setParentDataExtensionType=ule;mt.extractPersistedDirectives=dle;mt.pushAuthorizationDirectives=ple;mt.getClientPersistedDirectiveNodes=ER;mt.getNodeForRouterSchemaByData=mle;mt.getNodeWithPersistedDirectivesByFieldData=hle;mt.getClientSchemaFieldNodeByFieldData=Tle;mt.getNodeWithPersistedDirectivesByInputValueData=OR;mt.getValidFieldArgumentNodes=yle;mt.addValidPersistedDirectiveDefinitionNodeByData=Ele;mt.newInvalidFieldNames=gle;mt.validateExternalAndShareable=Ile;mt.isTypeValidImplementation=tI;mt.isNodeDataInaccessible=dq;mt.isLeafKind=vle;mt.getSubscriptionFilterValue=_le;mt.getParentTypeName=ble;mt.newConditionalFieldData=Ole;var wt=(we(),Me(je)),NR=Kh(),Kp=$a(),Hs=Vi(),xr=To(),Kt=bi(),nq=Kl(),ys=ps(),nI=_c(),$ce=eI();function rI(){return{deprecatedReason:"",directives:new Map,isDeprecated:!1,tags:new Map}}function sq(e,t,n){var i;let r={isExternal:n.has(Kt.EXTERNAL),isShareable:t||n.has(Kt.SHAREABLE)};if(!((i=e.directives)!=null&&i.length))return r;for(let s of e.directives){let o=s.name.value;if(o===Kt.EXTERNAL){r.isExternal=!0;continue}o===Kt.SHAREABLE&&(r.isShareable=!0)}return r}function oq(e,t,n,r,i){let s=e.arguments||[],o=e.name.value,u=new Set,l=new Set,d=new Set;for(let p of s){let y=p.name.value;if(u.has(y)){l.add(y);continue}if(!t.get(y)){d.add(y);continue}u.add(y)}return l.size>0&&i.push((0,xr.duplicateDirectiveArgumentDefinitionsErrorMessage)(o,r,[...l])),d.size>0&&i.push((0,xr.unexpectedDirectiveArgumentErrorMessage)(o,[...d])),u}function aq(e,t,n,r,i,s,o=!1){var O,x,j;let u=e.name.value,l=r.get(u)||nI.V2_DIRECTIVE_DEFINITION_BY_DIRECTIVE_NAME.get(u),d=[];if(!l)return d.push((0,xr.undefinedDirectiveErrorMessage)(u,s)),d;let p=new Map,y=new Set;if((0,nq.getDirectiveDefinitionArgumentSets)(l.arguments||[],p,y),(0,nq.areNodeKindAndDirectiveLocationCompatible)(t,l,o)||d.push((0,xr.invalidDirectiveLocationErrorMessage)(s,o?wt.Kind.ARGUMENT:t,u)),!l.repeatable&&n.get(u)){let Q=(0,ys.getValueOrDefault)(i,s,()=>new Set);Q.has(u)||(Q.add(u),d.push((0,xr.invalidRepeatedDirectiveErrorMessage)(u,s)))}if(!((O=l.arguments)!=null&&O.length))return(x=e.arguments)!=null&&x.length&&d.push((0,xr.unexpectedDirectiveArgumentsErrorMessage)(e,s)),d;if(!((j=e.arguments)!=null&&j.length))return y.size>0&&d.push((0,xr.undefinedRequiredArgumentsErrorMessage)(u,s,[...y])),d;let N=oq(e,p,y,s,d),I=(0,ys.getEntriesNotInHashSet)(y,N);return I.length>0&&d.push((0,xr.undefinedRequiredArgumentsErrorMessage)(u,s,[...y],I)),d}function gR(e,t,n,r,i,s,o=!1){if(!e.directives)return t;let u=new Set;for(let l of e.directives){let d=aq(l,e.kind,t,r,i,s,o),p=l.name.value;if(d.length>0){n.push((0,xr.invalidDirectiveError)(p,s,d));continue}if(Kt.IGNORED_PARENT_DIRECTIVES.has(p))continue;if(p===Kt.KEY){let N=l.arguments[0].value.value;if(u.has(N))continue;u.add(N)}let y=t.get(p);y?y.push(l):t.set(p,[l])}return t}function qce(e,t,n,r,i,s,o,u,l){var I;if(!((I=t.arguments)!=null&&I.length))return e;let d=t.name.value,p=`${o}.${d}`,y=`${u}.${d}`;s.add(o);let N=new Set;for(let O of t.arguments){let x=O.name.value;if(e.has(x)){N.add(x);continue}vR(e,O,r,i,`${p}(${x}: ...)`,l,n,`${y}(${x}: ...)`)}return N.size>0&&n.push((0,xr.duplicateArgumentsError)(p,[...N])),e}function IR(e){return e.kind===wt.Kind.NON_NULL_TYPE}function uq(e,t){switch(e.kind){case wt.Kind.LIST_TYPE:return t.kind===wt.Kind.LIST||t.kind===wt.Kind.NULL;case wt.Kind.NAMED_TYPE:if(t.kind===wt.Kind.NULL)return!0;switch(e.name.value){case Kt.BOOLEAN_SCALAR:return t.kind===wt.Kind.BOOLEAN;case Kt.FLOAT_SCALAR:return t.kind===wt.Kind.INT||t.kind===wt.Kind.FLOAT;case Kt.INT_SCALAR:return t.kind===wt.Kind.INT;case Kt.STRING_SCALAR:return t.kind===wt.Kind.STRING;default:return!0}case wt.Kind.NON_NULL_TYPE:return t.kind===wt.Kind.NULL?!1:uq(e.type,t)}}function Kce(e,t,n){if(!e.defaultValue)return;if(!t.defaultValue){e.includeDefaultValue=!1;return}let r=(0,wt.print)(e.defaultValue),i=(0,wt.print)(t.defaultValue);if(r!==i){n.push((0,xr.incompatibleInputValueDefaultValuesError)(`${e.isArgument?Kt.ARGUMENT:Kt.INPUT_FIELD} "${e.name}"`,e.originalPath,[...t.subgraphNames],r,i));return}}function Gce(e,t,n,r,i,s){let o=t.name.value;e.set(o,{appearances:1,directivesByDirectiveName:gR(t,new Map,n,r,i,`${s}.${o}`),name:o,node:(0,Kp.getMutableEnumValueNode)(t),parentTypeName:s,persistedDirectivesData:rI(),description:(0,Hs.formatDescription)(t.description)})}function Qce(e,t){for(let n of nI.INHERITABLE_DIRECTIVE_NAMES)e.get(n)&&(0,ys.getValueOrDefault)(t,n,()=>[(0,ys.generateSimpleDirective)(n)]);return t}function Yce(e,t,n,r,i,s,o,u,l){let d=t.name.value,p=`${i}.${d}`,y=sq(t,!u,r),N={argumentDataByArgumentName:n,isExternalBySubgraphName:new Map([[o,y.isExternal]]),isInaccessible:r.has(Kt.INACCESSIBLE),isShareableBySubgraphName:new Map([[o,y.isShareable]]),node:(0,Kp.getMutableFieldNode)(t,p,l),name:d,namedTypeName:(0,Kp.getTypeNodeNamedTypeName)(t.type),originalParentTypeName:i,persistedDirectivesData:rI(),renamedParentTypeName:s,subgraphNames:new Set([o]),type:(0,Kp.getMutableTypeNode)(t.type,p,l),directivesByDirectiveName:r,description:(0,Hs.formatDescription)(t.description)};return e.set(d,N),N}function vR(e,t,n,r,i,s,o,u){let l=t.name.value,d=!!u;t.defaultValue&&!uq(t.type,t.defaultValue)&&o.push((0,xr.incompatibleInputValueDefaultValueTypeError)((d?Kt.ARGUMENT:Kt.INPUT_FIELD)+` "${l}"`,i,(0,$ce.printTypeNode)(t.type),(0,wt.print)(t.defaultValue))),e.set(l,{directivesByDirectiveName:gR(t,new Map,o,n,r,i,d),includeDefaultValue:!!t.defaultValue,isArgument:d,name:l,node:(0,Kp.getMutableInputValueNode)(t,i,o),originalPath:i,persistedDirectivesData:rI(),renamedPath:u||i,requiredSubgraphNames:new Set(IR(t.type)?[s]:[]),subgraphNames:new Set([s]),type:(0,Kp.getMutableTypeNode)(t.type,i,o),defaultValue:t.defaultValue,description:(0,Hs.formatDescription)(t.description)})}function Jce(e,t,n,r,i,s,o){let u=t.name.value,l=new Map;for(let d of t.arguments||[]){let p=`@${u}(${d.name.value}: ...)`;vR(l,d,r,i,p,o,n,p)}e.set(u,{argumentDataByArgumentName:l,executableLocations:s,name:u,repeatable:t.repeatable,subgraphNames:new Set([o]),description:(0,Hs.formatDescription)(t.description)})}function zce(e,t){let n=new Set;for(let r of t)e.executableLocations.has(r)&&n.add(r);e.executableLocations=n}function Hce(e,t){return Kt.ROOT_TYPE_NAMES.has(e)||t.has(e)}function Wce(e,t){let n=t.get(e);if(!n)return e;switch(n){case wt.OperationTypeNode.MUTATION:return Kt.MUTATION;case wt.OperationTypeNode.SUBSCRIPTION:return Kt.SUBSCRIPTION;default:return Kt.QUERY}}function Xce(e,t){let n=e.get(t.originalParentTypeName);if(!n)return;let r=n.fieldAuthorizationDataByFieldName.get(t.name);if(r){if(r.requiresAuthentication){let i=(0,ys.generateSimpleDirective)(Kt.AUTHENTICATED);t.directivesByDirectiveName.set(Kt.AUTHENTICATED,[i])}if(r.requiredScopes.length>0){let i=(0,ys.generateRequiresScopesDirective)(r.requiredScopes);t.directivesByDirectiveName.set(Kt.REQUIRES_SCOPES,[i])}}}function Zce(e){for(let t of e.argumentDataByArgumentName.values()){for(let n of t.directivesByDirectiveName.values())t.node.directives.push(...n);e.node.arguments.push(t.node)}}function _R(e,t){let n=[];for(let r of e.values()){if(r.node.kind===wt.Kind.FIELD_DEFINITION){let i=r;Xce(t,i),Zce(i)}for(let i of r.directivesByDirectiveName.values())r.node.directives.push(...i);n.push(r.node)}return n}function Gp(e,t,n,r){let i=[];for(let[s,o]of e){let u=n.get(s)||nI.V2_DIRECTIVE_DEFINITION_BY_DIRECTIVE_NAME.get(s);if(!u)continue;if(!u.repeatable&&o.length>1){t.push((0,xr.invalidDirectiveError)(s,r,[(0,xr.invalidRepeatedDirectiveErrorMessage)(s,r)]));continue}if(s!==Kt.KEY){i.push(...o);continue}let l=[],d=new Set,p=[];for(let y of o){let N=y.arguments[0].value;if(N.kind!==wt.Kind.STRING){p.push((0,xr.invalidKeyDirectiveArgumentErrorMessage)(N.kind));continue}let I=N.value;d.has(I)||(d.add(I),i.push(y),l.push(y))}e.set(s,l),p.length>0&&t.push((0,xr.invalidDirectiveError)(s,r,p))}return i}function ele(e,t,n,r){return e.node.description=e.description,e.node.directives=Gp(e.directivesByDirectiveName,t,n,e.name),e.node.values=_R(e.enumValueDataByValueName,r),e.node}function tle(e,t,n,r){return e.node.description=e.description,e.node.directives=Gp(e.directivesByDirectiveName,t,n,e.name),e.node.fields=_R(e.inputValueDataByValueName,r),e.node}function nle(e,t,n,r){return e.node.description=e.description,e.node.directives=Gp(e.directivesByDirectiveName,t,n,e.name),e.node.fields=_R(e.fieldDataByFieldName,r),e.node.interfaces=(0,Hs.setToNamedTypeNodeArray)(e.implementedInterfaceTypeNames),e.node}function rle(e,t,n){return e.node.description=e.description,e.node.directives=Gp(e.directivesByDirectiveName,t,n,e.name),e.node}function ile(e,t,n){return{description:e.description,directives:Gp(e.directivesByDirectiveName,t,n,e.typeName),kind:e.kind,operationTypes:(0,ys.mapToArrayOfValues)(e.operationTypes)}}function sle(e,t,n){return e.node.description=e.description,e.node.directives=Gp(e.directivesByDirectiveName,t,n,e.name),e.node.types=(0,ys.mapToArrayOfValues)(e.memberByMemberTypeName),e.node}function ole(e){for(let t of nI.INHERITABLE_DIRECTIVE_NAMES)e.directivesByDirectiveName.delete(t)}function ale(e,t){t.description&&(!e.description||e.description.value.length0&&e.persistedDirectivesData.directives.set(Kt.REQUIRES_SCOPES,[(0,ys.generateRequiresScopesDirective)(n.requiredScopes)]))}function lq(e){return{kind:wt.Kind.DIRECTIVE,name:(0,Hs.stringToNameNode)(Kt.DEPRECATED),arguments:[{kind:wt.Kind.ARGUMENT,name:(0,Hs.stringToNameNode)(Kt.REASON),value:{kind:wt.Kind.STRING,value:e||Kt.DEPRECATED_DEFAULT_ARGUMENT_VALUE}}]}}function fle(e,t,n,r){let i=[];for(let[s,o]of e){let u=t.get(s);if(u){if(o.length<2){i.push(...o);continue}if(!u.repeatable){r.push((0,xr.invalidRepeatedFederatedDirectiveErrorMessage)(s,n));continue}i.push(...o)}}return i}function bR(e,t,n){let r=[...e.persistedDirectivesData.tags.values()];return e.persistedDirectivesData.isDeprecated&&r.push(lq(e.persistedDirectivesData.deprecatedReason)),r.push(...fle(e.persistedDirectivesData.directives,t,e.name,n)),r}function ER(e){let t=[];e.persistedDirectivesData.isDeprecated&&t.push(lq(e.persistedDirectivesData.deprecatedReason));for(let[n,r]of e.persistedDirectivesData.directives)Kt.PERSISTED_CLIENT_DIRECTIVES.has(n)&&t.push(r[0]);return t}function mle(e,t,n){return e.node.name=(0,Hs.stringToNameNode)(e.name),e.node.description=e.description,e.node.directives=bR(e,t,n),e.node}function hle(e,t,n,r){return e.node.arguments=n,e.node.name=(0,Hs.stringToNameNode)(e.name),e.node.type=e.type,e.node.description=e.description,e.node.directives=bR(e,t,r),e.node}function Tle(e){let t=ER(e),n=[];for(let r of e.argumentDataByArgumentName.values())dq(r)||n.push(K(k({},r.node),{directives:ER(r)}));return K(k({},e.node),{directives:t,arguments:n})}function OR(e,t,n){return e.node.name=(0,Hs.stringToNameNode)(e.name),e.node.type=e.type,e.node.description=e.description,e.node.directives=bR(e,t,n),e.includeDefaultValue&&(e.node.defaultValue=e.defaultValue),e.node}function yle(e,t,n,r){let i=[],s=[],o=[],u=`${e.renamedParentTypeName}.${e.name}`;for(let[l,d]of e.argumentDataByArgumentName)e.subgraphNames.size===d.subgraphNames.size?(s.push(l),i.push(OR(d,t,r))):IR(d.type)&&o.push({inputValueName:l,missingSubgraphs:(0,ys.getEntriesNotInHashSet)(e.subgraphNames,d.subgraphNames),requiredSubgraphs:[...d.requiredSubgraphNames]});return o.length>0?r.push((0,xr.invalidRequiredInputValueError)(Kt.FIELD,u,o)):s.length>0&&((0,ys.getValueOrDefault)(n,u,()=>({argumentNames:s,fieldName:e.name,typeName:e.renamedParentTypeName})).argumentNames=s),i}function Nle(e,t,n,r,i){let s=[];for(let[o,u]of t.argumentDataByArgumentName){let l=(0,ys.getEntriesNotInHashSet)(t.subgraphNames,u.subgraphNames);if(l.length>0){u.requiredSubgraphNames.size>0&&s.push({inputValueName:o,missingSubgraphs:l,requiredSubgraphs:[...u.requiredSubgraphNames]});continue}e.push(OR(u,n,r)),i&&i.add(o)}return s.length>0?(r.push((0,xr.invalidRequiredInputValueError)(Kt.DIRECTIVE_DEFINITION,`@${t.name}`,s)),!1):!0}function Ele(e,t,n,r){let i=[];Nle(i,t,n,r)&&e.push({arguments:i,kind:wt.Kind.DIRECTIVE_DEFINITION,locations:(0,Hs.setToNameNodeArray)(t.executableLocations),name:(0,Hs.stringToNameNode)(t.name),repeatable:t.repeatable,description:t.description})}function gle(){return{byShareable:new Set,subgraphNamesByExternalFieldName:new Map}}function Ile(e,t){let n=e.isShareableBySubgraphName.size,r=[],i=0;for(let[s,o]of e.isShareableBySubgraphName){if(e.isExternalBySubgraphName.get(s)){r.push(s);continue}o||(i+=1)}switch(i){case 0:n===r.length&&t.subgraphNamesByExternalFieldName.set(e.name,r);return;case 1:if(n===1)return;n-r.length!==1&&t.byShareable.add(e.name);return;default:t.byShareable.add(e.name)}}var rq;(function(e){e[e.UNION=0]="UNION",e[e.INTERSECTION=1]="INTERSECTION",e[e.CONSISTENT=2]="CONSISTENT"})(rq||(mt.MergeMethod=rq={}));function tI(e,t,n){if(e.kind===wt.Kind.NON_NULL_TYPE)return t.kind!==wt.Kind.NON_NULL_TYPE?!1:tI(e.type,t.type,n);if(t.kind===wt.Kind.NON_NULL_TYPE)return tI(e,t.type,n);switch(e.kind){case wt.Kind.NAMED_TYPE:if(t.kind===wt.Kind.NAMED_TYPE){let r=e.name.value,i=t.name.value;if(r===i)return!0;let s=n.get(r);return s?s.has(i):!1}return!1;default:return t.kind===wt.Kind.LIST_TYPE?tI(e.type,t.type,n):!1}}function dq(e){return e.persistedDirectivesData.directives.has(Kt.INACCESSIBLE)||e.directivesByDirectiveName.has(Kt.INACCESSIBLE)}function vle(e){return e===wt.Kind.SCALAR_TYPE_DEFINITION||e===wt.Kind.ENUM_TYPE_DEFINITION}function _le(e){switch(e.kind){case wt.Kind.BOOLEAN:return e.value;case wt.Kind.ENUM:case wt.Kind.STRING:return e.value;case wt.Kind.FLOAT:case wt.Kind.INT:try{return parseFloat(e.value)}catch(t){return"NaN"}case wt.Kind.NULL:return null}}function ble(e){switch(e.kind){case wt.Kind.OBJECT_TYPE_DEFINITION:case wt.Kind.OBJECT_TYPE_EXTENSION:return e.renamedTypeName;default:return e.name}}var iq;(function(e){e.PROVIDES="provides",e.REQUIRES="requires"})(iq||(mt.FieldSetDirective=iq={}));function Ole(){return{providedBy:[],requiredBy:[]}}});var iI=V(Fc=>{"use strict";m();T();h();Object.defineProperty(Fc,"__esModule",{value:!0});Fc.Warning=void 0;Fc.invalidOverrideTargetSubgraphNameWarning=Sle;Fc.externalInterfaceFieldsWarning=Dle;Fc.nonExternalConditionalFieldWarning=Ale;Fc.unimplementedInterfaceOutputTypeWarning=Rle;var pq=bi(),Gl=class extends Error{constructor(n){super(n.message);A(this,"subgraph");this.name="Warning",this.subgraph=n.subgraph}};Fc.Warning=Gl;function Sle(e,t,n,r){return new Gl({message:`The Object type "${t}" defines the directive "@override(from: "${e}")" on the following field`+(n.length>1?"s":"")+': "'+n.join(pq.QUOTATION_JOIN)+`". The required "from" argument of type "String!" should be provided with an existing subgraph name. However, a subgraph by the name of "${e}" does not exist. -If this subgraph has been recently deleted, remember to clean up unused @override directives that reference this subgraph.`)}function dq(e){return`The subgraph "${e}" is currently a "version one" subgraph, but if it were updated to "version two" in its current state, composition would be unsuccessful due to the following warning that would instead propagate as an error: -`}function Sle(e,t,n){return new Gp(dq(e)+`The interface "${t}" is invalid because the following field definition`+(n.length>1?"s are":" is")+` declared "@external": - "`+n.join(lq.QUOTATION_JOIN)+`" -Interface fields should not be declared "@external". This is because interface fields do not resolve directly, but the "@external" directive relates to whether a field instance can be resolved by the subgraph in which it is defined.`)}function Dle(e,t,n,r,i){return new Gp(dq(t)+`The field "${e}" in subgraph "${t}" defines a "@${i}" directive with the following field set: +If this subgraph has been recently deleted, remember to clean up unused "@override" directives that reference this subgraph.`,subgraph:{name:r}})}function fq(e){return`The subgraph "${e}" is currently a "version one" subgraph, but if it were updated to "version two" in its current state, composition would be unsuccessful due to the following warning that would instead propagate as an error: +`}function Dle(e,t,n){return new Gl({message:fq(e)+`The Interface "${t}" is invalid because the following Field definition`+(n.length>1?"s are":" is")+` declared "@external": + "`+n.join(pq.QUOTATION_JOIN)+`" +Interface Fields should not be declared "@external". This is because Interface Fields do not resolve directly, but the "@external" directive relates to whether a Field instance can be resolved by the subgraph in which it is defined.`,subgraph:{name:e}})}function Ale(e,t,n,r,i){return new Gl({message:fq(t)+`The Field "${e}" in subgraph "${t}" defines a "@${i}" directive with the following field set: "${r}". -However, neither the field "${n}" nor any of its field set ancestors are declared @external. -Consequently, "${n}" is already provided by subgraph "${t}" and should not form part of a "@${i}" directive field set.`)}});var $l=V(Hs=>{"use strict";m();T();h();Object.defineProperty(Hs,"__esModule",{value:!0});Hs.newKeyFieldSetData=Rle;Hs.newFieldSetData=Fle;Hs.areNodeKindAndDirectiveLocationCompatible=wle;Hs.getDirectiveDefinitionArgumentSets=Lle;Hs.addFieldNamesToConfigurationData=Ple;Hs.extractFieldSetValue=kle;Hs.getNormalizedFieldSet=SR;Hs.validateKeyFieldSets=Ule;Hs.validateAndAddConditionalFieldSetsToConfiguration=Ble;Hs.isNodeQuery=Vle;var Le=(we(),Me(je)),Yi=ps(),aT=Vi(),Wn=bi(),Kt=To(),mq=_c(),pq=nA(),uT=$a(),ua=Kp(),Ale=rI();function Rle(){return{isUnresolvableByKeyFieldSet:new Map}}function Fle(){return{provides:new Map,requires:new Map}}function wle(e,t,n=!1){for(let r of t.locations){let i=r.value.toUpperCase();switch(i){case Wn.ARGUMENT_DEFINITION_UPPER:if(!n)break;if(e===Le.Kind.INPUT_VALUE_DEFINITION)return!0;break;case Wn.ENUM_UPPER:if(e===Le.Kind.ENUM_TYPE_DEFINITION||e===Le.Kind.ENUM_TYPE_EXTENSION)return!0;break;case Wn.ENUM_VALUE_UPPER:if(e===Le.Kind.ENUM_VALUE_DEFINITION)return!0;break;case Wn.FIELD_UPPER:if(e===Le.Kind.FIELD)return!0;break;case Wn.FIELD_DEFINITION_UPPER:if(e===Le.Kind.FIELD_DEFINITION)return!0;break;case Wn.INLINE_FRAGMENT_UPPER:if(e===Le.Kind.INLINE_FRAGMENT)return!0;break;case Wn.INPUT_FIELD_DEFINITION_UPPER:if(e===Le.Kind.INPUT_VALUE_DEFINITION)return!0;break;case Wn.INPUT_OBJECT_UPPER:if(e===Le.Kind.INPUT_OBJECT_TYPE_DEFINITION||e===Le.Kind.INPUT_OBJECT_TYPE_EXTENSION)return!0;break;case Wn.INTERFACE_UPPER:if(e===Le.Kind.INTERFACE_TYPE_DEFINITION||e===Le.Kind.INTERFACE_TYPE_EXTENSION)return!0;break;case Wn.OBJECT_UPPER:if(e===Le.Kind.OBJECT_TYPE_DEFINITION||e===Le.Kind.OBJECT_TYPE_EXTENSION)return!0;break;case Wn.FRAGMENT_DEFINITION_UPPER:if(e===Le.Kind.FRAGMENT_DEFINITION)return!0;break;case Wn.FRAGMENT_SPREAD_UPPER:if(e===Le.Kind.FRAGMENT_SPREAD)return!0;break;case Wn.SCALAR_UPPER:if(e===Le.Kind.SCALAR_TYPE_DEFINITION||e===Le.Kind.SCALAR_TYPE_EXTENSION)return!0;break;case Wn.SCHEMA_UPPER:if(e===Le.Kind.SCHEMA_DEFINITION||e===Le.Kind.SCHEMA_EXTENSION)return!0;break;case Wn.UNION_UPPER:if(e===Le.Kind.UNION_TYPE_DEFINITION||e===Le.Kind.UNION_TYPE_EXTENSION)return!0;break;case Wn.VARIABLE_DEFINITION_UPPER:if(e===Le.Kind.VARIABLE_DEFINITION)return!0;break;case Wn.QUERY_UPPER:case Wn.MUTATION_UPPER:case Wn.SUBSCRIPTION_UPPER:if(e===Le.Kind.OPERATION_DEFINITION)return!0;break;default:throw(0,Kt.unexpectedDirectiveLocationError)(i)}}return!1}function Lle(e,t,n){for(let r of e){let i=r.name.value;t.set(i,r.type),r.type.kind===Le.Kind.NON_NULL_TYPE&&!r.defaultValue&&n.add(i)}}function Ple(e,t){let n=new Set;for(let[r,i]of e)i.directivesByDirectiveName.has(Wn.EXTERNAL)?t.externalFieldNames?t.externalFieldNames.add(r):n.add(r):t.fieldNames.add(r);n.size>0&&(t.externalFieldNames=n)}function kle(e,t,n){if(!n||n.length>1)return;let r=n[0].arguments;if(!r||r.length!==1)return;let i=r[0];i.name.value!==Wn.FIELDS||i.value.kind!==Le.Kind.STRING||t.set(e,i.value.value)}function SR(e){return(0,Le.print)((0,aT.lexicographicallySortDocumentNode)(e)).replaceAll(/\s+/g," ").slice(2,-2)}function xle(e,t,n){switch(e){case ua.FieldSetDirective.PROVIDES:return[`${t}.${n}`];default:return[]}}function Cle(e,t,n,r,i,s){let{error:o,documentNode:u}=(0,aT.safeParse)("{"+n+"}");if(o||!u)return{errorMessage:(0,Kt.unparsableFieldSetErrorMessage)(n,o)};let l=[t],d=[],p=xle(i,s,r),y=[r],N=new Set,I,b=-1,C=!0,j=r;return(0,Le.visit)(u,{Argument:{enter(){return!1}},Field:{enter(Q){let re=l[b],se=re.name;if(re.kind===Le.Kind.UNION_TYPE_DEFINITION)return I=(0,Kt.invalidSelectionOnUnionErrorMessage)(n,p,se),Le.BREAK;if(C)return I=(0,Kt.invalidSelectionSetErrorMessage)(n,p,se,(0,Yi.kindToTypeString)(re.kind)),Le.BREAK;let pe=Q.name.value,ye=`${se}.${pe}`;p.push(ye),y.push(pe),j=pe;let Ce=re.fieldDataByFieldName.get(pe);if(!Ce)return I=(0,Kt.undefinedFieldInFieldSetErrorMessage)(n,se,pe),Le.BREAK;if(d[b].has(pe))return I=(0,Kt.duplicateFieldInFieldSetErrorMessage)(n,ye),Le.BREAK;d[b].add(pe);let ht=Ce.isExternalBySubgraphName.get(e.subgraphName),xt=(0,uT.getTypeNodeNamedTypeName)(Ce.node.type),B=e.parentDefinitionDataByTypeName.get(xt);if(mq.BASE_SCALARS.has(xt)||(B==null?void 0:B.kind)===Le.Kind.SCALAR_TYPE_DEFINITION||(B==null?void 0:B.kind)===Le.Kind.ENUM_TYPE_DEFINITION){if(N.size<1&&!ht){e.isSubgraphVersionTwo?e.errors.push((0,Kt.nonExternalConditionalFieldError)(`${s}.${r}`,e.subgraphName,ye,n,i)):e.warnings.push((0,Ale.nonExternalConditionalFieldWarning)(`${s}.${r}`,e.subgraphName,ye,n,i));return}let he=(0,Yi.getValueOrDefault)(e.conditionalFieldDataByCoordinates,ye,ua.newConditionalFieldData),nt=(0,pq.newFieldSetConditionData)({fieldCoordinatesPath:[...p],fieldPath:[...y]});i===ua.FieldSetDirective.PROVIDES?he.providedBy.push(nt):he.requiredBy.push(nt);return}if(!B)return I=(0,Kt.unknownTypeInFieldSetErrorMessage)(n,ye,xt),Le.BREAK;if(ht){let he=(0,Yi.getValueOrDefault)(e.conditionalFieldDataByCoordinates,ye,ua.newConditionalFieldData);switch(i){case ua.FieldSetDirective.PROVIDES:he.providedBy.push((0,pq.newFieldSetConditionData)({fieldCoordinatesPath:[...p],fieldPath:[...y]}));break;default:break}N.add(ye)}if(B.kind===Le.Kind.OBJECT_TYPE_DEFINITION||B.kind===Le.Kind.INTERFACE_TYPE_DEFINITION||B.kind===Le.Kind.UNION_TYPE_DEFINITION){C=!0,l.push(B);return}},leave(){N.delete(p.pop()||""),y.pop()}},InlineFragment:{enter(Q){let re=l[b],se=re.name,pe=p.length<1?t.name:p[p.length-1];if(!Q.typeCondition)return I=(0,Kt.inlineFragmentWithoutTypeConditionErrorMessage)(n,pe),Le.BREAK;let ye=Q.typeCondition.name.value;if(ye===se){l.push(re),C=!0;return}if(!(0,aT.isKindAbstract)(re.kind))return I=(0,Kt.invalidInlineFragmentTypeErrorMessage)(n,p,ye,se),Le.BREAK;let Ce=e.parentDefinitionDataByTypeName.get(ye);if(!Ce)return I=(0,Kt.unknownInlineFragmentTypeConditionErrorMessage)(n,p,se,ye),Le.BREAK;switch(C=!0,Ce.kind){case Le.Kind.INTERFACE_TYPE_DEFINITION:{if(!Ce.implementedInterfaceTypeNames.has(se))break;l.push(Ce);return}case Le.Kind.OBJECT_TYPE_DEFINITION:{let ht=e.concreteTypeNamesByAbstractTypeName.get(se);if(!ht||!ht.has(ye))break;l.push(Ce);return}case Le.Kind.UNION_TYPE_DEFINITION:{l.push(Ce);return}default:return I=(0,Kt.invalidInlineFragmentTypeConditionTypeErrorMessage)(n,p,se,ye,(0,Yi.kindToTypeString)(Ce.kind)),Le.BREAK}return I=(0,Kt.invalidInlineFragmentTypeConditionErrorMessage)(n,p,ye,(0,Yi.kindToTypeString)(re.kind),se),Le.BREAK}},SelectionSet:{enter(){if(!C){let Q=l[b];if(Q.kind===Le.Kind.UNION_TYPE_DEFINITION)return I=(0,Kt.unparsableFieldSetSelectionErrorMessage)(n,j),Le.BREAK;let re=Q.fieldDataByFieldName.get(j);if(!re)return I=(0,Kt.undefinedFieldInFieldSetErrorMessage)(n,Q.name,j),Le.BREAK;let se=(0,uT.getTypeNodeNamedTypeName)(re.node.type),pe=e.parentDefinitionDataByTypeName.get(se),ye=pe?pe.kind:Le.Kind.SCALAR_TYPE_DEFINITION;return I=(0,Kt.invalidSelectionSetDefinitionErrorMessage)(n,p,se,(0,Yi.kindToTypeString)(ye)),Le.BREAK}if(b+=1,C=!1,b<0||b>=l.length)return I=(0,Kt.unparsableFieldSetSelectionErrorMessage)(n,j),Le.BREAK;d.push(new Set)},leave(){if(C){let Q=l[b+1];I=(0,Kt.invalidSelectionSetErrorMessage)(n,p,Q.name,(0,Yi.kindToTypeString)(Q.kind)),C=!1}b-=1,l.pop(),d.pop()}}}),I?{errorMessage:I}:{configuration:{fieldName:r,selectionSet:SR(u)}}}function Ule(e,t,n,r){let i=e.entityInterfaceDataByTypeName.has(t.name),s=t.name,o=[],u=[],l=new Set,d=[],p=i?void 0:e.internalGraph.addEntityDataNode(t.name),y=e.internalGraph.addOrUpdateNode(t.name);for(let[N,I]of n){let{error:b,documentNode:C}=(0,aT.safeParse)("{"+N+"}");if(b||!C){o.push((0,Kt.unparsableFieldSetErrorMessage)(N,b));continue}let j=[t],Q=[],re=[],se=new Set,pe=-1,ye=!0,Ce="";if((0,Le.visit)(C,{Argument:{enter(xt){return o.push((0,Kt.unexpectedArgumentErrorMessage)(N,`${j[pe].name}.${Ce}`,xt.name.value)),Le.BREAK}},Field:{enter(xt){let B=j[pe-1],he=j[pe],nt=he.name;if(ye)return o.push((0,Kt.invalidSelectionSetErrorMessage)(N,[`${B.name}.${Ce}`],nt,(0,Yi.kindToTypeString)(he.kind))),Le.BREAK;let Ct=xt.name.value,sn=`${nt}.${Ct}`;Ce=Ct;let Fn=he.fieldDataByFieldName.get(Ct);if(!Fn)return o.push((0,Kt.undefinedFieldInFieldSetErrorMessage)(N,nt,Ct)),Le.BREAK;if(Fn.argumentDataByArgumentName.size)return o.push((0,Kt.argumentsInKeyFieldSetErrorMessage)(N,sn)),Le.BREAK;if(Q[pe].has(Ct))return o.push((0,Kt.duplicateFieldInFieldSetErrorMessage)(N,sn)),Le.BREAK;if(re.push(Ct),Fn.isShareableBySubgraphName.set(e.subgraphName,!0),Q[pe].add(Ct),pe===0)l.add(Ct),r.add(Ct);else{let mi=e.configurationDataByParentTypeName.get(nt);if(!mi)return o.push((0,Kt.invalidConfigurationDataErrorMessage)(nt,Ct,N)),Le.BREAK;mi.fieldNames.add(Ct)}(0,Yi.getValueOrDefault)(e.keyFieldNamesByParentTypeName,nt,()=>new Set).add(Ct);let _n=(0,uT.getTypeNodeNamedTypeName)(Fn.node.type);if(mq.BASE_SCALARS.has(_n)){se.add(re.join(Wn.PERIOD)),re.pop();return}let bn=e.parentDefinitionDataByTypeName.get(_n);if(!bn)return o.push((0,Kt.unknownTypeInFieldSetErrorMessage)(N,sn,_n)),Le.BREAK;if(bn.kind===Le.Kind.OBJECT_TYPE_DEFINITION){ye=!0,j.push(bn);return}if((0,aT.isKindAbstract)(bn.kind))return o.push((0,Kt.abstractTypeInKeyFieldSetErrorMessage)(N,sn,_n,(0,Yi.kindToTypeString)(bn.kind))),Le.BREAK;se.add(re.join(Wn.PERIOD)),re.pop()}},InlineFragment:{enter(){return o.push(Kt.inlineFragmentInFieldSetErrorMessage),Le.BREAK}},SelectionSet:{enter(){if(!ye){let xt=j[pe],he=`${xt.name}.${Ce}`,nt=xt.fieldDataByFieldName.get(Ce);if(!nt)return o.push((0,Kt.undefinedFieldInFieldSetErrorMessage)(N,he,Ce)),Le.BREAK;let Ct=(0,uT.getTypeNodeNamedTypeName)(nt.node.type),sn=e.parentDefinitionDataByTypeName.get(Ct),Fn=sn?sn.kind:Le.Kind.SCALAR_TYPE_DEFINITION;return o.push((0,Kt.invalidSelectionSetDefinitionErrorMessage)(N,[he],Ct,(0,Yi.kindToTypeString)(Fn))),Le.BREAK}if(pe+=1,ye=!1,pe<0||pe>=j.length)return o.push((0,Kt.unparsableFieldSetSelectionErrorMessage)(N,Ce)),Le.BREAK;Q.push(new Set)},leave(){if(ye){let B=j[pe].name,he=j[pe+1],nt=`${B}.${Ce}`;o.push((0,Kt.invalidSelectionSetErrorMessage)(N,[nt],he.name,(0,Yi.kindToTypeString)(he.kind))),ye=!1}pe-=1,j.pop(),Q.pop()}}}),o.length>0)continue;let ht=SR(C);u.push(k({fieldName:"",selectionSet:ht},I?{disableEntityResolver:!0}:{})),y.satisfiedFieldSets.add(ht),!I&&(p==null||p.addTargetSubgraphByFieldSet(ht,e.subgraphName),d.push(se))}if(o.length){e.errors.push((0,Kt.invalidKeyDirectivesError)(s,o));return}if(u.length)return u}function Mle(e,t,n,r,i){if(t!==ua.FieldSetDirective.PROVIDES)return e.entityDataByTypeName.has(i)?{fieldSetParentData:n}:{};let s=(0,Yi.getOrThrowError)(n.fieldDataByFieldName,r,`${i}.fieldDataByFieldName`),o=(0,uT.getTypeNodeNamedTypeName)(s.node.type),u=e.parentDefinitionDataByTypeName.get(o);return u?u.kind!==Le.Kind.INTERFACE_TYPE_DEFINITION&&u.kind!==Le.Kind.OBJECT_TYPE_DEFINITION?{errorString:(0,Kt.incompatibleTypeWithProvidesErrorMessage)(`${i}.${r}`,o)}:{fieldSetParentData:u}:{errorString:(0,Kt.unknownNamedTypeErrorMessage)(`${i}.${r}`,o)}}function fq(e,t,n,r){let i=[],s=[],o=(0,ua.getParentTypeName)(t);for(let[u,l]of n){let{fieldSetParentData:d,errorString:p}=Mle(e,r,t,u,o),y=`${o}.${u}`;if(p){i.push(p);continue}if(!d)continue;let{errorMessage:N,configuration:I}=Cle(e,d,l,u,r,o);if(N){i.push(` On "${o}.${u}" \u2014`+N);continue}if(I){s.push(I);continue}throw(0,Kt.invalidConfigurationResultFatalError)(y)}if(i.length>0){e.errors.push((0,Kt.invalidProvidesOrRequiresDirectivesError)(r,i));return}if(s.length>0)return s}function Ble(e,t,n){let r=(0,Yi.getOrThrowError)(e.configurationDataByParentTypeName,(0,ua.getParentTypeName)(t),"configurationDataByParentTypeName"),i=fq(e,t,n.provides,ua.FieldSetDirective.PROVIDES);i&&(r.provides=i);let s=fq(e,t,n.requires,ua.FieldSetDirective.REQUIRES);s&&(r.requires=s)}function Vle(e,t){return e===Wn.QUERY||t===Le.OperationTypeNode.QUERY}});var DR=V(Qp=>{"use strict";m();T();h();Object.defineProperty(Qp,"__esModule",{value:!0});Qp.newParentTagData=Gle;Qp.newChildTagData=Qle;Qp.validateImplicitFieldSets=Yle;Qp.newContractTagOptionsFromArrays=Jle;var jle=ps(),$le=$a(),Ws=CV(),qle=_c(),hq=Vi(),Kle=$l();function Gle(e){return{childTagDataByChildName:new Map,tagNames:new Set,typeName:e}}function Qle(e){return{name:e,tagNames:new Set,tagNamesByArgumentName:new Map}}function Yle({conditionalFieldDataByCoordinates:e,configurationData:t,fieldSets:n,implicitKeys:r,objectData:i,parentDefinitionDataByTypeName:s,graphNode:o}){for(let u of n){let{error:l,documentNode:d}=(0,hq.safeParse)("{"+u+"}");if(l||!d)continue;let p=[i],y=[],N=new Set,I=[],b=-1,C=!0,j=!0;if((0,Ws.visit)(d,{Argument:{enter(){return j=!1,Ws.BREAK}},Field:{enter(re){let se=p[b];if(C)return j=!1,Ws.BREAK;let pe=re.name.value,ye=se.fieldDataByFieldName.get(pe);if(!ye||ye.argumentDataByArgumentName.size||y[b].has(pe))return j=!1,Ws.BREAK;let Ce=e.get(`${ye.renamedParentTypeName}.${pe}`);if(Ce){if(Ce.providedBy.length>0)I.push(...Ce.providedBy);else if(Ce.requiredBy.length>0)return j=!1,Ws.BREAK}y[b].add(pe),b===0&&N.add(pe);let ht=(0,$le.getTypeNodeNamedTypeName)(ye.node.type);if(qle.BASE_SCALARS.has(ht))return;let xt=s.get(ht);if(!xt)return j=!1,Ws.BREAK;if(xt.kind===Ws.Kind.OBJECT_TYPE_DEFINITION){C=!0,p.push(xt);return}if((0,hq.isKindAbstract)(xt.kind))return j=!1,Ws.BREAK}},InlineFragment:{enter(){return j=!1,Ws.BREAK}},SelectionSet:{enter(){if(!C||(b+=1,C=!1,b<0||b>=p.length))return j=!1,Ws.BREAK;y.push(new Set)},leave(){if(C)return j=!1,Ws.BREAK;b-=1,p.pop(),y.pop()}}}),!j)continue;(0,jle.addIterableValuesToSet)(N,t.fieldNames);let Q=(0,Kle.getNormalizedFieldSet)(d);r.push(K(k({fieldName:"",selectionSet:Q},I.length>0?{conditions:I}:{}),{disableEntityResolver:!0})),o&&o.satisfiedFieldSets.add(Q)}}function Jle(e,t){return{tagNamesToExclude:new Set(e),tagNamesToInclude:new Set(t)}}});var RR=V(AR=>{"use strict";m();T();h();Object.defineProperty(AR,"__esModule",{value:!0});AR.recordSubgraphName=zle;function zle(e,t,n){if(!t.has(e)){t.add(e);return}n.add(e)}});var FR=V(dT=>{"use strict";m();T();h();Object.defineProperty(dT,"__esModule",{value:!0});dT.upsertDirectiveSchemaAndEntityDefinitions=Hle;dT.upsertParentsAndChildren=Wle;dT.consolidateAuthorizationDirectives=Xle;var rr=(we(),Me(je)),Ya=To(),Kl=_c(),dn=ps(),cT=Vi(),Ja=$l(),pr=bi(),Ji=Kp(),lT=$a();function Hle(e,t){let n=new Set,r=[];(0,rr.visit)(t,{Directive:{enter(i){let s=i.name.value;if(pr.EVENT_DIRECTIVE_NAMES.has(s)&&e.edfsDirectiveReferences.add(s),Kl.V2_DIRECTIVE_DEFINITION_BY_DIRECTIVE_NAME.has(s))return e.isSubgraphVersionTwo=!0,!1;if(Kl.BASE_DIRECTIVE_DEFINITION_BY_DIRECTIVE_NAME.has(s))return!1;s===pr.SUBSCRIPTION_FILTER&&e.directiveDefinitionByDirectiveName.set(pr.SUBSCRIPTION_FILTER,Kl.SUBSCRIPTION_FILTER_DEFINITION),e.referencedDirectiveNames.add(s)}},DirectiveDefinition:{enter(i){let s=i.name.value;return n.has(s)?(e.errors.push((0,Ya.duplicateDirectiveDefinitionError)(s)),!1):(n.add(s),Kl.V2_DIRECTIVE_DEFINITION_BY_DIRECTIVE_NAME.has(s)?(e.isSubgraphVersionTwo=!0,!1):(Kl.BASE_DIRECTIVE_DEFINITION_BY_DIRECTIVE_NAME.has(s)||s===pr.SUBSCRIPTION_FILTER||(e.directiveDefinitionByDirectiveName.set(s,i),e.customDirectiveDefinitions.set(s,i)),!1))}},InterfaceTypeDefinition:{enter(i){let s=i.name.value;if(e.internalGraph.addOrUpdateNode(s,{isAbstract:!0}),!(0,cT.isObjectLikeNodeEntity)(i))return;let o=(0,dn.getValueOrDefault)(e.keyFieldSetDataByTypeName,s,Ja.newKeyFieldSetData);e.extractKeyFieldSets(i,o),(0,dn.upsertEntityDataProperties)(e.entityDataByTypeName,k({typeName:s,keyFieldSets:o.isUnresolvableByKeyFieldSet.keys()},e.subgraphName?{subgraphNames:[e.subgraphName]}:{})),(0,dn.getValueOrDefault)(e.entityInterfaceDataByTypeName,s,()=>({concreteTypeNames:new Set,fieldDatas:[],interfaceFieldNames:new Set,interfaceObjectFieldNames:new Set,isInterfaceObject:!1,typeName:s}))}},InterfaceTypeExtension:{enter(i){let s=i.name.value;if(e.internalGraph.addOrUpdateNode(s,{isAbstract:!0}),!(0,cT.isObjectLikeNodeEntity)(i))return;let o=(0,dn.getValueOrDefault)(e.keyFieldSetDataByTypeName,s,Ja.newKeyFieldSetData);e.extractKeyFieldSets(i,o),(0,dn.upsertEntityDataProperties)(e.entityDataByTypeName,k({typeName:s,keyFieldSets:o.isUnresolvableByKeyFieldSet.keys()},e.subgraphName?{subgraphNames:[e.subgraphName]}:{}))}},ObjectTypeDefinition:{enter(i){if(!(0,cT.isObjectLikeNodeEntity)(i))return;let s=i.name.value;(0,cT.isNodeInterfaceObject)(i)&&(e.entityInterfaceDataByTypeName.set(s,{fieldDatas:[],interfaceObjectFieldNames:new Set,interfaceFieldNames:new Set,isInterfaceObject:!0,typeName:s}),e.internalGraph.addOrUpdateNode(s,{isAbstract:!0}));let o=(0,dn.getValueOrDefault)(e.keyFieldSetDataByTypeName,s,Ja.newKeyFieldSetData);e.extractKeyFieldSets(i,o),(0,dn.upsertEntityDataProperties)(e.entityDataByTypeName,k({typeName:s,keyFieldSets:o.isUnresolvableByKeyFieldSet.keys()},e.subgraphName?{subgraphNames:[e.subgraphName]}:{}))}},ObjectTypeExtension:{enter(i){if(!(0,cT.isObjectLikeNodeEntity)(i))return;let s=i.name.value,o=(0,dn.getValueOrDefault)(e.keyFieldSetDataByTypeName,s,Ja.newKeyFieldSetData);e.extractKeyFieldSets(i,o),(0,dn.upsertEntityDataProperties)(e.entityDataByTypeName,k({typeName:s,keyFieldSets:o.isUnresolvableByKeyFieldSet.keys()},e.subgraphName?{subgraphNames:[e.subgraphName]}:{}))}},OperationTypeDefinition:{enter(i){let s=i.operation,o=e.schemaDefinition.operationTypes.get(s),u=(0,lT.getTypeNodeNamedTypeName)(i.type);if(o)return(0,Ya.duplicateOperationTypeDefinitionError)(s,u,(0,lT.getTypeNodeNamedTypeName)(o.type)),!1;let l=e.operationTypeNodeByTypeName.get(u);return l?(e.errors.push((0,Ya.invalidOperationTypeDefinitionError)(l,u,s)),!1):(e.operationTypeNodeByTypeName.set(u,s),e.schemaDefinition.operationTypes.set(s,i),!1)}},SchemaDefinition:{enter(i){r.push(i),e.schemaDefinition.description=i.description}},SchemaExtension:{enter(i){r.push(i)}},UnionTypeDefinition:{enter(i){i.name.value!==pr.ENTITY_UNION&&e.upsertUnionByNode(i)}},UnionTypeExtension:{enter(i){if(i.name.value===pr.ENTITY_UNION)return!1;e.upsertUnionByNode(i,!0)}}});for(let i of r)(0,Ji.extractDirectives)(i,e.schemaDefinition.directivesByDirectiveName,e.errors,e.directiveDefinitionByDirectiveName,e.handledRepeatedDirectivesByHostPath,pr.SCHEMA)}function Wle(e,t){let n=!1,r;(0,rr.visit)(t,{EnumTypeDefinition:{enter(i){e.originalParentTypeName=i.name.value,e.lastParentNodeKind=i.kind,e.upsertEnumDataByNode(i)},leave(){e.originalParentTypeName="",e.lastParentNodeKind=rr.Kind.NULL}},EnumTypeExtension:{enter(i){e.originalParentTypeName=i.name.value,e.lastParentNodeKind=i.kind,e.upsertEnumDataByNode(i,!0)},leave(){e.originalParentTypeName="",e.lastParentNodeKind=rr.Kind.NULL}},EnumValueDefinition:{enter(i){e.childName=i.name.value,e.lastChildNodeKind=i.kind;let s=(0,dn.getOrThrowError)(e.parentDefinitionDataByTypeName,e.originalParentTypeName,pr.PARENT_DEFINITION_DATA);if(s.kind!==rr.Kind.ENUM_TYPE_DEFINITION){e.errors.push((0,Ya.unexpectedParentKindForChildError)(e.originalParentTypeName,"enum or enum extension",(0,dn.kindToTypeString)(s.kind),e.childName,(0,dn.kindToTypeString)(i.kind)));return}if(s.enumValueDataByValueName.has(e.childName)){e.errors.push((0,Ya.duplicateEnumValueDefinitionError)(e.originalParentTypeName,e.childName));return}(0,Ji.addEnumValueDataByNode)(s.enumValueDataByValueName,i,e.errors,e.directiveDefinitionByDirectiveName,e.handledRepeatedDirectivesByHostPath,e.originalParentTypeName)},leave(){e.childName="",e.lastChildNodeKind=rr.Kind.NULL}},FieldDefinition:{enter(i){if(e.childName=i.name.value,n){if(e.childName===pr.SERVICE_FIELD||e.childName===pr.ENTITIES_FIELD)return!1;e.extractEventDirectivesToConfiguration(i)}e.edfsDirectiveReferences.size>0&&e.validateSubscriptionFilterDirectiveLocation(i),e.lastChildNodeKind=i.kind;let s=(0,lT.getTypeNodeNamedTypeName)(i.type);r&&!r.isAbstract&&e.internalGraph.addEdge(r,e.internalGraph.addOrUpdateNode(s),e.childName),Kl.BASE_SCALARS.has(s)||e.referencedTypeNames.add(s);let o=(0,dn.getOrThrowError)(e.parentDefinitionDataByTypeName,e.originalParentTypeName,pr.PARENT_DEFINITION_DATA);if(o.kind!==rr.Kind.OBJECT_TYPE_DEFINITION&&o.kind!==rr.Kind.INTERFACE_TYPE_DEFINITION){e.errors.push((0,Ya.unexpectedParentKindForChildError)(e.originalParentTypeName,'"Object" or "Interface"',(0,dn.kindToTypeString)(o.kind),e.childName,(0,dn.kindToTypeString)(i.kind)));return}if(o.fieldDataByFieldName.has(e.childName)){e.errors.push((0,Ya.duplicateFieldDefinitionError)((0,dn.kindToTypeString)(o.kind),o.name,e.childName));return}let u=(0,Ji.extractArguments)(new Map,i,e.errors,e.directiveDefinitionByDirectiveName,e.handledRepeatedDirectivesByHostPath,e.parentsWithChildArguments,e.originalParentTypeName,e.renamedParentTypeName||e.originalParentTypeName,e.subgraphName),l=e.extractDirectivesAndAuthorization(i,new Map);(0,Ji.addInheritedDirectivesToFieldData)(o.directivesByDirectiveName,l);let d=(0,Ji.addFieldDataByNode)(o.fieldDataByFieldName,i,u,l,e.originalParentTypeName,e.renamedParentTypeName||e.originalParentTypeName,e.subgraphName,e.isSubgraphVersionTwo,e.errors),p=d.directivesByDirectiveName.get(pr.PROVIDES),y=d.directivesByDirectiveName.get(pr.REQUIRES);if(!y&&!p)return;let N=e.entityDataByTypeName.get(e.originalParentTypeName);if(N){N.fieldNames.add(e.childName);let b=(0,dn.getValueOrDefault)(e.fieldSetDataByTypeName,e.originalParentTypeName,Ja.newFieldSetData);(0,Ja.extractFieldSetValue)(e.childName,b.requires,y),(0,Ja.extractFieldSetValue)(e.childName,b.provides,p);return}if(!p)return;let I=(0,dn.getValueOrDefault)(e.fieldSetDataByTypeName,e.originalParentTypeName,Ja.newFieldSetData);(0,Ja.extractFieldSetValue)(e.childName,I.provides,p)},leave(){e.childName="",e.lastChildNodeKind=rr.Kind.NULL}},InputObjectTypeDefinition:{enter(i){e.originalParentTypeName=i.name.value,e.lastParentNodeKind=i.kind,e.upsertInputObjectByNode(i)},leave(){e.lastParentNodeKind=rr.Kind.NULL,e.originalParentTypeName=""}},InputObjectTypeExtension:{enter(i){e.originalParentTypeName=i.name.value,e.lastParentNodeKind=i.kind,e.upsertInputObjectByNode(i,!0)},leave(){e.originalParentTypeName="",e.lastParentNodeKind=rr.Kind.NULL}},InputValueDefinition:{enter(i){let s=i.name.value;if(e.lastParentNodeKind!==rr.Kind.INPUT_OBJECT_TYPE_DEFINITION&&e.lastParentNodeKind!==rr.Kind.INPUT_OBJECT_TYPE_EXTENSION){e.argumentName=s;return}e.childName=s,e.lastChildNodeKind=i.kind;let o=`${e.originalParentTypeName}.${s}`,u=(0,lT.getTypeNodeNamedTypeName)(i.type);Kl.BASE_SCALARS.has(u)||e.referencedTypeNames.add(u);let l=(0,dn.getOrThrowError)(e.parentDefinitionDataByTypeName,e.originalParentTypeName,pr.PARENT_DEFINITION_DATA);if(l.kind!==rr.Kind.INPUT_OBJECT_TYPE_DEFINITION)return e.errors.push((0,Ya.unexpectedParentKindForChildError)(e.originalParentTypeName,"input object or input object extension",(0,dn.kindToTypeString)(l.kind),e.childName,(0,dn.kindToTypeString)(i.kind))),!1;if(l.inputValueDataByValueName.has(s)){e.errors.push((0,Ya.duplicateInputFieldDefinitionError)(e.originalParentTypeName,s));return}(0,Ji.addInputValueDataByNode)(l.inputValueDataByValueName,i,e.directiveDefinitionByDirectiveName,e.handledRepeatedDirectivesByHostPath,o,e.subgraphName,e.errors)},leave(){e.argumentName="",e.lastChildNodeKind===rr.Kind.INPUT_VALUE_DEFINITION&&(e.childName="",e.lastChildNodeKind=rr.Kind.NULL)}},InterfaceTypeDefinition:{enter(i){e.originalParentTypeName=i.name.value,e.lastParentNodeKind=i.kind,e.upsertInterfaceDataByNode(i)},leave(){(0,Ji.removeInheritableDirectivesFromParentWithFieldsData)((0,dn.getOrThrowError)(e.parentDefinitionDataByTypeName,e.originalParentTypeName,pr.PARENT_DEFINITION_DATA)),e.originalParentTypeName="",e.lastParentNodeKind=rr.Kind.NULL}},InterfaceTypeExtension:{enter(i){e.originalParentTypeName=i.name.value,e.lastParentNodeKind=i.kind,e.upsertInterfaceDataByNode(i,!0)},leave(){(0,Ji.removeInheritableDirectivesFromParentWithFieldsData)((0,dn.getOrThrowError)(e.parentDefinitionDataByTypeName,e.originalParentTypeName,pr.PARENT_DEFINITION_DATA)),e.originalParentTypeName="",e.lastParentNodeKind=rr.Kind.NULL}},ObjectTypeDefinition:{enter(i){if(i.name.value===pr.SERVICE_OBJECT)return!1;e.originalParentTypeName=i.name.value,n=(0,Ji.isTypeNameRootType)(e.originalParentTypeName,e.operationTypeNodeByTypeName),e.renamedParentTypeName=(0,Ji.getRenamedRootTypeName)(e.originalParentTypeName,e.operationTypeNodeByTypeName),e.originalTypeNameByRenamedTypeName.set(e.renamedParentTypeName,e.originalParentTypeName),r=n?e.internalGraph.getRootNode(e.renamedParentTypeName):e.internalGraph.addOrUpdateNode(e.renamedParentTypeName),e.lastParentNodeKind=i.kind,e.upsertObjectDataByNode(i)},leave(){(0,Ji.removeInheritableDirectivesFromParentWithFieldsData)((0,dn.getOrThrowError)(e.parentDefinitionDataByTypeName,e.originalParentTypeName,pr.PARENT_DEFINITION_DATA)),r=void 0,n=!1,e.originalParentTypeName="",e.renamedParentTypeName="",e.lastParentNodeKind=rr.Kind.NULL}},ObjectTypeExtension:{enter(i){if(i.name.value===pr.SERVICE_OBJECT)return!1;e.originalParentTypeName=i.name.value,n=(0,Ji.isTypeNameRootType)(e.originalParentTypeName,e.operationTypeNodeByTypeName),e.renamedParentTypeName=(0,Ji.getRenamedRootTypeName)(e.originalParentTypeName,e.operationTypeNodeByTypeName),e.originalTypeNameByRenamedTypeName.set(e.renamedParentTypeName,e.originalParentTypeName),r=n?e.internalGraph.getRootNode(e.renamedParentTypeName):e.internalGraph.addOrUpdateNode(e.renamedParentTypeName),e.lastParentNodeKind=i.kind,e.upsertObjectDataByNode(i,!0)},leave(){(0,Ji.removeInheritableDirectivesFromParentWithFieldsData)((0,dn.getOrThrowError)(e.parentDefinitionDataByTypeName,e.originalParentTypeName,pr.PARENT_DEFINITION_DATA)),r=void 0,n=!1,e.originalParentTypeName="",e.renamedParentTypeName="",e.lastParentNodeKind=rr.Kind.NULL}},ScalarTypeDefinition:{enter(i){if(i.name.value===pr.ANY_SCALAR)return!1;e.originalParentTypeName=i.name.value,e.lastParentNodeKind=i.kind,e.upsertScalarByNode(i)},leave(){e.originalParentTypeName="",e.lastParentNodeKind=rr.Kind.NULL}},ScalarTypeExtension:{enter(i){if(i.name.value===pr.ANY_SCALAR)return!1;e.originalParentTypeName=i.name.value,e.lastParentNodeKind=i.kind,e.upsertScalarByNode(i,!0)},leave(){e.originalParentTypeName="",e.lastParentNodeKind=rr.Kind.NULL}}})}function Xle(e,t){let n,r=!1;(0,rr.visit)(t,{FieldDefinition:{enter(i){e.childName=i.name.value;let s=(0,lT.getTypeNodeNamedTypeName)(i.type),o=e.leafTypeNamesWithAuthorizationDirectives.has(s);if((!n||!n.hasParentLevelAuthorization)&&!o)return!1;let u=e.renamedParentTypeName||e.originalParentTypeName;n||(n=(0,dn.setAndGetValue)(e.authorizationDataByParentTypeName,u,(0,dn.newAuthorizationData)(u)));let l=(0,dn.getValueOrDefault)(n.fieldAuthorizationDataByFieldName,e.childName,()=>(0,dn.newFieldAuthorizationData)(e.childName));if(!(0,dn.mergeAuthorizationDataByAND)(n,l))return e.invalidOrScopesHostPaths.add(`${e.originalParentTypeName}.${e.childName}`),!1;if(!o)return!1;if(r)return(0,dn.getValueOrDefault)(e.heirFieldAuthorizationDataByTypeName,s,()=>[]).push(l),!1;let d=e.authorizationDataByParentTypeName.get(s);return d&&d.hasParentLevelAuthorization&&!(0,dn.mergeAuthorizationDataByAND)(d,l)&&e.invalidOrScopesHostPaths.add(`${e.originalParentTypeName}.${e.childName}`),!1},leave(){e.childName=""}},InterfaceTypeDefinition:{enter(i){e.originalParentTypeName=i.name.value,n=e.getAuthorizationData(i),r=!0},leave(){e.originalParentTypeName="",n=void 0,r=!1}},InterfaceTypeExtension:{enter(i){e.originalParentTypeName=i.name.value,n=e.getAuthorizationData(i),r=!0},leave(){e.originalParentTypeName="",n=void 0,r=!1}},ObjectTypeDefinition:{enter(i){let s=e.parentDefinitionDataByTypeName.get(i.name.value);if(!s)return!1;e.originalParentTypeName=s.name,e.renamedParentTypeName=s.renamedTypeName,n=e.getAuthorizationData(i)},leave(){e.originalParentTypeName="",e.renamedParentTypeName="",n=void 0}},ObjectTypeExtension:{enter(i){let s=e.parentDefinitionDataByTypeName.get(i.name.value);if(!s)return!1;e.originalParentTypeName=s.name,e.renamedParentTypeName=s.renamedTypeName,n=e.getAuthorizationData(i)},leave(){e.originalParentTypeName="",e.renamedParentTypeName="",n=void 0}}})}});var xR=V(ca=>{"use strict";m();T();h();Object.defineProperty(ca,"__esModule",{value:!0});ca.EntityDataNode=ca.RootNode=ca.GraphNode=ca.Edge=void 0;var iI=ps(),wR=class{constructor(t,n,r,i=!1){A(this,"edgeName");A(this,"id");A(this,"isAbstractEdge");A(this,"isInaccessible",!1);A(this,"node");A(this,"visitedIndices",new Set);this.edgeName=i?`... on ${r}`:r,this.id=t,this.isAbstractEdge=i,this.node=n}};ca.Edge=wR;var LR=class{constructor(t,n,r){A(this,"fieldDataByFieldName",new Map);A(this,"headToTailEdges",new Map);A(this,"entityEdges",[]);A(this,"nodeName");A(this,"hasEntitySiblings",!1);A(this,"isAbstract");A(this,"isInaccessible",!1);A(this,"isLeaf",!1);A(this,"isRootNode",!1);A(this,"satisfiedFieldSets",new Set);A(this,"subgraphName");A(this,"typeName");this.isAbstract=!!(r!=null&&r.isAbstract),this.isLeaf=!!(r!=null&&r.isLeaf),this.nodeName=`${t}.${n}`,this.subgraphName=t,this.typeName=n}handleInaccessibleEdges(){if(this.isAbstract)return;let t=(0,iI.getEntriesNotInHashSet)(this.headToTailEdges.keys(),this.fieldDataByFieldName);for(let n of t){let r=this.headToTailEdges.get(n);r&&(r.isInaccessible=!0)}}getAllAccessibleEntityNodeNames(){let t=new Set([this.nodeName]);return this.getAccessibleEntityNodeNames(this,t),t.delete(this.nodeName),t}getAccessibleEntityNodeNames(t,n){for(let r of t.entityEdges)(0,iI.add)(n,r.node.nodeName)&&this.getAccessibleEntityNodeNames(r.node,n)}};ca.GraphNode=LR;var PR=class{constructor(t){A(this,"fieldDataByFieldName",new Map);A(this,"headToShareableTailEdges",new Map);A(this,"isAbstract",!1);A(this,"isRootNode",!0);A(this,"typeName");this.typeName=t}removeInaccessibleEdges(t){for(let[n,r]of this.headToShareableTailEdges)if(!t.has(n))for(let i of r)i.isInaccessible=!0}};ca.RootNode=PR;var kR=class{constructor(t){A(this,"fieldSetsByTargetSubgraphName",new Map);A(this,"targetSubgraphNamesByFieldSet",new Map);A(this,"typeName");this.typeName=t}addTargetSubgraphByFieldSet(t,n){(0,iI.getValueOrDefault)(this.targetSubgraphNamesByFieldSet,t,()=>new Set).add(n),(0,iI.getValueOrDefault)(this.fieldSetsByTargetSubgraphName,n,()=>new Set).add(t)}};ca.EntityDataNode=kR});var UR=V(za=>{"use strict";m();T();h();Object.defineProperty(za,"__esModule",{value:!0});za.NodeResolutionData=void 0;za.newRootFieldData=Zle;za.generateResolvabilityErrorReasons=Nq;za.generateSelectionSetSegments=Eq;za.renderSelectionSet=gq;za.generateResolvabilityErrors=nde;var Tq=ps(),Gl=bi(),yq=To(),CR=class{constructor(t,n){A(this,"fieldDataByFieldName");A(this,"isResolved",!1);A(this,"resolvedFieldNames",new Set);A(this,"typeName");this.fieldDataByFieldName=n,this.typeName=t}add(t){if(this.resolvedFieldNames.add(t),this.resolvedFieldNames.size>this.fieldDataByFieldName.size){let n=(0,Tq.getEntriesNotInHashSet)(this.resolvedFieldNames,this.fieldDataByFieldName);throw(0,yq.unexpectedEdgeFatalError)(this.typeName,n)}return this.isResolved=this.resolvedFieldNames.size===this.fieldDataByFieldName.size,this.isResolved}};za.NodeResolutionData=CR;function Zle(e,t,n){return{coordinate:`${e}.${t}`,message:`The root type field "${e}.${t}" is defined in the following subgraph`+(n.size>1?"s":"")+`: "${[...n].join(Gl.QUOTATION_JOIN)}".`,subgraphNames:n}}function ede(e,t){return e.isLeaf?e.name+` <-- +However, neither the Field "${n}" nor any of its field set ancestors are declared @external. +Consequently, "${n}" is already provided by subgraph "${t}" and should not form part of a "@${i}" directive field set.`,subgraph:{name:t}})}function Rle(e,t){return new Gl({message:`Subgraph "${e}": The Interface "${t}" is used as an output type without at least one Object type implementation defined in the schema.`,subgraph:{name:e}})}});var Kl=V(Ns=>{"use strict";m();T();h();Object.defineProperty(Ns,"__esModule",{value:!0});Ns.newKeyFieldSetData=wle;Ns.newFieldSetData=Lle;Ns.areNodeKindAndDirectiveLocationCompatible=Ple;Ns.getDirectiveDefinitionArgumentSets=kle;Ns.addFieldNamesToConfigurationData=xle;Ns.extractFieldSetValue=Cle;Ns.getNormalizedFieldSet=DR;Ns.validateKeyFieldSets=Ble;Ns.validateAndAddConditionalFieldSetsToConfiguration=jle;Ns.isNodeQuery=$le;Ns.validateArgumentTemplateReferences=qle;var Le=(we(),Me(je)),Yi=ps(),uT=Vi(),Wn=bi(),jt=To(),SR=_c(),mq=nA(),cT=$a(),ua=Qp(),Fle=iI();function wle(){return{isUnresolvableByKeyFieldSet:new Map}}function Lle(){return{provides:new Map,requires:new Map}}function Ple(e,t,n=!1){for(let r of t.locations){let i=r.value.toUpperCase();switch(i){case Wn.ARGUMENT_DEFINITION_UPPER:if(!n)break;if(e===Le.Kind.INPUT_VALUE_DEFINITION)return!0;break;case Wn.ENUM_UPPER:if(e===Le.Kind.ENUM_TYPE_DEFINITION||e===Le.Kind.ENUM_TYPE_EXTENSION)return!0;break;case Wn.ENUM_VALUE_UPPER:if(e===Le.Kind.ENUM_VALUE_DEFINITION)return!0;break;case Wn.FIELD_UPPER:if(e===Le.Kind.FIELD)return!0;break;case Wn.FIELD_DEFINITION_UPPER:if(e===Le.Kind.FIELD_DEFINITION)return!0;break;case Wn.INLINE_FRAGMENT_UPPER:if(e===Le.Kind.INLINE_FRAGMENT)return!0;break;case Wn.INPUT_FIELD_DEFINITION_UPPER:if(e===Le.Kind.INPUT_VALUE_DEFINITION)return!0;break;case Wn.INPUT_OBJECT_UPPER:if(e===Le.Kind.INPUT_OBJECT_TYPE_DEFINITION||e===Le.Kind.INPUT_OBJECT_TYPE_EXTENSION)return!0;break;case Wn.INTERFACE_UPPER:if(e===Le.Kind.INTERFACE_TYPE_DEFINITION||e===Le.Kind.INTERFACE_TYPE_EXTENSION)return!0;break;case Wn.OBJECT_UPPER:if(e===Le.Kind.OBJECT_TYPE_DEFINITION||e===Le.Kind.OBJECT_TYPE_EXTENSION)return!0;break;case Wn.FRAGMENT_DEFINITION_UPPER:if(e===Le.Kind.FRAGMENT_DEFINITION)return!0;break;case Wn.FRAGMENT_SPREAD_UPPER:if(e===Le.Kind.FRAGMENT_SPREAD)return!0;break;case Wn.SCALAR_UPPER:if(e===Le.Kind.SCALAR_TYPE_DEFINITION||e===Le.Kind.SCALAR_TYPE_EXTENSION)return!0;break;case Wn.SCHEMA_UPPER:if(e===Le.Kind.SCHEMA_DEFINITION||e===Le.Kind.SCHEMA_EXTENSION)return!0;break;case Wn.UNION_UPPER:if(e===Le.Kind.UNION_TYPE_DEFINITION||e===Le.Kind.UNION_TYPE_EXTENSION)return!0;break;case Wn.VARIABLE_DEFINITION_UPPER:if(e===Le.Kind.VARIABLE_DEFINITION)return!0;break;case Wn.QUERY_UPPER:case Wn.MUTATION_UPPER:case Wn.SUBSCRIPTION_UPPER:if(e===Le.Kind.OPERATION_DEFINITION)return!0;break;default:throw(0,jt.unexpectedDirectiveLocationError)(i)}}return!1}function kle(e,t,n){for(let r of e){let i=r.name.value;t.set(i,r.type),r.type.kind===Le.Kind.NON_NULL_TYPE&&!r.defaultValue&&n.add(i)}}function xle(e,t){let n=new Set;for(let[r,i]of e)i.directivesByDirectiveName.has(Wn.EXTERNAL)?t.externalFieldNames?t.externalFieldNames.add(r):n.add(r):t.fieldNames.add(r);n.size>0&&(t.externalFieldNames=n)}function Cle(e,t,n){if(!n||n.length>1)return;let r=n[0].arguments;if(!r||r.length!==1)return;let i=r[0];i.name.value!==Wn.FIELDS||i.value.kind!==Le.Kind.STRING||t.set(e,i.value.value)}function DR(e){return(0,Le.print)((0,uT.lexicographicallySortDocumentNode)(e)).replaceAll(/\s+/g," ").slice(2,-2)}function Ule(e,t,n){switch(e){case ua.FieldSetDirective.PROVIDES:return[`${t}.${n}`];default:return[]}}function Mle(e,t,n,r,i,s){let{error:o,documentNode:u}=(0,uT.safeParse)("{"+n+"}");if(o||!u)return{errorMessage:(0,jt.unparsableFieldSetErrorMessage)(n,o)};let l=[t],d=[],p=Ule(i,s,r),y=[r],N=new Set,I,O=-1,x=!0,j=r;return(0,Le.visit)(u,{Argument:{enter(){return!1}},Field:{enter(Q){let re=l[O],se=re.name;if(re.kind===Le.Kind.UNION_TYPE_DEFINITION)return I=(0,jt.invalidSelectionOnUnionErrorMessage)(n,p,se),Le.BREAK;if(x)return I=(0,jt.invalidSelectionSetErrorMessage)(n,p,se,(0,Yi.kindToTypeString)(re.kind)),Le.BREAK;let pe=Q.name.value,ye=`${se}.${pe}`;p.push(ye),y.push(pe),j=pe;let Ce=re.fieldDataByFieldName.get(pe);if(!Ce)return I=(0,jt.undefinedFieldInFieldSetErrorMessage)(n,se,pe),Le.BREAK;if(d[O].has(pe))return I=(0,jt.duplicateFieldInFieldSetErrorMessage)(n,ye),Le.BREAK;d[O].add(pe);let ht=Ce.isExternalBySubgraphName.get(e.subgraphName),xt=(0,cT.getTypeNodeNamedTypeName)(Ce.node.type),B=e.parentDefinitionDataByTypeName.get(xt);if(SR.BASE_SCALARS.has(xt)||(B==null?void 0:B.kind)===Le.Kind.SCALAR_TYPE_DEFINITION||(B==null?void 0:B.kind)===Le.Kind.ENUM_TYPE_DEFINITION){if(N.size<1&&!ht){e.isSubgraphVersionTwo?e.errors.push((0,jt.nonExternalConditionalFieldError)(`${s}.${r}`,e.subgraphName,ye,n,i)):e.warnings.push((0,Fle.nonExternalConditionalFieldWarning)(`${s}.${r}`,e.subgraphName,ye,n,i));return}let he=(0,Yi.getValueOrDefault)(e.conditionalFieldDataByCoordinates,ye,ua.newConditionalFieldData),nt=(0,mq.newFieldSetConditionData)({fieldCoordinatesPath:[...p],fieldPath:[...y]});i===ua.FieldSetDirective.PROVIDES?he.providedBy.push(nt):he.requiredBy.push(nt);return}if(!B)return I=(0,jt.unknownTypeInFieldSetErrorMessage)(n,ye,xt),Le.BREAK;if(ht){let he=(0,Yi.getValueOrDefault)(e.conditionalFieldDataByCoordinates,ye,ua.newConditionalFieldData);switch(i){case ua.FieldSetDirective.PROVIDES:he.providedBy.push((0,mq.newFieldSetConditionData)({fieldCoordinatesPath:[...p],fieldPath:[...y]}));break;default:break}N.add(ye)}if(B.kind===Le.Kind.OBJECT_TYPE_DEFINITION||B.kind===Le.Kind.INTERFACE_TYPE_DEFINITION||B.kind===Le.Kind.UNION_TYPE_DEFINITION){x=!0,l.push(B);return}},leave(){N.delete(p.pop()||""),y.pop()}},InlineFragment:{enter(Q){let re=l[O],se=re.name,pe=p.length<1?t.name:p[p.length-1];if(!Q.typeCondition)return I=(0,jt.inlineFragmentWithoutTypeConditionErrorMessage)(n,pe),Le.BREAK;let ye=Q.typeCondition.name.value;if(ye===se){l.push(re),x=!0;return}if(!(0,uT.isKindAbstract)(re.kind))return I=(0,jt.invalidInlineFragmentTypeErrorMessage)(n,p,ye,se),Le.BREAK;let Ce=e.parentDefinitionDataByTypeName.get(ye);if(!Ce)return I=(0,jt.unknownInlineFragmentTypeConditionErrorMessage)(n,p,se,ye),Le.BREAK;switch(x=!0,Ce.kind){case Le.Kind.INTERFACE_TYPE_DEFINITION:{if(!Ce.implementedInterfaceTypeNames.has(se))break;l.push(Ce);return}case Le.Kind.OBJECT_TYPE_DEFINITION:{let ht=e.concreteTypeNamesByAbstractTypeName.get(se);if(!ht||!ht.has(ye))break;l.push(Ce);return}case Le.Kind.UNION_TYPE_DEFINITION:{l.push(Ce);return}default:return I=(0,jt.invalidInlineFragmentTypeConditionTypeErrorMessage)(n,p,se,ye,(0,Yi.kindToTypeString)(Ce.kind)),Le.BREAK}return I=(0,jt.invalidInlineFragmentTypeConditionErrorMessage)(n,p,ye,(0,Yi.kindToTypeString)(re.kind),se),Le.BREAK}},SelectionSet:{enter(){if(!x){let Q=l[O];if(Q.kind===Le.Kind.UNION_TYPE_DEFINITION)return I=(0,jt.unparsableFieldSetSelectionErrorMessage)(n,j),Le.BREAK;let re=Q.fieldDataByFieldName.get(j);if(!re)return I=(0,jt.undefinedFieldInFieldSetErrorMessage)(n,Q.name,j),Le.BREAK;let se=(0,cT.getTypeNodeNamedTypeName)(re.node.type),pe=e.parentDefinitionDataByTypeName.get(se),ye=pe?pe.kind:Le.Kind.SCALAR_TYPE_DEFINITION;return I=(0,jt.invalidSelectionSetDefinitionErrorMessage)(n,p,se,(0,Yi.kindToTypeString)(ye)),Le.BREAK}if(O+=1,x=!1,O<0||O>=l.length)return I=(0,jt.unparsableFieldSetSelectionErrorMessage)(n,j),Le.BREAK;d.push(new Set)},leave(){if(x){let Q=l[O+1];I=(0,jt.invalidSelectionSetErrorMessage)(n,p,Q.name,(0,Yi.kindToTypeString)(Q.kind)),x=!1}O-=1,l.pop(),d.pop()}}}),I?{errorMessage:I}:{configuration:{fieldName:r,selectionSet:DR(u)}}}function Ble(e,t,n,r){let i=e.entityInterfaceDataByTypeName.has(t.name),s=t.name,o=[],u=[],l=new Set,d=[],p=i?void 0:e.internalGraph.addEntityDataNode(t.name),y=e.internalGraph.addOrUpdateNode(t.name);for(let[N,I]of n){let{error:O,documentNode:x}=(0,uT.safeParse)("{"+N+"}");if(O||!x){o.push((0,jt.unparsableFieldSetErrorMessage)(N,O));continue}let j=[t],Q=[],re=[],se=new Set,pe=-1,ye=!0,Ce="";if((0,Le.visit)(x,{Argument:{enter(xt){return o.push((0,jt.unexpectedArgumentErrorMessage)(N,`${j[pe].name}.${Ce}`,xt.name.value)),Le.BREAK}},Field:{enter(xt){let B=j[pe-1],he=j[pe],nt=he.name;if(ye)return o.push((0,jt.invalidSelectionSetErrorMessage)(N,[`${B.name}.${Ce}`],nt,(0,Yi.kindToTypeString)(he.kind))),Le.BREAK;let Ct=xt.name.value,sn=`${nt}.${Ct}`;Ce=Ct;let Fn=he.fieldDataByFieldName.get(Ct);if(!Fn)return o.push((0,jt.undefinedFieldInFieldSetErrorMessage)(N,nt,Ct)),Le.BREAK;if(Fn.argumentDataByArgumentName.size)return o.push((0,jt.argumentsInKeyFieldSetErrorMessage)(N,sn)),Le.BREAK;if(Q[pe].has(Ct))return o.push((0,jt.duplicateFieldInFieldSetErrorMessage)(N,sn)),Le.BREAK;if(re.push(Ct),Fn.isShareableBySubgraphName.set(e.subgraphName,!0),Q[pe].add(Ct),pe===0)l.add(Ct),r.add(Ct);else{let mi=e.configurationDataByParentTypeName.get(nt);if(!mi)return o.push((0,jt.invalidConfigurationDataErrorMessage)(nt,Ct,N)),Le.BREAK;mi.fieldNames.add(Ct)}(0,Yi.getValueOrDefault)(e.keyFieldNamesByParentTypeName,nt,()=>new Set).add(Ct);let _n=(0,cT.getTypeNodeNamedTypeName)(Fn.node.type);if(SR.BASE_SCALARS.has(_n)){se.add(re.join(Wn.PERIOD)),re.pop();return}let bn=e.parentDefinitionDataByTypeName.get(_n);if(!bn)return o.push((0,jt.unknownTypeInFieldSetErrorMessage)(N,sn,_n)),Le.BREAK;if(bn.kind===Le.Kind.OBJECT_TYPE_DEFINITION){ye=!0,j.push(bn);return}if((0,uT.isKindAbstract)(bn.kind))return o.push((0,jt.abstractTypeInKeyFieldSetErrorMessage)(N,sn,_n,(0,Yi.kindToTypeString)(bn.kind))),Le.BREAK;se.add(re.join(Wn.PERIOD)),re.pop()}},InlineFragment:{enter(){return o.push(jt.inlineFragmentInFieldSetErrorMessage),Le.BREAK}},SelectionSet:{enter(){if(!ye){let xt=j[pe],he=`${xt.name}.${Ce}`,nt=xt.fieldDataByFieldName.get(Ce);if(!nt)return o.push((0,jt.undefinedFieldInFieldSetErrorMessage)(N,he,Ce)),Le.BREAK;let Ct=(0,cT.getTypeNodeNamedTypeName)(nt.node.type),sn=e.parentDefinitionDataByTypeName.get(Ct),Fn=sn?sn.kind:Le.Kind.SCALAR_TYPE_DEFINITION;return o.push((0,jt.invalidSelectionSetDefinitionErrorMessage)(N,[he],Ct,(0,Yi.kindToTypeString)(Fn))),Le.BREAK}if(pe+=1,ye=!1,pe<0||pe>=j.length)return o.push((0,jt.unparsableFieldSetSelectionErrorMessage)(N,Ce)),Le.BREAK;Q.push(new Set)},leave(){if(ye){let B=j[pe].name,he=j[pe+1],nt=`${B}.${Ce}`;o.push((0,jt.invalidSelectionSetErrorMessage)(N,[nt],he.name,(0,Yi.kindToTypeString)(he.kind))),ye=!1}pe-=1,j.pop(),Q.pop()}}}),o.length>0)continue;let ht=DR(x);u.push(k({fieldName:"",selectionSet:ht},I?{disableEntityResolver:!0}:{})),y.satisfiedFieldSets.add(ht),!I&&(p==null||p.addTargetSubgraphByFieldSet(ht,e.subgraphName),d.push(se))}if(o.length){e.errors.push((0,jt.invalidKeyDirectivesError)(s,o));return}if(u.length)return u}function Vle(e,t,n,r,i){if(t!==ua.FieldSetDirective.PROVIDES)return e.entityDataByTypeName.has(i)?{fieldSetParentData:n}:{};let s=(0,Yi.getOrThrowError)(n.fieldDataByFieldName,r,`${i}.fieldDataByFieldName`),o=(0,cT.getTypeNodeNamedTypeName)(s.node.type),u=e.parentDefinitionDataByTypeName.get(o);return u?u.kind!==Le.Kind.INTERFACE_TYPE_DEFINITION&&u.kind!==Le.Kind.OBJECT_TYPE_DEFINITION?{errorString:(0,jt.incompatibleTypeWithProvidesErrorMessage)(`${i}.${r}`,o)}:{fieldSetParentData:u}:{errorString:(0,jt.unknownNamedTypeErrorMessage)(`${i}.${r}`,o)}}function hq(e,t,n,r){let i=[],s=[],o=(0,ua.getParentTypeName)(t);for(let[u,l]of n){let{fieldSetParentData:d,errorString:p}=Vle(e,r,t,u,o),y=`${o}.${u}`;if(p){i.push(p);continue}if(!d)continue;let{errorMessage:N,configuration:I}=Mle(e,d,l,u,r,o);if(N){i.push(` On "${o}.${u}" \u2014`+N);continue}if(I){s.push(I);continue}throw(0,jt.invalidConfigurationResultFatalError)(y)}if(i.length>0){e.errors.push((0,jt.invalidProvidesOrRequiresDirectivesError)(r,i));return}if(s.length>0)return s}function jle(e,t,n){let r=(0,Yi.getOrThrowError)(e.configurationDataByParentTypeName,(0,ua.getParentTypeName)(t),"configurationDataByParentTypeName"),i=hq(e,t,n.provides,ua.FieldSetDirective.PROVIDES);i&&(r.provides=i);let s=hq(e,t,n.requires,ua.FieldSetDirective.REQUIRES);s&&(r.requires=s)}function $le(e,t){return e===Wn.QUERY||t===Le.OperationTypeNode.QUERY}function qle(e,t,n){let r=e.matchAll(SR.EDFS_ARGS_REGEXP),i=new Set,s=new Set;for(let o of r){if(o.length<2){s.add(o[0]);continue}t.has(o[1])||i.add(o[1])}for(let o of i)n.push((0,jt.undefinedEventSubjectsArgumentErrorMessage)(o));for(let o of s)n.push((0,jt.invalidEventSubjectsArgumentErrorMessage)(o))}});var AR=V(Yp=>{"use strict";m();T();h();Object.defineProperty(Yp,"__esModule",{value:!0});Yp.newParentTagData=Jle;Yp.newChildTagData=zle;Yp.validateImplicitFieldSets=Hle;Yp.newContractTagOptionsFromArrays=Wle;var Kle=ps(),Gle=$a(),Ws=MV(),Qle=_c(),Tq=Vi(),Yle=Kl();function Jle(e){return{childTagDataByChildName:new Map,tagNames:new Set,typeName:e}}function zle(e){return{name:e,tagNames:new Set,tagNamesByArgumentName:new Map}}function Hle({conditionalFieldDataByCoordinates:e,configurationData:t,fieldSets:n,implicitKeys:r,objectData:i,parentDefinitionDataByTypeName:s,graphNode:o}){for(let u of n){let{error:l,documentNode:d}=(0,Tq.safeParse)("{"+u+"}");if(l||!d)continue;let p=[i],y=[],N=new Set,I=[],O=-1,x=!0,j=!0;if((0,Ws.visit)(d,{Argument:{enter(){return j=!1,Ws.BREAK}},Field:{enter(re){let se=p[O];if(x)return j=!1,Ws.BREAK;let pe=re.name.value,ye=se.fieldDataByFieldName.get(pe);if(!ye||ye.argumentDataByArgumentName.size||y[O].has(pe))return j=!1,Ws.BREAK;let Ce=e.get(`${ye.renamedParentTypeName}.${pe}`);if(Ce){if(Ce.providedBy.length>0)I.push(...Ce.providedBy);else if(Ce.requiredBy.length>0)return j=!1,Ws.BREAK}y[O].add(pe),O===0&&N.add(pe);let ht=(0,Gle.getTypeNodeNamedTypeName)(ye.node.type);if(Qle.BASE_SCALARS.has(ht))return;let xt=s.get(ht);if(!xt)return j=!1,Ws.BREAK;if(xt.kind===Ws.Kind.OBJECT_TYPE_DEFINITION){x=!0,p.push(xt);return}if((0,Tq.isKindAbstract)(xt.kind))return j=!1,Ws.BREAK}},InlineFragment:{enter(){return j=!1,Ws.BREAK}},SelectionSet:{enter(){if(!x||(O+=1,x=!1,O<0||O>=p.length))return j=!1,Ws.BREAK;y.push(new Set)},leave(){if(x)return j=!1,Ws.BREAK;O-=1,p.pop(),y.pop()}}}),!j)continue;(0,Kle.addIterableValuesToSet)(N,t.fieldNames);let Q=(0,Yle.getNormalizedFieldSet)(d);r.push(K(k({fieldName:"",selectionSet:Q},I.length>0?{conditions:I}:{}),{disableEntityResolver:!0})),o&&o.satisfiedFieldSets.add(Q)}}function Wle(e,t){return{tagNamesToExclude:new Set(e),tagNamesToInclude:new Set(t)}}});var FR=V(RR=>{"use strict";m();T();h();Object.defineProperty(RR,"__esModule",{value:!0});RR.recordSubgraphName=Xle;function Xle(e,t,n){if(!t.has(e)){t.add(e);return}n.add(e)}});var wR=V(pT=>{"use strict";m();T();h();Object.defineProperty(pT,"__esModule",{value:!0});pT.upsertDirectiveSchemaAndEntityDefinitions=Zle;pT.upsertParentsAndChildren=ede;pT.consolidateAuthorizationDirectives=tde;var rr=(we(),Me(je)),Ya=To(),Ql=_c(),dn=ps(),lT=Vi(),Ja=Kl(),pr=bi(),Ji=Qp(),dT=$a();function Zle(e,t){let n=new Set,r=[];(0,rr.visit)(t,{Directive:{enter(i){let s=i.name.value;if(pr.EVENT_DIRECTIVE_NAMES.has(s)&&e.edfsDirectiveReferences.add(s),Ql.V2_DIRECTIVE_DEFINITION_BY_DIRECTIVE_NAME.has(s))return e.isSubgraphVersionTwo=!0,!1;if(Ql.BASE_DIRECTIVE_DEFINITION_BY_DIRECTIVE_NAME.has(s))return!1;s===pr.SUBSCRIPTION_FILTER&&e.directiveDefinitionByDirectiveName.set(pr.SUBSCRIPTION_FILTER,Ql.SUBSCRIPTION_FILTER_DEFINITION),e.referencedDirectiveNames.add(s)}},DirectiveDefinition:{enter(i){let s=i.name.value;return n.has(s)?(e.errors.push((0,Ya.duplicateDirectiveDefinitionError)(s)),!1):(n.add(s),Ql.V2_DIRECTIVE_DEFINITION_BY_DIRECTIVE_NAME.has(s)?(e.isSubgraphVersionTwo=!0,!1):(Ql.BASE_DIRECTIVE_DEFINITION_BY_DIRECTIVE_NAME.has(s)||s===pr.SUBSCRIPTION_FILTER||(e.directiveDefinitionByDirectiveName.set(s,i),e.customDirectiveDefinitions.set(s,i)),!1))}},InterfaceTypeDefinition:{enter(i){let s=i.name.value;if(e.internalGraph.addOrUpdateNode(s,{isAbstract:!0}),!(0,lT.isObjectLikeNodeEntity)(i))return;let o=(0,dn.getValueOrDefault)(e.keyFieldSetDataByTypeName,s,Ja.newKeyFieldSetData);e.extractKeyFieldSets(i,o),(0,dn.upsertEntityDataProperties)(e.entityDataByTypeName,k({typeName:s,keyFieldSets:o.isUnresolvableByKeyFieldSet.keys()},e.subgraphName?{subgraphNames:[e.subgraphName]}:{})),(0,dn.getValueOrDefault)(e.entityInterfaceDataByTypeName,s,()=>({concreteTypeNames:new Set,fieldDatas:[],interfaceFieldNames:new Set,interfaceObjectFieldNames:new Set,isInterfaceObject:!1,typeName:s}))}},InterfaceTypeExtension:{enter(i){let s=i.name.value;if(e.internalGraph.addOrUpdateNode(s,{isAbstract:!0}),!(0,lT.isObjectLikeNodeEntity)(i))return;let o=(0,dn.getValueOrDefault)(e.keyFieldSetDataByTypeName,s,Ja.newKeyFieldSetData);e.extractKeyFieldSets(i,o),(0,dn.upsertEntityDataProperties)(e.entityDataByTypeName,k({typeName:s,keyFieldSets:o.isUnresolvableByKeyFieldSet.keys()},e.subgraphName?{subgraphNames:[e.subgraphName]}:{}))}},ObjectTypeDefinition:{enter(i){if(!(0,lT.isObjectLikeNodeEntity)(i))return;let s=i.name.value;(0,lT.isNodeInterfaceObject)(i)&&(e.entityInterfaceDataByTypeName.set(s,{fieldDatas:[],interfaceObjectFieldNames:new Set,interfaceFieldNames:new Set,isInterfaceObject:!0,typeName:s}),e.internalGraph.addOrUpdateNode(s,{isAbstract:!0}));let o=(0,dn.getValueOrDefault)(e.keyFieldSetDataByTypeName,s,Ja.newKeyFieldSetData);e.extractKeyFieldSets(i,o),(0,dn.upsertEntityDataProperties)(e.entityDataByTypeName,k({typeName:s,keyFieldSets:o.isUnresolvableByKeyFieldSet.keys()},e.subgraphName?{subgraphNames:[e.subgraphName]}:{}))}},ObjectTypeExtension:{enter(i){if(!(0,lT.isObjectLikeNodeEntity)(i))return;let s=i.name.value,o=(0,dn.getValueOrDefault)(e.keyFieldSetDataByTypeName,s,Ja.newKeyFieldSetData);e.extractKeyFieldSets(i,o),(0,dn.upsertEntityDataProperties)(e.entityDataByTypeName,k({typeName:s,keyFieldSets:o.isUnresolvableByKeyFieldSet.keys()},e.subgraphName?{subgraphNames:[e.subgraphName]}:{}))}},OperationTypeDefinition:{enter(i){let s=i.operation,o=e.schemaDefinition.operationTypes.get(s),u=(0,dT.getTypeNodeNamedTypeName)(i.type);if(o)return(0,Ya.duplicateOperationTypeDefinitionError)(s,u,(0,dT.getTypeNodeNamedTypeName)(o.type)),!1;let l=e.operationTypeNodeByTypeName.get(u);return l?(e.errors.push((0,Ya.invalidOperationTypeDefinitionError)(l,u,s)),!1):(e.operationTypeNodeByTypeName.set(u,s),e.schemaDefinition.operationTypes.set(s,i),!1)}},SchemaDefinition:{enter(i){r.push(i),e.schemaDefinition.description=i.description}},SchemaExtension:{enter(i){r.push(i)}},UnionTypeDefinition:{enter(i){i.name.value!==pr.ENTITY_UNION&&e.upsertUnionByNode(i)}},UnionTypeExtension:{enter(i){if(i.name.value===pr.ENTITY_UNION)return!1;e.upsertUnionByNode(i,!0)}}});for(let i of r)(0,Ji.extractDirectives)(i,e.schemaDefinition.directivesByDirectiveName,e.errors,e.directiveDefinitionByDirectiveName,e.handledRepeatedDirectivesByHostPath,pr.SCHEMA)}function ede(e,t){let n=!1,r;(0,rr.visit)(t,{EnumTypeDefinition:{enter(i){e.originalParentTypeName=i.name.value,e.lastParentNodeKind=i.kind,e.upsertEnumDataByNode(i)},leave(){e.originalParentTypeName="",e.lastParentNodeKind=rr.Kind.NULL}},EnumTypeExtension:{enter(i){e.originalParentTypeName=i.name.value,e.lastParentNodeKind=i.kind,e.upsertEnumDataByNode(i,!0)},leave(){e.originalParentTypeName="",e.lastParentNodeKind=rr.Kind.NULL}},EnumValueDefinition:{enter(i){e.childName=i.name.value,e.lastChildNodeKind=i.kind;let s=(0,dn.getOrThrowError)(e.parentDefinitionDataByTypeName,e.originalParentTypeName,pr.PARENT_DEFINITION_DATA);if(s.kind!==rr.Kind.ENUM_TYPE_DEFINITION){e.errors.push((0,Ya.unexpectedParentKindForChildError)(e.originalParentTypeName,"enum or enum extension",(0,dn.kindToTypeString)(s.kind),e.childName,(0,dn.kindToTypeString)(i.kind)));return}if(s.enumValueDataByValueName.has(e.childName)){e.errors.push((0,Ya.duplicateEnumValueDefinitionError)(e.originalParentTypeName,e.childName));return}(0,Ji.addEnumValueDataByNode)(s.enumValueDataByValueName,i,e.errors,e.directiveDefinitionByDirectiveName,e.handledRepeatedDirectivesByHostPath,e.originalParentTypeName)},leave(){e.childName="",e.lastChildNodeKind=rr.Kind.NULL}},FieldDefinition:{enter(i){if(e.childName=i.name.value,n&&(e.childName===pr.SERVICE_FIELD||e.childName===pr.ENTITIES_FIELD))return!1;e.edfsDirectiveReferences.size>0&&e.validateSubscriptionFilterDirectiveLocation(i),e.lastChildNodeKind=i.kind;let s=(0,dT.getTypeNodeNamedTypeName)(i.type);r&&!r.isAbstract&&e.internalGraph.addEdge(r,e.internalGraph.addOrUpdateNode(s),e.childName),Ql.BASE_SCALARS.has(s)||e.referencedTypeNames.add(s);let o=(0,dn.getOrThrowError)(e.parentDefinitionDataByTypeName,e.originalParentTypeName,pr.PARENT_DEFINITION_DATA);if(o.kind!==rr.Kind.OBJECT_TYPE_DEFINITION&&o.kind!==rr.Kind.INTERFACE_TYPE_DEFINITION){e.errors.push((0,Ya.unexpectedParentKindForChildError)(e.originalParentTypeName,'"Object" or "Interface"',(0,dn.kindToTypeString)(o.kind),e.childName,(0,dn.kindToTypeString)(i.kind)));return}if(o.fieldDataByFieldName.has(e.childName)){e.errors.push((0,Ya.duplicateFieldDefinitionError)((0,dn.kindToTypeString)(o.kind),o.name,e.childName));return}let u=(0,Ji.extractArguments)(new Map,i,e.errors,e.directiveDefinitionByDirectiveName,e.handledRepeatedDirectivesByHostPath,e.parentsWithChildArguments,e.originalParentTypeName,e.renamedParentTypeName||e.originalParentTypeName,e.subgraphName),l=e.extractDirectivesAndAuthorization(i,new Map);(0,Ji.addInheritedDirectivesToFieldData)(o.directivesByDirectiveName,l);let d=(0,Ji.addFieldDataByNode)(o.fieldDataByFieldName,i,u,l,e.originalParentTypeName,e.renamedParentTypeName||e.originalParentTypeName,e.subgraphName,e.isSubgraphVersionTwo,e.errors);n&&e.extractEventDirectivesToConfiguration(i,u);let p=d.directivesByDirectiveName.get(pr.PROVIDES),y=d.directivesByDirectiveName.get(pr.REQUIRES);if(!y&&!p)return;let N=e.entityDataByTypeName.get(e.originalParentTypeName);if(N){N.fieldNames.add(e.childName);let O=(0,dn.getValueOrDefault)(e.fieldSetDataByTypeName,e.originalParentTypeName,Ja.newFieldSetData);(0,Ja.extractFieldSetValue)(e.childName,O.requires,y),(0,Ja.extractFieldSetValue)(e.childName,O.provides,p);return}if(!p)return;let I=(0,dn.getValueOrDefault)(e.fieldSetDataByTypeName,e.originalParentTypeName,Ja.newFieldSetData);(0,Ja.extractFieldSetValue)(e.childName,I.provides,p)},leave(){e.childName="",e.lastChildNodeKind=rr.Kind.NULL}},InputObjectTypeDefinition:{enter(i){e.originalParentTypeName=i.name.value,e.lastParentNodeKind=i.kind,e.upsertInputObjectByNode(i)},leave(){e.lastParentNodeKind=rr.Kind.NULL,e.originalParentTypeName=""}},InputObjectTypeExtension:{enter(i){e.originalParentTypeName=i.name.value,e.lastParentNodeKind=i.kind,e.upsertInputObjectByNode(i,!0)},leave(){e.originalParentTypeName="",e.lastParentNodeKind=rr.Kind.NULL}},InputValueDefinition:{enter(i){let s=i.name.value;if(e.lastParentNodeKind!==rr.Kind.INPUT_OBJECT_TYPE_DEFINITION&&e.lastParentNodeKind!==rr.Kind.INPUT_OBJECT_TYPE_EXTENSION){e.argumentName=s;return}e.childName=s,e.lastChildNodeKind=i.kind;let o=`${e.originalParentTypeName}.${s}`,u=(0,dT.getTypeNodeNamedTypeName)(i.type);Ql.BASE_SCALARS.has(u)||e.referencedTypeNames.add(u);let l=(0,dn.getOrThrowError)(e.parentDefinitionDataByTypeName,e.originalParentTypeName,pr.PARENT_DEFINITION_DATA);if(l.kind!==rr.Kind.INPUT_OBJECT_TYPE_DEFINITION)return e.errors.push((0,Ya.unexpectedParentKindForChildError)(e.originalParentTypeName,"input object or input object extension",(0,dn.kindToTypeString)(l.kind),e.childName,(0,dn.kindToTypeString)(i.kind))),!1;if(l.inputValueDataByValueName.has(s)){e.errors.push((0,Ya.duplicateInputFieldDefinitionError)(e.originalParentTypeName,s));return}(0,Ji.addInputValueDataByNode)(l.inputValueDataByValueName,i,e.directiveDefinitionByDirectiveName,e.handledRepeatedDirectivesByHostPath,o,e.subgraphName,e.errors)},leave(){e.argumentName="",e.lastChildNodeKind===rr.Kind.INPUT_VALUE_DEFINITION&&(e.childName="",e.lastChildNodeKind=rr.Kind.NULL)}},InterfaceTypeDefinition:{enter(i){e.originalParentTypeName=i.name.value,e.lastParentNodeKind=i.kind,e.upsertInterfaceDataByNode(i)},leave(){(0,Ji.removeInheritableDirectivesFromParentWithFieldsData)((0,dn.getOrThrowError)(e.parentDefinitionDataByTypeName,e.originalParentTypeName,pr.PARENT_DEFINITION_DATA)),e.originalParentTypeName="",e.lastParentNodeKind=rr.Kind.NULL}},InterfaceTypeExtension:{enter(i){e.originalParentTypeName=i.name.value,e.lastParentNodeKind=i.kind,e.upsertInterfaceDataByNode(i,!0)},leave(){(0,Ji.removeInheritableDirectivesFromParentWithFieldsData)((0,dn.getOrThrowError)(e.parentDefinitionDataByTypeName,e.originalParentTypeName,pr.PARENT_DEFINITION_DATA)),e.originalParentTypeName="",e.lastParentNodeKind=rr.Kind.NULL}},ObjectTypeDefinition:{enter(i){if(i.name.value===pr.SERVICE_OBJECT)return!1;e.originalParentTypeName=i.name.value,n=(0,Ji.isTypeNameRootType)(e.originalParentTypeName,e.operationTypeNodeByTypeName),e.renamedParentTypeName=(0,Ji.getRenamedRootTypeName)(e.originalParentTypeName,e.operationTypeNodeByTypeName),e.originalTypeNameByRenamedTypeName.set(e.renamedParentTypeName,e.originalParentTypeName),r=n?e.internalGraph.getRootNode(e.renamedParentTypeName):e.internalGraph.addOrUpdateNode(e.renamedParentTypeName),e.lastParentNodeKind=i.kind,e.upsertObjectDataByNode(i)},leave(){(0,Ji.removeInheritableDirectivesFromParentWithFieldsData)((0,dn.getOrThrowError)(e.parentDefinitionDataByTypeName,e.originalParentTypeName,pr.PARENT_DEFINITION_DATA)),r=void 0,n=!1,e.originalParentTypeName="",e.renamedParentTypeName="",e.lastParentNodeKind=rr.Kind.NULL}},ObjectTypeExtension:{enter(i){if(i.name.value===pr.SERVICE_OBJECT)return!1;e.originalParentTypeName=i.name.value,n=(0,Ji.isTypeNameRootType)(e.originalParentTypeName,e.operationTypeNodeByTypeName),e.renamedParentTypeName=(0,Ji.getRenamedRootTypeName)(e.originalParentTypeName,e.operationTypeNodeByTypeName),e.originalTypeNameByRenamedTypeName.set(e.renamedParentTypeName,e.originalParentTypeName),r=n?e.internalGraph.getRootNode(e.renamedParentTypeName):e.internalGraph.addOrUpdateNode(e.renamedParentTypeName),e.lastParentNodeKind=i.kind,e.upsertObjectDataByNode(i,!0)},leave(){(0,Ji.removeInheritableDirectivesFromParentWithFieldsData)((0,dn.getOrThrowError)(e.parentDefinitionDataByTypeName,e.originalParentTypeName,pr.PARENT_DEFINITION_DATA)),r=void 0,n=!1,e.originalParentTypeName="",e.renamedParentTypeName="",e.lastParentNodeKind=rr.Kind.NULL}},ScalarTypeDefinition:{enter(i){if(i.name.value===pr.ANY_SCALAR)return!1;e.originalParentTypeName=i.name.value,e.lastParentNodeKind=i.kind,e.upsertScalarByNode(i)},leave(){e.originalParentTypeName="",e.lastParentNodeKind=rr.Kind.NULL}},ScalarTypeExtension:{enter(i){if(i.name.value===pr.ANY_SCALAR)return!1;e.originalParentTypeName=i.name.value,e.lastParentNodeKind=i.kind,e.upsertScalarByNode(i,!0)},leave(){e.originalParentTypeName="",e.lastParentNodeKind=rr.Kind.NULL}}})}function tde(e,t){let n,r=!1;(0,rr.visit)(t,{FieldDefinition:{enter(i){e.childName=i.name.value;let s=(0,dT.getTypeNodeNamedTypeName)(i.type),o=e.leafTypeNamesWithAuthorizationDirectives.has(s);if((!n||!n.hasParentLevelAuthorization)&&!o)return!1;let u=e.renamedParentTypeName||e.originalParentTypeName;n||(n=(0,dn.setAndGetValue)(e.authorizationDataByParentTypeName,u,(0,dn.newAuthorizationData)(u)));let l=(0,dn.getValueOrDefault)(n.fieldAuthorizationDataByFieldName,e.childName,()=>(0,dn.newFieldAuthorizationData)(e.childName));if(!(0,dn.mergeAuthorizationDataByAND)(n,l))return e.invalidOrScopesHostPaths.add(`${e.originalParentTypeName}.${e.childName}`),!1;if(!o)return!1;if(r)return(0,dn.getValueOrDefault)(e.heirFieldAuthorizationDataByTypeName,s,()=>[]).push(l),!1;let d=e.authorizationDataByParentTypeName.get(s);return d&&d.hasParentLevelAuthorization&&!(0,dn.mergeAuthorizationDataByAND)(d,l)&&e.invalidOrScopesHostPaths.add(`${e.originalParentTypeName}.${e.childName}`),!1},leave(){e.childName=""}},InterfaceTypeDefinition:{enter(i){e.originalParentTypeName=i.name.value,n=e.getAuthorizationData(i),r=!0},leave(){e.originalParentTypeName="",n=void 0,r=!1}},InterfaceTypeExtension:{enter(i){e.originalParentTypeName=i.name.value,n=e.getAuthorizationData(i),r=!0},leave(){e.originalParentTypeName="",n=void 0,r=!1}},ObjectTypeDefinition:{enter(i){let s=e.parentDefinitionDataByTypeName.get(i.name.value);if(!s)return!1;e.originalParentTypeName=s.name,e.renamedParentTypeName=s.renamedTypeName,n=e.getAuthorizationData(i)},leave(){e.originalParentTypeName="",e.renamedParentTypeName="",n=void 0}},ObjectTypeExtension:{enter(i){let s=e.parentDefinitionDataByTypeName.get(i.name.value);if(!s)return!1;e.originalParentTypeName=s.name,e.renamedParentTypeName=s.renamedTypeName,n=e.getAuthorizationData(i)},leave(){e.originalParentTypeName="",e.renamedParentTypeName="",n=void 0}}})}});var CR=V(ca=>{"use strict";m();T();h();Object.defineProperty(ca,"__esModule",{value:!0});ca.EntityDataNode=ca.RootNode=ca.GraphNode=ca.Edge=void 0;var sI=ps(),LR=class{constructor(t,n,r,i=!1){A(this,"edgeName");A(this,"id");A(this,"isAbstractEdge");A(this,"isInaccessible",!1);A(this,"node");A(this,"visitedIndices",new Set);this.edgeName=i?`... on ${r}`:r,this.id=t,this.isAbstractEdge=i,this.node=n}};ca.Edge=LR;var PR=class{constructor(t,n,r){A(this,"fieldDataByFieldName",new Map);A(this,"headToTailEdges",new Map);A(this,"entityEdges",[]);A(this,"nodeName");A(this,"hasEntitySiblings",!1);A(this,"isAbstract");A(this,"isInaccessible",!1);A(this,"isLeaf",!1);A(this,"isRootNode",!1);A(this,"satisfiedFieldSets",new Set);A(this,"subgraphName");A(this,"typeName");this.isAbstract=!!(r!=null&&r.isAbstract),this.isLeaf=!!(r!=null&&r.isLeaf),this.nodeName=`${t}.${n}`,this.subgraphName=t,this.typeName=n}handleInaccessibleEdges(){if(this.isAbstract)return;let t=(0,sI.getEntriesNotInHashSet)(this.headToTailEdges.keys(),this.fieldDataByFieldName);for(let n of t){let r=this.headToTailEdges.get(n);r&&(r.isInaccessible=!0)}}getAllAccessibleEntityNodeNames(){let t=new Set([this.nodeName]);return this.getAccessibleEntityNodeNames(this,t),t.delete(this.nodeName),t}getAccessibleEntityNodeNames(t,n){for(let r of t.entityEdges)(0,sI.add)(n,r.node.nodeName)&&this.getAccessibleEntityNodeNames(r.node,n)}};ca.GraphNode=PR;var kR=class{constructor(t){A(this,"fieldDataByFieldName",new Map);A(this,"headToShareableTailEdges",new Map);A(this,"isAbstract",!1);A(this,"isRootNode",!0);A(this,"typeName");this.typeName=t}removeInaccessibleEdges(t){for(let[n,r]of this.headToShareableTailEdges)if(!t.has(n))for(let i of r)i.isInaccessible=!0}};ca.RootNode=kR;var xR=class{constructor(t){A(this,"fieldSetsByTargetSubgraphName",new Map);A(this,"targetSubgraphNamesByFieldSet",new Map);A(this,"typeName");this.typeName=t}addTargetSubgraphByFieldSet(t,n){(0,sI.getValueOrDefault)(this.targetSubgraphNamesByFieldSet,t,()=>new Set).add(n),(0,sI.getValueOrDefault)(this.fieldSetsByTargetSubgraphName,n,()=>new Set).add(t)}};ca.EntityDataNode=xR});var MR=V(za=>{"use strict";m();T();h();Object.defineProperty(za,"__esModule",{value:!0});za.NodeResolutionData=void 0;za.newRootFieldData=nde;za.generateResolvabilityErrorReasons=Eq;za.generateSelectionSetSegments=gq;za.renderSelectionSet=Iq;za.generateResolvabilityErrors=sde;var yq=ps(),Yl=bi(),Nq=To(),UR=class{constructor(t,n){A(this,"fieldDataByFieldName");A(this,"isResolved",!1);A(this,"resolvedFieldNames",new Set);A(this,"typeName");this.fieldDataByFieldName=n,this.typeName=t}add(t){if(this.resolvedFieldNames.add(t),this.resolvedFieldNames.size>this.fieldDataByFieldName.size){let n=(0,yq.getEntriesNotInHashSet)(this.resolvedFieldNames,this.fieldDataByFieldName);throw(0,Nq.unexpectedEdgeFatalError)(this.typeName,n)}return this.isResolved=this.resolvedFieldNames.size===this.fieldDataByFieldName.size,this.isResolved}};za.NodeResolutionData=UR;function nde(e,t,n){return{coordinate:`${e}.${t}`,message:`The root type field "${e}.${t}" is defined in the following subgraph`+(n.size>1?"s":"")+`: "${[...n].join(Yl.QUOTATION_JOIN)}".`,subgraphNames:n}}function rde(e,t){return e.isLeaf?e.name+` <-- `:e.name+` { <-- -`+Gl.LITERAL_SPACE.repeat(t+3)+`... -`+Gl.LITERAL_SPACE.repeat(t+2)+`} -`}function Nq({entityAncestorData:e,rootFieldData:t,unresolvableFieldData:n}){let{fieldName:r,typeName:i,subgraphNames:s}=n,o=[t.message,`The field "${i}.${r}" is defined in the following subgraph`+(s.size>1?"s":"")+`: "${[...s].join(Gl.QUOTATION_JOIN)}".`];if(e){let u=!1;for(let[l,d]of e.fieldSetsByTargetSubgraphName)if(s.has(l)){u=!0;for(let p of d)o.push(`The entity ancestor "${e.typeName}" in subgraph "${e.subgraphName}" does not satisfy the key field set "${p}" to access subgraph "${l}".`)}u||o.push(`The entity ancestor "${e.typeName}" in subgraph "${e.subgraphName}" has no accessible target entities (resolvable @key directives) in the subgraphs where "${i}.${r}" is defined.`),o.push(`The type "${i}" is not a descendent of any other entity ancestors that can provide a shared route to access "${r}".`)}else t.subgraphNames.size>1&&o.push(`None of the subgraphs that share the same root type field "${t.coordinate}" can provide a route to access "${r}".`),o.push(`The type "${i}" is not a descendent of an entity ancestor that can provide a shared route to access "${r}".`);return i!==(e==null?void 0:e.typeName)&&o.push(`The type "${i}" has no accessible target entities (resolvable @key directives) in any other subgraph, so accessing other subgraphs is not possible.`),o}function Eq(e){let t=e.split(new RegExp("(?<=\\w)\\.")),n="",r="";for(let i=0;i{"use strict";m();T();h();Object.defineProperty(sI,"__esModule",{value:!0});sI.Graph=void 0;var Fi=ps(),Iq=bi(),Yp=xR(),Jp=UR(),MR=class{constructor(){A(this,"edgeId",-1);A(this,"entityDataNodes",new Map);A(this,"entityNodeNamesBySharedFieldPath",new Map);A(this,"nodeByNodeName",new Map);A(this,"nodesByTypeName",new Map);A(this,"rootNodeByRootTypeName",new Map);A(this,"subgraphName",Iq.N_A);A(this,"resolvableFieldNamesByRelativeFieldPathByEntityNodeName",new Map);A(this,"nodeResolutionDataByFieldPath",new Map);A(this,"unresolvableFieldPaths",new Set);A(this,"failureResultByEntityNodeName",new Map);A(this,"walkerIndex",-1)}getRootNode(t){return(0,Fi.getValueOrDefault)(this.rootNodeByRootTypeName,t,()=>new Yp.RootNode(t))}addOrUpdateNode(t,n){let r=`${this.subgraphName}.${t}`,i=this.nodeByNodeName.get(r);if(i)return i.isAbstract||(i.isAbstract=!!(n!=null&&n.isAbstract)),!i.isLeaf&&(n!=null&&n.isLeaf)&&(i.isLeaf=!0),i;let s=new Yp.GraphNode(this.subgraphName,t,n);return this.nodeByNodeName.set(r,s),(0,Fi.getValueOrDefault)(this.nodesByTypeName,t,()=>[]).push(s),s}addEdge(t,n,r,i=!1){if(t.isRootNode){let u=new Yp.Edge(this.getNextEdgeId(),n,r);return(0,Fi.getValueOrDefault)(t.headToShareableTailEdges,r,()=>[]).push(u),u}let s=t,o=new Yp.Edge(this.getNextEdgeId(),n,i?n.typeName:r,i);return s.headToTailEdges.set(r,o),o}addEntityDataNode(t){let n=this.entityDataNodes.get(t);if(n)return n;let r=new Yp.EntityDataNode(t);return this.entityDataNodes.set(t,r),r}getNextEdgeId(){return this.edgeId+=1}setNodeInaccessible(t){let n=this.nodesByTypeName.get(t);if(n)for(let r of n)r.isInaccessible=!0}initializeNode(t,n){let r=this.entityDataNodes.get(t);if(Iq.ROOT_TYPE_NAMES.has(t)){let s=this.getRootNode(t);s.removeInaccessibleEdges(n),s.fieldDataByFieldName=n;return}let i=this.nodesByTypeName.get(t);if(i){for(let s of i)if(s.fieldDataByFieldName=n,s.handleInaccessibleEdges(),s.isLeaf=!1,!!r){s.hasEntitySiblings=!0;for(let o of s.satisfiedFieldSets){let u=r.targetSubgraphNamesByFieldSet.get(o);for(let l of u||[]){if(l===s.subgraphName)continue;let d=this.nodeByNodeName.get(`${l}.${s.typeName}`);d&&s.entityEdges.push(new Yp.Edge(this.getNextEdgeId(),d,""))}}}}}setSubgraphName(t){this.subgraphName=t}validateEntities(t,n){let r=new Map;for(let[i,s]of t){let o=s.size>1,u,l=o?new Map:void 0,d=new Set,p=new Map;for(let y of s){let N=this.nodeByNodeName.get(y);if(!N)throw new Error(`Fatal: Could not find entity node for "${y}".`);if(this.resolvableFieldNamesByRelativeFieldPathByEntityNodeName.get(y)){let Q=this.failureResultByEntityNodeName.get(y);if(!Q){u=void 0;break}if(!o)return Q}let b=this.nodesByTypeName.get(N.typeName)||[],C=(0,Fi.getValueOrDefault)(r,y,()=>o?p:new Map),j=new BR({interSubgraphNodes:b,entityNodeNamesBySharedFieldPath:C,originNode:N,resolvableFieldNamesByRelativeFieldPathByEntityNodeName:this.resolvableFieldNamesByRelativeFieldPathByEntityNodeName,walkerIndex:this.walkerIndex+=1,sharedResolvableFieldNamesByRelativeFieldPath:l,unresolvableSharedFieldPaths:d});if(j.visitEntityNode(N),j.unresolvableFieldPaths.size>0){if(o&&d.size<1){u=void 0;break}u={entityAncestorData:{fieldSetsByTargetSubgraphName:(0,Fi.getOrThrowError)(this.entityDataNodes,N.typeName,"entityDataNodes").fieldSetsByTargetSubgraphName,subgraphName:N.subgraphName,typeName:N.typeName},nodeName:y,parentFieldPathForEntityReference:[i],success:!1,typeName:N.typeName,unresolvableFieldPaths:o?d:j.unresolvableFieldPaths},this.failureResultByEntityNodeName.set(y,u);continue}u=void 0;break}if(u)return o&&l&&this.resolvableFieldNamesByRelativeFieldPathByEntityNodeName.set(u.nodeName,l),u}if(r.size>0)for(let[i,s]of r){let o=this.validateEntities(s,n);if(!o.success){for(let[u,l]of t)if(l.has(i)){o.parentFieldPathForEntityReference.push(u);break}return o}}return{success:!0}}validate(){let t=[];for(let n of this.rootNodeByRootTypeName.values())e:for(let[r,i]of n.headToShareableTailEdges){for(let u of i){if(u.isInaccessible)continue e;this.walkerIndex+=1,this.visitEdge(u,`${n.typeName.toLowerCase()}`)}let s=(0,Fi.getOrThrowError)(n.fieldDataByFieldName,r,"fieldDataByFieldName"),o=(0,Jp.newRootFieldData)(n.typeName,r,s.subgraphNames);if(this.unresolvableFieldPaths.size>0&&(0,Jp.generateResolvabilityErrors)({unresolvableFieldPaths:this.unresolvableFieldPaths,nodeResolutionDataByFieldPath:this.nodeResolutionDataByFieldPath,rootFieldData:o,errors:t}),this.entityNodeNamesBySharedFieldPath.size>0){let u=this.validateEntities(this.entityNodeNamesBySharedFieldPath,o);u.success||this.generateEntityResolvabilityErrors(u,o,t)}if(t.length>0)return t;this.entityNodeNamesBySharedFieldPath=new Map}return[]}visitEdge(t,n){return t.isInaccessible||t.node.isInaccessible?!1:(!(0,Fi.add)(t.visitedIndices,this.walkerIndex)||t.node.isLeaf||(t.node.isAbstract?this.validateAbstractNode(t.node,`${n}.${t.edgeName}`):this.validateConcreteNode(t.node,`${n}.${t.edgeName}`)),!0)}validateConcreteNode(t,n){if(t.headToTailEdges.size<1)return;if(t.hasEntitySiblings){(0,Fi.getValueOrDefault)(this.entityNodeNamesBySharedFieldPath,n,()=>new Set).add(t.nodeName);return}let r=(0,Fi.getValueOrDefault)(this.nodeResolutionDataByFieldPath,n,()=>new Jp.NodeResolutionData(t.typeName,t.fieldDataByFieldName));for(let[i,s]of t.headToTailEdges)this.visitEdge(s,n)&&r.add(i);r.isResolved?this.unresolvableFieldPaths.delete(n):this.unresolvableFieldPaths.add(n)}validateAbstractNode(t,n){if(!(t.headToTailEdges.size<1))for(let r of t.headToTailEdges.values())this.visitEdge(r,n)}generateEntityResolvabilityErrors(t,n,r){let i=(0,Fi.getOrThrowError)(this.resolvableFieldNamesByRelativeFieldPathByEntityNodeName,t.nodeName,"resolvableFieldNamesByRelativeFieldPathByEntityNodeName"),s="";for(let o of t.parentFieldPathForEntityReference)s=o+s;(0,Jp.generateResolvabilityErrors)({unresolvableFieldPaths:t.unresolvableFieldPaths,nodeResolutionDataByFieldPath:i,rootFieldData:n,errors:r,pathFromRoot:s,entityAncestorData:t.entityAncestorData})}};sI.Graph=MR;var BR=class{constructor({entityNodeNamesBySharedFieldPath:t,interSubgraphNodes:n,originNode:r,resolvableFieldNamesByRelativeFieldPathByEntityNodeName:i,unresolvableSharedFieldPaths:s,walkerIndex:o,sharedResolvableFieldNamesByRelativeFieldPath:u}){A(this,"entityNodeNamesBySharedFieldPath");A(this,"interSubgraphNodes");A(this,"originNode");A(this,"resolvableFieldNamesByRelativeFieldPath");A(this,"resolvableFieldNamesByRelativeFieldPathByEntityNodeName");A(this,"unresolvableFieldPaths",new Set);A(this,"unresolvableSharedFieldPaths");A(this,"walkerIndex");A(this,"sharedResolvableFieldNamesByRelativeFieldPath");this.entityNodeNamesBySharedFieldPath=t,this.interSubgraphNodes=n,this.originNode=r,this.resolvableFieldNamesByRelativeFieldPathByEntityNodeName=i,this.resolvableFieldNamesByRelativeFieldPath=(0,Fi.getValueOrDefault)(this.resolvableFieldNamesByRelativeFieldPathByEntityNodeName,r.nodeName,()=>new Map),this.unresolvableSharedFieldPaths=s,this.walkerIndex=o,this.sharedResolvableFieldNamesByRelativeFieldPath=u}visitEntityNode(t){this.validateEntityRelatedConcreteNode(t,"");let n=t.getAllAccessibleEntityNodeNames();for(let r of this.interSubgraphNodes){if(this.unresolvableFieldPaths.size<0)return;n.has(r.nodeName)&&this.validateEntityRelatedConcreteNode(r,"")}}visitEntityRelatedEdge(t,n){return t.isInaccessible||t.node.isInaccessible?!1:!(0,Fi.add)(t.visitedIndices,this.walkerIndex)||t.node.isLeaf?!0:t.node.hasEntitySiblings?((0,Fi.getValueOrDefault)(this.entityNodeNamesBySharedFieldPath,`${n}.${t.edgeName}`,()=>new Set).add(t.node.nodeName),!0):(t.node.isAbstract?this.validateEntityRelatedAbstractNode(t.node,`${n}.${t.edgeName}`):this.validateEntityRelatedConcreteNode(t.node,`${n}.${t.edgeName}`),!0)}validateEntityRelatedConcreteNode(t,n){if(t.headToTailEdges.size<1)return;let r=(0,Fi.getValueOrDefault)(this.resolvableFieldNamesByRelativeFieldPath,n,()=>new Jp.NodeResolutionData(t.typeName,t.fieldDataByFieldName)),i=this.sharedResolvableFieldNamesByRelativeFieldPath?(0,Fi.getValueOrDefault)(this.sharedResolvableFieldNamesByRelativeFieldPath,n,()=>new Jp.NodeResolutionData(t.typeName,t.fieldDataByFieldName)):void 0;for(let[s,o]of t.headToTailEdges)this.visitEntityRelatedEdge(o,n)&&(r.add(s),i==null||i.add(s));r.isResolved?this.unresolvableFieldPaths.delete(n):this.unresolvableFieldPaths.add(n),i&&(i.isResolved?this.unresolvableSharedFieldPaths.delete(n):this.unresolvableSharedFieldPaths.add(n))}validateEntityRelatedAbstractNode(t,n){if(!(t.headToTailEdges.size<1))for(let r of t.headToTailEdges.values())this.visitEntityRelatedEdge(r,n)}}});var qR=V(Yl=>{"use strict";m();T();h();Object.defineProperty(Yl,"__esModule",{value:!0});Yl.NormalizationFactory=void 0;Yl.normalizeSubgraphFromString=sde;Yl.normalizeSubgraph=_q;Yl.batchNormalize=ode;var Pe=(we(),Me(je)),Hi=Vi(),oI=$l(),zi=_c(),it=ps(),De=To(),ve=bi(),rde=eD(),Ha=Zg(),ide=RR(),vq=rI(),jR=FR(),Ql=qh(),Wr=Kp(),Wa=$a(),$R=VR();function sde(e,t=!0){let{error:n,documentNode:r}=(0,Hi.safeParse)(e,t);return n||!r?{errors:[(0,De.subgraphInvalidSyntaxError)(n)],warnings:[]}:new pT(new $R.Graph).normalize(r)}function _q(e,t,n){return new pT(n||new $R.Graph,t).normalize(e)}var pT=class{constructor(t,n){A(this,"argumentName","");A(this,"authorizationDataByParentTypeName",new Map);A(this,"childName","");A(this,"concreteTypeNamesByAbstractTypeName",new Map);A(this,"conditionalFieldDataByCoordinates",new Map);A(this,"configurationDataByParentTypeName",new Map);A(this,"customDirectiveDefinitions",new Map);A(this,"directiveDefinitionByDirectiveName",new Map);A(this,"edfsDirectiveReferences",new Set);A(this,"errors",[]);A(this,"entityDataByTypeName",new Map);A(this,"entityInterfaceDataByTypeName",new Map);A(this,"eventsConfigurations",new Map);A(this,"interfaceTypeNamesWithAuthorizationDirectives",new Set);A(this,"internalGraph");A(this,"isCurrentParentExtension",!1);A(this,"isSubgraphEventDrivenGraph",!1);A(this,"isSubgraphVersionTwo",!1);A(this,"fieldSetDataByTypeName",new Map);A(this,"heirFieldAuthorizationDataByTypeName",new Map);A(this,"handledRepeatedDirectivesByHostPath",new Map);A(this,"lastParentNodeKind",Pe.Kind.NULL);A(this,"lastChildNodeKind",Pe.Kind.NULL);A(this,"leafTypeNamesWithAuthorizationDirectives",new Set);A(this,"keyFieldSetDataByTypeName",new Map);A(this,"keyFieldNamesByParentTypeName",new Map);A(this,"operationTypeNodeByTypeName",new Map);A(this,"originalTypeNameByRenamedTypeName",new Map);A(this,"parentDefinitionDataByTypeName",new Map);A(this,"originalParentTypeName","");A(this,"parentsWithChildArguments",new Set);A(this,"overridesByTargetSubgraphName",new Map);A(this,"invalidOrScopesHostPaths",new Set);A(this,"schemaDefinition");A(this,"referencedDirectiveNames",new Set);A(this,"referencedTypeNames",new Set);A(this,"renamedParentTypeName","");A(this,"subgraphName");A(this,"warnings",[]);for(let[r,i]of zi.BASE_DIRECTIVE_DEFINITION_BY_DIRECTIVE_NAME)this.directiveDefinitionByDirectiveName.set(r,i);this.subgraphName=n||ve.N_A,this.internalGraph=t,this.internalGraph.setSubgraphName(this.subgraphName),this.schemaDefinition={directivesByDirectiveName:new Map,kind:Pe.Kind.SCHEMA_DEFINITION,typeName:ve.SCHEMA,operationTypes:new Map}}validateInputNamedType(t){if(zi.BASE_SCALARS.has(t))return{hasUnhandledError:!1,typeString:""};let n=this.parentDefinitionDataByTypeName.get(t);if(!n)return this.errors.push((0,De.undefinedTypeError)(t)),{hasUnhandledError:!1,typeString:""};switch(n.kind){case Pe.Kind.ENUM_TYPE_DEFINITION:case Pe.Kind.INPUT_OBJECT_TYPE_DEFINITION:case Pe.Kind.SCALAR_TYPE_DEFINITION:return{hasUnhandledError:!1,typeString:""};default:return{hasUnhandledError:!0,typeString:(0,it.kindToTypeString)(n.kind)}}}validateArguments(t,n){let r=[];for(let[i,s]of t.argumentDataByArgumentName){let o=(0,Wa.getTypeNodeNamedTypeName)(s.type),{hasUnhandledError:u,typeString:l}=this.validateInputNamedType(o);u&&r.push({argumentName:i,namedType:o,typeString:l,typeName:(0,Ha.printTypeNode)(s.type)})}r.length>0&&this.errors.push((0,De.invalidArgumentsError)(n,r))}getAuthorizationData(t){let n=this.renamedParentTypeName||this.originalParentTypeName,r=this.authorizationDataByParentTypeName.get(n);if((0,it.resetAuthorizationData)(r),!t.directives)return r;let i=!1,s=[];for(let d of t.directives){let p=d.name.value;if(p===ve.AUTHENTICATED){if(i)return;i=!0;continue}if(p===ve.REQUIRES_SCOPES){if(s.length>0)return;s.push(d)}}if(!i&&s.length<1||((0,it.isNodeKindInterface)(t.kind)&&this.interfaceTypeNamesWithAuthorizationDirectives.add(n),r||(r=(0,it.setAndGetValue)(this.authorizationDataByParentTypeName,this.renamedParentTypeName||this.originalParentTypeName,(0,it.newAuthorizationData)(n))),r.hasParentLevelAuthorization=!0,r.requiresAuthentication=i,s.length!==1))return r;let o=s[0];if(!o.arguments||o.arguments.length!==1)return;let u=o.arguments[0];if(u.name.value!==ve.SCOPES||u.value.kind!==Pe.Kind.LIST)return;let l=u.value.values;if(l.length<1)return r;if(l.length>it.maxOrScopes){this.invalidOrScopesHostPaths.add(this.originalParentTypeName);return}for(let d of l){if(d.kind!==Pe.Kind.LIST)return;let p=new Set;for(let y of d.values){if(y.kind!==Pe.Kind.STRING)return;p.add(y.value)}p.size&&r.requiredScopes.push(p)}return r}extractDirectivesAndAuthorization(t,n){if(!t.directives)return n;let r=this.childName?`${this.originalParentTypeName}.${this.childName}`:this.originalParentTypeName,i=[];for(let l of t.directives){let d=(0,Wr.getDirectiveValidationErrors)(l,t.kind,n,this.directiveDefinitionByDirectiveName,this.handledRepeatedDirectivesByHostPath,r),p=l.name.value;if(d.length>0){this.errors.push((0,De.invalidDirectiveError)(p,r,d));continue}if(p===ve.EXTENDS)continue;if(p===ve.OVERRIDE){this.handleOverrideDeclaration(l,r,d),d.length>0&&this.errors.push((0,De.invalidDirectiveError)(p,r,d));continue}if(p===ve.AUTHENTICATED||p===ve.REQUIRES_SCOPES){i.push(l);continue}let y=n.get(p);if(y){y.push(l);continue}n.set(p,[l])}if(i.length<1)return n;let s=this.renamedParentTypeName||this.originalParentTypeName;t.kind!==Pe.Kind.FIELD_DEFINITION&&this.leafTypeNamesWithAuthorizationDirectives.add(s);let o=(0,it.getValueOrDefault)(this.authorizationDataByParentTypeName,s,()=>(0,it.newAuthorizationData)(s)),u=(0,it.getAuthorizationDataToUpdate)(o,t,this.childName);for(let l of i){if(l.name.value===ve.AUTHENTICATED){u.requiresAuthentication=!0;continue}let p=l.arguments[0].value.values;if(p.length>it.maxOrScopes){this.invalidOrScopesHostPaths.add(r);continue}for(let y of p){let N=new Set;for(let I of y.values)N.add(I.value);N.size&&u.requiredScopes.push(N)}}return n}isTypeNameRootType(t){return ve.ROOT_TYPE_NAMES.has(t)||this.operationTypeNodeByTypeName.has(t)}extractDirectives(t,n,r,i=!1){if(!t.directives)return n;let s=new Set;for(let o of t.directives){let u=(0,Wr.getDirectiveValidationErrors)(o,t.kind,n,this.directiveDefinitionByDirectiveName,this.handledRepeatedDirectivesByHostPath,r,i),l=o.name.value;if(u.length>0){this.errors.push((0,De.invalidDirectiveError)(l,r,u));continue}if(ve.IGNORED_PARENT_DIRECTIVES.has(l))continue;if(l===ve.KEY){let p=o.arguments[0].value.value;if(s.has(p))continue;s.add(p)}let d=n.get(l);d?d.push(o):n.set(l,[o])}return n}getNodeExtensionType(t,n,r=!1){return t?Ql.ExtensionType.REAL:r||this.isSubgraphVersionTwo||!n.has(ve.EXTENDS)?Ql.ExtensionType.NONE:Ql.ExtensionType.EXTENDS}setParentDataExtensionType(t,n){switch(t.extensionType){case Ql.ExtensionType.EXTENDS:case Ql.ExtensionType.NONE:{if(n===Ql.ExtensionType.REAL)return;this.errors.push((0,De.duplicateTypeDefinitionError)((0,it.kindToTypeString)(t.kind),t.name));return}default:t.extensionType=n}}extractImplementedInterfaceTypeNames(t,n){if(!t.interfaces)return n;let r=t.name.value;for(let i of t.interfaces){let s=i.name.value;if(n.has(s)){this.errors.push((0,De.duplicateImplementedInterfaceError)((0,it.kindToConvertedTypeString)(t.kind),r,s));continue}n.add(s)}return n}updateCompositeOutputDataByNode(t,n,r,i){this.setParentDataExtensionType(n,i),this.extractImplementedInterfaceTypeNames(t,n.implementedInterfaceTypeNames),n.isEntity||(n.isEntity=r.has(ve.KEY)),n.isInaccessible||(n.isInaccessible=r.has(ve.INACCESSIBLE)),n.subgraphNames.add(this.subgraphName),n.description||(n.description=(0,Hi.formatDescription)("description"in t?t.description:void 0))}addConcreteTypeNamesForImplementedInterfaces(t,n){for(let r of t)(0,it.getValueOrDefault)(this.concreteTypeNamesByAbstractTypeName,r,()=>new Set).add(n),this.internalGraph.addEdge(this.internalGraph.addOrUpdateNode(r,{isAbstract:!0}),this.internalGraph.addOrUpdateNode(n),n,!0)}upsertInterfaceDataByNode(t,n=!1){let r=t.name.value,i=this.parentDefinitionDataByTypeName.get(r),s=this.extractDirectives(t,(i==null?void 0:i.directivesByDirectiveName)||new Map,r),o=this.getNodeExtensionType(n,s),u=this.entityInterfaceDataByTypeName.get(r);if(u&&t.fields)for(let l of t.fields)u.interfaceFieldNames.add(l.name.value);if(i){if(i.kind!==Pe.Kind.INTERFACE_TYPE_DEFINITION){this.errors.push((0,De.multipleNamedTypeDefinitionError)(r,(0,it.kindToTypeString)(i.kind),(0,it.kindToConvertedTypeString)(t.kind)));return}this.updateCompositeOutputDataByNode(t,i,s,o);return}this.parentDefinitionDataByTypeName.set(r,{directivesByDirectiveName:s,extensionType:o,fieldDataByFieldName:new Map,implementedInterfaceTypeNames:this.extractImplementedInterfaceTypeNames(t,new Set),isEntity:s.has(ve.KEY),isInaccessible:s.has(ve.INACCESSIBLE),kind:Pe.Kind.INTERFACE_TYPE_DEFINITION,name:r,node:(0,Wa.getMutableInterfaceNode)(t.name),persistedDirectivesData:(0,Wr.newPersistedDirectivesData)(),subgraphNames:new Set([this.subgraphName]),description:(0,Hi.formatDescription)("description"in t?t.description:void 0)})}getRenamedRootTypeName(t){let n=this.operationTypeNodeByTypeName.get(t);if(!n)return t;switch(n){case Pe.OperationTypeNode.MUTATION:return ve.MUTATION;case Pe.OperationTypeNode.SUBSCRIPTION:return ve.SUBSCRIPTION;default:return ve.QUERY}}addInterfaceObjectFieldsByNode(t){let n=t.name.value,r=this.entityInterfaceDataByTypeName.get(n);if(!(!r||!r.isInterfaceObject||!t.fields))for(let i of t.fields)r.interfaceObjectFieldNames.add(i.name.value)}upsertObjectDataByNode(t,n=!1){let r=t.name.value,i=this.parentDefinitionDataByTypeName.get(r),s=this.extractDirectives(t,(i==null?void 0:i.directivesByDirectiveName)||new Map,r),o=this.isTypeNameRootType(r),u=this.getNodeExtensionType(n,s,o);if(this.addInterfaceObjectFieldsByNode(t),i){if(i.kind!==Pe.Kind.OBJECT_TYPE_DEFINITION){this.errors.push((0,De.multipleNamedTypeDefinitionError)(r,(0,it.kindToTypeString)(i.kind),(0,it.kindToConvertedTypeString)(t.kind)));return}this.updateCompositeOutputDataByNode(t,i,s,u),this.addConcreteTypeNamesForImplementedInterfaces(i.implementedInterfaceTypeNames,r);return}let l=this.extractImplementedInterfaceTypeNames(t,new Set);this.addConcreteTypeNamesForImplementedInterfaces(l,r),this.parentDefinitionDataByTypeName.set(r,{directivesByDirectiveName:s,extensionType:u,fieldDataByFieldName:new Map,implementedInterfaceTypeNames:l,isEntity:s.has(ve.KEY),isInaccessible:s.has(ve.INACCESSIBLE),isRootType:o,kind:Pe.Kind.OBJECT_TYPE_DEFINITION,name:r,node:(0,Wa.getMutableObjectNode)(t.name),persistedDirectivesData:(0,Wr.newPersistedDirectivesData)(),renamedTypeName:this.getRenamedRootTypeName(r),subgraphNames:new Set([this.subgraphName]),description:(0,Hi.formatDescription)("description"in t?t.description:void 0)})}upsertEnumDataByNode(t,n=!1){let r=t.name.value;this.internalGraph.addOrUpdateNode(r,{isLeaf:!0});let i=this.parentDefinitionDataByTypeName.get(r),s=this.extractDirectivesAndAuthorization(t,(i==null?void 0:i.directivesByDirectiveName)||new Map),o=this.getNodeExtensionType(n,s);if(i){if(i.kind!==Pe.Kind.ENUM_TYPE_DEFINITION){this.errors.push((0,De.multipleNamedTypeDefinitionError)(r,(0,it.kindToTypeString)(i.kind),(0,it.kindToConvertedTypeString)(t.kind)));return}this.setParentDataExtensionType(i,o),i.description||(i.description=(0,Hi.formatDescription)("description"in t?t.description:void 0));return}this.parentDefinitionDataByTypeName.set(r,{appearances:1,directivesByDirectiveName:s,extensionType:o,enumValueDataByValueName:new Map,kind:Pe.Kind.ENUM_TYPE_DEFINITION,name:r,node:(0,Wa.getMutableEnumNode)(t.name),persistedDirectivesData:(0,Wr.newPersistedDirectivesData)(),description:(0,Hi.formatDescription)("description"in t?t.description:void 0)})}upsertInputObjectByNode(t,n=!1){let r=t.name.value,i=this.parentDefinitionDataByTypeName.get(r),s=this.extractDirectives(t,(i==null?void 0:i.directivesByDirectiveName)||new Map,r),o=this.getNodeExtensionType(n,s);if(i){if(i.kind!==Pe.Kind.INPUT_OBJECT_TYPE_DEFINITION){this.errors.push((0,De.multipleNamedTypeDefinitionError)(r,(0,it.kindToTypeString)(i.kind),(0,it.kindToConvertedTypeString)(t.kind)));return}this.setParentDataExtensionType(i,o),i.isInaccessible||(i.isInaccessible=s.has(ve.INACCESSIBLE)),i.subgraphNames.add(this.subgraphName),i.description||(i.description=(0,Hi.formatDescription)("description"in t?t.description:void 0));return}this.parentDefinitionDataByTypeName.set(r,{directivesByDirectiveName:s,extensionType:o,inputValueDataByValueName:new Map,isInaccessible:s.has(ve.INACCESSIBLE),kind:Pe.Kind.INPUT_OBJECT_TYPE_DEFINITION,name:r,node:(0,Wa.getMutableInputObjectNode)(t.name),persistedDirectivesData:(0,Wr.newPersistedDirectivesData)(),subgraphNames:new Set([this.subgraphName]),description:(0,Hi.formatDescription)("description"in t?t.description:void 0)})}upsertScalarByNode(t,n=!1){let r=t.name.value;this.internalGraph.addOrUpdateNode(r,{isLeaf:!0});let i=this.parentDefinitionDataByTypeName.get(r),s=this.extractDirectivesAndAuthorization(t,(i==null?void 0:i.directivesByDirectiveName)||new Map),o=this.getNodeExtensionType(n,s);if(i){if(i.kind!==Pe.Kind.SCALAR_TYPE_DEFINITION){this.errors.push((0,De.multipleNamedTypeDefinitionError)(r,(0,it.kindToTypeString)(i.kind),(0,it.kindToConvertedTypeString)(t.kind)));return}this.setParentDataExtensionType(i,o),i.description||(i.description=(0,Hi.formatDescription)("description"in t?t.description:void 0));return}this.parentDefinitionDataByTypeName.set(r,{directivesByDirectiveName:s,extensionType:o,kind:Pe.Kind.SCALAR_TYPE_DEFINITION,name:r,node:(0,Wa.getMutableScalarNode)(t.name),persistedDirectivesData:(0,Wr.newPersistedDirectivesData)(),description:(0,Hi.formatDescription)("description"in t?t.description:void 0)})}extractUnionMembers(t,n){if(!t.types)return n;let r=t.name.value;for(let i of t.types){let s=i.name.value;if(n.has(s)){this.errors.push((0,De.duplicateUnionMemberDefinitionError)(r,s));continue}(0,it.getValueOrDefault)(this.concreteTypeNamesByAbstractTypeName,r,()=>new Set).add(s),zi.BASE_SCALARS.has(s)||this.referencedTypeNames.add(s),n.set(s,i)}return n}upsertUnionByNode(t,n=!1){let r=t.name.value,i=this.parentDefinitionDataByTypeName.get(r),s=this.extractDirectives(t,(i==null?void 0:i.directivesByDirectiveName)||new Map,r),o=this.getNodeExtensionType(n,s);if(this.addConcreteTypeNamesForUnion(t),i){if(i.kind!==Pe.Kind.UNION_TYPE_DEFINITION){this.errors.push((0,De.multipleNamedTypeDefinitionError)(r,(0,it.kindToTypeString)(i.kind),(0,it.kindToConvertedTypeString)(t.kind)));return}this.setParentDataExtensionType(i,o),this.extractUnionMembers(t,i.memberByMemberTypeName),i.description||(i.description=(0,Hi.formatDescription)("description"in t?t.description:void 0));return}this.parentDefinitionDataByTypeName.set(r,{directivesByDirectiveName:s,extensionType:o,kind:Pe.Kind.UNION_TYPE_DEFINITION,memberByMemberTypeName:this.extractUnionMembers(t,new Map),name:r,node:(0,Wa.getMutableUnionNode)(t.name),persistedDirectivesData:(0,Wr.newPersistedDirectivesData)(),description:(0,Hi.formatDescription)("description"in t?t.description:void 0)})}extractKeyFieldSets(t,n){var o;let r=n.isUnresolvableByKeyFieldSet,i=t.name.value;if(!((o=t.directives)!=null&&o.length)){this.errors.push((0,De.expectedEntityError)(i));return}let s=[];for(let u of t.directives){if(u.name.value!==ve.KEY)continue;if(!u.arguments||u.arguments.length<1){s.push((0,De.undefinedRequiredArgumentsErrorMessage)(ve.KEY,i,[ve.FIELDS]));continue}let l,d=!1;for(let p of u.arguments){if(p.name.value===ve.RESOLVABLE){p.value.kind===Pe.Kind.BOOLEAN&&!p.value.value&&(d=!0);continue}if(p.name.value!==ve.FIELDS){l=void 0;break}if(p.value.kind!==Pe.Kind.STRING){l=void 0,s.push((0,De.invalidKeyDirectiveArgumentErrorMessage)(p.value.kind));break}l=p.value.value}l!==void 0&&r.set(l,d)}s.length&&this.errors.push((0,De.invalidKeyDirectivesError)(i,s))}validateInterfaceImplementations(t){if(t.implementedInterfaceTypeNames.size<1)return;let n=t.directivesByDirectiveName.has(ve.INACCESSIBLE),r=new Map,i=new Map,s=!1;for(let o of t.implementedInterfaceTypeNames){let u=this.parentDefinitionDataByTypeName.get(o);if(!u){this.errors.push((0,De.undefinedTypeError)(o));continue}if(u.kind!==Pe.Kind.INTERFACE_TYPE_DEFINITION){i.set(u.name,(0,it.kindToTypeString)(u.kind));continue}if(t.name===u.name){s=!0;continue}let l={invalidFieldImplementations:new Map,unimplementedFields:[]},d=!1;for(let[p,y]of u.fieldDataByFieldName){let N=!1,I=t.fieldDataByFieldName.get(p);if(!I){d=!0,l.unimplementedFields.push(p);continue}let b={invalidAdditionalArguments:new Set,invalidImplementedArguments:[],isInaccessible:!1,originalResponseType:(0,Ha.printTypeNode)(y.node.type),unimplementedArguments:new Set};(0,Wr.isTypeValidImplementation)(y.node.type,I.node.type,this.concreteTypeNamesByAbstractTypeName)||(d=!0,N=!0,b.implementedResponseType=(0,Ha.printTypeNode)(I.node.type));let C=new Set;for(let[j,Q]of y.argumentDataByArgumentName){C.add(j);let re=I.argumentDataByArgumentName.get(j);if(!re){d=!0,N=!0,b.unimplementedArguments.add(j);continue}let se=(0,Ha.printTypeNode)(re.type),pe=(0,Ha.printTypeNode)(Q.type);pe!==se&&(d=!0,N=!0,b.invalidImplementedArguments.push({actualType:se,argumentName:j,expectedType:pe}))}for(let[j,Q]of I.argumentDataByArgumentName)C.has(j)||Q.type.kind===Pe.Kind.NON_NULL_TYPE&&(d=!0,N=!0,b.invalidAdditionalArguments.add(j));!n&&I.isInaccessible&&!y.isInaccessible&&(d=!0,N=!0,b.isInaccessible=!0),N&&l.invalidFieldImplementations.set(p,b)}d&&r.set(o,l)}i.size>0&&this.errors.push((0,De.invalidImplementedTypeError)(t.name,i)),s&&this.errors.push((0,De.selfImplementationError)(t.name)),r.size>0&&this.errors.push((0,De.invalidInterfaceImplementationError)(t.name,(0,it.kindToTypeString)(t.kind),r))}handleOverrideDeclaration(t,n,r){let i=t.arguments[0];if(i.value.kind!==Pe.Kind.STRING){r.push((0,De.invalidDirectiveArgumentTypeErrorMessage)(!0,ve.FROM,Pe.Kind.STRING,i.value.kind));return}let s=i.value.value;if(s===this.subgraphName){r.push((0,De.equivalentSourceAndTargetOverrideErrorMessage)(s,n));return}let o=(0,it.getValueOrDefault)(this.overridesByTargetSubgraphName,s,()=>new Map);(0,it.getValueOrDefault)(o,this.renamedParentTypeName||this.originalParentTypeName,()=>new Set).add(this.childName)}getKafkaPublishConfiguration(t,n){let r=[],i=ve.DEFAULT_EDFS_PROVIDER_ID;for(let s of t.arguments||[])switch(s.name.value){case ve.TOPIC:{if(s.value.kind!==Pe.Kind.STRING||s.value.value.length<1){n.push((0,De.invalidEventSubjectErrorMessage)(ve.TOPIC));continue}r.push(s.value.value);break}case ve.PROVIDER_ID:{if(s.value.kind!==Pe.Kind.STRING||s.value.value.length<1){n.push(De.invalidEventProviderIdErrorMessage);continue}i=s.value.value;break}}if(!(n.length>0))return{fieldName:this.childName,providerId:i,providerType:ve.PROVIDER_TYPE_KAFKA,topics:r,type:ve.PUBLISH}}getKafkaSubscribeConfiguration(t,n){let r=[],i=ve.DEFAULT_EDFS_PROVIDER_ID;for(let s of t.arguments||[])switch(s.name.value){case ve.TOPICS:{if(s.value.kind!==Pe.Kind.LIST){n.push((0,De.invalidEventSubjectsErrorMessage)(ve.TOPICS));continue}for(let o of s.value.values){if(o.kind!==Pe.Kind.STRING||o.value.length<1){n.push((0,De.invalidEventSubjectsItemErrorMessage)(ve.TOPICS));break}r.push(o.value)}break}case ve.PROVIDER_ID:{if(s.value.kind!==Pe.Kind.STRING||s.value.value.length<1){n.push(De.invalidEventProviderIdErrorMessage);continue}i=s.value.value;break}}if(!(n.length>0))return{fieldName:this.childName,providerId:i,providerType:ve.PROVIDER_TYPE_KAFKA,topics:r,type:ve.SUBSCRIBE}}getNatsPublishAndRequestConfiguration(t,n,r){let i=[],s=ve.DEFAULT_EDFS_PROVIDER_ID;for(let o of n.arguments||[])switch(o.name.value){case ve.SUBJECT:{if(o.value.kind!==Pe.Kind.STRING||o.value.value.length<1){r.push((0,De.invalidEventSubjectErrorMessage)(ve.SUBJECT));continue}i.push(o.value.value);break}case ve.PROVIDER_ID:{if(o.value.kind!==Pe.Kind.STRING||o.value.value.length<1){r.push(De.invalidEventProviderIdErrorMessage);continue}s=o.value.value;break}}if(!(r.length>0))return{fieldName:this.childName,providerId:s,providerType:ve.PROVIDER_TYPE_NATS,subjects:i,type:t}}getNatsSubscribeConfiguration(t,n){let r=[],i=ve.DEFAULT_EDFS_PROVIDER_ID,s="",o="";for(let u of t.arguments||[])switch(u.name.value){case ve.SUBJECTS:{if(u.value.kind!==Pe.Kind.LIST){n.push((0,De.invalidEventSubjectsErrorMessage)(ve.SUBJECTS));continue}for(let l of u.value.values){if(l.kind!==Pe.Kind.STRING||l.value.length<1){n.push((0,De.invalidEventSubjectsItemErrorMessage)(ve.SUBJECTS));break}r.push(l.value)}break}case ve.PROVIDER_ID:{if(u.value.kind!==Pe.Kind.STRING||u.value.value.length<1){n.push(De.invalidEventProviderIdErrorMessage);continue}i=u.value.value;break}case ve.STREAM_CONFIGURATION:{if(u.value.kind!==Pe.Kind.OBJECT||u.value.fields.length<1){n.push(De.invalidNatsStreamInputErrorMessage);continue}let l=!0,d=new Set,p=new Set([ve.CONSUMER_NAME,ve.STREAM_NAME]),y=new Set,N=new Set;for(let I of u.value.fields){let b=I.name.value;if(!ve.STREAM_CONFIGURATION_FIELD_NAMES.has(b)){d.add(b),l=!1;continue}if(p.has(b))p.delete(b);else{y.add(b),l=!1;continue}if(I.value.kind!==Pe.Kind.STRING||I.value.value.length<1){N.add(b),l=!1;continue}switch(b){case ve.CONSUMER_NAME:s=I.value.value;break;case ve.STREAM_NAME:o=I.value.value;break}}(!l||p.size>0)&&n.push((0,De.invalidNatsStreamInputFieldsErrorMessage)([...p],[...y],[...N],[...d]))}}if(!(n.length>0))return k({fieldName:this.childName,providerId:i,providerType:ve.PROVIDER_TYPE_NATS,subjects:r,type:ve.SUBSCRIBE},s&&o?{streamConfiguration:{consumerName:s,streamName:o}}:{})}validateSubscriptionFilterDirectiveLocation(t){if(!t.directives)return;let n=this.renamedParentTypeName||this.originalParentTypeName,r=`${n}.${t.name.value}`,i=this.getOperationTypeNodeForRootTypeName(n)===Pe.OperationTypeNode.SUBSCRIPTION;for(let s of t.directives)if(s.name.value===ve.SUBSCRIPTION_FILTER&&!i){this.errors.push((0,De.invalidSubscriptionFilterLocationError)(r));return}}extractEventDirectivesToConfiguration(t){if(!t.directives)return;let n=`${this.renamedParentTypeName||this.originalParentTypeName}.${this.childName}`;for(let r of t.directives){let i=[],s;switch(r.name.value){case ve.EDFS_KAFKA_PUBLISH:s=this.getKafkaPublishConfiguration(r,i);break;case ve.EDFS_KAFKA_SUBSCRIBE:s=this.getKafkaSubscribeConfiguration(r,i);break;case ve.EDFS_NATS_PUBLISH:{s=this.getNatsPublishAndRequestConfiguration(ve.PUBLISH,r,i);break}case ve.EDFS_NATS_REQUEST:{s=this.getNatsPublishAndRequestConfiguration(ve.REQUEST,r,i);break}case ve.EDFS_NATS_SUBSCRIBE:{s=this.getNatsSubscribeConfiguration(r,i);break}default:continue}if(i.length>0){this.errors.push((0,De.invalidEventDirectiveError)(r.name.value,n,i));continue}s&&(0,it.getValueOrDefault)(this.eventsConfigurations,this.renamedParentTypeName||this.originalParentTypeName,()=>[]).push(s)}}getValidEventsDirectiveNamesForOperationTypeNode(t){switch(t){case Pe.OperationTypeNode.MUTATION:return new Set([ve.EDFS_KAFKA_PUBLISH,ve.EDFS_NATS_PUBLISH,ve.EDFS_NATS_REQUEST]);case Pe.OperationTypeNode.QUERY:return new Set([ve.EDFS_NATS_REQUEST]);case Pe.OperationTypeNode.SUBSCRIPTION:return new Set([ve.EDFS_KAFKA_SUBSCRIBE,ve.EDFS_NATS_SUBSCRIBE])}}getOperationTypeNodeForRootTypeName(t){let n=this.operationTypeNodeByTypeName.get(t);if(n)return n;switch(t){case ve.MUTATION:return Pe.OperationTypeNode.MUTATION;case ve.QUERY:return Pe.OperationTypeNode.QUERY;case ve.SUBSCRIPTION:return Pe.OperationTypeNode.SUBSCRIPTION;default:return}}validateEventDrivenRootType(t,n,r,i){let s=this.getOperationTypeNodeForRootTypeName(t.name);if(!s){this.errors.push((0,De.invalidRootTypeError)(t.name));return}let o=this.getValidEventsDirectiveNamesForOperationTypeNode(s);for(let[u,l]of t.fieldDataByFieldName){let d=`${l.originalParentTypeName}.${u}`,p=new Set;for(let j of ve.EVENT_DIRECTIVE_NAMES)l.directivesByDirectiveName.has(j)&&p.add(j);let y=new Set;for(let j of p)o.has(j)||y.add(j);if((p.size<1||y.size>0)&&n.set(d,{definesDirectives:p.size>0,invalidDirectiveNames:[...y]}),s===Pe.OperationTypeNode.MUTATION){let j=(0,Ha.printTypeNode)(l.type);j!==ve.NON_NULLABLE_EDFS_PUBLISH_EVENT_RESULT&&i.set(d,j);continue}let N=(0,Ha.printTypeNode)(l.type),I=l.namedTypeName+"!",b=!1,C=this.concreteTypeNamesByAbstractTypeName.get(l.namedTypeName)||new Set([l.namedTypeName]);for(let j of C)if(b||(b=this.entityDataByTypeName.has(j)),b)break;(!b||N!==I)&&r.set(d,N)}}validateEventDrivenKeyDefinition(t,n){let r=this.keyFieldSetDataByTypeName.get(t);if(r)for(let[i,s]of r.isUnresolvableByKeyFieldSet)s||(0,it.getValueOrDefault)(n,t,()=>[]).push(i)}validateEventDrivenObjectFields(t,n,r,i){for(let[s,o]of t){let u=`${o.originalParentTypeName}.${s}`;if(n.has(s)){o.isExternalBySubgraphName.get(this.subgraphName)||r.set(u,s);continue}i.set(u,s)}}isEdfsPublishResultValid(){let t=this.parentDefinitionDataByTypeName.get(ve.EDFS_PUBLISH_RESULT);if(!t)return!0;if(t.kind!==Pe.Kind.OBJECT_TYPE_DEFINITION||t.fieldDataByFieldName.size!=1)return!1;for(let[n,r]of t.fieldDataByFieldName)if(r.argumentDataByArgumentName.size>0||n!==ve.SUCCESS||(0,Ha.printTypeNode)(r.type)!==ve.NON_NULLABLE_BOOLEAN)return!1;return!0}isNatsStreamConfigurationInputObjectValid(t){if(t.kind!==Pe.Kind.INPUT_OBJECT_TYPE_DEFINITION||t.inputValueDataByValueName.size!=2)return!1;let n=new Set([ve.CONSUMER_NAME,ve.STREAM_NAME]);for(let[r,i]of t.inputValueDataByValueName)if(!n.has(r)||(n.delete(r),(0,Ha.printTypeNode)(i.type)!==ve.NON_NULLABLE_STRING))return!1;return n.size<1}validateEventDrivenSubgraph(){let t=[],n=new Map,r=new Map,i=new Map,s=new Map,o=new Map,u=new Map,l=new Set,d=new Set;for(let[p,y]of this.parentDefinitionDataByTypeName){if(p===ve.EDFS_PUBLISH_RESULT||p===ve.EDFS_NATS_STREAM_CONFIGURATION||y.kind!==Pe.Kind.OBJECT_TYPE_DEFINITION)continue;if(y.isRootType){this.validateEventDrivenRootType(y,n,r,i);continue}let N=this.keyFieldNamesByParentTypeName.get(p);if(!N){d.add(p);continue}this.validateEventDrivenKeyDefinition(p,s),this.validateEventDrivenObjectFields(y.fieldDataByFieldName,N,o,u)}if(this.isEdfsPublishResultValid()||t.push(De.invalidEdfsPublishResultObjectErrorMessage),this.edfsDirectiveReferences.has(ve.EDFS_NATS_SUBSCRIBE)){let p=this.parentDefinitionDataByTypeName.get(ve.EDFS_NATS_STREAM_CONFIGURATION);p?this.isNatsStreamConfigurationInputObjectValid(p)||t.push(De.invalidNatsStreamConfigurationDefinitionErrorMessage):t.push(De.undefinedNatsStreamConfigurationInputErrorMessage)}n.size>0&&t.push((0,De.invalidRootTypeFieldEventsDirectivesErrorMessage)(n)),i.size>0&&t.push((0,De.invalidEventDrivenMutationResponseTypeErrorMessage)(i)),r.size>0&&t.push((0,De.invalidRootTypeFieldResponseTypesEventDrivenErrorMessage)(r)),s.size>0&&t.push((0,De.invalidKeyFieldSetsEventDrivenErrorMessage)(s)),o.size>0&&t.push((0,De.nonExternalKeyFieldNamesEventDrivenErrorMessage)(o)),u.size>0&&t.push((0,De.nonKeyFieldNamesEventDrivenErrorMessage)(u)),l.size>0&&t.push((0,De.nonEntityObjectExtensionsEventDrivenErrorMessage)([...l])),d.size>0&&t.push((0,De.nonKeyComposingObjectTypeNamesEventDrivenErrorMessage)([...d])),t.length>0&&this.errors.push((0,De.invalidEventDrivenGraphError)(t))}validateUnionMembers(t){if(t.memberByMemberTypeName.size<1){this.errors.push((0,De.noDefinedUnionMembersError)(t.name));return}let n=[];for(let r of t.memberByMemberTypeName.keys()){let i=this.parentDefinitionDataByTypeName.get(r);i&&i.kind!==Pe.Kind.OBJECT_TYPE_DEFINITION&&n.push(`"${r}", which is type "${(0,it.kindToTypeString)(i.kind)}"`)}n.length>0&&this.errors.push((0,De.invalidUnionMemberTypeError)(t.name,n))}addConcreteTypeNamesForUnion(t){if(!t.types||t.types.length<1)return;let n=t.name.value;for(let r of t.types){let i=r.name.value;(0,it.getValueOrDefault)(this.concreteTypeNamesByAbstractTypeName,n,()=>new Set).add(i),this.internalGraph.addEdge(this.internalGraph.addOrUpdateNode(n,{isAbstract:!0}),this.internalGraph.addOrUpdateNode(i),i,!0)}}validateAndAddKeyToConfiguration(t,n){let r=(0,it.getOrThrowError)(this.configurationDataByParentTypeName,(0,Wr.getParentTypeName)(t),"configurationDataByParentTypeName"),i=(0,oI.validateKeyFieldSets)(this,t,n.isUnresolvableByKeyFieldSet,r.fieldNames);i&&(r.keys=i)}validateAndAddKeysToConfiguration(){for(let[t,n]of this.keyFieldSetDataByTypeName){let r=this.parentDefinitionDataByTypeName.get(t);if(!r||r.kind!==Pe.Kind.OBJECT_TYPE_DEFINITION&&r.kind!==Pe.Kind.INTERFACE_TYPE_DEFINITION){this.errors.push((0,De.undefinedObjectLikeParentError)(t));continue}this.validateAndAddKeyToConfiguration(r,n)}}normalize(t){(0,jR.upsertDirectiveSchemaAndEntityDefinitions)(this,t),(0,jR.upsertParentsAndChildren)(this,t),(0,jR.consolidateAuthorizationDirectives)(this,t);for(let s of this.interfaceTypeNamesWithAuthorizationDirectives){let o=this.authorizationDataByParentTypeName.get(s);if(!o)continue;let u=this.concreteTypeNamesByAbstractTypeName.get(s);for(let l of u||[]){let d=(0,it.getValueOrDefault)(this.authorizationDataByParentTypeName,l,()=>(0,it.newAuthorizationData)(l));for(let[p,y]of o.fieldAuthorizationDataByFieldName)(0,it.upsertFieldAuthorizationData)(d.fieldAuthorizationDataByFieldName,y)||this.invalidOrScopesHostPaths.add(`${l}.${p}`)}}for(let[s,o]of this.heirFieldAuthorizationDataByTypeName){let u=this.authorizationDataByParentTypeName.get(s);if(u)for(let l of o)(0,it.mergeAuthorizationDataByAND)(u,l)||this.invalidOrScopesHostPaths.add(`${s}.${l.fieldName}`)}this.invalidOrScopesHostPaths.size>0&&this.errors.push((0,De.orScopesLimitError)(it.maxOrScopes,[...this.invalidOrScopesHostPaths]));let n=[];for(let s of zi.BASE_DIRECTIVE_DEFINITIONS)n.push(s);if(n.push(zi.FIELD_SET_SCALAR_DEFINITION),this.isSubgraphVersionTwo){for(let s of zi.VERSION_TWO_DIRECTIVE_DEFINITIONS)n.push(s),this.directiveDefinitionByDirectiveName.set(s.name.value,s);n.push(zi.SCOPE_SCALAR_DEFINITION)}for(let s of this.edfsDirectiveReferences){let o=zi.EVENT_DRIVEN_DIRECTIVE_DEFINITIONS_BY_DIRECTIVE_NAME.get(s);if(!o){this.errors.push((0,De.invalidEdfsDirectiveName)(s));continue}n.push(o)}this.edfsDirectiveReferences.size>0&&this.referencedDirectiveNames.has(ve.SUBSCRIPTION_FILTER)&&(this.directiveDefinitionByDirectiveName.set(ve.SUBSCRIPTION_FILTER,zi.SUBSCRIPTION_FILTER_DEFINITION),n.push(zi.SUBSCRIPTION_FILTER_DEFINITION),n.push(zi.SUBSCRIPTION_FILTER_CONDITION_DEFINITION),n.push(zi.SUBSCRIPTION_FIELD_CONDITION_DEFINITION),n.push(zi.SUBSCRIPTION_FILTER_VALUE_DEFINITION));for(let s of this.customDirectiveDefinitions.values())n.push(s);this.schemaDefinition.operationTypes.size>0&&n.push((0,Wr.getSchemaNodeByData)(this.schemaDefinition,this.errors,this.directiveDefinitionByDirectiveName));for(let[s,o]of this.parentDefinitionDataByTypeName)switch(o.kind){case Pe.Kind.ENUM_TYPE_DEFINITION:if(o.enumValueDataByValueName.size<1){this.errors.push((0,De.noDefinedEnumValuesError)(s));break}n.push((0,Wr.getEnumNodeByData)(o,this.errors,this.directiveDefinitionByDirectiveName,this.authorizationDataByParentTypeName));break;case Pe.Kind.INPUT_OBJECT_TYPE_DEFINITION:if(o.inputValueDataByValueName.size<1){this.errors.push((0,De.noInputValueDefinitionsError)(s));break}n.push((0,Wr.getInputObjectNodeByData)(o,this.errors,this.directiveDefinitionByDirectiveName,this.authorizationDataByParentTypeName));break;case Pe.Kind.INTERFACE_TYPE_DEFINITION:case Pe.Kind.OBJECT_TYPE_DEFINITION:let u=this.entityDataByTypeName.has(s),l=this.operationTypeNodeByTypeName.get(s),d=o.kind===Pe.Kind.OBJECT_TYPE_DEFINITION;if(l&&(o.fieldDataByFieldName.delete(ve.SERVICE_FIELD),o.fieldDataByFieldName.delete(ve.ENTITIES_FIELD)),this.parentsWithChildArguments.has(s)||!d){let b=[];for(let[C,j]of o.fieldDataByFieldName)!d&&j.isExternalBySubgraphName.get(this.subgraphName)&&b.push(C),this.validateArguments(j,`${s}.${C}`);b.length>0&&(this.isSubgraphVersionTwo?this.errors.push((0,De.externalInterfaceFieldsError)(s,b)):this.warnings.push((0,vq.externalInterfaceFieldsWarning)(this.subgraphName,s,b)))}let p=o.kind===Pe.Kind.OBJECT_TYPE_DEFINITION&&o.renamedTypeName||s,y={fieldNames:new Set,isRootNode:u,typeName:p},N=this.entityInterfaceDataByTypeName.get(s);N&&(N.fieldDatas=(0,it.fieldDatasToSimpleFieldDatas)(o.fieldDataByFieldName.values()),N.concreteTypeNames=(0,it.getValueOrDefault)(this.concreteTypeNamesByAbstractTypeName,s,()=>new Set),y.isInterfaceObject=N.isInterfaceObject,y.entityInterfaceConcreteTypeNames=N.concreteTypeNames);let I=this.eventsConfigurations.get(p);I&&(y.events=I),this.configurationDataByParentTypeName.set(p,y),(0,oI.addFieldNamesToConfigurationData)(o.fieldDataByFieldName,y),this.validateInterfaceImplementations(o),n.push((0,Wr.getCompositeOutputNodeByData)(o,this.errors,this.directiveDefinitionByDirectiveName,this.authorizationDataByParentTypeName)),o.fieldDataByFieldName.size<1&&!(0,oI.isNodeQuery)(s,l)&&this.errors.push((0,De.noFieldDefinitionsError)((0,it.kindToTypeString)(o.kind),s));break;case Pe.Kind.SCALAR_TYPE_DEFINITION:if(o.extensionType===Ql.ExtensionType.REAL){this.errors.push((0,De.noBaseScalarDefinitionError)(s));break}n.push((0,Wr.getScalarNodeByData)(o,this.errors,this.directiveDefinitionByDirectiveName));break;case Pe.Kind.UNION_TYPE_DEFINITION:n.push((0,Wr.getUnionNodeByData)(o,this.errors,this.directiveDefinitionByDirectiveName)),this.validateUnionMembers(o);break;default:throw(0,De.unexpectedKindFatalError)(s)}for(let s of Object.values(Pe.OperationTypeNode)){let o=this.schemaDefinition.operationTypes.get(s),u=(0,it.getOrThrowError)(Hi.operationTypeNodeToDefaultType,s,ve.OPERATION_TO_DEFAULT),l=o?(0,Wa.getTypeNodeNamedTypeName)(o.type):u;if(l!==u&&this.parentDefinitionDataByTypeName.has(u)){this.errors.push((0,De.invalidRootTypeDefinitionError)(s,l,u));continue}let d=this.parentDefinitionDataByTypeName.get(l);if(o){if(!d){this.errors.push((0,De.undefinedTypeError)(l));continue}this.operationTypeNodeByTypeName.set(l,s)}if(!d)continue;let p=this.configurationDataByParentTypeName.get(u);if(p&&(p.isRootNode=!0,p.typeName=u),d.kind!==Pe.Kind.OBJECT_TYPE_DEFINITION){this.errors.push((0,De.operationDefinitionError)(l,s,d.kind));continue}for(let y of d.fieldDataByFieldName.values()){let N=(0,Wa.getTypeNodeNamedTypeName)(y.node.type);!zi.BASE_SCALARS.has(N)&&!this.parentDefinitionDataByTypeName.has(N)&&this.errors.push((0,De.undefinedTypeError)(N))}}for(let s of this.referencedTypeNames){let o=this.parentDefinitionDataByTypeName.get(s);if(o){if(o.kind!==Pe.Kind.INTERFACE_TYPE_DEFINITION)continue;let u=this.concreteTypeNamesByAbstractTypeName.get(s);(!u||u.size<0)&&this.warnings.push((0,De.unimplementedInterfaceOutputTypeError)(this.subgraphName,s));continue}this.entityDataByTypeName.has(s)||this.errors.push((0,De.undefinedTypeError)(s))}this.validateAndAddKeysToConfiguration();for(let[s,o]of this.fieldSetDataByTypeName){let u=this.parentDefinitionDataByTypeName.get(s);if(!u||u.kind!==Pe.Kind.OBJECT_TYPE_DEFINITION&&u.kind!==Pe.Kind.INTERFACE_TYPE_DEFINITION){this.errors.push((0,De.undefinedObjectLikeParentError)(s));continue}(0,oI.validateAndAddConditionalFieldSetsToConfiguration)(this,u,o)}let r=new Map;for(let s of this.directiveDefinitionByDirectiveName.values()){let o=(0,Hi.extractExecutableDirectiveLocations)(s.locations,new Set);o.size<1||(0,Wr.addPersistedDirectiveDefinitionDataByNode)(r,s,this.errors,this.directiveDefinitionByDirectiveName,this.handledRepeatedDirectivesByHostPath,o,this.subgraphName)}if(this.isSubgraphEventDrivenGraph=this.edfsDirectiveReferences.size>0,this.isSubgraphEventDrivenGraph&&this.validateEventDrivenSubgraph(),this.errors.length>0)return{errors:this.errors,warnings:this.warnings};let i={kind:Pe.Kind.DOCUMENT,definitions:n};return{normalizationResult:{authorizationDataByParentTypeName:this.authorizationDataByParentTypeName,concreteTypeNamesByAbstractTypeName:this.concreteTypeNamesByAbstractTypeName,conditionalFieldDataByCoordinates:this.conditionalFieldDataByCoordinates,configurationDataByTypeName:this.configurationDataByParentTypeName,entityDataByTypeName:this.entityDataByTypeName,entityInterfaces:this.entityInterfaceDataByTypeName,isEventDrivenGraph:this.isSubgraphEventDrivenGraph,isVersionTwo:this.isSubgraphVersionTwo,keyFieldNamesByParentTypeName:this.keyFieldNamesByParentTypeName,operationTypes:this.operationTypeNodeByTypeName,originalTypeNameByRenamedTypeName:this.originalTypeNameByRenamedTypeName,overridesByTargetSubgraphName:this.overridesByTargetSubgraphName,parentDefinitionDataByTypeName:this.parentDefinitionDataByTypeName,persistedDirectiveDefinitionDataByDirectiveName:r,subgraphAST:i,subgraphString:(0,Pe.print)(i),schema:(0,rde.buildASTSchema)(i,{assumeValid:!0,assumeValidSDL:!0})},warnings:this.warnings}}};Yl.NormalizationFactory=pT;function ode(e){let t=new Map,n=new Map,r=new Map,i=new Map,s=new Map,o=new Map,u=new Set,l=new Map,d=new Set,p=new Set,y=[],N=new Set,I=[],b=[];for(let Q of e)Q.name&&(0,ide.recordSubgraphName)(Q.name,d,p);let C=new $R.Graph;for(let Q=0;Q0&&I.push(...Ce),pe){b.push((0,De.subgraphValidationError)(se,pe));continue}if(!ye){b.push((0,De.subgraphValidationError)(se,[De.subgraphValidationFailureError]));continue}l.set(se,ye.parentDefinitionDataByTypeName);for(let ht of ye.authorizationDataByParentTypeName.values())(0,it.upsertAuthorizationData)(t,ht,N);for(let[ht,xt]of ye.concreteTypeNamesByAbstractTypeName){let B=n.get(ht);if(!B){n.set(ht,new Set(xt));continue}(0,it.addIterableValuesToSet)(xt,B)}for(let ht of ye.entityDataByTypeName.values())(0,it.upsertEntityData)(r,ht);if(re.name&&i.set(se,{conditionalFieldDataByCoordinates:ye.conditionalFieldDataByCoordinates,configurationDataByTypeName:ye.configurationDataByTypeName,definitions:ye.subgraphAST,entityInterfaces:ye.entityInterfaces,isVersionTwo:ye.isVersionTwo,keyFieldNamesByParentTypeName:ye.keyFieldNamesByParentTypeName,name:se,operationTypes:ye.operationTypes,overriddenFieldNamesByParentTypeName:new Map,parentDefinitionDataByTypeName:ye.parentDefinitionDataByTypeName,persistedDirectiveDefinitionDataByDirectiveName:ye.persistedDirectiveDefinitionDataByDirectiveName,schema:ye.schema,url:re.url}),!(ye.overridesByTargetSubgraphName.size<1))for(let[ht,xt]of ye.overridesByTargetSubgraphName){let B=d.has(ht);for(let[he,nt]of xt){let Ct=ye.originalTypeNameByRenamedTypeName.get(he)||he;if(!B)I.push((0,vq.invalidOverrideTargetSubgraphNameWarning)(ht,Ct,[...nt]));else{let sn=(0,it.getValueOrDefault)(s,ht,()=>new Map),Fn=(0,it.getValueOrDefault)(sn,he,()=>new Set(nt));(0,it.addIterableValuesToSet)(nt,Fn)}for(let sn of nt){let Fn=`${Ct}.${sn}`,_n=o.get(Fn);if(!_n){o.set(Fn,[se]);continue}_n.push(se),u.add(Fn)}}}}let j=[];if(N.size>0&&j.push((0,De.orScopesLimitError)(it.maxOrScopes,[...N])),(y.length>0||p.size>0)&&j.push((0,De.invalidSubgraphNamesError)([...p],y)),u.size>0){let Q=[];for(let re of u){let se=(0,it.getOrThrowError)(o,re,"overrideSourceSubgraphNamesByFieldPath");Q.push((0,De.duplicateOverriddenFieldErrorMessage)(re,se))}j.push((0,De.duplicateOverriddenFieldsError)(Q))}if(j.push(...b),j.length>0)return{authorizationDataByParentTypeName:t,concreteTypeNamesByAbstractTypeName:n,entityDataByTypeName:r,errors:j,internalSubgraphBySubgraphName:i,internalGraph:C,warnings:I};for(let[Q,re]of s){let se=(0,it.getOrThrowError)(i,Q,"internalSubgraphBySubgraphName");se.overriddenFieldNamesByParentTypeName=re;for(let[pe,ye]of re){let Ce=se.configurationDataByTypeName.get(pe);Ce&&((0,it.subtractSourceSetFromTargetSet)(ye,Ce.fieldNames),Ce.fieldNames.size<1&&se.configurationDataByTypeName.delete(pe))}}return{authorizationDataByParentTypeName:t,concreteTypeNamesByAbstractTypeName:n,entityDataByTypeName:r,internalSubgraphBySubgraphName:i,internalGraph:C,warnings:I}}});var aI=V(Hl=>{"use strict";m();T();h();Object.defineProperty(Hl,"__esModule",{value:!0});Hl.DivergentType=void 0;Hl.getLeastRestrictiveMergedTypeNode=ude;Hl.getMostRestrictiveMergedTypeNode=cde;Hl.renameNamedTypeName=lde;var Jl=(we(),Me(je)),Oq=To(),ade=$a(),bq=Vi(),Sq=bh(),zl;(function(e){e[e.NONE=0]="NONE",e[e.CURRENT=1]="CURRENT",e[e.OTHER=2]="OTHER"})(zl||(Hl.DivergentType=zl={}));function Dq(e,t,n,r,i){t=(0,ade.getMutableTypeNode)(t,n,i);let s={kind:e.kind},o=zl.NONE,u=s;for(let l=0;l{"use strict";m();T();h();Object.defineProperty(GR,"__esModule",{value:!0});GR.renameRootTypes=fde;var dde=(we(),Me(je)),Fc=bi(),Wl=ps(),KR=Vi(),pde=aI();function fde(e,t){let n,r=!1,i;(0,dde.visit)(t.definitions,{FieldDefinition:{enter(s){let o=s.name.value;if(r&&(o===Fc.SERVICE_FIELD||o===Fc.ENTITIES_FIELD))return n.fieldDataByFieldName.delete(o),!1;let u=n.name,l=(0,Wl.getOrThrowError)(n.fieldDataByFieldName,o,`${u}.fieldDataByFieldName`),d=t.operationTypes.get(l.namedTypeName);if(d){let p=(0,Wl.getOrThrowError)(KR.operationTypeNodeToDefaultType,d,Fc.OPERATION_TO_DEFAULT);l.namedTypeName!==p&&(0,pde.renameNamedTypeName)(l,p,e.errors)}return i!=null&&i.has(o)&&l.isShareableBySubgraphName.delete(t.name),!1}},InterfaceTypeDefinition:{enter(s){let o=s.name.value;if(!e.entityInterfaceFederationDataByTypeName.get(o))return!1;n=(0,Wl.getOrThrowError)(t.parentDefinitionDataByTypeName,o,Fc.PARENT_DEFINITION_DATA)},leave(){n=void 0}},ObjectTypeDefinition:{enter(s){let o=s.name.value,u=t.operationTypes.get(o),l=u?(0,Wl.getOrThrowError)(KR.operationTypeNodeToDefaultType,u,Fc.OPERATION_TO_DEFAULT):o;n=(0,Wl.getOrThrowError)(t.parentDefinitionDataByTypeName,o,Fc.PARENT_DEFINITION_DATA),r=n.isRootType,!e.entityInterfaceFederationDataByTypeName.get(o)&&(e.addValidPrimaryKeyTargetsToEntityData(o),i=t.overriddenFieldNamesByParentTypeName.get(l),o!==l&&(n.name=l,t.parentDefinitionDataByTypeName.set(l,n),t.parentDefinitionDataByTypeName.delete(o)))},leave(){n=void 0,r=!1,i=void 0}},ObjectTypeExtension:{enter(s){let o=s.name.value,u=t.operationTypes.get(o),l=u?(0,Wl.getOrThrowError)(KR.operationTypeNodeToDefaultType,u,Fc.OPERATION_TO_DEFAULT):o;n=(0,Wl.getOrThrowError)(t.parentDefinitionDataByTypeName,o,Fc.PARENT_DEFINITION_DATA),r=n.isRootType,e.addValidPrimaryKeyTargetsToEntityData(o),i=t.overriddenFieldNamesByParentTypeName.get(o),o!==l&&(n.name=l,t.parentDefinitionDataByTypeName.set(l,n),t.parentDefinitionDataByTypeName.delete(o))},leave(){n=void 0,r=!1,i=void 0}}})}});var Aq=V((zp,fT)=>{"use strict";m();T();h();(function(){var e,t="4.17.21",n=200,r="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",i="Expected a function",s="Invalid `variable` option passed into `_.template`",o="__lodash_hash_undefined__",u=500,l="__lodash_placeholder__",d=1,p=2,y=4,N=1,I=2,b=1,C=2,j=4,Q=8,re=16,se=32,pe=64,ye=128,Ce=256,ht=512,xt=30,B="...",he=800,nt=16,Ct=1,sn=2,Fn=3,_n=1/0,bn=9007199254740991,mi=17976931348623157e292,Xr=NaN,Pn=4294967295,on=Pn-1,$n=Pn>>>1,U=[["ary",ye],["bind",b],["bindKey",C],["curry",Q],["curryRight",re],["flip",ht],["partial",se],["partialRight",pe],["rearg",Ce]],ae="[object Arguments]",te="[object Array]",ce="[object AsyncFunction]",Ke="[object Boolean]",G="[object Date]",ee="[object DOMException]",Ue="[object Error]",Xe="[object Function]",jt="[object GeneratorFunction]",Je="[object Map]",Ht="[object Number]",pa="[object Null]",Li="[object Object]",fa="[object Promise]",id="[object Proxy]",Do="[object RegExp]",Gr="[object Set]",Wi="[object String]",cn="[object Symbol]",Qr="[object Undefined]",xc="[object WeakMap]",Ao="[object WeakSet]",Cc="[object ArrayBuffer]",F="[object DataView]",g="[object Float32Array]",v="[object Float64Array]",x="[object Int8Array]",J="[object Int16Array]",ie="[object Int32Array]",fe="[object Uint8Array]",Rt="[object Uint8ClampedArray]",kn="[object Uint16Array]",Dn="[object Uint32Array]",qn=/\b__p \+= '';/g,On=/\b(__p \+=) '' \+/g,xK=/(__e\(.*?\)|\b__t\)) \+\n'';/g,AF=/&(?:amp|lt|gt|quot|#39);/g,RF=/[&<>"']/g,CK=RegExp(AF.source),UK=RegExp(RF.source),MK=/<%-([\s\S]+?)%>/g,BK=/<%([\s\S]+?)%>/g,FF=/<%=([\s\S]+?)%>/g,VK=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,jK=/^\w*$/,$K=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,BI=/[\\^$.*+?()[\]{}|]/g,qK=RegExp(BI.source),VI=/^\s+/,KK=/\s/,GK=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,QK=/\{\n\/\* \[wrapped with (.+)\] \*/,YK=/,? & /,JK=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,zK=/[()=,{}\[\]\/\s]/,HK=/\\(\\)?/g,WK=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,wF=/\w*$/,XK=/^[-+]0x[0-9a-f]+$/i,ZK=/^0b[01]+$/i,eG=/^\[object .+?Constructor\]$/,tG=/^0o[0-7]+$/i,nG=/^(?:0|[1-9]\d*)$/,rG=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,LT=/($^)/,iG=/['\n\r\u2028\u2029\\]/g,PT="\\ud800-\\udfff",sG="\\u0300-\\u036f",oG="\\ufe20-\\ufe2f",aG="\\u20d0-\\u20ff",LF=sG+oG+aG,PF="\\u2700-\\u27bf",kF="a-z\\xdf-\\xf6\\xf8-\\xff",uG="\\xac\\xb1\\xd7\\xf7",cG="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",lG="\\u2000-\\u206f",dG=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",xF="A-Z\\xc0-\\xd6\\xd8-\\xde",CF="\\ufe0e\\ufe0f",UF=uG+cG+lG+dG,jI="['\u2019]",pG="["+PT+"]",MF="["+UF+"]",kT="["+LF+"]",BF="\\d+",fG="["+PF+"]",VF="["+kF+"]",jF="[^"+PT+UF+BF+PF+kF+xF+"]",$I="\\ud83c[\\udffb-\\udfff]",mG="(?:"+kT+"|"+$I+")",$F="[^"+PT+"]",qI="(?:\\ud83c[\\udde6-\\uddff]){2}",KI="[\\ud800-\\udbff][\\udc00-\\udfff]",sd="["+xF+"]",qF="\\u200d",KF="(?:"+VF+"|"+jF+")",hG="(?:"+sd+"|"+jF+")",GF="(?:"+jI+"(?:d|ll|m|re|s|t|ve))?",QF="(?:"+jI+"(?:D|LL|M|RE|S|T|VE))?",YF=mG+"?",JF="["+CF+"]?",TG="(?:"+qF+"(?:"+[$F,qI,KI].join("|")+")"+JF+YF+")*",yG="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",NG="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",zF=JF+YF+TG,EG="(?:"+[fG,qI,KI].join("|")+")"+zF,gG="(?:"+[$F+kT+"?",kT,qI,KI,pG].join("|")+")",IG=RegExp(jI,"g"),vG=RegExp(kT,"g"),GI=RegExp($I+"(?="+$I+")|"+gG+zF,"g"),_G=RegExp([sd+"?"+VF+"+"+GF+"(?="+[MF,sd,"$"].join("|")+")",hG+"+"+QF+"(?="+[MF,sd+KF,"$"].join("|")+")",sd+"?"+KF+"+"+GF,sd+"+"+QF,NG,yG,BF,EG].join("|"),"g"),bG=RegExp("["+qF+PT+LF+CF+"]"),OG=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,SG=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],DG=-1,Vn={};Vn[g]=Vn[v]=Vn[x]=Vn[J]=Vn[ie]=Vn[fe]=Vn[Rt]=Vn[kn]=Vn[Dn]=!0,Vn[ae]=Vn[te]=Vn[Cc]=Vn[Ke]=Vn[F]=Vn[G]=Vn[Ue]=Vn[Xe]=Vn[Je]=Vn[Ht]=Vn[Li]=Vn[Do]=Vn[Gr]=Vn[Wi]=Vn[xc]=!1;var xn={};xn[ae]=xn[te]=xn[Cc]=xn[F]=xn[Ke]=xn[G]=xn[g]=xn[v]=xn[x]=xn[J]=xn[ie]=xn[Je]=xn[Ht]=xn[Li]=xn[Do]=xn[Gr]=xn[Wi]=xn[cn]=xn[fe]=xn[Rt]=xn[kn]=xn[Dn]=!0,xn[Ue]=xn[Xe]=xn[xc]=!1;var AG={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},RG={"&":"&","<":"<",">":">",'"':""","'":"'"},FG={"&":"&","<":"<",">":">",""":'"',"'":"'"},wG={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},LG=parseFloat,PG=parseInt,HF=typeof global=="object"&&global&&global.Object===Object&&global,kG=typeof self=="object"&&self&&self.Object===Object&&self,Cr=HF||kG||Function("return this")(),QI=typeof zp=="object"&&zp&&!zp.nodeType&&zp,Uc=QI&&typeof fT=="object"&&fT&&!fT.nodeType&&fT,WF=Uc&&Uc.exports===QI,YI=WF&&HF.process,Ns=function(){try{var H=Uc&&Uc.require&&Uc.require("util").types;return H||YI&&YI.binding&&YI.binding("util")}catch(de){}}(),XF=Ns&&Ns.isArrayBuffer,ZF=Ns&&Ns.isDate,ew=Ns&&Ns.isMap,tw=Ns&&Ns.isRegExp,nw=Ns&&Ns.isSet,rw=Ns&&Ns.isTypedArray;function Xi(H,de,oe){switch(oe.length){case 0:return H.call(de);case 1:return H.call(de,oe[0]);case 2:return H.call(de,oe[0],oe[1]);case 3:return H.call(de,oe[0],oe[1],oe[2])}return H.apply(de,oe)}function xG(H,de,oe,Be){for(var _t=-1,pn=H==null?0:H.length;++_t-1}function JI(H,de,oe){for(var Be=-1,_t=H==null?0:H.length;++Be<_t;)if(oe(de,H[Be]))return!0;return!1}function Kn(H,de){for(var oe=-1,Be=H==null?0:H.length,_t=Array(Be);++oe-1;);return oe}function dw(H,de){for(var oe=H.length;oe--&&od(de,H[oe],0)>-1;);return oe}function KG(H,de){for(var oe=H.length,Be=0;oe--;)H[oe]===de&&++Be;return Be}var GG=XI(AG),QG=XI(RG);function YG(H){return"\\"+wG[H]}function JG(H,de){return H==null?e:H[de]}function ad(H){return bG.test(H)}function zG(H){return OG.test(H)}function HG(H){for(var de,oe=[];!(de=H.next()).done;)oe.push(de.value);return oe}function nv(H){var de=-1,oe=Array(H.size);return H.forEach(function(Be,_t){oe[++de]=[_t,Be]}),oe}function pw(H,de){return function(oe){return H(de(oe))}}function Qu(H,de){for(var oe=-1,Be=H.length,_t=0,pn=[];++oe-1}function UQ(a,c){var f=this.__data__,E=XT(f,a);return E<0?(++this.size,f.push([a,c])):f[E][1]=c,this}ma.prototype.clear=PQ,ma.prototype.delete=kQ,ma.prototype.get=xQ,ma.prototype.has=CQ,ma.prototype.set=UQ;function ha(a){var c=-1,f=a==null?0:a.length;for(this.clear();++c=c?a:c)),a}function vs(a,c,f,E,_,L){var M,q=c&d,X=c&p,Te=c&y;if(f&&(M=_?f(a,E,_,L):f(a)),M!==e)return M;if(!Zn(a))return a;var Ne=St(a);if(Ne){if(M=j2(a),!q)return Pi(a,M)}else{var Ie=ei(a),Fe=Ie==Xe||Ie==jt;if(Zu(a))return Jw(a,q);if(Ie==Li||Ie==ae||Fe&&!_){if(M=X||Fe?{}:fL(a),!q)return X?F2(a,ZQ(M,a)):R2(a,bw(M,a))}else{if(!xn[Ie])return _?a:{};M=$2(a,Ie,q)}}L||(L=new to);var ze=L.get(a);if(ze)return ze;L.set(a,M),$L(a)?a.forEach(function(dt){M.add(vs(dt,c,f,dt,a,L))}):VL(a)&&a.forEach(function(dt,$t){M.set($t,vs(dt,c,f,$t,a,L))});var lt=Te?X?Av:Dv:X?xi:Ur,Ut=Ne?e:lt(a);return Es(Ut||a,function(dt,$t){Ut&&($t=dt,dt=a[$t]),pf(M,$t,vs(dt,c,f,$t,a,L))}),M}function e2(a){var c=Ur(a);return function(f){return Ow(f,a,c)}}function Ow(a,c,f){var E=f.length;if(a==null)return!E;for(a=wn(a);E--;){var _=f[E],L=c[_],M=a[_];if(M===e&&!(_ in a)||!L(M))return!1}return!0}function Sw(a,c,f){if(typeof a!="function")throw new gs(i);return Ef(function(){a.apply(e,f)},c)}function ff(a,c,f,E){var _=-1,L=xT,M=!0,q=a.length,X=[],Te=c.length;if(!q)return X;f&&(c=Kn(c,Zi(f))),E?(L=JI,M=!1):c.length>=n&&(L=of,M=!1,c=new Vc(c));e:for(;++__?0:_+f),E=E===e||E>_?_:Lt(E),E<0&&(E+=_),E=f>E?0:KL(E);f0&&f(q)?c>1?Yr(q,c-1,f,E,_):Gu(_,q):E||(_[_.length]=q)}return _}var cv=eL(),Rw=eL(!0);function Ro(a,c){return a&&cv(a,c,Ur)}function lv(a,c){return a&&Rw(a,c,Ur)}function ey(a,c){return Ku(c,function(f){return ga(a[f])})}function $c(a,c){c=Wu(c,a);for(var f=0,E=c.length;a!=null&&fc}function r2(a,c){return a!=null&&Sn.call(a,c)}function i2(a,c){return a!=null&&c in wn(a)}function s2(a,c,f){return a>=Zr(c,f)&&a=120&&Ne.length>=120)?new Vc(M&&Ne):e}Ne=a[0];var Ie=-1,Fe=q[0];e:for(;++Ie<_&&Te.length-1;)q!==a&>.call(q,X,1),GT.call(a,X,1);return a}function Vw(a,c){for(var f=a?c.length:0,E=f-1;f--;){var _=c[f];if(f==E||_!==L){var L=_;Ea(_)?GT.call(a,_,1):gv(a,_)}}return a}function yv(a,c){return a+JT(gw()*(c-a+1))}function N2(a,c,f,E){for(var _=-1,L=Ar(YT((c-a)/(f||1)),0),M=oe(L);L--;)M[E?L:++_]=a,a+=f;return M}function Nv(a,c){var f="";if(!a||c<1||c>bn)return f;do c%2&&(f+=a),c=JT(c/2),c&&(a+=a);while(c);return f}function Bt(a,c){return xv(TL(a,c,Ci),a+"")}function E2(a){return _w(yd(a))}function g2(a,c){var f=yd(a);return dy(f,jc(c,0,f.length))}function Tf(a,c,f,E){if(!Zn(a))return a;c=Wu(c,a);for(var _=-1,L=c.length,M=L-1,q=a;q!=null&&++__?0:_+c),f=f>_?_:f,f<0&&(f+=_),_=c>f?0:f-c>>>0,c>>>=0;for(var L=oe(_);++E<_;)L[E]=a[E+c];return L}function _2(a,c){var f;return zu(a,function(E,_,L){return f=c(E,_,L),!f}),!!f}function ny(a,c,f){var E=0,_=a==null?E:a.length;if(typeof c=="number"&&c===c&&_<=$n){for(;E<_;){var L=E+_>>>1,M=a[L];M!==null&&!ts(M)&&(f?M<=c:M=n){var Te=c?null:k2(a);if(Te)return UT(Te);M=!1,_=of,X=new Vc}else X=c?[]:q;e:for(;++E=E?a:_s(a,c,f)}var Yw=dQ||function(a){return Cr.clearTimeout(a)};function Jw(a,c){if(c)return a.slice();var f=a.length,E=hw?hw(f):new a.constructor(f);return a.copy(E),E}function bv(a){var c=new a.constructor(a.byteLength);return new qT(c).set(new qT(a)),c}function O2(a,c){var f=c?bv(a.buffer):a.buffer;return new a.constructor(f,a.byteOffset,a.byteLength)}function S2(a){var c=new a.constructor(a.source,wF.exec(a));return c.lastIndex=a.lastIndex,c}function D2(a){return df?wn(df.call(a)):{}}function zw(a,c){var f=c?bv(a.buffer):a.buffer;return new a.constructor(f,a.byteOffset,a.length)}function Hw(a,c){if(a!==c){var f=a!==e,E=a===null,_=a===a,L=ts(a),M=c!==e,q=c===null,X=c===c,Te=ts(c);if(!q&&!Te&&!L&&a>c||L&&M&&X&&!q&&!Te||E&&M&&X||!f&&X||!_)return 1;if(!E&&!L&&!Te&&a=q)return X;var Te=f[E];return X*(Te=="desc"?-1:1)}}return a.index-c.index}function Ww(a,c,f,E){for(var _=-1,L=a.length,M=f.length,q=-1,X=c.length,Te=Ar(L-M,0),Ne=oe(X+Te),Ie=!E;++q1?f[_-1]:e,M=_>2?f[2]:e;for(L=a.length>3&&typeof L=="function"?(_--,L):e,M&&Ti(f[0],f[1],M)&&(L=_<3?e:L,_=1),c=wn(c);++E<_;){var q=f[E];q&&a(c,q,E,L)}return c})}function Zw(a,c){return function(f,E){if(f==null)return f;if(!ki(f))return a(f,E);for(var _=f.length,L=c?_:-1,M=wn(f);(c?L--:++L<_)&&E(M[L],L,M)!==!1;);return f}}function eL(a){return function(c,f,E){for(var _=-1,L=wn(c),M=E(c),q=M.length;q--;){var X=M[a?q:++_];if(f(L[X],X,L)===!1)break}return c}}function w2(a,c,f){var E=c&b,_=yf(a);function L(){var M=this&&this!==Cr&&this instanceof L?_:a;return M.apply(E?f:this,arguments)}return L}function tL(a){return function(c){c=yn(c);var f=ad(c)?eo(c):e,E=f?f[0]:c.charAt(0),_=f?Xu(f,1).join(""):c.slice(1);return E[a]()+_}}function md(a){return function(c){return zI(ZL(XL(c).replace(IG,"")),a,"")}}function yf(a){return function(){var c=arguments;switch(c.length){case 0:return new a;case 1:return new a(c[0]);case 2:return new a(c[0],c[1]);case 3:return new a(c[0],c[1],c[2]);case 4:return new a(c[0],c[1],c[2],c[3]);case 5:return new a(c[0],c[1],c[2],c[3],c[4]);case 6:return new a(c[0],c[1],c[2],c[3],c[4],c[5]);case 7:return new a(c[0],c[1],c[2],c[3],c[4],c[5],c[6])}var f=pd(a.prototype),E=a.apply(f,c);return Zn(E)?E:f}}function L2(a,c,f){var E=yf(a);function _(){for(var L=arguments.length,M=oe(L),q=L,X=hd(_);q--;)M[q]=arguments[q];var Te=L<3&&M[0]!==X&&M[L-1]!==X?[]:Qu(M,X);if(L-=Te.length,L-1?_[L?c[M]:M]:e}}function rL(a){return Na(function(c){var f=c.length,E=f,_=Is.prototype.thru;for(a&&c.reverse();E--;){var L=c[E];if(typeof L!="function")throw new gs(i);if(_&&!M&&cy(L)=="wrapper")var M=new Is([],!0)}for(E=M?E:f;++E1&&Wt.reverse(),Ne&&X<$t&&(Wt.length=X),this&&this!==Cr&&this instanceof dt&&(va=Ut||yf(va)),va.apply(ro,Wt)}return dt}function iL(a,c){return function(f,E){return o2(f,a,c(E),{})}}function oy(a,c){return function(f,E){var _;if(f===e&&E===e)return c;if(f!==e&&(_=f),E!==e){if(_===e)return E;typeof f=="string"||typeof E=="string"?(f=es(f),E=es(E)):(f=qw(f),E=qw(E)),_=a(f,E)}return _}}function Ov(a){return Na(function(c){return c=Kn(c,Zi(ct())),Bt(function(f){var E=this;return a(c,function(_){return Xi(_,E,f)})})})}function ay(a,c){c=c===e?" ":es(c);var f=c.length;if(f<2)return f?Nv(c,a):c;var E=Nv(c,YT(a/ud(c)));return ad(c)?Xu(eo(E),0,a).join(""):E.slice(0,a)}function P2(a,c,f,E){var _=c&b,L=yf(a);function M(){for(var q=-1,X=arguments.length,Te=-1,Ne=E.length,Ie=oe(Ne+X),Fe=this&&this!==Cr&&this instanceof M?L:a;++Teq))return!1;var Te=L.get(a),Ne=L.get(c);if(Te&&Ne)return Te==c&&Ne==a;var Ie=-1,Fe=!0,ze=f&I?new Vc:e;for(L.set(a,c),L.set(c,a);++Ie1?"& ":"")+c[E],c=c.join(f>2?", ":" "),a.replace(GK,`{ +`+Yl.LITERAL_SPACE.repeat(t+3)+`... +`+Yl.LITERAL_SPACE.repeat(t+2)+`} +`}function Eq({entityAncestorData:e,rootFieldData:t,unresolvableFieldData:n}){let{fieldName:r,typeName:i,subgraphNames:s}=n,o=[t.message,`The field "${i}.${r}" is defined in the following subgraph`+(s.size>1?"s":"")+`: "${[...s].join(Yl.QUOTATION_JOIN)}".`];if(e){let u=!1;for(let[l,d]of e.fieldSetsByTargetSubgraphName)if(s.has(l)){u=!0;for(let p of d)o.push(`The entity ancestor "${e.typeName}" in subgraph "${e.subgraphName}" does not satisfy the key field set "${p}" to access subgraph "${l}".`)}u||o.push(`The entity ancestor "${e.typeName}" in subgraph "${e.subgraphName}" has no accessible target entities (resolvable @key directives) in the subgraphs where "${i}.${r}" is defined.`),o.push(`The type "${i}" is not a descendent of any other entity ancestors that can provide a shared route to access "${r}".`)}else t.subgraphNames.size>1&&o.push(`None of the subgraphs that share the same root type field "${t.coordinate}" can provide a route to access "${r}".`),o.push(`The type "${i}" is not a descendent of an entity ancestor that can provide a shared route to access "${r}".`);return i!==(e==null?void 0:e.typeName)&&o.push(`The type "${i}" has no accessible target entities (resolvable @key directives) in any other subgraph, so accessing other subgraphs is not possible.`),o}function gq(e){let t=e.split(new RegExp("(?<=\\w)\\.")),n="",r="";for(let i=0;i{"use strict";m();T();h();Object.defineProperty(oI,"__esModule",{value:!0});oI.Graph=void 0;var Fi=ps(),vq=bi(),Jp=CR(),zp=MR(),BR=class{constructor(){A(this,"edgeId",-1);A(this,"entityDataNodes",new Map);A(this,"entityNodeNamesBySharedFieldPath",new Map);A(this,"nodeByNodeName",new Map);A(this,"nodesByTypeName",new Map);A(this,"rootNodeByRootTypeName",new Map);A(this,"subgraphName",vq.N_A);A(this,"resolvableFieldNamesByRelativeFieldPathByEntityNodeName",new Map);A(this,"nodeResolutionDataByFieldPath",new Map);A(this,"unresolvableFieldPaths",new Set);A(this,"failureResultByEntityNodeName",new Map);A(this,"walkerIndex",-1)}getRootNode(t){return(0,Fi.getValueOrDefault)(this.rootNodeByRootTypeName,t,()=>new Jp.RootNode(t))}addOrUpdateNode(t,n){let r=`${this.subgraphName}.${t}`,i=this.nodeByNodeName.get(r);if(i)return i.isAbstract||(i.isAbstract=!!(n!=null&&n.isAbstract)),!i.isLeaf&&(n!=null&&n.isLeaf)&&(i.isLeaf=!0),i;let s=new Jp.GraphNode(this.subgraphName,t,n);return this.nodeByNodeName.set(r,s),(0,Fi.getValueOrDefault)(this.nodesByTypeName,t,()=>[]).push(s),s}addEdge(t,n,r,i=!1){if(t.isRootNode){let u=new Jp.Edge(this.getNextEdgeId(),n,r);return(0,Fi.getValueOrDefault)(t.headToShareableTailEdges,r,()=>[]).push(u),u}let s=t,o=new Jp.Edge(this.getNextEdgeId(),n,i?n.typeName:r,i);return s.headToTailEdges.set(r,o),o}addEntityDataNode(t){let n=this.entityDataNodes.get(t);if(n)return n;let r=new Jp.EntityDataNode(t);return this.entityDataNodes.set(t,r),r}getNextEdgeId(){return this.edgeId+=1}setNodeInaccessible(t){let n=this.nodesByTypeName.get(t);if(n)for(let r of n)r.isInaccessible=!0}initializeNode(t,n){let r=this.entityDataNodes.get(t);if(vq.ROOT_TYPE_NAMES.has(t)){let s=this.getRootNode(t);s.removeInaccessibleEdges(n),s.fieldDataByFieldName=n;return}let i=this.nodesByTypeName.get(t);if(i){for(let s of i)if(s.fieldDataByFieldName=n,s.handleInaccessibleEdges(),s.isLeaf=!1,!!r){s.hasEntitySiblings=!0;for(let o of s.satisfiedFieldSets){let u=r.targetSubgraphNamesByFieldSet.get(o);for(let l of u||[]){if(l===s.subgraphName)continue;let d=this.nodeByNodeName.get(`${l}.${s.typeName}`);d&&s.entityEdges.push(new Jp.Edge(this.getNextEdgeId(),d,""))}}}}}setSubgraphName(t){this.subgraphName=t}validateEntities(t,n){let r=new Map;for(let[i,s]of t){let o=s.size>1,u,l=o?new Map:void 0,d=new Set,p=new Map;for(let y of s){let N=this.nodeByNodeName.get(y);if(!N)throw new Error(`Fatal: Could not find entity node for "${y}".`);if(this.resolvableFieldNamesByRelativeFieldPathByEntityNodeName.get(y)){let Q=this.failureResultByEntityNodeName.get(y);if(!Q){u=void 0;break}if(!o)return Q}let O=this.nodesByTypeName.get(N.typeName)||[],x=(0,Fi.getValueOrDefault)(r,y,()=>o?p:new Map),j=new VR({interSubgraphNodes:O,entityNodeNamesBySharedFieldPath:x,originNode:N,resolvableFieldNamesByRelativeFieldPathByEntityNodeName:this.resolvableFieldNamesByRelativeFieldPathByEntityNodeName,walkerIndex:this.walkerIndex+=1,sharedResolvableFieldNamesByRelativeFieldPath:l,unresolvableSharedFieldPaths:d});if(j.visitEntityNode(N),j.unresolvableFieldPaths.size>0){if(o&&d.size<1){u=void 0;break}u={entityAncestorData:{fieldSetsByTargetSubgraphName:(0,Fi.getOrThrowError)(this.entityDataNodes,N.typeName,"entityDataNodes").fieldSetsByTargetSubgraphName,subgraphName:N.subgraphName,typeName:N.typeName},nodeName:y,parentFieldPathForEntityReference:[i],success:!1,typeName:N.typeName,unresolvableFieldPaths:o?d:j.unresolvableFieldPaths},this.failureResultByEntityNodeName.set(y,u);continue}u=void 0;break}if(u)return o&&l&&this.resolvableFieldNamesByRelativeFieldPathByEntityNodeName.set(u.nodeName,l),u}if(r.size>0)for(let[i,s]of r){let o=this.validateEntities(s,n);if(!o.success){for(let[u,l]of t)if(l.has(i)){o.parentFieldPathForEntityReference.push(u);break}return o}}return{success:!0}}validate(){let t=[];for(let n of this.rootNodeByRootTypeName.values())e:for(let[r,i]of n.headToShareableTailEdges){for(let u of i){if(u.isInaccessible)continue e;this.walkerIndex+=1,this.visitEdge(u,`${n.typeName.toLowerCase()}`)}let s=(0,Fi.getOrThrowError)(n.fieldDataByFieldName,r,"fieldDataByFieldName"),o=(0,zp.newRootFieldData)(n.typeName,r,s.subgraphNames);if(this.unresolvableFieldPaths.size>0&&(0,zp.generateResolvabilityErrors)({unresolvableFieldPaths:this.unresolvableFieldPaths,nodeResolutionDataByFieldPath:this.nodeResolutionDataByFieldPath,rootFieldData:o,errors:t}),this.entityNodeNamesBySharedFieldPath.size>0){let u=this.validateEntities(this.entityNodeNamesBySharedFieldPath,o);u.success||this.generateEntityResolvabilityErrors(u,o,t)}if(t.length>0)return t;this.entityNodeNamesBySharedFieldPath=new Map}return[]}visitEdge(t,n){return t.isInaccessible||t.node.isInaccessible?!1:(!(0,Fi.add)(t.visitedIndices,this.walkerIndex)||t.node.isLeaf||(t.node.isAbstract?this.validateAbstractNode(t.node,`${n}.${t.edgeName}`):this.validateConcreteNode(t.node,`${n}.${t.edgeName}`)),!0)}validateConcreteNode(t,n){if(t.headToTailEdges.size<1)return;if(t.hasEntitySiblings){(0,Fi.getValueOrDefault)(this.entityNodeNamesBySharedFieldPath,n,()=>new Set).add(t.nodeName);return}let r=(0,Fi.getValueOrDefault)(this.nodeResolutionDataByFieldPath,n,()=>new zp.NodeResolutionData(t.typeName,t.fieldDataByFieldName));for(let[i,s]of t.headToTailEdges)this.visitEdge(s,n)&&r.add(i);r.isResolved?this.unresolvableFieldPaths.delete(n):this.unresolvableFieldPaths.add(n)}validateAbstractNode(t,n){if(!(t.headToTailEdges.size<1))for(let r of t.headToTailEdges.values())this.visitEdge(r,n)}generateEntityResolvabilityErrors(t,n,r){let i=(0,Fi.getOrThrowError)(this.resolvableFieldNamesByRelativeFieldPathByEntityNodeName,t.nodeName,"resolvableFieldNamesByRelativeFieldPathByEntityNodeName"),s="";for(let o of t.parentFieldPathForEntityReference)s=o+s;(0,zp.generateResolvabilityErrors)({unresolvableFieldPaths:t.unresolvableFieldPaths,nodeResolutionDataByFieldPath:i,rootFieldData:n,errors:r,pathFromRoot:s,entityAncestorData:t.entityAncestorData})}};oI.Graph=BR;var VR=class{constructor({entityNodeNamesBySharedFieldPath:t,interSubgraphNodes:n,originNode:r,resolvableFieldNamesByRelativeFieldPathByEntityNodeName:i,unresolvableSharedFieldPaths:s,walkerIndex:o,sharedResolvableFieldNamesByRelativeFieldPath:u}){A(this,"entityNodeNamesBySharedFieldPath");A(this,"interSubgraphNodes");A(this,"originNode");A(this,"resolvableFieldNamesByRelativeFieldPath");A(this,"resolvableFieldNamesByRelativeFieldPathByEntityNodeName");A(this,"unresolvableFieldPaths",new Set);A(this,"unresolvableSharedFieldPaths");A(this,"walkerIndex");A(this,"sharedResolvableFieldNamesByRelativeFieldPath");this.entityNodeNamesBySharedFieldPath=t,this.interSubgraphNodes=n,this.originNode=r,this.resolvableFieldNamesByRelativeFieldPathByEntityNodeName=i,this.resolvableFieldNamesByRelativeFieldPath=(0,Fi.getValueOrDefault)(this.resolvableFieldNamesByRelativeFieldPathByEntityNodeName,r.nodeName,()=>new Map),this.unresolvableSharedFieldPaths=s,this.walkerIndex=o,this.sharedResolvableFieldNamesByRelativeFieldPath=u}visitEntityNode(t){this.validateEntityRelatedConcreteNode(t,"");let n=t.getAllAccessibleEntityNodeNames();for(let r of this.interSubgraphNodes){if(this.unresolvableFieldPaths.size<0)return;n.has(r.nodeName)&&this.validateEntityRelatedConcreteNode(r,"")}}visitEntityRelatedEdge(t,n){return t.isInaccessible||t.node.isInaccessible?!1:!(0,Fi.add)(t.visitedIndices,this.walkerIndex)||t.node.isLeaf?!0:t.node.hasEntitySiblings?((0,Fi.getValueOrDefault)(this.entityNodeNamesBySharedFieldPath,`${n}.${t.edgeName}`,()=>new Set).add(t.node.nodeName),!0):(t.node.isAbstract?this.validateEntityRelatedAbstractNode(t.node,`${n}.${t.edgeName}`):this.validateEntityRelatedConcreteNode(t.node,`${n}.${t.edgeName}`),!0)}validateEntityRelatedConcreteNode(t,n){if(t.headToTailEdges.size<1)return;let r=(0,Fi.getValueOrDefault)(this.resolvableFieldNamesByRelativeFieldPath,n,()=>new zp.NodeResolutionData(t.typeName,t.fieldDataByFieldName)),i=this.sharedResolvableFieldNamesByRelativeFieldPath?(0,Fi.getValueOrDefault)(this.sharedResolvableFieldNamesByRelativeFieldPath,n,()=>new zp.NodeResolutionData(t.typeName,t.fieldDataByFieldName)):void 0;for(let[s,o]of t.headToTailEdges)this.visitEntityRelatedEdge(o,n)&&(r.add(s),i==null||i.add(s));r.isResolved?this.unresolvableFieldPaths.delete(n):this.unresolvableFieldPaths.add(n),i&&(i.isResolved?this.unresolvableSharedFieldPaths.delete(n):this.unresolvableSharedFieldPaths.add(n))}validateEntityRelatedAbstractNode(t,n){if(!(t.headToTailEdges.size<1))for(let r of t.headToTailEdges.values())this.visitEntityRelatedEdge(r,n)}}});var GR=V(zl=>{"use strict";m();T();h();Object.defineProperty(zl,"__esModule",{value:!0});zl.NormalizationFactory=void 0;zl.normalizeSubgraphFromString=ude;zl.normalizeSubgraph=_q;zl.batchNormalize=cde;var Pe=(we(),Me(je)),Hi=Vi(),wc=Kl(),zi=_c(),st=ps(),Ae=To(),ve=bi(),ode=eD(),Ha=eI(),ade=FR(),qR=iI(),$R=wR(),Jl=Kh(),Wr=Qp(),Wa=$a(),KR=jR();function ude(e,t=!0){let{error:n,documentNode:r}=(0,Hi.safeParse)(e,t);return n||!r?{errors:[(0,Ae.subgraphInvalidSyntaxError)(n)],warnings:[]}:new fT(new KR.Graph).normalize(r)}function _q(e,t,n){return new fT(n||new KR.Graph,t).normalize(e)}var fT=class{constructor(t,n){A(this,"argumentName","");A(this,"authorizationDataByParentTypeName",new Map);A(this,"childName","");A(this,"concreteTypeNamesByAbstractTypeName",new Map);A(this,"conditionalFieldDataByCoordinates",new Map);A(this,"configurationDataByParentTypeName",new Map);A(this,"customDirectiveDefinitions",new Map);A(this,"directiveDefinitionByDirectiveName",new Map);A(this,"edfsDirectiveReferences",new Set);A(this,"errors",[]);A(this,"entityDataByTypeName",new Map);A(this,"entityInterfaceDataByTypeName",new Map);A(this,"eventsConfigurations",new Map);A(this,"interfaceTypeNamesWithAuthorizationDirectives",new Set);A(this,"internalGraph");A(this,"isCurrentParentExtension",!1);A(this,"isSubgraphEventDrivenGraph",!1);A(this,"isSubgraphVersionTwo",!1);A(this,"fieldSetDataByTypeName",new Map);A(this,"heirFieldAuthorizationDataByTypeName",new Map);A(this,"handledRepeatedDirectivesByHostPath",new Map);A(this,"lastParentNodeKind",Pe.Kind.NULL);A(this,"lastChildNodeKind",Pe.Kind.NULL);A(this,"leafTypeNamesWithAuthorizationDirectives",new Set);A(this,"keyFieldSetDataByTypeName",new Map);A(this,"keyFieldNamesByParentTypeName",new Map);A(this,"operationTypeNodeByTypeName",new Map);A(this,"originalTypeNameByRenamedTypeName",new Map);A(this,"parentDefinitionDataByTypeName",new Map);A(this,"originalParentTypeName","");A(this,"parentsWithChildArguments",new Set);A(this,"overridesByTargetSubgraphName",new Map);A(this,"invalidOrScopesHostPaths",new Set);A(this,"schemaDefinition");A(this,"referencedDirectiveNames",new Set);A(this,"referencedTypeNames",new Set);A(this,"renamedParentTypeName","");A(this,"subgraphName");A(this,"warnings",[]);for(let[r,i]of zi.BASE_DIRECTIVE_DEFINITION_BY_DIRECTIVE_NAME)this.directiveDefinitionByDirectiveName.set(r,i);this.subgraphName=n||ve.N_A,this.internalGraph=t,this.internalGraph.setSubgraphName(this.subgraphName),this.schemaDefinition={directivesByDirectiveName:new Map,kind:Pe.Kind.SCHEMA_DEFINITION,typeName:ve.SCHEMA,operationTypes:new Map}}validateInputNamedType(t){if(zi.BASE_SCALARS.has(t))return{hasUnhandledError:!1,typeString:""};let n=this.parentDefinitionDataByTypeName.get(t);if(!n)return this.errors.push((0,Ae.undefinedTypeError)(t)),{hasUnhandledError:!1,typeString:""};switch(n.kind){case Pe.Kind.ENUM_TYPE_DEFINITION:case Pe.Kind.INPUT_OBJECT_TYPE_DEFINITION:case Pe.Kind.SCALAR_TYPE_DEFINITION:return{hasUnhandledError:!1,typeString:""};default:return{hasUnhandledError:!0,typeString:(0,st.kindToTypeString)(n.kind)}}}validateArguments(t,n){let r=[];for(let[i,s]of t.argumentDataByArgumentName){let o=(0,Wa.getTypeNodeNamedTypeName)(s.type),{hasUnhandledError:u,typeString:l}=this.validateInputNamedType(o);u&&r.push({argumentName:i,namedType:o,typeString:l,typeName:(0,Ha.printTypeNode)(s.type)})}r.length>0&&this.errors.push((0,Ae.invalidArgumentsError)(n,r))}getAuthorizationData(t){let n=this.renamedParentTypeName||this.originalParentTypeName,r=this.authorizationDataByParentTypeName.get(n);if((0,st.resetAuthorizationData)(r),!t.directives)return r;let i=!1,s=[];for(let d of t.directives){let p=d.name.value;if(p===ve.AUTHENTICATED){if(i)return;i=!0;continue}if(p===ve.REQUIRES_SCOPES){if(s.length>0)return;s.push(d)}}if(!i&&s.length<1||((0,st.isNodeKindInterface)(t.kind)&&this.interfaceTypeNamesWithAuthorizationDirectives.add(n),r||(r=(0,st.setAndGetValue)(this.authorizationDataByParentTypeName,this.renamedParentTypeName||this.originalParentTypeName,(0,st.newAuthorizationData)(n))),r.hasParentLevelAuthorization=!0,r.requiresAuthentication=i,s.length!==1))return r;let o=s[0];if(!o.arguments||o.arguments.length!==1)return;let u=o.arguments[0];if(u.name.value!==ve.SCOPES||u.value.kind!==Pe.Kind.LIST)return;let l=u.value.values;if(l.length<1)return r;if(l.length>st.maxOrScopes){this.invalidOrScopesHostPaths.add(this.originalParentTypeName);return}for(let d of l){if(d.kind!==Pe.Kind.LIST)return;let p=new Set;for(let y of d.values){if(y.kind!==Pe.Kind.STRING)return;p.add(y.value)}p.size&&r.requiredScopes.push(p)}return r}extractDirectivesAndAuthorization(t,n){if(!t.directives)return n;let r=this.childName?`${this.originalParentTypeName}.${this.childName}`:this.originalParentTypeName,i=[];for(let l of t.directives){let d=(0,Wr.getDirectiveValidationErrors)(l,t.kind,n,this.directiveDefinitionByDirectiveName,this.handledRepeatedDirectivesByHostPath,r),p=l.name.value;if(d.length>0){this.errors.push((0,Ae.invalidDirectiveError)(p,r,d));continue}if(p===ve.EXTENDS)continue;if(p===ve.OVERRIDE){this.handleOverrideDeclaration(l,r,d),d.length>0&&this.errors.push((0,Ae.invalidDirectiveError)(p,r,d));continue}if(p===ve.AUTHENTICATED||p===ve.REQUIRES_SCOPES){i.push(l);continue}let y=n.get(p);if(y){y.push(l);continue}n.set(p,[l])}if(i.length<1)return n;let s=this.renamedParentTypeName||this.originalParentTypeName;t.kind!==Pe.Kind.FIELD_DEFINITION&&this.leafTypeNamesWithAuthorizationDirectives.add(s);let o=(0,st.getValueOrDefault)(this.authorizationDataByParentTypeName,s,()=>(0,st.newAuthorizationData)(s)),u=(0,st.getAuthorizationDataToUpdate)(o,t,this.childName);for(let l of i){if(l.name.value===ve.AUTHENTICATED){u.requiresAuthentication=!0;continue}let p=l.arguments[0].value.values;if(p.length>st.maxOrScopes){this.invalidOrScopesHostPaths.add(r);continue}for(let y of p){let N=new Set;for(let I of y.values)N.add(I.value);N.size&&u.requiredScopes.push(N)}}return n}isTypeNameRootType(t){return ve.ROOT_TYPE_NAMES.has(t)||this.operationTypeNodeByTypeName.has(t)}extractDirectives(t,n,r,i=!1){if(!t.directives)return n;let s=new Set;for(let o of t.directives){let u=(0,Wr.getDirectiveValidationErrors)(o,t.kind,n,this.directiveDefinitionByDirectiveName,this.handledRepeatedDirectivesByHostPath,r,i),l=o.name.value;if(u.length>0){this.errors.push((0,Ae.invalidDirectiveError)(l,r,u));continue}if(ve.IGNORED_PARENT_DIRECTIVES.has(l))continue;if(l===ve.KEY){let p=o.arguments[0].value.value;if(s.has(p))continue;s.add(p)}let d=n.get(l);d?d.push(o):n.set(l,[o])}return n}getNodeExtensionType(t,n,r=!1){return t?Jl.ExtensionType.REAL:r||this.isSubgraphVersionTwo||!n.has(ve.EXTENDS)?Jl.ExtensionType.NONE:Jl.ExtensionType.EXTENDS}setParentDataExtensionType(t,n){switch(t.extensionType){case Jl.ExtensionType.EXTENDS:case Jl.ExtensionType.NONE:{if(n===Jl.ExtensionType.REAL)return;this.errors.push((0,Ae.duplicateTypeDefinitionError)((0,st.kindToTypeString)(t.kind),t.name));return}default:t.extensionType=n}}extractImplementedInterfaceTypeNames(t,n){if(!t.interfaces)return n;let r=t.name.value;for(let i of t.interfaces){let s=i.name.value;if(n.has(s)){this.errors.push((0,Ae.duplicateImplementedInterfaceError)((0,st.kindToConvertedTypeString)(t.kind),r,s));continue}n.add(s)}return n}updateCompositeOutputDataByNode(t,n,r,i){this.setParentDataExtensionType(n,i),this.extractImplementedInterfaceTypeNames(t,n.implementedInterfaceTypeNames),n.isEntity||(n.isEntity=r.has(ve.KEY)),n.isInaccessible||(n.isInaccessible=r.has(ve.INACCESSIBLE)),n.subgraphNames.add(this.subgraphName),n.description||(n.description=(0,Hi.formatDescription)("description"in t?t.description:void 0))}addConcreteTypeNamesForImplementedInterfaces(t,n){for(let r of t)(0,st.getValueOrDefault)(this.concreteTypeNamesByAbstractTypeName,r,()=>new Set).add(n),this.internalGraph.addEdge(this.internalGraph.addOrUpdateNode(r,{isAbstract:!0}),this.internalGraph.addOrUpdateNode(n),n,!0)}upsertInterfaceDataByNode(t,n=!1){let r=t.name.value,i=this.parentDefinitionDataByTypeName.get(r),s=this.extractDirectives(t,(i==null?void 0:i.directivesByDirectiveName)||new Map,r),o=this.getNodeExtensionType(n,s),u=this.entityInterfaceDataByTypeName.get(r);if(u&&t.fields)for(let l of t.fields)u.interfaceFieldNames.add(l.name.value);if(i){if(i.kind!==Pe.Kind.INTERFACE_TYPE_DEFINITION){this.errors.push((0,Ae.multipleNamedTypeDefinitionError)(r,(0,st.kindToTypeString)(i.kind),(0,st.kindToConvertedTypeString)(t.kind)));return}this.updateCompositeOutputDataByNode(t,i,s,o);return}this.parentDefinitionDataByTypeName.set(r,{directivesByDirectiveName:s,extensionType:o,fieldDataByFieldName:new Map,implementedInterfaceTypeNames:this.extractImplementedInterfaceTypeNames(t,new Set),isEntity:s.has(ve.KEY),isInaccessible:s.has(ve.INACCESSIBLE),kind:Pe.Kind.INTERFACE_TYPE_DEFINITION,name:r,node:(0,Wa.getMutableInterfaceNode)(t.name),persistedDirectivesData:(0,Wr.newPersistedDirectivesData)(),subgraphNames:new Set([this.subgraphName]),description:(0,Hi.formatDescription)("description"in t?t.description:void 0)})}getRenamedRootTypeName(t){let n=this.operationTypeNodeByTypeName.get(t);if(!n)return t;switch(n){case Pe.OperationTypeNode.MUTATION:return ve.MUTATION;case Pe.OperationTypeNode.SUBSCRIPTION:return ve.SUBSCRIPTION;default:return ve.QUERY}}addInterfaceObjectFieldsByNode(t){let n=t.name.value,r=this.entityInterfaceDataByTypeName.get(n);if(!(!r||!r.isInterfaceObject||!t.fields))for(let i of t.fields)r.interfaceObjectFieldNames.add(i.name.value)}upsertObjectDataByNode(t,n=!1){let r=t.name.value,i=this.parentDefinitionDataByTypeName.get(r),s=this.extractDirectives(t,(i==null?void 0:i.directivesByDirectiveName)||new Map,r),o=this.isTypeNameRootType(r),u=this.getNodeExtensionType(n,s,o);if(this.addInterfaceObjectFieldsByNode(t),i){if(i.kind!==Pe.Kind.OBJECT_TYPE_DEFINITION){this.errors.push((0,Ae.multipleNamedTypeDefinitionError)(r,(0,st.kindToTypeString)(i.kind),(0,st.kindToConvertedTypeString)(t.kind)));return}this.updateCompositeOutputDataByNode(t,i,s,u),this.addConcreteTypeNamesForImplementedInterfaces(i.implementedInterfaceTypeNames,r);return}let l=this.extractImplementedInterfaceTypeNames(t,new Set);this.addConcreteTypeNamesForImplementedInterfaces(l,r),this.parentDefinitionDataByTypeName.set(r,{directivesByDirectiveName:s,extensionType:u,fieldDataByFieldName:new Map,implementedInterfaceTypeNames:l,isEntity:s.has(ve.KEY),isInaccessible:s.has(ve.INACCESSIBLE),isRootType:o,kind:Pe.Kind.OBJECT_TYPE_DEFINITION,name:r,node:(0,Wa.getMutableObjectNode)(t.name),persistedDirectivesData:(0,Wr.newPersistedDirectivesData)(),renamedTypeName:this.getRenamedRootTypeName(r),subgraphNames:new Set([this.subgraphName]),description:(0,Hi.formatDescription)("description"in t?t.description:void 0)})}upsertEnumDataByNode(t,n=!1){let r=t.name.value;this.internalGraph.addOrUpdateNode(r,{isLeaf:!0});let i=this.parentDefinitionDataByTypeName.get(r),s=this.extractDirectivesAndAuthorization(t,(i==null?void 0:i.directivesByDirectiveName)||new Map),o=this.getNodeExtensionType(n,s);if(i){if(i.kind!==Pe.Kind.ENUM_TYPE_DEFINITION){this.errors.push((0,Ae.multipleNamedTypeDefinitionError)(r,(0,st.kindToTypeString)(i.kind),(0,st.kindToConvertedTypeString)(t.kind)));return}this.setParentDataExtensionType(i,o),i.description||(i.description=(0,Hi.formatDescription)("description"in t?t.description:void 0));return}this.parentDefinitionDataByTypeName.set(r,{appearances:1,directivesByDirectiveName:s,extensionType:o,enumValueDataByValueName:new Map,kind:Pe.Kind.ENUM_TYPE_DEFINITION,name:r,node:(0,Wa.getMutableEnumNode)(t.name),persistedDirectivesData:(0,Wr.newPersistedDirectivesData)(),description:(0,Hi.formatDescription)("description"in t?t.description:void 0)})}upsertInputObjectByNode(t,n=!1){let r=t.name.value,i=this.parentDefinitionDataByTypeName.get(r),s=this.extractDirectives(t,(i==null?void 0:i.directivesByDirectiveName)||new Map,r),o=this.getNodeExtensionType(n,s);if(i){if(i.kind!==Pe.Kind.INPUT_OBJECT_TYPE_DEFINITION){this.errors.push((0,Ae.multipleNamedTypeDefinitionError)(r,(0,st.kindToTypeString)(i.kind),(0,st.kindToConvertedTypeString)(t.kind)));return}this.setParentDataExtensionType(i,o),i.isInaccessible||(i.isInaccessible=s.has(ve.INACCESSIBLE)),i.subgraphNames.add(this.subgraphName),i.description||(i.description=(0,Hi.formatDescription)("description"in t?t.description:void 0));return}this.parentDefinitionDataByTypeName.set(r,{directivesByDirectiveName:s,extensionType:o,inputValueDataByValueName:new Map,isInaccessible:s.has(ve.INACCESSIBLE),kind:Pe.Kind.INPUT_OBJECT_TYPE_DEFINITION,name:r,node:(0,Wa.getMutableInputObjectNode)(t.name),persistedDirectivesData:(0,Wr.newPersistedDirectivesData)(),subgraphNames:new Set([this.subgraphName]),description:(0,Hi.formatDescription)("description"in t?t.description:void 0)})}upsertScalarByNode(t,n=!1){let r=t.name.value;this.internalGraph.addOrUpdateNode(r,{isLeaf:!0});let i=this.parentDefinitionDataByTypeName.get(r),s=this.extractDirectivesAndAuthorization(t,(i==null?void 0:i.directivesByDirectiveName)||new Map),o=this.getNodeExtensionType(n,s);if(i){if(i.kind!==Pe.Kind.SCALAR_TYPE_DEFINITION){this.errors.push((0,Ae.multipleNamedTypeDefinitionError)(r,(0,st.kindToTypeString)(i.kind),(0,st.kindToConvertedTypeString)(t.kind)));return}this.setParentDataExtensionType(i,o),i.description||(i.description=(0,Hi.formatDescription)("description"in t?t.description:void 0));return}this.parentDefinitionDataByTypeName.set(r,{directivesByDirectiveName:s,extensionType:o,kind:Pe.Kind.SCALAR_TYPE_DEFINITION,name:r,node:(0,Wa.getMutableScalarNode)(t.name),persistedDirectivesData:(0,Wr.newPersistedDirectivesData)(),description:(0,Hi.formatDescription)("description"in t?t.description:void 0)})}extractUnionMembers(t,n){if(!t.types)return n;let r=t.name.value;for(let i of t.types){let s=i.name.value;if(n.has(s)){this.errors.push((0,Ae.duplicateUnionMemberDefinitionError)(r,s));continue}(0,st.getValueOrDefault)(this.concreteTypeNamesByAbstractTypeName,r,()=>new Set).add(s),zi.BASE_SCALARS.has(s)||this.referencedTypeNames.add(s),n.set(s,i)}return n}upsertUnionByNode(t,n=!1){let r=t.name.value,i=this.parentDefinitionDataByTypeName.get(r),s=this.extractDirectives(t,(i==null?void 0:i.directivesByDirectiveName)||new Map,r),o=this.getNodeExtensionType(n,s);if(this.addConcreteTypeNamesForUnion(t),i){if(i.kind!==Pe.Kind.UNION_TYPE_DEFINITION){this.errors.push((0,Ae.multipleNamedTypeDefinitionError)(r,(0,st.kindToTypeString)(i.kind),(0,st.kindToConvertedTypeString)(t.kind)));return}this.setParentDataExtensionType(i,o),this.extractUnionMembers(t,i.memberByMemberTypeName),i.description||(i.description=(0,Hi.formatDescription)("description"in t?t.description:void 0));return}this.parentDefinitionDataByTypeName.set(r,{directivesByDirectiveName:s,extensionType:o,kind:Pe.Kind.UNION_TYPE_DEFINITION,memberByMemberTypeName:this.extractUnionMembers(t,new Map),name:r,node:(0,Wa.getMutableUnionNode)(t.name),persistedDirectivesData:(0,Wr.newPersistedDirectivesData)(),description:(0,Hi.formatDescription)("description"in t?t.description:void 0)})}extractKeyFieldSets(t,n){var o;let r=n.isUnresolvableByKeyFieldSet,i=t.name.value;if(!((o=t.directives)!=null&&o.length)){this.errors.push((0,Ae.expectedEntityError)(i));return}let s=[];for(let u of t.directives){if(u.name.value!==ve.KEY)continue;if(!u.arguments||u.arguments.length<1){s.push((0,Ae.undefinedRequiredArgumentsErrorMessage)(ve.KEY,i,[ve.FIELDS]));continue}let l,d=!1;for(let p of u.arguments){if(p.name.value===ve.RESOLVABLE){p.value.kind===Pe.Kind.BOOLEAN&&!p.value.value&&(d=!0);continue}if(p.name.value!==ve.FIELDS){l=void 0;break}if(p.value.kind!==Pe.Kind.STRING){l=void 0,s.push((0,Ae.invalidKeyDirectiveArgumentErrorMessage)(p.value.kind));break}l=p.value.value}l!==void 0&&r.set(l,d)}s.length&&this.errors.push((0,Ae.invalidKeyDirectivesError)(i,s))}validateInterfaceImplementations(t){if(t.implementedInterfaceTypeNames.size<1)return;let n=t.directivesByDirectiveName.has(ve.INACCESSIBLE),r=new Map,i=new Map,s=!1;for(let o of t.implementedInterfaceTypeNames){let u=this.parentDefinitionDataByTypeName.get(o);if(!u){this.errors.push((0,Ae.undefinedTypeError)(o));continue}if(u.kind!==Pe.Kind.INTERFACE_TYPE_DEFINITION){i.set(u.name,(0,st.kindToTypeString)(u.kind));continue}if(t.name===u.name){s=!0;continue}let l={invalidFieldImplementations:new Map,unimplementedFields:[]},d=!1;for(let[p,y]of u.fieldDataByFieldName){let N=!1,I=t.fieldDataByFieldName.get(p);if(!I){d=!0,l.unimplementedFields.push(p);continue}let O={invalidAdditionalArguments:new Set,invalidImplementedArguments:[],isInaccessible:!1,originalResponseType:(0,Ha.printTypeNode)(y.node.type),unimplementedArguments:new Set};(0,Wr.isTypeValidImplementation)(y.node.type,I.node.type,this.concreteTypeNamesByAbstractTypeName)||(d=!0,N=!0,O.implementedResponseType=(0,Ha.printTypeNode)(I.node.type));let x=new Set;for(let[j,Q]of y.argumentDataByArgumentName){x.add(j);let re=I.argumentDataByArgumentName.get(j);if(!re){d=!0,N=!0,O.unimplementedArguments.add(j);continue}let se=(0,Ha.printTypeNode)(re.type),pe=(0,Ha.printTypeNode)(Q.type);pe!==se&&(d=!0,N=!0,O.invalidImplementedArguments.push({actualType:se,argumentName:j,expectedType:pe}))}for(let[j,Q]of I.argumentDataByArgumentName)x.has(j)||Q.type.kind===Pe.Kind.NON_NULL_TYPE&&(d=!0,N=!0,O.invalidAdditionalArguments.add(j));!n&&I.isInaccessible&&!y.isInaccessible&&(d=!0,N=!0,O.isInaccessible=!0),N&&l.invalidFieldImplementations.set(p,O)}d&&r.set(o,l)}i.size>0&&this.errors.push((0,Ae.invalidImplementedTypeError)(t.name,i)),s&&this.errors.push((0,Ae.selfImplementationError)(t.name)),r.size>0&&this.errors.push((0,Ae.invalidInterfaceImplementationError)(t.name,(0,st.kindToTypeString)(t.kind),r))}handleOverrideDeclaration(t,n,r){let i=t.arguments[0];if(i.value.kind!==Pe.Kind.STRING){r.push((0,Ae.invalidDirectiveArgumentTypeErrorMessage)(!0,ve.FROM,Pe.Kind.STRING,i.value.kind));return}let s=i.value.value;if(s===this.subgraphName){r.push((0,Ae.equivalentSourceAndTargetOverrideErrorMessage)(s,n));return}let o=(0,st.getValueOrDefault)(this.overridesByTargetSubgraphName,s,()=>new Map);(0,st.getValueOrDefault)(o,this.renamedParentTypeName||this.originalParentTypeName,()=>new Set).add(this.childName)}getKafkaPublishConfiguration(t,n,r){let i=[],s=ve.DEFAULT_EDFS_PROVIDER_ID;for(let o of t.arguments||[])switch(o.name.value){case ve.TOPIC:{if(o.value.kind!==Pe.Kind.STRING||o.value.value.length<1){r.push((0,Ae.invalidEventSubjectErrorMessage)(ve.TOPIC));continue}(0,wc.validateArgumentTemplateReferences)(o.value.value,n,r),i.push(o.value.value);break}case ve.PROVIDER_ID:{if(o.value.kind!==Pe.Kind.STRING||o.value.value.length<1){r.push(Ae.invalidEventProviderIdErrorMessage);continue}s=o.value.value;break}}if(!(r.length>0))return{fieldName:this.childName,providerId:s,providerType:ve.PROVIDER_TYPE_KAFKA,topics:i,type:ve.PUBLISH}}getKafkaSubscribeConfiguration(t,n,r){let i=[],s=ve.DEFAULT_EDFS_PROVIDER_ID;for(let o of t.arguments||[])switch(o.name.value){case ve.TOPICS:{if(o.value.kind!==Pe.Kind.LIST){r.push((0,Ae.invalidEventSubjectsErrorMessage)(ve.TOPICS));continue}for(let u of o.value.values){if(u.kind!==Pe.Kind.STRING||u.value.length<1){r.push((0,Ae.invalidEventSubjectsItemErrorMessage)(ve.TOPICS));break}(0,wc.validateArgumentTemplateReferences)(u.value,n,r),i.push(u.value)}break}case ve.PROVIDER_ID:{if(o.value.kind!==Pe.Kind.STRING||o.value.value.length<1){r.push(Ae.invalidEventProviderIdErrorMessage);continue}s=o.value.value;break}}if(!(r.length>0))return{fieldName:this.childName,providerId:s,providerType:ve.PROVIDER_TYPE_KAFKA,topics:i,type:ve.SUBSCRIBE}}getNatsPublishAndRequestConfiguration(t,n,r,i){let s=[],o=ve.DEFAULT_EDFS_PROVIDER_ID;for(let u of n.arguments||[])switch(u.name.value){case ve.SUBJECT:{if(u.value.kind!==Pe.Kind.STRING||u.value.value.length<1){i.push((0,Ae.invalidEventSubjectErrorMessage)(ve.SUBJECT));continue}(0,wc.validateArgumentTemplateReferences)(u.value.value,r,i),s.push(u.value.value);break}case ve.PROVIDER_ID:{if(u.value.kind!==Pe.Kind.STRING||u.value.value.length<1){i.push(Ae.invalidEventProviderIdErrorMessage);continue}o=u.value.value;break}}if(!(i.length>0))return{fieldName:this.childName,providerId:o,providerType:ve.PROVIDER_TYPE_NATS,subjects:s,type:t}}getNatsSubscribeConfiguration(t,n,r){let i=[],s=ve.DEFAULT_EDFS_PROVIDER_ID,o="",u="";for(let l of t.arguments||[])switch(l.name.value){case ve.SUBJECTS:{if(l.value.kind!==Pe.Kind.LIST){r.push((0,Ae.invalidEventSubjectsErrorMessage)(ve.SUBJECTS));continue}for(let d of l.value.values){if(d.kind!==Pe.Kind.STRING||d.value.length<1){r.push((0,Ae.invalidEventSubjectsItemErrorMessage)(ve.SUBJECTS));break}(0,wc.validateArgumentTemplateReferences)(d.value,n,r),i.push(d.value)}break}case ve.PROVIDER_ID:{if(l.value.kind!==Pe.Kind.STRING||l.value.value.length<1){r.push(Ae.invalidEventProviderIdErrorMessage);continue}s=l.value.value;break}case ve.STREAM_CONFIGURATION:{if(l.value.kind!==Pe.Kind.OBJECT||l.value.fields.length<1){r.push(Ae.invalidNatsStreamInputErrorMessage);continue}let d=!0,p=new Set,y=new Set([ve.CONSUMER_NAME,ve.STREAM_NAME]),N=new Set,I=new Set;for(let O of l.value.fields){let x=O.name.value;if(!ve.STREAM_CONFIGURATION_FIELD_NAMES.has(x)){p.add(x),d=!1;continue}if(y.has(x))y.delete(x);else{N.add(x),d=!1;continue}if(O.value.kind!==Pe.Kind.STRING||O.value.value.length<1){I.add(x),d=!1;continue}switch(x){case ve.CONSUMER_NAME:o=O.value.value;break;case ve.STREAM_NAME:u=O.value.value;break}}(!d||y.size>0)&&r.push((0,Ae.invalidNatsStreamInputFieldsErrorMessage)([...y],[...N],[...I],[...p]))}}if(!(r.length>0))return k({fieldName:this.childName,providerId:s,providerType:ve.PROVIDER_TYPE_NATS,subjects:i,type:ve.SUBSCRIBE},o&&u?{streamConfiguration:{consumerName:o,streamName:u}}:{})}validateSubscriptionFilterDirectiveLocation(t){if(!t.directives)return;let n=this.renamedParentTypeName||this.originalParentTypeName,r=`${n}.${t.name.value}`,i=this.getOperationTypeNodeForRootTypeName(n)===Pe.OperationTypeNode.SUBSCRIPTION;for(let s of t.directives)if(s.name.value===ve.SUBSCRIPTION_FILTER&&!i){this.errors.push((0,Ae.invalidSubscriptionFilterLocationError)(r));return}}extractEventDirectivesToConfiguration(t,n){if(!t.directives)return;let r=`${this.renamedParentTypeName||this.originalParentTypeName}.${this.childName}`;for(let i of t.directives){let s=[],o;switch(i.name.value){case ve.EDFS_KAFKA_PUBLISH:o=this.getKafkaPublishConfiguration(i,n,s);break;case ve.EDFS_KAFKA_SUBSCRIBE:o=this.getKafkaSubscribeConfiguration(i,n,s);break;case ve.EDFS_NATS_PUBLISH:{o=this.getNatsPublishAndRequestConfiguration(ve.PUBLISH,i,n,s);break}case ve.EDFS_NATS_REQUEST:{o=this.getNatsPublishAndRequestConfiguration(ve.REQUEST,i,n,s);break}case ve.EDFS_NATS_SUBSCRIBE:{o=this.getNatsSubscribeConfiguration(i,n,s);break}default:continue}if(s.length>0){this.errors.push((0,Ae.invalidEventDirectiveError)(i.name.value,r,s));continue}o&&(0,st.getValueOrDefault)(this.eventsConfigurations,this.renamedParentTypeName||this.originalParentTypeName,()=>[]).push(o)}}getValidEventsDirectiveNamesForOperationTypeNode(t){switch(t){case Pe.OperationTypeNode.MUTATION:return new Set([ve.EDFS_KAFKA_PUBLISH,ve.EDFS_NATS_PUBLISH,ve.EDFS_NATS_REQUEST]);case Pe.OperationTypeNode.QUERY:return new Set([ve.EDFS_NATS_REQUEST]);case Pe.OperationTypeNode.SUBSCRIPTION:return new Set([ve.EDFS_KAFKA_SUBSCRIBE,ve.EDFS_NATS_SUBSCRIBE])}}getOperationTypeNodeForRootTypeName(t){let n=this.operationTypeNodeByTypeName.get(t);if(n)return n;switch(t){case ve.MUTATION:return Pe.OperationTypeNode.MUTATION;case ve.QUERY:return Pe.OperationTypeNode.QUERY;case ve.SUBSCRIPTION:return Pe.OperationTypeNode.SUBSCRIPTION;default:return}}validateEventDrivenRootType(t,n,r,i){let s=this.getOperationTypeNodeForRootTypeName(t.name);if(!s){this.errors.push((0,Ae.invalidRootTypeError)(t.name));return}let o=this.getValidEventsDirectiveNamesForOperationTypeNode(s);for(let[u,l]of t.fieldDataByFieldName){let d=`${l.originalParentTypeName}.${u}`,p=new Set;for(let j of ve.EVENT_DIRECTIVE_NAMES)l.directivesByDirectiveName.has(j)&&p.add(j);let y=new Set;for(let j of p)o.has(j)||y.add(j);if((p.size<1||y.size>0)&&n.set(d,{definesDirectives:p.size>0,invalidDirectiveNames:[...y]}),s===Pe.OperationTypeNode.MUTATION){let j=(0,Ha.printTypeNode)(l.type);j!==ve.NON_NULLABLE_EDFS_PUBLISH_EVENT_RESULT&&i.set(d,j);continue}let N=(0,Ha.printTypeNode)(l.type),I=l.namedTypeName+"!",O=!1,x=this.concreteTypeNamesByAbstractTypeName.get(l.namedTypeName)||new Set([l.namedTypeName]);for(let j of x)if(O||(O=this.entityDataByTypeName.has(j)),O)break;(!O||N!==I)&&r.set(d,N)}}validateEventDrivenKeyDefinition(t,n){let r=this.keyFieldSetDataByTypeName.get(t);if(r)for(let[i,s]of r.isUnresolvableByKeyFieldSet)s||(0,st.getValueOrDefault)(n,t,()=>[]).push(i)}validateEventDrivenObjectFields(t,n,r,i){for(let[s,o]of t){let u=`${o.originalParentTypeName}.${s}`;if(n.has(s)){o.isExternalBySubgraphName.get(this.subgraphName)||r.set(u,s);continue}i.set(u,s)}}isEdfsPublishResultValid(){let t=this.parentDefinitionDataByTypeName.get(ve.EDFS_PUBLISH_RESULT);if(!t)return!0;if(t.kind!==Pe.Kind.OBJECT_TYPE_DEFINITION||t.fieldDataByFieldName.size!=1)return!1;for(let[n,r]of t.fieldDataByFieldName)if(r.argumentDataByArgumentName.size>0||n!==ve.SUCCESS||(0,Ha.printTypeNode)(r.type)!==ve.NON_NULLABLE_BOOLEAN)return!1;return!0}isNatsStreamConfigurationInputObjectValid(t){if(t.kind!==Pe.Kind.INPUT_OBJECT_TYPE_DEFINITION||t.inputValueDataByValueName.size!=2)return!1;let n=new Set([ve.CONSUMER_NAME,ve.STREAM_NAME]);for(let[r,i]of t.inputValueDataByValueName)if(!n.has(r)||(n.delete(r),(0,Ha.printTypeNode)(i.type)!==ve.NON_NULLABLE_STRING))return!1;return n.size<1}validateEventDrivenSubgraph(){let t=[],n=new Map,r=new Map,i=new Map,s=new Map,o=new Map,u=new Map,l=new Set,d=new Set;for(let[p,y]of this.parentDefinitionDataByTypeName){if(p===ve.EDFS_PUBLISH_RESULT||p===ve.EDFS_NATS_STREAM_CONFIGURATION||y.kind!==Pe.Kind.OBJECT_TYPE_DEFINITION)continue;if(y.isRootType){this.validateEventDrivenRootType(y,n,r,i);continue}let N=this.keyFieldNamesByParentTypeName.get(p);if(!N){d.add(p);continue}this.validateEventDrivenKeyDefinition(p,s),this.validateEventDrivenObjectFields(y.fieldDataByFieldName,N,o,u)}if(this.isEdfsPublishResultValid()||t.push(Ae.invalidEdfsPublishResultObjectErrorMessage),this.edfsDirectiveReferences.has(ve.EDFS_NATS_SUBSCRIBE)){let p=this.parentDefinitionDataByTypeName.get(ve.EDFS_NATS_STREAM_CONFIGURATION);p?this.isNatsStreamConfigurationInputObjectValid(p)||t.push(Ae.invalidNatsStreamConfigurationDefinitionErrorMessage):t.push(Ae.undefinedNatsStreamConfigurationInputErrorMessage)}n.size>0&&t.push((0,Ae.invalidRootTypeFieldEventsDirectivesErrorMessage)(n)),i.size>0&&t.push((0,Ae.invalidEventDrivenMutationResponseTypeErrorMessage)(i)),r.size>0&&t.push((0,Ae.invalidRootTypeFieldResponseTypesEventDrivenErrorMessage)(r)),s.size>0&&t.push((0,Ae.invalidKeyFieldSetsEventDrivenErrorMessage)(s)),o.size>0&&t.push((0,Ae.nonExternalKeyFieldNamesEventDrivenErrorMessage)(o)),u.size>0&&t.push((0,Ae.nonKeyFieldNamesEventDrivenErrorMessage)(u)),l.size>0&&t.push((0,Ae.nonEntityObjectExtensionsEventDrivenErrorMessage)([...l])),d.size>0&&t.push((0,Ae.nonKeyComposingObjectTypeNamesEventDrivenErrorMessage)([...d])),t.length>0&&this.errors.push((0,Ae.invalidEventDrivenGraphError)(t))}validateUnionMembers(t){if(t.memberByMemberTypeName.size<1){this.errors.push((0,Ae.noDefinedUnionMembersError)(t.name));return}let n=[];for(let r of t.memberByMemberTypeName.keys()){let i=this.parentDefinitionDataByTypeName.get(r);i&&i.kind!==Pe.Kind.OBJECT_TYPE_DEFINITION&&n.push(`"${r}", which is type "${(0,st.kindToTypeString)(i.kind)}"`)}n.length>0&&this.errors.push((0,Ae.invalidUnionMemberTypeError)(t.name,n))}addConcreteTypeNamesForUnion(t){if(!t.types||t.types.length<1)return;let n=t.name.value;for(let r of t.types){let i=r.name.value;(0,st.getValueOrDefault)(this.concreteTypeNamesByAbstractTypeName,n,()=>new Set).add(i),this.internalGraph.addEdge(this.internalGraph.addOrUpdateNode(n,{isAbstract:!0}),this.internalGraph.addOrUpdateNode(i),i,!0)}}validateAndAddKeyToConfiguration(t,n){let r=(0,st.getOrThrowError)(this.configurationDataByParentTypeName,(0,Wr.getParentTypeName)(t),"configurationDataByParentTypeName"),i=(0,wc.validateKeyFieldSets)(this,t,n.isUnresolvableByKeyFieldSet,r.fieldNames);i&&(r.keys=i)}validateAndAddKeysToConfiguration(){for(let[t,n]of this.keyFieldSetDataByTypeName){let r=this.parentDefinitionDataByTypeName.get(t);if(!r||r.kind!==Pe.Kind.OBJECT_TYPE_DEFINITION&&r.kind!==Pe.Kind.INTERFACE_TYPE_DEFINITION){this.errors.push((0,Ae.undefinedObjectLikeParentError)(t));continue}this.validateAndAddKeyToConfiguration(r,n)}}normalize(t){(0,$R.upsertDirectiveSchemaAndEntityDefinitions)(this,t),(0,$R.upsertParentsAndChildren)(this,t),(0,$R.consolidateAuthorizationDirectives)(this,t);for(let s of this.interfaceTypeNamesWithAuthorizationDirectives){let o=this.authorizationDataByParentTypeName.get(s);if(!o)continue;let u=this.concreteTypeNamesByAbstractTypeName.get(s);for(let l of u||[]){let d=(0,st.getValueOrDefault)(this.authorizationDataByParentTypeName,l,()=>(0,st.newAuthorizationData)(l));for(let[p,y]of o.fieldAuthorizationDataByFieldName)(0,st.upsertFieldAuthorizationData)(d.fieldAuthorizationDataByFieldName,y)||this.invalidOrScopesHostPaths.add(`${l}.${p}`)}}for(let[s,o]of this.heirFieldAuthorizationDataByTypeName){let u=this.authorizationDataByParentTypeName.get(s);if(u)for(let l of o)(0,st.mergeAuthorizationDataByAND)(u,l)||this.invalidOrScopesHostPaths.add(`${s}.${l.fieldName}`)}this.invalidOrScopesHostPaths.size>0&&this.errors.push((0,Ae.orScopesLimitError)(st.maxOrScopes,[...this.invalidOrScopesHostPaths]));let n=[];for(let s of zi.BASE_DIRECTIVE_DEFINITIONS)n.push(s);if(n.push(zi.FIELD_SET_SCALAR_DEFINITION),this.isSubgraphVersionTwo){for(let s of zi.VERSION_TWO_DIRECTIVE_DEFINITIONS)n.push(s),this.directiveDefinitionByDirectiveName.set(s.name.value,s);n.push(zi.SCOPE_SCALAR_DEFINITION)}for(let s of this.edfsDirectiveReferences){let o=zi.EVENT_DRIVEN_DIRECTIVE_DEFINITIONS_BY_DIRECTIVE_NAME.get(s);if(!o){this.errors.push((0,Ae.invalidEdfsDirectiveName)(s));continue}n.push(o)}this.edfsDirectiveReferences.size>0&&this.referencedDirectiveNames.has(ve.SUBSCRIPTION_FILTER)&&(this.directiveDefinitionByDirectiveName.set(ve.SUBSCRIPTION_FILTER,zi.SUBSCRIPTION_FILTER_DEFINITION),n.push(zi.SUBSCRIPTION_FILTER_DEFINITION),n.push(zi.SUBSCRIPTION_FILTER_CONDITION_DEFINITION),n.push(zi.SUBSCRIPTION_FIELD_CONDITION_DEFINITION),n.push(zi.SUBSCRIPTION_FILTER_VALUE_DEFINITION));for(let s of this.customDirectiveDefinitions.values())n.push(s);this.schemaDefinition.operationTypes.size>0&&n.push((0,Wr.getSchemaNodeByData)(this.schemaDefinition,this.errors,this.directiveDefinitionByDirectiveName));for(let[s,o]of this.parentDefinitionDataByTypeName)switch(o.kind){case Pe.Kind.ENUM_TYPE_DEFINITION:if(o.enumValueDataByValueName.size<1){this.errors.push((0,Ae.noDefinedEnumValuesError)(s));break}n.push((0,Wr.getEnumNodeByData)(o,this.errors,this.directiveDefinitionByDirectiveName,this.authorizationDataByParentTypeName));break;case Pe.Kind.INPUT_OBJECT_TYPE_DEFINITION:if(o.inputValueDataByValueName.size<1){this.errors.push((0,Ae.noInputValueDefinitionsError)(s));break}n.push((0,Wr.getInputObjectNodeByData)(o,this.errors,this.directiveDefinitionByDirectiveName,this.authorizationDataByParentTypeName));break;case Pe.Kind.INTERFACE_TYPE_DEFINITION:case Pe.Kind.OBJECT_TYPE_DEFINITION:let u=this.entityDataByTypeName.has(s),l=this.operationTypeNodeByTypeName.get(s),d=o.kind===Pe.Kind.OBJECT_TYPE_DEFINITION;if(l&&(o.fieldDataByFieldName.delete(ve.SERVICE_FIELD),o.fieldDataByFieldName.delete(ve.ENTITIES_FIELD)),this.parentsWithChildArguments.has(s)||!d){let O=[];for(let[x,j]of o.fieldDataByFieldName)!d&&j.isExternalBySubgraphName.get(this.subgraphName)&&O.push(x),this.validateArguments(j,`${s}.${x}`);O.length>0&&(this.isSubgraphVersionTwo?this.errors.push((0,Ae.externalInterfaceFieldsError)(s,O)):this.warnings.push((0,qR.externalInterfaceFieldsWarning)(this.subgraphName,s,O)))}let p=o.kind===Pe.Kind.OBJECT_TYPE_DEFINITION&&o.renamedTypeName||s,y={fieldNames:new Set,isRootNode:u,typeName:p},N=this.entityInterfaceDataByTypeName.get(s);N&&(N.fieldDatas=(0,st.fieldDatasToSimpleFieldDatas)(o.fieldDataByFieldName.values()),N.concreteTypeNames=(0,st.getValueOrDefault)(this.concreteTypeNamesByAbstractTypeName,s,()=>new Set),y.isInterfaceObject=N.isInterfaceObject,y.entityInterfaceConcreteTypeNames=N.concreteTypeNames);let I=this.eventsConfigurations.get(p);I&&(y.events=I),this.configurationDataByParentTypeName.set(p,y),(0,wc.addFieldNamesToConfigurationData)(o.fieldDataByFieldName,y),this.validateInterfaceImplementations(o),n.push((0,Wr.getCompositeOutputNodeByData)(o,this.errors,this.directiveDefinitionByDirectiveName,this.authorizationDataByParentTypeName)),o.fieldDataByFieldName.size<1&&!(0,wc.isNodeQuery)(s,l)&&this.errors.push((0,Ae.noFieldDefinitionsError)((0,st.kindToTypeString)(o.kind),s));break;case Pe.Kind.SCALAR_TYPE_DEFINITION:if(o.extensionType===Jl.ExtensionType.REAL){this.errors.push((0,Ae.noBaseScalarDefinitionError)(s));break}n.push((0,Wr.getScalarNodeByData)(o,this.errors,this.directiveDefinitionByDirectiveName));break;case Pe.Kind.UNION_TYPE_DEFINITION:n.push((0,Wr.getUnionNodeByData)(o,this.errors,this.directiveDefinitionByDirectiveName)),this.validateUnionMembers(o);break;default:throw(0,Ae.unexpectedKindFatalError)(s)}for(let s of Object.values(Pe.OperationTypeNode)){let o=this.schemaDefinition.operationTypes.get(s),u=(0,st.getOrThrowError)(Hi.operationTypeNodeToDefaultType,s,ve.OPERATION_TO_DEFAULT),l=o?(0,Wa.getTypeNodeNamedTypeName)(o.type):u;if(l!==u&&this.parentDefinitionDataByTypeName.has(u)){this.errors.push((0,Ae.invalidRootTypeDefinitionError)(s,l,u));continue}let d=this.parentDefinitionDataByTypeName.get(l);if(o){if(!d){this.errors.push((0,Ae.undefinedTypeError)(l));continue}this.operationTypeNodeByTypeName.set(l,s)}if(!d)continue;let p=this.configurationDataByParentTypeName.get(u);if(p&&(p.isRootNode=!0,p.typeName=u),d.kind!==Pe.Kind.OBJECT_TYPE_DEFINITION){this.errors.push((0,Ae.operationDefinitionError)(l,s,d.kind));continue}for(let y of d.fieldDataByFieldName.values()){let N=(0,Wa.getTypeNodeNamedTypeName)(y.node.type);!zi.BASE_SCALARS.has(N)&&!this.parentDefinitionDataByTypeName.has(N)&&this.errors.push((0,Ae.undefinedTypeError)(N))}}for(let s of this.referencedTypeNames){let o=this.parentDefinitionDataByTypeName.get(s);if(o){if(o.kind!==Pe.Kind.INTERFACE_TYPE_DEFINITION)continue;let u=this.concreteTypeNamesByAbstractTypeName.get(s);(!u||u.size<0)&&this.warnings.push((0,qR.unimplementedInterfaceOutputTypeWarning)(this.subgraphName,s));continue}this.entityDataByTypeName.has(s)||this.errors.push((0,Ae.undefinedTypeError)(s))}this.validateAndAddKeysToConfiguration();for(let[s,o]of this.fieldSetDataByTypeName){let u=this.parentDefinitionDataByTypeName.get(s);if(!u||u.kind!==Pe.Kind.OBJECT_TYPE_DEFINITION&&u.kind!==Pe.Kind.INTERFACE_TYPE_DEFINITION){this.errors.push((0,Ae.undefinedObjectLikeParentError)(s));continue}(0,wc.validateAndAddConditionalFieldSetsToConfiguration)(this,u,o)}let r=new Map;for(let s of this.directiveDefinitionByDirectiveName.values()){let o=(0,Hi.extractExecutableDirectiveLocations)(s.locations,new Set);o.size<1||(0,Wr.addPersistedDirectiveDefinitionDataByNode)(r,s,this.errors,this.directiveDefinitionByDirectiveName,this.handledRepeatedDirectivesByHostPath,o,this.subgraphName)}if(this.isSubgraphEventDrivenGraph=this.edfsDirectiveReferences.size>0,this.isSubgraphEventDrivenGraph&&this.validateEventDrivenSubgraph(),this.errors.length>0)return{errors:this.errors,warnings:this.warnings};let i={kind:Pe.Kind.DOCUMENT,definitions:n};return{normalizationResult:{authorizationDataByParentTypeName:this.authorizationDataByParentTypeName,concreteTypeNamesByAbstractTypeName:this.concreteTypeNamesByAbstractTypeName,conditionalFieldDataByCoordinates:this.conditionalFieldDataByCoordinates,configurationDataByTypeName:this.configurationDataByParentTypeName,entityDataByTypeName:this.entityDataByTypeName,entityInterfaces:this.entityInterfaceDataByTypeName,isEventDrivenGraph:this.isSubgraphEventDrivenGraph,isVersionTwo:this.isSubgraphVersionTwo,keyFieldNamesByParentTypeName:this.keyFieldNamesByParentTypeName,operationTypes:this.operationTypeNodeByTypeName,originalTypeNameByRenamedTypeName:this.originalTypeNameByRenamedTypeName,overridesByTargetSubgraphName:this.overridesByTargetSubgraphName,parentDefinitionDataByTypeName:this.parentDefinitionDataByTypeName,persistedDirectiveDefinitionDataByDirectiveName:r,subgraphAST:i,subgraphString:(0,Pe.print)(i),schema:(0,ode.buildASTSchema)(i,{assumeValid:!0,assumeValidSDL:!0})},warnings:this.warnings}}};zl.NormalizationFactory=fT;function cde(e){let t=new Map,n=new Map,r=new Map,i=new Map,s=new Map,o=new Map,u=new Set,l=new Map,d=new Set,p=new Set,y=[],N=new Set,I=[],O=[];for(let Q of e)Q.name&&(0,ade.recordSubgraphName)(Q.name,d,p);let x=new KR.Graph;for(let Q=0;Q0&&I.push(...Ce),pe){O.push((0,Ae.subgraphValidationError)(se,pe));continue}if(!ye){O.push((0,Ae.subgraphValidationError)(se,[Ae.subgraphValidationFailureError]));continue}l.set(se,ye.parentDefinitionDataByTypeName);for(let ht of ye.authorizationDataByParentTypeName.values())(0,st.upsertAuthorizationData)(t,ht,N);for(let[ht,xt]of ye.concreteTypeNamesByAbstractTypeName){let B=n.get(ht);if(!B){n.set(ht,new Set(xt));continue}(0,st.addIterableValuesToSet)(xt,B)}for(let ht of ye.entityDataByTypeName.values())(0,st.upsertEntityData)(r,ht);if(re.name&&i.set(se,{conditionalFieldDataByCoordinates:ye.conditionalFieldDataByCoordinates,configurationDataByTypeName:ye.configurationDataByTypeName,definitions:ye.subgraphAST,entityInterfaces:ye.entityInterfaces,isVersionTwo:ye.isVersionTwo,keyFieldNamesByParentTypeName:ye.keyFieldNamesByParentTypeName,name:se,operationTypes:ye.operationTypes,overriddenFieldNamesByParentTypeName:new Map,parentDefinitionDataByTypeName:ye.parentDefinitionDataByTypeName,persistedDirectiveDefinitionDataByDirectiveName:ye.persistedDirectiveDefinitionDataByDirectiveName,schema:ye.schema,url:re.url}),!(ye.overridesByTargetSubgraphName.size<1))for(let[ht,xt]of ye.overridesByTargetSubgraphName){let B=d.has(ht);for(let[he,nt]of xt){let Ct=ye.originalTypeNameByRenamedTypeName.get(he)||he;if(!B)I.push((0,qR.invalidOverrideTargetSubgraphNameWarning)(ht,Ct,[...nt],re.name));else{let sn=(0,st.getValueOrDefault)(s,ht,()=>new Map),Fn=(0,st.getValueOrDefault)(sn,he,()=>new Set(nt));(0,st.addIterableValuesToSet)(nt,Fn)}for(let sn of nt){let Fn=`${Ct}.${sn}`,_n=o.get(Fn);if(!_n){o.set(Fn,[se]);continue}_n.push(se),u.add(Fn)}}}}let j=[];if(N.size>0&&j.push((0,Ae.orScopesLimitError)(st.maxOrScopes,[...N])),(y.length>0||p.size>0)&&j.push((0,Ae.invalidSubgraphNamesError)([...p],y)),u.size>0){let Q=[];for(let re of u){let se=(0,st.getOrThrowError)(o,re,"overrideSourceSubgraphNamesByFieldPath");Q.push((0,Ae.duplicateOverriddenFieldErrorMessage)(re,se))}j.push((0,Ae.duplicateOverriddenFieldsError)(Q))}if(j.push(...O),j.length>0)return{authorizationDataByParentTypeName:t,concreteTypeNamesByAbstractTypeName:n,entityDataByTypeName:r,errors:j,internalSubgraphBySubgraphName:i,internalGraph:x,warnings:I};for(let[Q,re]of s){let se=(0,st.getOrThrowError)(i,Q,"internalSubgraphBySubgraphName");se.overriddenFieldNamesByParentTypeName=re;for(let[pe,ye]of re){let Ce=se.configurationDataByTypeName.get(pe);Ce&&((0,st.subtractSourceSetFromTargetSet)(ye,Ce.fieldNames),Ce.fieldNames.size<1&&se.configurationDataByTypeName.delete(pe))}}return{authorizationDataByParentTypeName:t,concreteTypeNamesByAbstractTypeName:n,entityDataByTypeName:r,internalSubgraphBySubgraphName:i,internalGraph:x,warnings:I}}});var aI=V(Xl=>{"use strict";m();T();h();Object.defineProperty(Xl,"__esModule",{value:!0});Xl.DivergentType=void 0;Xl.getLeastRestrictiveMergedTypeNode=dde;Xl.getMostRestrictiveMergedTypeNode=pde;Xl.renameNamedTypeName=fde;var Hl=(we(),Me(je)),Oq=To(),lde=$a(),bq=Vi(),Sq=Oh(),Wl;(function(e){e[e.NONE=0]="NONE",e[e.CURRENT=1]="CURRENT",e[e.OTHER=2]="OTHER"})(Wl||(Xl.DivergentType=Wl={}));function Dq(e,t,n,r,i){t=(0,lde.getMutableTypeNode)(t,n,i);let s={kind:e.kind},o=Wl.NONE,u=s;for(let l=0;l{"use strict";m();T();h();Object.defineProperty(YR,"__esModule",{value:!0});YR.renameRootTypes=Tde;var mde=(we(),Me(je)),Lc=bi(),Zl=ps(),QR=Vi(),hde=aI();function Tde(e,t){let n,r=!1,i;(0,mde.visit)(t.definitions,{FieldDefinition:{enter(s){let o=s.name.value;if(r&&(o===Lc.SERVICE_FIELD||o===Lc.ENTITIES_FIELD))return n.fieldDataByFieldName.delete(o),!1;let u=n.name,l=(0,Zl.getOrThrowError)(n.fieldDataByFieldName,o,`${u}.fieldDataByFieldName`),d=t.operationTypes.get(l.namedTypeName);if(d){let p=(0,Zl.getOrThrowError)(QR.operationTypeNodeToDefaultType,d,Lc.OPERATION_TO_DEFAULT);l.namedTypeName!==p&&(0,hde.renameNamedTypeName)(l,p,e.errors)}return i!=null&&i.has(o)&&l.isShareableBySubgraphName.delete(t.name),!1}},InterfaceTypeDefinition:{enter(s){let o=s.name.value;if(!e.entityInterfaceFederationDataByTypeName.get(o))return!1;n=(0,Zl.getOrThrowError)(t.parentDefinitionDataByTypeName,o,Lc.PARENT_DEFINITION_DATA)},leave(){n=void 0}},ObjectTypeDefinition:{enter(s){let o=s.name.value,u=t.operationTypes.get(o),l=u?(0,Zl.getOrThrowError)(QR.operationTypeNodeToDefaultType,u,Lc.OPERATION_TO_DEFAULT):o;n=(0,Zl.getOrThrowError)(t.parentDefinitionDataByTypeName,o,Lc.PARENT_DEFINITION_DATA),r=n.isRootType,!e.entityInterfaceFederationDataByTypeName.get(o)&&(e.addValidPrimaryKeyTargetsToEntityData(o),i=t.overriddenFieldNamesByParentTypeName.get(l),o!==l&&(n.name=l,t.parentDefinitionDataByTypeName.set(l,n),t.parentDefinitionDataByTypeName.delete(o)))},leave(){n=void 0,r=!1,i=void 0}},ObjectTypeExtension:{enter(s){let o=s.name.value,u=t.operationTypes.get(o),l=u?(0,Zl.getOrThrowError)(QR.operationTypeNodeToDefaultType,u,Lc.OPERATION_TO_DEFAULT):o;n=(0,Zl.getOrThrowError)(t.parentDefinitionDataByTypeName,o,Lc.PARENT_DEFINITION_DATA),r=n.isRootType,e.addValidPrimaryKeyTargetsToEntityData(o),i=t.overriddenFieldNamesByParentTypeName.get(o),o!==l&&(n.name=l,t.parentDefinitionDataByTypeName.set(l,n),t.parentDefinitionDataByTypeName.delete(o))},leave(){n=void 0,r=!1,i=void 0}}})}});var Aq=V((Hp,mT)=>{"use strict";m();T();h();(function(){var e,t="4.17.21",n=200,r="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",i="Expected a function",s="Invalid `variable` option passed into `_.template`",o="__lodash_hash_undefined__",u=500,l="__lodash_placeholder__",d=1,p=2,y=4,N=1,I=2,O=1,x=2,j=4,Q=8,re=16,se=32,pe=64,ye=128,Ce=256,ht=512,xt=30,B="...",he=800,nt=16,Ct=1,sn=2,Fn=3,_n=1/0,bn=9007199254740991,mi=17976931348623157e292,Xr=NaN,Pn=4294967295,on=Pn-1,$n=Pn>>>1,U=[["ary",ye],["bind",O],["bindKey",x],["curry",Q],["curryRight",re],["flip",ht],["partial",se],["partialRight",pe],["rearg",Ce]],ae="[object Arguments]",te="[object Array]",ce="[object AsyncFunction]",Ke="[object Boolean]",G="[object Date]",ee="[object DOMException]",Ue="[object Error]",Xe="[object Function]",$t="[object GeneratorFunction]",Je="[object Map]",Ht="[object Number]",pa="[object Null]",Li="[object Object]",fa="[object Promise]",od="[object Proxy]",Do="[object RegExp]",Gr="[object Set]",Wi="[object String]",cn="[object Symbol]",Qr="[object Undefined]",Uc="[object WeakMap]",Ao="[object WeakSet]",Mc="[object ArrayBuffer]",F="[object DataView]",g="[object Float32Array]",v="[object Float64Array]",C="[object Int8Array]",J="[object Int16Array]",ie="[object Int32Array]",fe="[object Uint8Array]",Rt="[object Uint8ClampedArray]",kn="[object Uint16Array]",Dn="[object Uint32Array]",qn=/\b__p \+= '';/g,On=/\b(__p \+=) '' \+/g,xK=/(__e\(.*?\)|\b__t\)) \+\n'';/g,FF=/&(?:amp|lt|gt|quot|#39);/g,wF=/[&<>"']/g,CK=RegExp(FF.source),UK=RegExp(wF.source),MK=/<%-([\s\S]+?)%>/g,BK=/<%([\s\S]+?)%>/g,LF=/<%=([\s\S]+?)%>/g,VK=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,jK=/^\w*$/,$K=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,BI=/[\\^$.*+?()[\]{}|]/g,qK=RegExp(BI.source),VI=/^\s+/,KK=/\s/,GK=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,QK=/\{\n\/\* \[wrapped with (.+)\] \*/,YK=/,? & /,JK=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,zK=/[()=,{}\[\]\/\s]/,HK=/\\(\\)?/g,WK=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,PF=/\w*$/,XK=/^[-+]0x[0-9a-f]+$/i,ZK=/^0b[01]+$/i,eG=/^\[object .+?Constructor\]$/,tG=/^0o[0-7]+$/i,nG=/^(?:0|[1-9]\d*)$/,rG=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,PT=/($^)/,iG=/['\n\r\u2028\u2029\\]/g,kT="\\ud800-\\udfff",sG="\\u0300-\\u036f",oG="\\ufe20-\\ufe2f",aG="\\u20d0-\\u20ff",kF=sG+oG+aG,xF="\\u2700-\\u27bf",CF="a-z\\xdf-\\xf6\\xf8-\\xff",uG="\\xac\\xb1\\xd7\\xf7",cG="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",lG="\\u2000-\\u206f",dG=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",UF="A-Z\\xc0-\\xd6\\xd8-\\xde",MF="\\ufe0e\\ufe0f",BF=uG+cG+lG+dG,jI="['\u2019]",pG="["+kT+"]",VF="["+BF+"]",xT="["+kF+"]",jF="\\d+",fG="["+xF+"]",$F="["+CF+"]",qF="[^"+kT+BF+jF+xF+CF+UF+"]",$I="\\ud83c[\\udffb-\\udfff]",mG="(?:"+xT+"|"+$I+")",KF="[^"+kT+"]",qI="(?:\\ud83c[\\udde6-\\uddff]){2}",KI="[\\ud800-\\udbff][\\udc00-\\udfff]",ad="["+UF+"]",GF="\\u200d",QF="(?:"+$F+"|"+qF+")",hG="(?:"+ad+"|"+qF+")",YF="(?:"+jI+"(?:d|ll|m|re|s|t|ve))?",JF="(?:"+jI+"(?:D|LL|M|RE|S|T|VE))?",zF=mG+"?",HF="["+MF+"]?",TG="(?:"+GF+"(?:"+[KF,qI,KI].join("|")+")"+HF+zF+")*",yG="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",NG="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",WF=HF+zF+TG,EG="(?:"+[fG,qI,KI].join("|")+")"+WF,gG="(?:"+[KF+xT+"?",xT,qI,KI,pG].join("|")+")",IG=RegExp(jI,"g"),vG=RegExp(xT,"g"),GI=RegExp($I+"(?="+$I+")|"+gG+WF,"g"),_G=RegExp([ad+"?"+$F+"+"+YF+"(?="+[VF,ad,"$"].join("|")+")",hG+"+"+JF+"(?="+[VF,ad+QF,"$"].join("|")+")",ad+"?"+QF+"+"+YF,ad+"+"+JF,NG,yG,jF,EG].join("|"),"g"),bG=RegExp("["+GF+kT+kF+MF+"]"),OG=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,SG=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],DG=-1,Vn={};Vn[g]=Vn[v]=Vn[C]=Vn[J]=Vn[ie]=Vn[fe]=Vn[Rt]=Vn[kn]=Vn[Dn]=!0,Vn[ae]=Vn[te]=Vn[Mc]=Vn[Ke]=Vn[F]=Vn[G]=Vn[Ue]=Vn[Xe]=Vn[Je]=Vn[Ht]=Vn[Li]=Vn[Do]=Vn[Gr]=Vn[Wi]=Vn[Uc]=!1;var xn={};xn[ae]=xn[te]=xn[Mc]=xn[F]=xn[Ke]=xn[G]=xn[g]=xn[v]=xn[C]=xn[J]=xn[ie]=xn[Je]=xn[Ht]=xn[Li]=xn[Do]=xn[Gr]=xn[Wi]=xn[cn]=xn[fe]=xn[Rt]=xn[kn]=xn[Dn]=!0,xn[Ue]=xn[Xe]=xn[Uc]=!1;var AG={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},RG={"&":"&","<":"<",">":">",'"':""","'":"'"},FG={"&":"&","<":"<",">":">",""":'"',"'":"'"},wG={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},LG=parseFloat,PG=parseInt,XF=typeof global=="object"&&global&&global.Object===Object&&global,kG=typeof self=="object"&&self&&self.Object===Object&&self,Cr=XF||kG||Function("return this")(),QI=typeof Hp=="object"&&Hp&&!Hp.nodeType&&Hp,Bc=QI&&typeof mT=="object"&&mT&&!mT.nodeType&&mT,ZF=Bc&&Bc.exports===QI,YI=ZF&&XF.process,Es=function(){try{var H=Bc&&Bc.require&&Bc.require("util").types;return H||YI&&YI.binding&&YI.binding("util")}catch(de){}}(),ew=Es&&Es.isArrayBuffer,tw=Es&&Es.isDate,nw=Es&&Es.isMap,rw=Es&&Es.isRegExp,iw=Es&&Es.isSet,sw=Es&&Es.isTypedArray;function Xi(H,de,oe){switch(oe.length){case 0:return H.call(de);case 1:return H.call(de,oe[0]);case 2:return H.call(de,oe[0],oe[1]);case 3:return H.call(de,oe[0],oe[1],oe[2])}return H.apply(de,oe)}function xG(H,de,oe,Be){for(var _t=-1,pn=H==null?0:H.length;++_t-1}function JI(H,de,oe){for(var Be=-1,_t=H==null?0:H.length;++Be<_t;)if(oe(de,H[Be]))return!0;return!1}function Kn(H,de){for(var oe=-1,Be=H==null?0:H.length,_t=Array(Be);++oe-1;);return oe}function fw(H,de){for(var oe=H.length;oe--&&ud(de,H[oe],0)>-1;);return oe}function KG(H,de){for(var oe=H.length,Be=0;oe--;)H[oe]===de&&++Be;return Be}var GG=XI(AG),QG=XI(RG);function YG(H){return"\\"+wG[H]}function JG(H,de){return H==null?e:H[de]}function cd(H){return bG.test(H)}function zG(H){return OG.test(H)}function HG(H){for(var de,oe=[];!(de=H.next()).done;)oe.push(de.value);return oe}function nv(H){var de=-1,oe=Array(H.size);return H.forEach(function(Be,_t){oe[++de]=[_t,Be]}),oe}function mw(H,de){return function(oe){return H(de(oe))}}function Qu(H,de){for(var oe=-1,Be=H.length,_t=0,pn=[];++oe-1}function UQ(a,c){var f=this.__data__,E=ZT(f,a);return E<0?(++this.size,f.push([a,c])):f[E][1]=c,this}ma.prototype.clear=PQ,ma.prototype.delete=kQ,ma.prototype.get=xQ,ma.prototype.has=CQ,ma.prototype.set=UQ;function ha(a){var c=-1,f=a==null?0:a.length;for(this.clear();++c=c?a:c)),a}function _s(a,c,f,E,_,L){var M,q=c&d,X=c&p,Te=c&y;if(f&&(M=_?f(a,E,_,L):f(a)),M!==e)return M;if(!Zn(a))return a;var Ne=St(a);if(Ne){if(M=j2(a),!q)return Pi(a,M)}else{var Ie=ei(a),Fe=Ie==Xe||Ie==$t;if(Zu(a))return Hw(a,q);if(Ie==Li||Ie==ae||Fe&&!_){if(M=X||Fe?{}:hL(a),!q)return X?F2(a,ZQ(M,a)):R2(a,Sw(M,a))}else{if(!xn[Ie])return _?a:{};M=$2(a,Ie,q)}}L||(L=new to);var ze=L.get(a);if(ze)return ze;L.set(a,M),KL(a)?a.forEach(function(dt){M.add(_s(dt,c,f,dt,a,L))}):$L(a)&&a.forEach(function(dt,qt){M.set(qt,_s(dt,c,f,qt,a,L))});var lt=Te?X?Av:Dv:X?xi:Ur,Ut=Ne?e:lt(a);return gs(Ut||a,function(dt,qt){Ut&&(qt=dt,dt=a[qt]),ff(M,qt,_s(dt,c,f,qt,a,L))}),M}function e2(a){var c=Ur(a);return function(f){return Dw(f,a,c)}}function Dw(a,c,f){var E=f.length;if(a==null)return!E;for(a=wn(a);E--;){var _=f[E],L=c[_],M=a[_];if(M===e&&!(_ in a)||!L(M))return!1}return!0}function Aw(a,c,f){if(typeof a!="function")throw new Is(i);return gf(function(){a.apply(e,f)},c)}function mf(a,c,f,E){var _=-1,L=CT,M=!0,q=a.length,X=[],Te=c.length;if(!q)return X;f&&(c=Kn(c,Zi(f))),E?(L=JI,M=!1):c.length>=n&&(L=af,M=!1,c=new $c(c));e:for(;++__?0:_+f),E=E===e||E>_?_:Lt(E),E<0&&(E+=_),E=f>E?0:QL(E);f0&&f(q)?c>1?Yr(q,c-1,f,E,_):Gu(_,q):E||(_[_.length]=q)}return _}var cv=nL(),ww=nL(!0);function Ro(a,c){return a&&cv(a,c,Ur)}function lv(a,c){return a&&ww(a,c,Ur)}function ty(a,c){return Ku(c,function(f){return ga(a[f])})}function Kc(a,c){c=Wu(c,a);for(var f=0,E=c.length;a!=null&&fc}function r2(a,c){return a!=null&&Sn.call(a,c)}function i2(a,c){return a!=null&&c in wn(a)}function s2(a,c,f){return a>=Zr(c,f)&&a=120&&Ne.length>=120)?new $c(M&&Ne):e}Ne=a[0];var Ie=-1,Fe=q[0];e:for(;++Ie<_&&Te.length-1;)q!==a&&QT.call(q,X,1),QT.call(a,X,1);return a}function $w(a,c){for(var f=a?c.length:0,E=f-1;f--;){var _=c[f];if(f==E||_!==L){var L=_;Ea(_)?QT.call(a,_,1):gv(a,_)}}return a}function yv(a,c){return a+zT(vw()*(c-a+1))}function N2(a,c,f,E){for(var _=-1,L=Ar(JT((c-a)/(f||1)),0),M=oe(L);L--;)M[E?L:++_]=a,a+=f;return M}function Nv(a,c){var f="";if(!a||c<1||c>bn)return f;do c%2&&(f+=a),c=zT(c/2),c&&(a+=a);while(c);return f}function Bt(a,c){return xv(NL(a,c,Ci),a+"")}function E2(a){return Ow(Ed(a))}function g2(a,c){var f=Ed(a);return py(f,qc(c,0,f.length))}function yf(a,c,f,E){if(!Zn(a))return a;c=Wu(c,a);for(var _=-1,L=c.length,M=L-1,q=a;q!=null&&++__?0:_+c),f=f>_?_:f,f<0&&(f+=_),_=c>f?0:f-c>>>0,c>>>=0;for(var L=oe(_);++E<_;)L[E]=a[E+c];return L}function _2(a,c){var f;return zu(a,function(E,_,L){return f=c(E,_,L),!f}),!!f}function ry(a,c,f){var E=0,_=a==null?E:a.length;if(typeof c=="number"&&c===c&&_<=$n){for(;E<_;){var L=E+_>>>1,M=a[L];M!==null&&!ts(M)&&(f?M<=c:M=n){var Te=c?null:k2(a);if(Te)return MT(Te);M=!1,_=af,X=new $c}else X=c?[]:q;e:for(;++E=E?a:bs(a,c,f)}var zw=dQ||function(a){return Cr.clearTimeout(a)};function Hw(a,c){if(c)return a.slice();var f=a.length,E=yw?yw(f):new a.constructor(f);return a.copy(E),E}function bv(a){var c=new a.constructor(a.byteLength);return new KT(c).set(new KT(a)),c}function O2(a,c){var f=c?bv(a.buffer):a.buffer;return new a.constructor(f,a.byteOffset,a.byteLength)}function S2(a){var c=new a.constructor(a.source,PF.exec(a));return c.lastIndex=a.lastIndex,c}function D2(a){return pf?wn(pf.call(a)):{}}function Ww(a,c){var f=c?bv(a.buffer):a.buffer;return new a.constructor(f,a.byteOffset,a.length)}function Xw(a,c){if(a!==c){var f=a!==e,E=a===null,_=a===a,L=ts(a),M=c!==e,q=c===null,X=c===c,Te=ts(c);if(!q&&!Te&&!L&&a>c||L&&M&&X&&!q&&!Te||E&&M&&X||!f&&X||!_)return 1;if(!E&&!L&&!Te&&a=q)return X;var Te=f[E];return X*(Te=="desc"?-1:1)}}return a.index-c.index}function Zw(a,c,f,E){for(var _=-1,L=a.length,M=f.length,q=-1,X=c.length,Te=Ar(L-M,0),Ne=oe(X+Te),Ie=!E;++q1?f[_-1]:e,M=_>2?f[2]:e;for(L=a.length>3&&typeof L=="function"?(_--,L):e,M&&Ti(f[0],f[1],M)&&(L=_<3?e:L,_=1),c=wn(c);++E<_;){var q=f[E];q&&a(c,q,E,L)}return c})}function tL(a,c){return function(f,E){if(f==null)return f;if(!ki(f))return a(f,E);for(var _=f.length,L=c?_:-1,M=wn(f);(c?L--:++L<_)&&E(M[L],L,M)!==!1;);return f}}function nL(a){return function(c,f,E){for(var _=-1,L=wn(c),M=E(c),q=M.length;q--;){var X=M[a?q:++_];if(f(L[X],X,L)===!1)break}return c}}function w2(a,c,f){var E=c&O,_=Nf(a);function L(){var M=this&&this!==Cr&&this instanceof L?_:a;return M.apply(E?f:this,arguments)}return L}function rL(a){return function(c){c=yn(c);var f=cd(c)?eo(c):e,E=f?f[0]:c.charAt(0),_=f?Xu(f,1).join(""):c.slice(1);return E[a]()+_}}function Td(a){return function(c){return zI(tP(eP(c).replace(IG,"")),a,"")}}function Nf(a){return function(){var c=arguments;switch(c.length){case 0:return new a;case 1:return new a(c[0]);case 2:return new a(c[0],c[1]);case 3:return new a(c[0],c[1],c[2]);case 4:return new a(c[0],c[1],c[2],c[3]);case 5:return new a(c[0],c[1],c[2],c[3],c[4]);case 6:return new a(c[0],c[1],c[2],c[3],c[4],c[5]);case 7:return new a(c[0],c[1],c[2],c[3],c[4],c[5],c[6])}var f=md(a.prototype),E=a.apply(f,c);return Zn(E)?E:f}}function L2(a,c,f){var E=Nf(a);function _(){for(var L=arguments.length,M=oe(L),q=L,X=yd(_);q--;)M[q]=arguments[q];var Te=L<3&&M[0]!==X&&M[L-1]!==X?[]:Qu(M,X);if(L-=Te.length,L-1?_[L?c[M]:M]:e}}function sL(a){return Na(function(c){var f=c.length,E=f,_=vs.prototype.thru;for(a&&c.reverse();E--;){var L=c[E];if(typeof L!="function")throw new Is(i);if(_&&!M&&ly(L)=="wrapper")var M=new vs([],!0)}for(E=M?E:f;++E1&&Wt.reverse(),Ne&&Xq))return!1;var Te=L.get(a),Ne=L.get(c);if(Te&&Ne)return Te==c&&Ne==a;var Ie=-1,Fe=!0,ze=f&I?new $c:e;for(L.set(a,c),L.set(c,a);++Ie1?"& ":"")+c[E],c=c.join(f>2?", ":" "),a.replace(GK,`{ /* [wrapped with `+c+`] */ -`)}function K2(a){return St(a)||Gc(a)||!!(Nw&&a&&a[Nw])}function Ea(a,c){var f=typeof a;return c=c==null?bn:c,!!c&&(f=="number"||f!="symbol"&&nG.test(a))&&a>-1&&a%1==0&&a0){if(++c>=he)return arguments[0]}else c=0;return a.apply(e,arguments)}}function dy(a,c){var f=-1,E=a.length,_=E-1;for(c=c===e?E:c;++f1?a[c-1]:e;return f=typeof f=="function"?(a.pop(),f):e,AL(a,f)});function RL(a){var c=w(a);return c.__chain__=!0,c}function tJ(a,c){return c(a),a}function py(a,c){return c(a)}var nJ=Na(function(a){var c=a.length,f=c?a[0]:0,E=this.__wrapped__,_=function(L){return uv(L,a)};return c>1||this.__actions__.length||!(E instanceof Gt)||!Ea(f)?this.thru(_):(E=E.slice(f,+f+(c?1:0)),E.__actions__.push({func:py,args:[_],thisArg:e}),new Is(E,this.__chain__).thru(function(L){return c&&!L.length&&L.push(e),L}))});function rJ(){return RL(this)}function iJ(){return new Is(this.value(),this.__chain__)}function sJ(){this.__values__===e&&(this.__values__=qL(this.value()));var a=this.__index__>=this.__values__.length,c=a?e:this.__values__[this.__index__++];return{done:a,value:c}}function oJ(){return this}function aJ(a){for(var c,f=this;f instanceof WT;){var E=vL(f);E.__index__=0,E.__values__=e,c?_.__wrapped__=E:c=E;var _=E;f=f.__wrapped__}return _.__wrapped__=a,c}function uJ(){var a=this.__wrapped__;if(a instanceof Gt){var c=a;return this.__actions__.length&&(c=new Gt(this)),c=c.reverse(),c.__actions__.push({func:py,args:[Cv],thisArg:e}),new Is(c,this.__chain__)}return this.thru(Cv)}function cJ(){return Gw(this.__wrapped__,this.__actions__)}var lJ=iy(function(a,c,f){Sn.call(a,f)?++a[f]:Ta(a,f,1)});function dJ(a,c,f){var E=St(a)?iw:t2;return f&&Ti(a,c,f)&&(c=e),E(a,ct(c,3))}function pJ(a,c){var f=St(a)?Ku:Aw;return f(a,ct(c,3))}var fJ=nL(_L),mJ=nL(bL);function hJ(a,c){return Yr(fy(a,c),1)}function TJ(a,c){return Yr(fy(a,c),_n)}function yJ(a,c,f){return f=f===e?1:Lt(f),Yr(fy(a,c),f)}function FL(a,c){var f=St(a)?Es:zu;return f(a,ct(c,3))}function wL(a,c){var f=St(a)?CG:Dw;return f(a,ct(c,3))}var NJ=iy(function(a,c,f){Sn.call(a,f)?a[f].push(c):Ta(a,f,[c])});function EJ(a,c,f,E){a=ki(a)?a:yd(a),f=f&&!E?Lt(f):0;var _=a.length;return f<0&&(f=Ar(_+f,0)),Ny(a)?f<=_&&a.indexOf(c,f)>-1:!!_&&od(a,c,f)>-1}var gJ=Bt(function(a,c,f){var E=-1,_=typeof c=="function",L=ki(a)?oe(a.length):[];return zu(a,function(M){L[++E]=_?Xi(c,M,f):mf(M,c,f)}),L}),IJ=iy(function(a,c,f){Ta(a,f,c)});function fy(a,c){var f=St(a)?Kn:kw;return f(a,ct(c,3))}function vJ(a,c,f,E){return a==null?[]:(St(c)||(c=c==null?[]:[c]),f=E?e:f,St(f)||(f=f==null?[]:[f]),Mw(a,c,f))}var _J=iy(function(a,c,f){a[f?0:1].push(c)},function(){return[[],[]]});function bJ(a,c,f){var E=St(a)?zI:uw,_=arguments.length<3;return E(a,ct(c,4),f,_,zu)}function OJ(a,c,f){var E=St(a)?UG:uw,_=arguments.length<3;return E(a,ct(c,4),f,_,Dw)}function SJ(a,c){var f=St(a)?Ku:Aw;return f(a,Ty(ct(c,3)))}function DJ(a){var c=St(a)?_w:E2;return c(a)}function AJ(a,c,f){(f?Ti(a,c,f):c===e)?c=1:c=Lt(c);var E=St(a)?HQ:g2;return E(a,c)}function RJ(a){var c=St(a)?WQ:v2;return c(a)}function FJ(a){if(a==null)return 0;if(ki(a))return Ny(a)?ud(a):a.length;var c=ei(a);return c==Je||c==Gr?a.size:mv(a).length}function wJ(a,c,f){var E=St(a)?HI:_2;return f&&Ti(a,c,f)&&(c=e),E(a,ct(c,3))}var LJ=Bt(function(a,c){if(a==null)return[];var f=c.length;return f>1&&Ti(a,c[0],c[1])?c=[]:f>2&&Ti(c[0],c[1],c[2])&&(c=[c[0]]),Mw(a,Yr(c,1),[])}),my=pQ||function(){return Cr.Date.now()};function PJ(a,c){if(typeof c!="function")throw new gs(i);return a=Lt(a),function(){if(--a<1)return c.apply(this,arguments)}}function LL(a,c,f){return c=f?e:c,c=a&&c==null?a.length:c,ya(a,ye,e,e,e,e,c)}function PL(a,c){var f;if(typeof c!="function")throw new gs(i);return a=Lt(a),function(){return--a>0&&(f=c.apply(this,arguments)),a<=1&&(c=e),f}}var Mv=Bt(function(a,c,f){var E=b;if(f.length){var _=Qu(f,hd(Mv));E|=se}return ya(a,E,c,f,_)}),kL=Bt(function(a,c,f){var E=b|C;if(f.length){var _=Qu(f,hd(kL));E|=se}return ya(c,E,a,f,_)});function xL(a,c,f){c=f?e:c;var E=ya(a,Q,e,e,e,e,e,c);return E.placeholder=xL.placeholder,E}function CL(a,c,f){c=f?e:c;var E=ya(a,re,e,e,e,e,e,c);return E.placeholder=CL.placeholder,E}function UL(a,c,f){var E,_,L,M,q,X,Te=0,Ne=!1,Ie=!1,Fe=!0;if(typeof a!="function")throw new gs(i);c=Os(c)||0,Zn(f)&&(Ne=!!f.leading,Ie="maxWait"in f,L=Ie?Ar(Os(f.maxWait)||0,c):L,Fe="trailing"in f?!!f.trailing:Fe);function ze(Tr){var ro=E,va=_;return E=_=e,Te=Tr,M=a.apply(va,ro),M}function lt(Tr){return Te=Tr,q=Ef($t,c),Ne?ze(Tr):M}function Ut(Tr){var ro=Tr-X,va=Tr-Te,nP=c-ro;return Ie?Zr(nP,L-va):nP}function dt(Tr){var ro=Tr-X,va=Tr-Te;return X===e||ro>=c||ro<0||Ie&&va>=L}function $t(){var Tr=my();if(dt(Tr))return Wt(Tr);q=Ef($t,Ut(Tr))}function Wt(Tr){return q=e,Fe&&E?ze(Tr):(E=_=e,M)}function ns(){q!==e&&Yw(q),Te=0,E=X=_=q=e}function yi(){return q===e?M:Wt(my())}function rs(){var Tr=my(),ro=dt(Tr);if(E=arguments,_=this,X=Tr,ro){if(q===e)return lt(X);if(Ie)return Yw(q),q=Ef($t,c),ze(X)}return q===e&&(q=Ef($t,c)),M}return rs.cancel=ns,rs.flush=yi,rs}var kJ=Bt(function(a,c){return Sw(a,1,c)}),xJ=Bt(function(a,c,f){return Sw(a,Os(c)||0,f)});function CJ(a){return ya(a,ht)}function hy(a,c){if(typeof a!="function"||c!=null&&typeof c!="function")throw new gs(i);var f=function(){var E=arguments,_=c?c.apply(this,E):E[0],L=f.cache;if(L.has(_))return L.get(_);var M=a.apply(this,E);return f.cache=L.set(_,M)||L,M};return f.cache=new(hy.Cache||ha),f}hy.Cache=ha;function Ty(a){if(typeof a!="function")throw new gs(i);return function(){var c=arguments;switch(c.length){case 0:return!a.call(this);case 1:return!a.call(this,c[0]);case 2:return!a.call(this,c[0],c[1]);case 3:return!a.call(this,c[0],c[1],c[2])}return!a.apply(this,c)}}function UJ(a){return PL(2,a)}var MJ=b2(function(a,c){c=c.length==1&&St(c[0])?Kn(c[0],Zi(ct())):Kn(Yr(c,1),Zi(ct()));var f=c.length;return Bt(function(E){for(var _=-1,L=Zr(E.length,f);++_=c}),Gc=ww(function(){return arguments}())?ww:function(a){return ir(a)&&Sn.call(a,"callee")&&!yw.call(a,"callee")},St=oe.isArray,ZJ=XF?Zi(XF):a2;function ki(a){return a!=null&&yy(a.length)&&!ga(a)}function hr(a){return ir(a)&&ki(a)}function e3(a){return a===!0||a===!1||ir(a)&&hi(a)==Ke}var Zu=mQ||Hv,t3=ZF?Zi(ZF):u2;function n3(a){return ir(a)&&a.nodeType===1&&!gf(a)}function r3(a){if(a==null)return!0;if(ki(a)&&(St(a)||typeof a=="string"||typeof a.splice=="function"||Zu(a)||Td(a)||Gc(a)))return!a.length;var c=ei(a);if(c==Je||c==Gr)return!a.size;if(Nf(a))return!mv(a).length;for(var f in a)if(Sn.call(a,f))return!1;return!0}function i3(a,c){return hf(a,c)}function s3(a,c,f){f=typeof f=="function"?f:e;var E=f?f(a,c):e;return E===e?hf(a,c,e,f):!!E}function Vv(a){if(!ir(a))return!1;var c=hi(a);return c==Ue||c==ee||typeof a.message=="string"&&typeof a.name=="string"&&!gf(a)}function o3(a){return typeof a=="number"&&Ew(a)}function ga(a){if(!Zn(a))return!1;var c=hi(a);return c==Xe||c==jt||c==ce||c==id}function BL(a){return typeof a=="number"&&a==Lt(a)}function yy(a){return typeof a=="number"&&a>-1&&a%1==0&&a<=bn}function Zn(a){var c=typeof a;return a!=null&&(c=="object"||c=="function")}function ir(a){return a!=null&&typeof a=="object"}var VL=ew?Zi(ew):l2;function a3(a,c){return a===c||fv(a,c,Fv(c))}function u3(a,c,f){return f=typeof f=="function"?f:e,fv(a,c,Fv(c),f)}function c3(a){return jL(a)&&a!=+a}function l3(a){if(Y2(a))throw new _t(r);return Lw(a)}function d3(a){return a===null}function p3(a){return a==null}function jL(a){return typeof a=="number"||ir(a)&&hi(a)==Ht}function gf(a){if(!ir(a)||hi(a)!=Li)return!1;var c=KT(a);if(c===null)return!0;var f=Sn.call(c,"constructor")&&c.constructor;return typeof f=="function"&&f instanceof f&&VT.call(f)==uQ}var jv=tw?Zi(tw):d2;function f3(a){return BL(a)&&a>=-bn&&a<=bn}var $L=nw?Zi(nw):p2;function Ny(a){return typeof a=="string"||!St(a)&&ir(a)&&hi(a)==Wi}function ts(a){return typeof a=="symbol"||ir(a)&&hi(a)==cn}var Td=rw?Zi(rw):f2;function m3(a){return a===e}function h3(a){return ir(a)&&ei(a)==xc}function T3(a){return ir(a)&&hi(a)==Ao}var y3=uy(hv),N3=uy(function(a,c){return a<=c});function qL(a){if(!a)return[];if(ki(a))return Ny(a)?eo(a):Pi(a);if(af&&a[af])return HG(a[af]());var c=ei(a),f=c==Je?nv:c==Gr?UT:yd;return f(a)}function Ia(a){if(!a)return a===0?a:0;if(a=Os(a),a===_n||a===-_n){var c=a<0?-1:1;return c*mi}return a===a?a:0}function Lt(a){var c=Ia(a),f=c%1;return c===c?f?c-f:c:0}function KL(a){return a?jc(Lt(a),0,Pn):0}function Os(a){if(typeof a=="number")return a;if(ts(a))return Xr;if(Zn(a)){var c=typeof a.valueOf=="function"?a.valueOf():a;a=Zn(c)?c+"":c}if(typeof a!="string")return a===0?a:+a;a=cw(a);var f=ZK.test(a);return f||tG.test(a)?PG(a.slice(2),f?2:8):XK.test(a)?Xr:+a}function GL(a){return Fo(a,xi(a))}function E3(a){return a?jc(Lt(a),-bn,bn):a===0?a:0}function yn(a){return a==null?"":es(a)}var g3=fd(function(a,c){if(Nf(c)||ki(c)){Fo(c,Ur(c),a);return}for(var f in c)Sn.call(c,f)&&pf(a,f,c[f])}),QL=fd(function(a,c){Fo(c,xi(c),a)}),Ey=fd(function(a,c,f,E){Fo(c,xi(c),a,E)}),I3=fd(function(a,c,f,E){Fo(c,Ur(c),a,E)}),v3=Na(uv);function _3(a,c){var f=pd(a);return c==null?f:bw(f,c)}var b3=Bt(function(a,c){a=wn(a);var f=-1,E=c.length,_=E>2?c[2]:e;for(_&&Ti(c[0],c[1],_)&&(E=1);++f1),L}),Fo(a,Av(a),f),E&&(f=vs(f,d|p|y,x2));for(var _=c.length;_--;)gv(f,c[_]);return f});function $3(a,c){return JL(a,Ty(ct(c)))}var q3=Na(function(a,c){return a==null?{}:T2(a,c)});function JL(a,c){if(a==null)return{};var f=Kn(Av(a),function(E){return[E]});return c=ct(c),Bw(a,f,function(E,_){return c(E,_[0])})}function K3(a,c,f){c=Wu(c,a);var E=-1,_=c.length;for(_||(_=1,a=e);++E<_;){var L=a==null?e:a[wo(c[E])];L===e&&(E=_,L=f),a=ga(L)?L.call(a):L}return a}function G3(a,c,f){return a==null?a:Tf(a,c,f)}function Q3(a,c,f,E){return E=typeof E=="function"?E:e,a==null?a:Tf(a,c,f,E)}var zL=aL(Ur),HL=aL(xi);function Y3(a,c,f){var E=St(a),_=E||Zu(a)||Td(a);if(c=ct(c,4),f==null){var L=a&&a.constructor;_?f=E?new L:[]:Zn(a)?f=ga(L)?pd(KT(a)):{}:f={}}return(_?Es:Ro)(a,function(M,q,X){return c(f,M,q,X)}),f}function J3(a,c){return a==null?!0:gv(a,c)}function z3(a,c,f){return a==null?a:Kw(a,c,_v(f))}function H3(a,c,f,E){return E=typeof E=="function"?E:e,a==null?a:Kw(a,c,_v(f),E)}function yd(a){return a==null?[]:tv(a,Ur(a))}function W3(a){return a==null?[]:tv(a,xi(a))}function X3(a,c,f){return f===e&&(f=c,c=e),f!==e&&(f=Os(f),f=f===f?f:0),c!==e&&(c=Os(c),c=c===c?c:0),jc(Os(a),c,f)}function Z3(a,c,f){return c=Ia(c),f===e?(f=c,c=0):f=Ia(f),a=Os(a),s2(a,c,f)}function ez(a,c,f){if(f&&typeof f!="boolean"&&Ti(a,c,f)&&(c=f=e),f===e&&(typeof c=="boolean"?(f=c,c=e):typeof a=="boolean"&&(f=a,a=e)),a===e&&c===e?(a=0,c=1):(a=Ia(a),c===e?(c=a,a=0):c=Ia(c)),a>c){var E=a;a=c,c=E}if(f||a%1||c%1){var _=gw();return Zr(a+_*(c-a+LG("1e-"+((_+"").length-1))),c)}return yv(a,c)}var tz=md(function(a,c,f){return c=c.toLowerCase(),a+(f?WL(c):c)});function WL(a){return Kv(yn(a).toLowerCase())}function XL(a){return a=yn(a),a&&a.replace(rG,GG).replace(vG,"")}function nz(a,c,f){a=yn(a),c=es(c);var E=a.length;f=f===e?E:jc(Lt(f),0,E);var _=f;return f-=c.length,f>=0&&a.slice(f,_)==c}function rz(a){return a=yn(a),a&&UK.test(a)?a.replace(RF,QG):a}function iz(a){return a=yn(a),a&&qK.test(a)?a.replace(BI,"\\$&"):a}var sz=md(function(a,c,f){return a+(f?"-":"")+c.toLowerCase()}),oz=md(function(a,c,f){return a+(f?" ":"")+c.toLowerCase()}),az=tL("toLowerCase");function uz(a,c,f){a=yn(a),c=Lt(c);var E=c?ud(a):0;if(!c||E>=c)return a;var _=(c-E)/2;return ay(JT(_),f)+a+ay(YT(_),f)}function cz(a,c,f){a=yn(a),c=Lt(c);var E=c?ud(a):0;return c&&E>>0,f?(a=yn(a),a&&(typeof c=="string"||c!=null&&!jv(c))&&(c=es(c),!c&&ad(a))?Xu(eo(a),0,f):a.split(c,f)):[]}var Tz=md(function(a,c,f){return a+(f?" ":"")+Kv(c)});function yz(a,c,f){return a=yn(a),f=f==null?0:jc(Lt(f),0,a.length),c=es(c),a.slice(f,f+c.length)==c}function Nz(a,c,f){var E=w.templateSettings;f&&Ti(a,c,f)&&(c=e),a=yn(a),c=Ey({},c,E,uL);var _=Ey({},c.imports,E.imports,uL),L=Ur(_),M=tv(_,L),q,X,Te=0,Ne=c.interpolate||LT,Ie="__p += '",Fe=rv((c.escape||LT).source+"|"+Ne.source+"|"+(Ne===FF?WK:LT).source+"|"+(c.evaluate||LT).source+"|$","g"),ze="//# sourceURL="+(Sn.call(c,"sourceURL")?(c.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++DG+"]")+` -`;a.replace(Fe,function(dt,$t,Wt,ns,yi,rs){return Wt||(Wt=ns),Ie+=a.slice(Te,rs).replace(iG,YG),$t&&(q=!0,Ie+=`' + -__e(`+$t+`) + +`)}function K2(a){return St(a)||Yc(a)||!!(gw&&a&&a[gw])}function Ea(a,c){var f=typeof a;return c=c==null?bn:c,!!c&&(f=="number"||f!="symbol"&&nG.test(a))&&a>-1&&a%1==0&&a0){if(++c>=he)return arguments[0]}else c=0;return a.apply(e,arguments)}}function py(a,c){var f=-1,E=a.length,_=E-1;for(c=c===e?E:c;++f1?a[c-1]:e;return f=typeof f=="function"?(a.pop(),f):e,FL(a,f)});function wL(a){var c=w(a);return c.__chain__=!0,c}function tJ(a,c){return c(a),a}function fy(a,c){return c(a)}var nJ=Na(function(a){var c=a.length,f=c?a[0]:0,E=this.__wrapped__,_=function(L){return uv(L,a)};return c>1||this.__actions__.length||!(E instanceof Gt)||!Ea(f)?this.thru(_):(E=E.slice(f,+f+(c?1:0)),E.__actions__.push({func:fy,args:[_],thisArg:e}),new vs(E,this.__chain__).thru(function(L){return c&&!L.length&&L.push(e),L}))});function rJ(){return wL(this)}function iJ(){return new vs(this.value(),this.__chain__)}function sJ(){this.__values__===e&&(this.__values__=GL(this.value()));var a=this.__index__>=this.__values__.length,c=a?e:this.__values__[this.__index__++];return{done:a,value:c}}function oJ(){return this}function aJ(a){for(var c,f=this;f instanceof XT;){var E=bL(f);E.__index__=0,E.__values__=e,c?_.__wrapped__=E:c=E;var _=E;f=f.__wrapped__}return _.__wrapped__=a,c}function uJ(){var a=this.__wrapped__;if(a instanceof Gt){var c=a;return this.__actions__.length&&(c=new Gt(this)),c=c.reverse(),c.__actions__.push({func:fy,args:[Cv],thisArg:e}),new vs(c,this.__chain__)}return this.thru(Cv)}function cJ(){return Yw(this.__wrapped__,this.__actions__)}var lJ=sy(function(a,c,f){Sn.call(a,f)?++a[f]:Ta(a,f,1)});function dJ(a,c,f){var E=St(a)?ow:t2;return f&&Ti(a,c,f)&&(c=e),E(a,ct(c,3))}function pJ(a,c){var f=St(a)?Ku:Fw;return f(a,ct(c,3))}var fJ=iL(OL),mJ=iL(SL);function hJ(a,c){return Yr(my(a,c),1)}function TJ(a,c){return Yr(my(a,c),_n)}function yJ(a,c,f){return f=f===e?1:Lt(f),Yr(my(a,c),f)}function LL(a,c){var f=St(a)?gs:zu;return f(a,ct(c,3))}function PL(a,c){var f=St(a)?CG:Rw;return f(a,ct(c,3))}var NJ=sy(function(a,c,f){Sn.call(a,f)?a[f].push(c):Ta(a,f,[c])});function EJ(a,c,f,E){a=ki(a)?a:Ed(a),f=f&&!E?Lt(f):0;var _=a.length;return f<0&&(f=Ar(_+f,0)),Ey(a)?f<=_&&a.indexOf(c,f)>-1:!!_&&ud(a,c,f)>-1}var gJ=Bt(function(a,c,f){var E=-1,_=typeof c=="function",L=ki(a)?oe(a.length):[];return zu(a,function(M){L[++E]=_?Xi(c,M,f):hf(M,c,f)}),L}),IJ=sy(function(a,c,f){Ta(a,f,c)});function my(a,c){var f=St(a)?Kn:Cw;return f(a,ct(c,3))}function vJ(a,c,f,E){return a==null?[]:(St(c)||(c=c==null?[]:[c]),f=E?e:f,St(f)||(f=f==null?[]:[f]),Vw(a,c,f))}var _J=sy(function(a,c,f){a[f?0:1].push(c)},function(){return[[],[]]});function bJ(a,c,f){var E=St(a)?zI:lw,_=arguments.length<3;return E(a,ct(c,4),f,_,zu)}function OJ(a,c,f){var E=St(a)?UG:lw,_=arguments.length<3;return E(a,ct(c,4),f,_,Rw)}function SJ(a,c){var f=St(a)?Ku:Fw;return f(a,yy(ct(c,3)))}function DJ(a){var c=St(a)?Ow:E2;return c(a)}function AJ(a,c,f){(f?Ti(a,c,f):c===e)?c=1:c=Lt(c);var E=St(a)?HQ:g2;return E(a,c)}function RJ(a){var c=St(a)?WQ:v2;return c(a)}function FJ(a){if(a==null)return 0;if(ki(a))return Ey(a)?ld(a):a.length;var c=ei(a);return c==Je||c==Gr?a.size:mv(a).length}function wJ(a,c,f){var E=St(a)?HI:_2;return f&&Ti(a,c,f)&&(c=e),E(a,ct(c,3))}var LJ=Bt(function(a,c){if(a==null)return[];var f=c.length;return f>1&&Ti(a,c[0],c[1])?c=[]:f>2&&Ti(c[0],c[1],c[2])&&(c=[c[0]]),Vw(a,Yr(c,1),[])}),hy=pQ||function(){return Cr.Date.now()};function PJ(a,c){if(typeof c!="function")throw new Is(i);return a=Lt(a),function(){if(--a<1)return c.apply(this,arguments)}}function kL(a,c,f){return c=f?e:c,c=a&&c==null?a.length:c,ya(a,ye,e,e,e,e,c)}function xL(a,c){var f;if(typeof c!="function")throw new Is(i);return a=Lt(a),function(){return--a>0&&(f=c.apply(this,arguments)),a<=1&&(c=e),f}}var Mv=Bt(function(a,c,f){var E=O;if(f.length){var _=Qu(f,yd(Mv));E|=se}return ya(a,E,c,f,_)}),CL=Bt(function(a,c,f){var E=O|x;if(f.length){var _=Qu(f,yd(CL));E|=se}return ya(c,E,a,f,_)});function UL(a,c,f){c=f?e:c;var E=ya(a,Q,e,e,e,e,e,c);return E.placeholder=UL.placeholder,E}function ML(a,c,f){c=f?e:c;var E=ya(a,re,e,e,e,e,e,c);return E.placeholder=ML.placeholder,E}function BL(a,c,f){var E,_,L,M,q,X,Te=0,Ne=!1,Ie=!1,Fe=!0;if(typeof a!="function")throw new Is(i);c=Ss(c)||0,Zn(f)&&(Ne=!!f.leading,Ie="maxWait"in f,L=Ie?Ar(Ss(f.maxWait)||0,c):L,Fe="trailing"in f?!!f.trailing:Fe);function ze(Tr){var ro=E,va=_;return E=_=e,Te=Tr,M=a.apply(va,ro),M}function lt(Tr){return Te=Tr,q=gf(qt,c),Ne?ze(Tr):M}function Ut(Tr){var ro=Tr-X,va=Tr-Te,iP=c-ro;return Ie?Zr(iP,L-va):iP}function dt(Tr){var ro=Tr-X,va=Tr-Te;return X===e||ro>=c||ro<0||Ie&&va>=L}function qt(){var Tr=hy();if(dt(Tr))return Wt(Tr);q=gf(qt,Ut(Tr))}function Wt(Tr){return q=e,Fe&&E?ze(Tr):(E=_=e,M)}function ns(){q!==e&&zw(q),Te=0,E=X=_=q=e}function yi(){return q===e?M:Wt(hy())}function rs(){var Tr=hy(),ro=dt(Tr);if(E=arguments,_=this,X=Tr,ro){if(q===e)return lt(X);if(Ie)return zw(q),q=gf(qt,c),ze(X)}return q===e&&(q=gf(qt,c)),M}return rs.cancel=ns,rs.flush=yi,rs}var kJ=Bt(function(a,c){return Aw(a,1,c)}),xJ=Bt(function(a,c,f){return Aw(a,Ss(c)||0,f)});function CJ(a){return ya(a,ht)}function Ty(a,c){if(typeof a!="function"||c!=null&&typeof c!="function")throw new Is(i);var f=function(){var E=arguments,_=c?c.apply(this,E):E[0],L=f.cache;if(L.has(_))return L.get(_);var M=a.apply(this,E);return f.cache=L.set(_,M)||L,M};return f.cache=new(Ty.Cache||ha),f}Ty.Cache=ha;function yy(a){if(typeof a!="function")throw new Is(i);return function(){var c=arguments;switch(c.length){case 0:return!a.call(this);case 1:return!a.call(this,c[0]);case 2:return!a.call(this,c[0],c[1]);case 3:return!a.call(this,c[0],c[1],c[2])}return!a.apply(this,c)}}function UJ(a){return xL(2,a)}var MJ=b2(function(a,c){c=c.length==1&&St(c[0])?Kn(c[0],Zi(ct())):Kn(Yr(c,1),Zi(ct()));var f=c.length;return Bt(function(E){for(var _=-1,L=Zr(E.length,f);++_=c}),Yc=Pw(function(){return arguments}())?Pw:function(a){return ir(a)&&Sn.call(a,"callee")&&!Ew.call(a,"callee")},St=oe.isArray,ZJ=ew?Zi(ew):a2;function ki(a){return a!=null&&Ny(a.length)&&!ga(a)}function hr(a){return ir(a)&&ki(a)}function e3(a){return a===!0||a===!1||ir(a)&&hi(a)==Ke}var Zu=mQ||Hv,t3=tw?Zi(tw):u2;function n3(a){return ir(a)&&a.nodeType===1&&!If(a)}function r3(a){if(a==null)return!0;if(ki(a)&&(St(a)||typeof a=="string"||typeof a.splice=="function"||Zu(a)||Nd(a)||Yc(a)))return!a.length;var c=ei(a);if(c==Je||c==Gr)return!a.size;if(Ef(a))return!mv(a).length;for(var f in a)if(Sn.call(a,f))return!1;return!0}function i3(a,c){return Tf(a,c)}function s3(a,c,f){f=typeof f=="function"?f:e;var E=f?f(a,c):e;return E===e?Tf(a,c,e,f):!!E}function Vv(a){if(!ir(a))return!1;var c=hi(a);return c==Ue||c==ee||typeof a.message=="string"&&typeof a.name=="string"&&!If(a)}function o3(a){return typeof a=="number"&&Iw(a)}function ga(a){if(!Zn(a))return!1;var c=hi(a);return c==Xe||c==$t||c==ce||c==od}function jL(a){return typeof a=="number"&&a==Lt(a)}function Ny(a){return typeof a=="number"&&a>-1&&a%1==0&&a<=bn}function Zn(a){var c=typeof a;return a!=null&&(c=="object"||c=="function")}function ir(a){return a!=null&&typeof a=="object"}var $L=nw?Zi(nw):l2;function a3(a,c){return a===c||fv(a,c,Fv(c))}function u3(a,c,f){return f=typeof f=="function"?f:e,fv(a,c,Fv(c),f)}function c3(a){return qL(a)&&a!=+a}function l3(a){if(Y2(a))throw new _t(r);return kw(a)}function d3(a){return a===null}function p3(a){return a==null}function qL(a){return typeof a=="number"||ir(a)&&hi(a)==Ht}function If(a){if(!ir(a)||hi(a)!=Li)return!1;var c=GT(a);if(c===null)return!0;var f=Sn.call(c,"constructor")&&c.constructor;return typeof f=="function"&&f instanceof f&&jT.call(f)==uQ}var jv=rw?Zi(rw):d2;function f3(a){return jL(a)&&a>=-bn&&a<=bn}var KL=iw?Zi(iw):p2;function Ey(a){return typeof a=="string"||!St(a)&&ir(a)&&hi(a)==Wi}function ts(a){return typeof a=="symbol"||ir(a)&&hi(a)==cn}var Nd=sw?Zi(sw):f2;function m3(a){return a===e}function h3(a){return ir(a)&&ei(a)==Uc}function T3(a){return ir(a)&&hi(a)==Ao}var y3=cy(hv),N3=cy(function(a,c){return a<=c});function GL(a){if(!a)return[];if(ki(a))return Ey(a)?eo(a):Pi(a);if(uf&&a[uf])return HG(a[uf]());var c=ei(a),f=c==Je?nv:c==Gr?MT:Ed;return f(a)}function Ia(a){if(!a)return a===0?a:0;if(a=Ss(a),a===_n||a===-_n){var c=a<0?-1:1;return c*mi}return a===a?a:0}function Lt(a){var c=Ia(a),f=c%1;return c===c?f?c-f:c:0}function QL(a){return a?qc(Lt(a),0,Pn):0}function Ss(a){if(typeof a=="number")return a;if(ts(a))return Xr;if(Zn(a)){var c=typeof a.valueOf=="function"?a.valueOf():a;a=Zn(c)?c+"":c}if(typeof a!="string")return a===0?a:+a;a=dw(a);var f=ZK.test(a);return f||tG.test(a)?PG(a.slice(2),f?2:8):XK.test(a)?Xr:+a}function YL(a){return Fo(a,xi(a))}function E3(a){return a?qc(Lt(a),-bn,bn):a===0?a:0}function yn(a){return a==null?"":es(a)}var g3=hd(function(a,c){if(Ef(c)||ki(c)){Fo(c,Ur(c),a);return}for(var f in c)Sn.call(c,f)&&ff(a,f,c[f])}),JL=hd(function(a,c){Fo(c,xi(c),a)}),gy=hd(function(a,c,f,E){Fo(c,xi(c),a,E)}),I3=hd(function(a,c,f,E){Fo(c,Ur(c),a,E)}),v3=Na(uv);function _3(a,c){var f=md(a);return c==null?f:Sw(f,c)}var b3=Bt(function(a,c){a=wn(a);var f=-1,E=c.length,_=E>2?c[2]:e;for(_&&Ti(c[0],c[1],_)&&(E=1);++f1),L}),Fo(a,Av(a),f),E&&(f=_s(f,d|p|y,x2));for(var _=c.length;_--;)gv(f,c[_]);return f});function $3(a,c){return HL(a,yy(ct(c)))}var q3=Na(function(a,c){return a==null?{}:T2(a,c)});function HL(a,c){if(a==null)return{};var f=Kn(Av(a),function(E){return[E]});return c=ct(c),jw(a,f,function(E,_){return c(E,_[0])})}function K3(a,c,f){c=Wu(c,a);var E=-1,_=c.length;for(_||(_=1,a=e);++E<_;){var L=a==null?e:a[wo(c[E])];L===e&&(E=_,L=f),a=ga(L)?L.call(a):L}return a}function G3(a,c,f){return a==null?a:yf(a,c,f)}function Q3(a,c,f,E){return E=typeof E=="function"?E:e,a==null?a:yf(a,c,f,E)}var WL=cL(Ur),XL=cL(xi);function Y3(a,c,f){var E=St(a),_=E||Zu(a)||Nd(a);if(c=ct(c,4),f==null){var L=a&&a.constructor;_?f=E?new L:[]:Zn(a)?f=ga(L)?md(GT(a)):{}:f={}}return(_?gs:Ro)(a,function(M,q,X){return c(f,M,q,X)}),f}function J3(a,c){return a==null?!0:gv(a,c)}function z3(a,c,f){return a==null?a:Qw(a,c,_v(f))}function H3(a,c,f,E){return E=typeof E=="function"?E:e,a==null?a:Qw(a,c,_v(f),E)}function Ed(a){return a==null?[]:tv(a,Ur(a))}function W3(a){return a==null?[]:tv(a,xi(a))}function X3(a,c,f){return f===e&&(f=c,c=e),f!==e&&(f=Ss(f),f=f===f?f:0),c!==e&&(c=Ss(c),c=c===c?c:0),qc(Ss(a),c,f)}function Z3(a,c,f){return c=Ia(c),f===e?(f=c,c=0):f=Ia(f),a=Ss(a),s2(a,c,f)}function ez(a,c,f){if(f&&typeof f!="boolean"&&Ti(a,c,f)&&(c=f=e),f===e&&(typeof c=="boolean"?(f=c,c=e):typeof a=="boolean"&&(f=a,a=e)),a===e&&c===e?(a=0,c=1):(a=Ia(a),c===e?(c=a,a=0):c=Ia(c)),a>c){var E=a;a=c,c=E}if(f||a%1||c%1){var _=vw();return Zr(a+_*(c-a+LG("1e-"+((_+"").length-1))),c)}return yv(a,c)}var tz=Td(function(a,c,f){return c=c.toLowerCase(),a+(f?ZL(c):c)});function ZL(a){return Kv(yn(a).toLowerCase())}function eP(a){return a=yn(a),a&&a.replace(rG,GG).replace(vG,"")}function nz(a,c,f){a=yn(a),c=es(c);var E=a.length;f=f===e?E:qc(Lt(f),0,E);var _=f;return f-=c.length,f>=0&&a.slice(f,_)==c}function rz(a){return a=yn(a),a&&UK.test(a)?a.replace(wF,QG):a}function iz(a){return a=yn(a),a&&qK.test(a)?a.replace(BI,"\\$&"):a}var sz=Td(function(a,c,f){return a+(f?"-":"")+c.toLowerCase()}),oz=Td(function(a,c,f){return a+(f?" ":"")+c.toLowerCase()}),az=rL("toLowerCase");function uz(a,c,f){a=yn(a),c=Lt(c);var E=c?ld(a):0;if(!c||E>=c)return a;var _=(c-E)/2;return uy(zT(_),f)+a+uy(JT(_),f)}function cz(a,c,f){a=yn(a),c=Lt(c);var E=c?ld(a):0;return c&&E>>0,f?(a=yn(a),a&&(typeof c=="string"||c!=null&&!jv(c))&&(c=es(c),!c&&cd(a))?Xu(eo(a),0,f):a.split(c,f)):[]}var Tz=Td(function(a,c,f){return a+(f?" ":"")+Kv(c)});function yz(a,c,f){return a=yn(a),f=f==null?0:qc(Lt(f),0,a.length),c=es(c),a.slice(f,f+c.length)==c}function Nz(a,c,f){var E=w.templateSettings;f&&Ti(a,c,f)&&(c=e),a=yn(a),c=gy({},c,E,lL);var _=gy({},c.imports,E.imports,lL),L=Ur(_),M=tv(_,L),q,X,Te=0,Ne=c.interpolate||PT,Ie="__p += '",Fe=rv((c.escape||PT).source+"|"+Ne.source+"|"+(Ne===LF?WK:PT).source+"|"+(c.evaluate||PT).source+"|$","g"),ze="//# sourceURL="+(Sn.call(c,"sourceURL")?(c.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++DG+"]")+` +`;a.replace(Fe,function(dt,qt,Wt,ns,yi,rs){return Wt||(Wt=ns),Ie+=a.slice(Te,rs).replace(iG,YG),qt&&(q=!0,Ie+=`' + +__e(`+qt+`) + '`),yi&&(X=!0,Ie+=`'; `+yi+`; __p += '`),Wt&&(Ie+=`' + @@ -666,10 +666,10 @@ __p += '`),Wt&&(Ie+=`' + function print() { __p += __j.call(arguments, '') } `:`; `)+Ie+`return __p -}`;var Ut=eP(function(){return pn(L,ze+"return "+Ie).apply(e,M)});if(Ut.source=Ie,Vv(Ut))throw Ut;return Ut}function Ez(a){return yn(a).toLowerCase()}function gz(a){return yn(a).toUpperCase()}function Iz(a,c,f){if(a=yn(a),a&&(f||c===e))return cw(a);if(!a||!(c=es(c)))return a;var E=eo(a),_=eo(c),L=lw(E,_),M=dw(E,_)+1;return Xu(E,L,M).join("")}function vz(a,c,f){if(a=yn(a),a&&(f||c===e))return a.slice(0,fw(a)+1);if(!a||!(c=es(c)))return a;var E=eo(a),_=dw(E,eo(c))+1;return Xu(E,0,_).join("")}function _z(a,c,f){if(a=yn(a),a&&(f||c===e))return a.replace(VI,"");if(!a||!(c=es(c)))return a;var E=eo(a),_=lw(E,eo(c));return Xu(E,_).join("")}function bz(a,c){var f=xt,E=B;if(Zn(c)){var _="separator"in c?c.separator:_;f="length"in c?Lt(c.length):f,E="omission"in c?es(c.omission):E}a=yn(a);var L=a.length;if(ad(a)){var M=eo(a);L=M.length}if(f>=L)return a;var q=f-ud(E);if(q<1)return E;var X=M?Xu(M,0,q).join(""):a.slice(0,q);if(_===e)return X+E;if(M&&(q+=X.length-q),jv(_)){if(a.slice(q).search(_)){var Te,Ne=X;for(_.global||(_=rv(_.source,yn(wF.exec(_))+"g")),_.lastIndex=0;Te=_.exec(Ne);)var Ie=Te.index;X=X.slice(0,Ie===e?q:Ie)}}else if(a.indexOf(es(_),q)!=q){var Fe=X.lastIndexOf(_);Fe>-1&&(X=X.slice(0,Fe))}return X+E}function Oz(a){return a=yn(a),a&&CK.test(a)?a.replace(AF,eQ):a}var Sz=md(function(a,c,f){return a+(f?" ":"")+c.toUpperCase()}),Kv=tL("toUpperCase");function ZL(a,c,f){return a=yn(a),c=f?e:c,c===e?zG(a)?rQ(a):VG(a):a.match(c)||[]}var eP=Bt(function(a,c){try{return Xi(a,e,c)}catch(f){return Vv(f)?f:new _t(f)}}),Dz=Na(function(a,c){return Es(c,function(f){f=wo(f),Ta(a,f,Mv(a[f],a))}),a});function Az(a){var c=a==null?0:a.length,f=ct();return a=c?Kn(a,function(E){if(typeof E[1]!="function")throw new gs(i);return[f(E[0]),E[1]]}):[],Bt(function(E){for(var _=-1;++_bn)return[];var f=Pn,E=Zr(a,Pn);c=ct(c),a-=Pn;for(var _=ev(E,c);++f0||c<0)?new Gt(f):(a<0?f=f.takeRight(-a):a&&(f=f.drop(a)),c!==e&&(c=Lt(c),f=c<0?f.dropRight(-c):f.take(c-a)),f)},Gt.prototype.takeRightWhile=function(a){return this.reverse().takeWhile(a).reverse()},Gt.prototype.toArray=function(){return this.take(Pn)},Ro(Gt.prototype,function(a,c){var f=/^(?:filter|find|map|reject)|While$/.test(c),E=/^(?:head|last)$/.test(c),_=w[E?"take"+(c=="last"?"Right":""):c],L=E||/^find/.test(c);_&&(w.prototype[c]=function(){var M=this.__wrapped__,q=E?[1]:arguments,X=M instanceof Gt,Te=q[0],Ne=X||St(M),Ie=function($t){var Wt=_.apply(w,Gu([$t],q));return E&&Fe?Wt[0]:Wt};Ne&&f&&typeof Te=="function"&&Te.length!=1&&(X=Ne=!1);var Fe=this.__chain__,ze=!!this.__actions__.length,lt=L&&!Fe,Ut=X&&!ze;if(!L&&Ne){M=Ut?M:new Gt(this);var dt=a.apply(M,q);return dt.__actions__.push({func:py,args:[Ie],thisArg:e}),new Is(dt,Fe)}return lt&&Ut?a.apply(this,q):(dt=this.thru(Ie),lt?E?dt.value()[0]:dt.value():dt)})}),Es(["pop","push","shift","sort","splice","unshift"],function(a){var c=MT[a],f=/^(?:push|sort|unshift)$/.test(a)?"tap":"thru",E=/^(?:pop|shift)$/.test(a);w.prototype[a]=function(){var _=arguments;if(E&&!this.__chain__){var L=this.value();return c.apply(St(L)?L:[],_)}return this[f](function(M){return c.apply(St(M)?M:[],_)})}}),Ro(Gt.prototype,function(a,c){var f=w[c];if(f){var E=f.name+"";Sn.call(dd,E)||(dd[E]=[]),dd[E].push({name:c,func:f})}}),dd[sy(e,C).name]=[{name:"wrapper",func:e}],Gt.prototype.clone=OQ,Gt.prototype.reverse=SQ,Gt.prototype.value=DQ,w.prototype.at=nJ,w.prototype.chain=rJ,w.prototype.commit=iJ,w.prototype.next=sJ,w.prototype.plant=aJ,w.prototype.reverse=uJ,w.prototype.toJSON=w.prototype.valueOf=w.prototype.value=cJ,w.prototype.first=w.prototype.head,af&&(w.prototype[af]=oJ),w},Yu=iQ();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Cr._=Yu,define(function(){return Yu})):Uc?((Uc.exports=Yu)._=Yu,QI._=Yu):Cr._=Yu}).call(zp)});var wq=V(Xl=>{"use strict";m();T();h();Object.defineProperty(Xl,"__esModule",{value:!0});Xl.FederationFactory=void 0;Xl.federateSubgraphs=yde;Xl.federateSubgraphsWithContracts=Nde;Xl.federateSubgraphsContract=Ede;var ke=(we(),Me(je)),wc=$a(),Xs=Vi(),xe=To(),Hp=DR(),Re=bi(),_e=ps(),uI=Zg(),fr=_c(),mde=qR(),hde=$l(),Rq=qh(),Se=Kp(),Tde=QR(),Fq=Aq(),Wp=aI(),cI=bh(),lI=class{constructor(t){A(this,"authorizationDataByParentTypeName");A(this,"concreteTypeNamesByAbstractTypeName");A(this,"clientDefinitions",[fr.DEPRECATED_DEFINITION]);A(this,"currentSubgraphName","");A(this,"subgraphNamesByNamedTypeNameByFieldCoordinates",new Map);A(this,"entityDataByTypeName");A(this,"entityInterfaceFederationDataByTypeName");A(this,"errors",[]);A(this,"fieldConfigurationByFieldPath",new Map);A(this,"inaccessiblePaths",new Set);A(this,"isMaxDepth",!1);A(this,"internalGraph");A(this,"internalSubgraphBySubgraphName");A(this,"invalidOrScopesHostPaths",new Set);A(this,"isVersionTwo",!1);A(this,"namedInputValueTypeNames",new Set);A(this,"namedOutputTypeNames",new Set);A(this,"parentDefinitionDataByTypeName",new Map);A(this,"parentTagDataByTypeName",new Map);A(this,"pathsByNamedTypeName",new Map);A(this,"persistedDirectiveDefinitionByDirectiveName",new Map([[Re.AUTHENTICATED,fr.AUTHENTICATED_DEFINITION],[Re.DEPRECATED,fr.DEPRECATED_DEFINITION],[Re.INACCESSIBLE,fr.INACCESSIBLE_DEFINITION],[Re.REQUIRES_SCOPES,fr.REQUIRES_SCOPES_DEFINITION],[Re.TAG,fr.TAG_DEFINITION]]));A(this,"persistedDirectiveDefinitions",new Set([Re.AUTHENTICATED,Re.DEPRECATED,Re.INACCESSIBLE,Re.TAG,Re.REQUIRES_SCOPES]));A(this,"potentialPersistedDirectiveDefinitionDataByDirectiveName",new Map);A(this,"routerDefinitions",[fr.DEPRECATED_DEFINITION,fr.TAG_DEFINITION]);A(this,"shareableErrorTypeNames",new Map);A(this,"subscriptionFilterDataByFieldPath",new Map);A(this,"tagNamesByPath",new Map);A(this,"warnings");this.authorizationDataByParentTypeName=t.authorizationDataByParentTypeName,this.concreteTypeNamesByAbstractTypeName=t.concreteTypeNamesByAbstractTypeName,this.entityDataByTypeName=t.entityDataByTypeName,this.entityInterfaceFederationDataByTypeName=t.entityInterfaceFederationDataByTypeName,this.internalSubgraphBySubgraphName=t.internalSubgraphBySubgraphName,this.internalGraph=t.internalGraph,this.warnings=t.warnings}getValidImplementedInterfaces(t){var o;let n=[];if(t.implementedInterfaceTypeNames.size<1)return n;let r=(0,Se.isNodeDataInaccessible)(t),i=new Map,s=new Map;for(let u of t.implementedInterfaceTypeNames){n.push((0,Xs.stringToNamedTypeNode)(u));let l=(0,_e.getOrThrowError)(this.parentDefinitionDataByTypeName,u,Re.PARENT_DEFINITION_DATA);if(l.kind!==ke.Kind.INTERFACE_TYPE_DEFINITION){s.set(l.name,(0,_e.kindToTypeString)(l.kind));continue}let d={invalidFieldImplementations:new Map,unimplementedFields:[]},p=!1;for(let[y,N]of l.fieldDataByFieldName){let I=!1,b=t.fieldDataByFieldName.get(y);if(!b){p=!0,d.unimplementedFields.push(y);continue}let C={invalidAdditionalArguments:new Set,invalidImplementedArguments:[],isInaccessible:!1,originalResponseType:(0,uI.printTypeNode)(N.node.type),unimplementedArguments:new Set};(0,Se.isTypeValidImplementation)(N.node.type,b.node.type,this.concreteTypeNamesByAbstractTypeName)||(p=!0,I=!0,C.implementedResponseType=(0,uI.printTypeNode)(b.node.type));let j=new Set;for(let[Q,re]of N.argumentDataByArgumentName){let se=re.node;j.add(Q);let pe=(o=b.argumentDataByArgumentName.get(Q))==null?void 0:o.node;if(!pe){p=!0,I=!0,C.unimplementedArguments.add(Q);continue}let ye=(0,uI.printTypeNode)(pe.type),Ce=(0,uI.printTypeNode)(se.type);Ce!==ye&&(p=!0,I=!0,C.invalidImplementedArguments.push({actualType:ye,argumentName:Q,expectedType:Ce}))}for(let[Q,re]of b.argumentDataByArgumentName){let se=re.node;j.has(Q)||se.type.kind===ke.Kind.NON_NULL_TYPE&&(p=!0,I=!0,C.invalidAdditionalArguments.add(Q))}!r&&b.isInaccessible&&!N.isInaccessible&&(p=!0,I=!0,C.isInaccessible=!0),I&&d.invalidFieldImplementations.set(y,C)}p&&i.set(u,d)}return s.size>0&&this.errors.push((0,xe.invalidImplementedTypeError)(t.name,s)),i.size&&this.errors.push((0,xe.invalidInterfaceImplementationError)(t.node.name.value,(0,_e.kindToTypeString)(t.kind),i)),n}addValidPrimaryKeyTargetsToEntityData(t){var p;let n=this.entityDataByTypeName.get(t);if(!n)return;let r=(0,_e.getOrThrowError)(this.internalSubgraphBySubgraphName,this.currentSubgraphName,"internalSubgraphBySubgraphName"),i=r.parentDefinitionDataByTypeName,s=i.get(n.typeName);if(!s||s.kind!==ke.Kind.OBJECT_TYPE_DEFINITION)throw(0,xe.incompatibleParentKindFatalError)(n.typeName,ke.Kind.OBJECT_TYPE_DEFINITION,(s==null?void 0:s.kind)||ke.Kind.NULL);let o=(0,_e.getOrThrowError)(r.configurationDataByTypeName,n.typeName,"internalSubgraph.configurationDataByParentTypeName"),u=[],l=this.internalGraph.nodeByNodeName.get(`${this.currentSubgraphName}.${n.typeName}`);(0,Hp.validateImplicitFieldSets)({conditionalFieldDataByCoordinates:r.conditionalFieldDataByCoordinates,configurationData:o,fieldSets:n.keyFieldSets,graphNode:l,implicitKeys:u,objectData:s,parentDefinitionDataByTypeName:i});for(let[y,N]of this.entityInterfaceFederationDataByTypeName){if(!((p=N.concreteTypeNames)!=null&&p.has(n.typeName)))continue;let I=this.entityDataByTypeName.get(y);I&&(0,Hp.validateImplicitFieldSets)({conditionalFieldDataByCoordinates:r.conditionalFieldDataByCoordinates,configurationData:o,fieldSets:I.keyFieldSets,implicitKeys:u,objectData:s,parentDefinitionDataByTypeName:i,graphNode:l})}if(u.length<1)return;if(!o.keys||o.keys.length<1){o.isRootNode=!0,o.keys=u;return}let d=new Set(o.keys.map(y=>y.selectionSet));for(let y of u)d.has(y.selectionSet)||(o.keys.push(y),d.add(y.selectionSet))}addValidPrimaryKeyTargetsFromInterfaceObject(t,n,r,i){let s=t.parentDefinitionDataByTypeName,o=s.get(n);if(!o||o.kind!==ke.Kind.INTERFACE_TYPE_DEFINITION)throw(0,xe.incompatibleParentKindFatalError)(n,ke.Kind.INTERFACE_TYPE_DEFINITION,(o==null?void 0:o.kind)||ke.Kind.NULL);let u=(0,_e.getOrThrowError)(t.configurationDataByTypeName,r.typeName,"internalSubgraph.configurationDataByParentTypeName"),l=[];if((0,Hp.validateImplicitFieldSets)({conditionalFieldDataByCoordinates:t.conditionalFieldDataByCoordinates,configurationData:u,fieldSets:r.keyFieldSets,implicitKeys:l,objectData:o,parentDefinitionDataByTypeName:s,graphNode:i}),l.length<1)return;if(!u.keys||u.keys.length<1){u.isRootNode=!0,u.keys=l;return}let d=new Set(u.keys.map(p=>p.selectionSet));for(let p of l)d.has(p.selectionSet)||(u.keys.push(p),d.add(p.selectionSet))}getEnumValueMergeMethod(t){return this.namedInputValueTypeNames.has(t)?this.namedOutputTypeNames.has(t)?Se.MergeMethod.CONSISTENT:Se.MergeMethod.INTERSECTION:Se.MergeMethod.UNION}generateTagData(){for(let[t,n]of this.tagNamesByPath){let r=t.split(".");if(r.length<1)continue;let i=(0,_e.getValueOrDefault)(this.parentTagDataByTypeName,r[0],()=>(0,Hp.newParentTagData)(r[0]));switch(r.length){case 1:for(let l of n)i.tagNames.add(l);break;case 2:let s=(0,_e.getValueOrDefault)(i.childTagDataByChildName,r[1],()=>(0,Hp.newChildTagData)(r[1]));for(let l of n)s.tagNames.add(l);break;case 3:let o=(0,_e.getValueOrDefault)(i.childTagDataByChildName,r[1],()=>(0,Hp.newChildTagData)(r[1])),u=(0,_e.getValueOrDefault)(o.tagNamesByArgumentName,r[2],()=>new Set);for(let l of n)u.add(l);break;default:break}}}upsertEnumValueData(t,n,r){let i=t.get(n.name),s=i||n,o=`${n.parentTypeName}.${n.name}`;(0,Se.extractPersistedDirectives)(s.persistedDirectivesData,n.directivesByDirectiveName,this.persistedDirectiveDefinitionByDirectiveName);let u=(0,Se.isNodeDataInaccessible)(n);if((r||u)&&this.inaccessiblePaths.add(o),this.recordTagNamesByPath(s,o),!i){n.node={directives:[],kind:n.node.kind,name:(0,Xs.stringToNameNode)(n.name)},t.set(n.name,n);return}i.appearances+=1,(0,Se.setLongestDescription)(i,n)}upsertInputValueData(t,n,r){let i=t.get(n.name),s=i||n;if((0,Se.extractPersistedDirectives)(s.persistedDirectivesData,n.directivesByDirectiveName,this.persistedDirectiveDefinitionByDirectiveName),this.recordTagNamesByPath(s,r||s.renamedPath),!i){n.node={directives:[],kind:n.node.kind,name:(0,Xs.stringToNameNode)(n.name),type:n.type},t.set(n.name,n);return}(0,Se.setLongestDescription)(i,n),(0,_e.addIterableValuesToSet)(n.requiredSubgraphNames,i.requiredSubgraphNames),(0,_e.addIterableValuesToSet)(n.subgraphNames,i.subgraphNames);let{typeErrors:o,typeNode:u}=(0,Wp.getMostRestrictiveMergedTypeNode)(i.type,n.type,i.originalPath,this.errors);if(u)i.type=u;else{if(!o||o.length<2)throw(0,xe.fieldTypeMergeFatalError)(i.name);i.isArgument?this.errors.push((0,xe.incompatibleArgumentTypesError)(i.name,i.renamedPath,o[0],o[1])):this.errors.push((0,xe.incompatibleChildTypesError)(i.renamedPath,o[0],o[1]))}(0,Se.compareAndValidateInputValueDefaultValues)(i,n,this.errors)}handleArgumentInaccessibility(t,n,r,i){if(t){this.inaccessiblePaths.add(r);return}(0,Se.isNodeDataInaccessible)(n)&&((0,Se.isTypeRequired)(n.type)?this.errors.push((0,xe.inaccessibleRequiredArgumentError)(n.name,r,i)):this.inaccessiblePaths.add(r))}handleSubscriptionFilterDirective(t,n,r){let i=t.directivesByDirectiveName.get(Re.SUBSCRIPTION_FILTER);if(i){let s=(0,_e.getSingleSetEntry)(t.subgraphNames);if(s===void 0){this.errors.push((0,xe.unknownFieldSubgraphNameError)(n));return}this.subscriptionFilterDataByFieldPath.set(n,{directive:i[0],fieldData:r||t,directiveSubgraphName:s})}}federateOutputType({current:t,other:n,hostPath:r,mostRestrictive:i}){n=(0,wc.getMutableTypeNode)(n,r,this.errors);let s={kind:t.kind},o=Wp.DivergentType.NONE,u=s;for(let l=0;lnew Set))}upsertFieldData(t,n,r){let i=`${n.renamedParentTypeName}.${n.name}`;(0,_e.getValueOrDefault)(this.pathsByNamedTypeName,n.namedTypeName,()=>new Set).add(i),this.namedOutputTypeNames.add(n.namedTypeName);let s=t.get(n.name),o=s||n;this.handleSubscriptionFilterDirective(n,i,o),(0,Se.extractPersistedDirectives)(o.persistedDirectivesData,n.directivesByDirectiveName,this.persistedDirectiveDefinitionByDirectiveName);let u=(0,Se.isNodeDataInaccessible)(n);if((r||u)&&this.inaccessiblePaths.add(i),this.recordTagNamesByPath(o,i),!s){t.set(n.name,n),n.node={arguments:[],directives:[],kind:n.node.kind,name:(0,Xs.stringToNameNode)(n.name),type:n.type};for(let[d,p]of n.argumentDataByArgumentName){p.node={directives:[],kind:p.node.kind,name:(0,Xs.stringToNameNode)(p.name),type:p.type};let y=(0,wc.getTypeNodeNamedTypeName)(p.type);(0,_e.getValueOrDefault)(this.pathsByNamedTypeName,y,()=>new Set).add(p.renamedPath),this.namedInputValueTypeNames.add(y),(0,Se.extractPersistedDirectives)(p.persistedDirectivesData,p.directivesByDirectiveName,this.persistedDirectiveDefinitionByDirectiveName),this.handleArgumentInaccessibility(r||u,p,p.renamedPath,i),this.recordTagNamesByPath(p,`${i}.${d}`)}return}let l=this.federateOutputType({current:s.type,other:n.type,hostPath:i,mostRestrictive:!1});if(l.success)if(s.type=l.typeNode,s.namedTypeName!==n.namedTypeName){let d=(0,_e.getValueOrDefault)(this.subgraphNamesByNamedTypeNameByFieldCoordinates,`${s.renamedParentTypeName}.${s.name}`,()=>new Map),p=(0,_e.getValueOrDefault)(d,s.namedTypeName,()=>new Set);if(p.size<1)for(let y of s.subgraphNames)n.subgraphNames.has(y)||p.add(y);(0,_e.addIterableValuesToSet)(n.subgraphNames,(0,_e.getValueOrDefault)(d,n.namedTypeName,()=>new Set))}else this.addSubgraphNameToExistingFieldNamedTypeDisparity(n);for(let[d,p]of n.argumentDataByArgumentName){let y=(0,wc.getTypeNodeNamedTypeName)(p.type);(0,_e.getValueOrDefault)(this.pathsByNamedTypeName,y,()=>new Set).add(p.renamedPath),this.namedInputValueTypeNames.add(y),this.handleArgumentInaccessibility(r||u,p,p.renamedPath,i),this.upsertInputValueData(s.argumentDataByArgumentName,p,`${i}.${d}`)}(0,Se.setLongestDescription)(s,n),s.isInaccessible||(s.isInaccessible=n.isInaccessible),(0,_e.addMapEntries)(n.isExternalBySubgraphName,s.isExternalBySubgraphName),(0,_e.addMapEntries)(n.isShareableBySubgraphName,s.isShareableBySubgraphName),(0,_e.addIterableValuesToSet)(n.subgraphNames,s.subgraphNames)}getClientSchemaUnionMembers(t){let n=[];for(let[r,i]of t.memberByMemberTypeName)this.inaccessiblePaths.has(r)||n.push(i);return n}recordTagNamesByPath(t,n){let r=n||t.name;if(t.persistedDirectivesData.tags.size>0){let i=(0,_e.getValueOrDefault)(this.tagNamesByPath,r,()=>new Set);for(let s of t.persistedDirectivesData.tags.keys())i.add(s)}}upsertParentDefinitionData(t,n){let r=this.entityInterfaceFederationDataByTypeName.get(t.name),i=this.parentDefinitionDataByTypeName.get(t.name),s=i||t;(0,Se.extractPersistedDirectives)(s.persistedDirectivesData,t.directivesByDirectiveName,this.persistedDirectiveDefinitionByDirectiveName),this.recordTagNamesByPath(s);let o=(0,Se.isNodeDataInaccessible)(s);if(o&&this.inaccessiblePaths.add(t.name),r&&r.interfaceObjectSubgraphs.has(n)&&(t.kind=ke.Kind.INTERFACE_TYPE_DEFINITION),!i)switch(t.node={kind:t.kind,name:(0,Xs.stringToNameNode)(t.name)},this.parentDefinitionDataByTypeName.set(t.name,t),t.kind){case ke.Kind.ENUM_TYPE_DEFINITION:for(let[u,l]of t.enumValueDataByValueName){let d=`${t.name}.${u}`;l.node={directives:[],kind:l.node.kind,name:(0,Xs.stringToNameNode)(l.name)},(0,Se.extractPersistedDirectives)(l.persistedDirectivesData,l.directivesByDirectiveName,this.persistedDirectiveDefinitionByDirectiveName),this.recordTagNamesByPath(l,d),(0,Se.isNodeDataInaccessible)(l)&&this.inaccessiblePaths.add(d)}return;case ke.Kind.INPUT_OBJECT_TYPE_DEFINITION:for(let[u,l]of t.inputValueDataByValueName){l.node={directives:[],kind:l.node.kind,name:(0,Xs.stringToNameNode)(l.name),type:l.type};let d=(0,wc.getTypeNodeNamedTypeName)(l.type);(0,_e.getValueOrDefault)(this.pathsByNamedTypeName,d,()=>new Set).add(l.renamedPath),this.namedInputValueTypeNames.add(d),(0,Se.extractPersistedDirectives)(l.persistedDirectivesData,l.directivesByDirectiveName,this.persistedDirectiveDefinitionByDirectiveName),this.recordTagNamesByPath(l,`${t.name}.${u}`),(o||(0,Se.isNodeDataInaccessible)(l))&&this.inaccessiblePaths.add(l.renamedPath)}return;case ke.Kind.INTERFACE_TYPE_DEFINITION:case ke.Kind.OBJECT_TYPE_DEFINITION:(0,Se.isParentDataRootType)(t)&&(t.extensionType=Rq.ExtensionType.NONE);for(let u of t.fieldDataByFieldName.values()){u.node={arguments:[],directives:[],kind:u.node.kind,name:(0,Xs.stringToNameNode)(u.name),type:u.type};let l=`${u.renamedParentTypeName}.${u.name}`;this.handleSubscriptionFilterDirective(u,l),(0,_e.getValueOrDefault)(this.pathsByNamedTypeName,u.namedTypeName,()=>new Set).add(l),this.namedOutputTypeNames.add(u.namedTypeName),(0,Se.extractPersistedDirectives)(u.persistedDirectivesData,u.directivesByDirectiveName,this.persistedDirectiveDefinitionByDirectiveName),this.recordTagNamesByPath(u,l);let d=(0,Se.isNodeDataInaccessible)(u);(o||d)&&this.inaccessiblePaths.add(l);for(let[p,y]of u.argumentDataByArgumentName){y.node={directives:[],kind:y.node.kind,name:(0,Xs.stringToNameNode)(y.name),type:y.type};let N=(0,wc.getTypeNodeNamedTypeName)(y.type);(0,_e.getValueOrDefault)(this.pathsByNamedTypeName,N,()=>new Set).add(y.renamedPath),this.namedInputValueTypeNames.add(N),(0,Se.extractPersistedDirectives)(y.persistedDirectivesData,y.directivesByDirectiveName,this.persistedDirectiveDefinitionByDirectiveName),this.recordTagNamesByPath(y,`${l}.${p}`),this.handleArgumentInaccessibility(o||d,y,y.renamedPath,l)}}return;default:return}if(i.kind!==t.kind&&(!r||!r.interfaceObjectSubgraphs.has(n)||i.kind!==ke.Kind.INTERFACE_TYPE_DEFINITION||t.kind!==ke.Kind.OBJECT_TYPE_DEFINITION)){this.errors.push((0,xe.incompatibleParentKindMergeError)(i.name,(0,_e.kindToTypeString)(i.kind),(0,_e.kindToTypeString)(t.kind)));return}switch((0,Se.setLongestDescription)(i,t),(0,Se.setParentDataExtensionType)(i,t),i.kind){case ke.Kind.ENUM_TYPE_DEFINITION:i.appearances+=1;for(let l of t.enumValueDataByValueName.values())this.upsertEnumValueData(i.enumValueDataByValueName,l,o);return;case ke.Kind.INPUT_OBJECT_TYPE_DEFINITION:o&&!i.isInaccessible&&this.propagateInaccessibilityToExistingChildren(i),(0,_e.addIterableValuesToSet)(t.subgraphNames,i.subgraphNames);for(let[l,d]of t.inputValueDataByValueName){let p=`${t.name}.${l}`,y=(0,wc.getTypeNodeNamedTypeName)(d.type);(0,_e.getValueOrDefault)(this.pathsByNamedTypeName,y,()=>new Set).add(p),this.namedInputValueTypeNames.add(y),this.upsertInputValueData(i.inputValueDataByValueName,d),this.recordTagNamesByPath(d,p),(o||(0,Se.isNodeDataInaccessible)(d))&&this.inaccessiblePaths.add(p)}return;case ke.Kind.INTERFACE_TYPE_DEFINITION:case ke.Kind.OBJECT_TYPE_DEFINITION:o&&!i.isInaccessible&&this.propagateInaccessibilityToExistingChildren(i);let u=t;(0,_e.addIterableValuesToSet)(u.implementedInterfaceTypeNames,i.implementedInterfaceTypeNames),(0,_e.addIterableValuesToSet)(u.subgraphNames,i.subgraphNames);for(let l of u.fieldDataByFieldName.values())this.upsertFieldData(i.fieldDataByFieldName,l,o||i.isInaccessible);return;case ke.Kind.UNION_TYPE_DEFINITION:(0,_e.addMapEntries)(t.memberByMemberTypeName,i.memberByMemberTypeName);return;default:return}}propagateInaccessibilityToExistingChildren(t){switch(t.isInaccessible=!0,t.kind){case ke.Kind.INPUT_OBJECT_TYPE_DEFINITION:for(let n of t.inputValueDataByValueName.keys())this.inaccessiblePaths.add(`${t.name}.${n}`);break;default:for(let[n,r]of t.fieldDataByFieldName){let i=`${r.renamedParentTypeName}.${n}`;this.inaccessiblePaths.add(i);for(let s of r.argumentDataByArgumentName.values())this.inaccessiblePaths.add(s.renamedPath)}}}upsertPersistedDirectiveDefinitionData(t,n){let r=t.name,i=this.potentialPersistedDirectiveDefinitionDataByDirectiveName.get(r);if(!i){if(n>1)return;let s=new Map;for(let o of t.argumentDataByArgumentName.values())this.namedInputValueTypeNames.add((0,wc.getTypeNodeNamedTypeName)(o.type)),this.upsertInputValueData(s,o);this.potentialPersistedDirectiveDefinitionDataByDirectiveName.set(r,{argumentDataByArgumentName:s,executableLocations:new Set(t.executableLocations),name:r,repeatable:t.repeatable,subgraphNames:new Set(t.subgraphNames),description:t.description});return}if(i.subgraphNames.size+1!==n){this.potentialPersistedDirectiveDefinitionDataByDirectiveName.delete(r);return}if((0,Se.setMutualExecutableLocations)(i,t.executableLocations),i.executableLocations.size<1){this.potentialPersistedDirectiveDefinitionDataByDirectiveName.delete(r);return}for(let s of t.argumentDataByArgumentName.values())this.namedInputValueTypeNames.add((0,wc.getTypeNodeNamedTypeName)(s.type)),this.upsertInputValueData(i.argumentDataByArgumentName,s);(0,Se.setLongestDescription)(i,t),i.repeatable&&(i.repeatable=t.repeatable),(0,_e.addIterableValuesToSet)(t.subgraphNames,i.subgraphNames)}shouldUpdateFederatedFieldAbstractNamedType(t,n){if(!t)return!1;let r=this.concreteTypeNamesByAbstractTypeName.get(t);if(!r||r.size<1)return!1;for(let i of n)if(!r.has(i))return!1;return!0}updateTypeNodeNamedType(t,n){let r=t;for(let i=0;i1){this.errors.push((0,xe.incompatibleFederatedFieldNamedTypeError)(t,n));continue}break}case ke.Kind.UNION_TYPE_DEFINITION:{if(l){this.errors.push((0,xe.incompatibleFederatedFieldNamedTypeError)(t,n));continue}l=p;break}default:{this.errors.push((0,xe.incompatibleFederatedFieldNamedTypeError)(t,n));break}}}if(o.size<0&&!l){this.errors.push((0,xe.incompatibleFederatedFieldNamedTypeError)(t,n));continue}let d=l;if(o.size>0){if(l){this.errors.push((0,xe.incompatibleFederatedFieldNamedTypeError)(t,n));continue}for(let p of o.keys()){d=p;for(let[y,N]of o)if(p!==y&&!N.implementedInterfaceTypeNames.has(p)){d="";break}if(d)break}}if(!this.shouldUpdateFederatedFieldAbstractNamedType(d,u)){this.errors.push((0,xe.incompatibleFederatedFieldNamedTypeError)(t,n));continue}s.namedTypeName=d,this.updateTypeNodeNamedType(s.type,d)}}federateInternalSubgraphData(){let t=0,n=!1;for(let r of this.internalSubgraphBySubgraphName.values()){t+=1,this.currentSubgraphName=r.name,this.isVersionTwo||(this.isVersionTwo=r.isVersionTwo),(0,Tde.renameRootTypes)(this,r);for(let i of r.parentDefinitionDataByTypeName.values())this.upsertParentDefinitionData(i,r.name);if(!n){if(!r.persistedDirectiveDefinitionDataByDirectiveName.size){n=!0;continue}for(let i of r.persistedDirectiveDefinitionDataByDirectiveName.values())this.upsertPersistedDirectiveDefinitionData(i,t);this.potentialPersistedDirectiveDefinitionDataByDirectiveName.size<1&&(n=!0)}}this.handleDisparateFieldNamedTypes()}handleInterfaceObjectForInternalGraph({entityData:t,internalSubgraph:n,interfaceObjectData:r,interfaceObjectNode:i,resolvableKeyFieldSets:s,subgraphName:o}){let u=this.internalGraph.addOrUpdateNode(t.typeName),l=this.internalGraph.addEntityDataNode(t.typeName);for(let p of i.satisfiedFieldSets)u.satisfiedFieldSets.add(p),s.has(p)&&l.addTargetSubgraphByFieldSet(p,o);let d=r.fieldDatasBySubgraphName.get(o);for(let{name:p,namedTypeName:y}of d||[])this.internalGraph.addEdge(u,this.internalGraph.addOrUpdateNode(y),p);this.internalGraph.addEdge(i,u,t.typeName,!0),this.addValidPrimaryKeyTargetsFromInterfaceObject(n,i.typeName,t,u)}handleEntityInterfaces(){for(let[t,n]of this.entityInterfaceFederationDataByTypeName){(0,_e.subtractSourceSetFromTargetSet)(n.interfaceFieldNames,n.interfaceObjectFieldNames);let r=(0,_e.getOrThrowError)(this.parentDefinitionDataByTypeName,t,Re.PARENT_DEFINITION_DATA);if(r.kind===ke.Kind.INTERFACE_TYPE_DEFINITION)for(let i of n.interfaceObjectSubgraphs){let s=(0,_e.getOrThrowError)(this.internalSubgraphBySubgraphName,i,"internalSubgraphBySubgraphName"),o=s.configurationDataByTypeName,u=this.concreteTypeNamesByAbstractTypeName.get(t);if(!u)continue;let l=(0,_e.getOrThrowError)(o,t,"configurationDataMap"),d=l.keys;if(!d)continue;l.entityInterfaceConcreteTypeNames=n.concreteTypeNames;let p=l.fieldNames,y=this.authorizationDataByParentTypeName.get(n.typeName);this.internalGraph.setSubgraphName(i);let N=this.internalGraph.addOrUpdateNode(t,{isAbstract:!0});for(let I of u){if(o.has(I))continue;if(y){let re=(0,_e.getValueOrDefault)(this.authorizationDataByParentTypeName,I,()=>(0,_e.newAuthorizationData)(I));for(let se of y.fieldAuthorizationDataByFieldName.values())(0,_e.upsertFieldAuthorizationData)(re.fieldAuthorizationDataByFieldName,se)||this.invalidOrScopesHostPaths.add(`${I}.${se.fieldName}`)}let b=(0,_e.getOrThrowError)(this.parentDefinitionDataByTypeName,I,Re.PARENT_DEFINITION_DATA);if(b.kind!==ke.Kind.OBJECT_TYPE_DEFINITION)continue;let C=(0,_e.getOrThrowError)(this.entityDataByTypeName,I,"entityDataByTypeName");C.subgraphNames.add(i);let j={fieldNames:p,isRootNode:!0,keys:d,typeName:I},Q=new Set;for(let re of d.filter(se=>!se.disableEntityResolver))Q.add(re.selectionSet);for(let re of n.interfaceObjectFieldNames){if(b.fieldDataByFieldName.get(re))continue;let pe=(0,_e.getOrThrowError)(r.fieldDataByFieldName,re,`${t}.fieldDataByFieldName`);b.fieldDataByFieldName.set(re,k({},pe))}o.set(I,j),this.handleInterfaceObjectForInternalGraph({internalSubgraph:s,subgraphName:i,interfaceObjectData:n,interfaceObjectNode:N,resolvableKeyFieldSets:Q,entityData:C})}}}}fieldDataToGraphFieldData(t){var n;return{name:t.name,namedTypeName:t.namedTypeName,isLeaf:(0,_e.isNodeLeaf)((n=this.parentDefinitionDataByTypeName.get(t.namedTypeName))==null?void 0:n.kind),subgraphNames:t.subgraphNames}}pushParentDefinitionDataToDocumentDefinitions(t){for(let[n,r]of this.parentDefinitionDataByTypeName)switch(r.extensionType!==Rq.ExtensionType.NONE&&this.errors.push((0,xe.noBaseDefinitionForExtensionError)((0,_e.kindToTypeString)(r.kind),n)),r.kind){case ke.Kind.ENUM_TYPE_DEFINITION:let i=[],s=[],o=this.getEnumValueMergeMethod(n);for(let Q of r.enumValueDataByValueName.values()){let re=(0,Se.getNodeForRouterSchemaByData)(Q,this.persistedDirectiveDefinitionByDirectiveName,this.errors),se=(0,Se.isNodeDataInaccessible)(Q),pe=K(k({},Q.node),{directives:(0,Se.getClientPersistedDirectiveNodes)(Q)});switch(o){case Se.MergeMethod.CONSISTENT:!se&&r.appearances>Q.appearances&&this.errors.push((0,xe.incompatibleSharedEnumError)(n)),i.push(re),se||s.push(pe);break;case Se.MergeMethod.INTERSECTION:r.appearances===Q.appearances&&(i.push(re),se||s.push(pe));break;default:i.push(re),se||s.push(pe);break}}if(r.node.values=i,this.routerDefinitions.push((0,Se.getNodeForRouterSchemaByData)(r,this.persistedDirectiveDefinitionByDirectiveName,this.errors)),(0,Se.isNodeDataInaccessible)(r)){this.validateReferencesOfInaccessibleType(r),this.internalGraph.setNodeInaccessible(r.name);break}if(s.length<1){this.errors.push((0,xe.allChildDefinitionsAreInaccessibleError)((0,_e.kindToTypeString)(r.kind),n,Re.ENUM_VALUE));break}this.clientDefinitions.push(K(k({},r.node),{directives:(0,Se.getClientPersistedDirectiveNodes)(r),values:s}));break;case ke.Kind.INPUT_OBJECT_TYPE_DEFINITION:let u=[],l=[],d=[];for(let[Q,re]of r.inputValueDataByValueName)if(r.subgraphNames.size===re.subgraphNames.size){if(l.push((0,Se.getNodeWithPersistedDirectivesByInputValueData)(re,this.persistedDirectiveDefinitionByDirectiveName,this.errors)),(0,Se.isNodeDataInaccessible)(re))continue;d.push(K(k({},re.node),{directives:(0,Se.getClientPersistedDirectiveNodes)(re)}))}else(0,Se.isTypeRequired)(re.type)&&u.push({inputValueName:Q,missingSubgraphs:(0,_e.getEntriesNotInHashSet)(r.subgraphNames,re.subgraphNames),requiredSubgraphs:[...re.requiredSubgraphNames]});if(u.length>0){this.errors.push((0,xe.invalidRequiredInputValueError)(Re.INPUT_OBJECT,n,u,!1));break}if(r.node.fields=l,this.routerDefinitions.push((0,Se.getNodeForRouterSchemaByData)(r,this.persistedDirectiveDefinitionByDirectiveName,this.errors)),(0,Se.isNodeDataInaccessible)(r)){this.validateReferencesOfInaccessibleType(r);break}if(d.length<1){this.errors.push((0,xe.allChildDefinitionsAreInaccessibleError)((0,_e.kindToTypeString)(r.kind),n,"input field"));break}this.clientDefinitions.push(K(k({},r.node),{directives:(0,Se.getClientPersistedDirectiveNodes)(r),fields:d}));break;case ke.Kind.INTERFACE_TYPE_DEFINITION:case ke.Kind.OBJECT_TYPE_DEFINITION:let p=[],y=[],N=new Map,I=(0,Se.newInvalidFieldNames)(),b=r.kind===ke.Kind.OBJECT_TYPE_DEFINITION;for(let[Q,re]of r.fieldDataByFieldName){(0,Se.pushAuthorizationDirectives)(re,this.authorizationDataByParentTypeName.get(n));let se=(0,Se.getValidFieldArgumentNodes)(re,this.persistedDirectiveDefinitionByDirectiveName,this.fieldConfigurationByFieldPath,this.errors);b&&(0,Se.validateExternalAndShareable)(re,I),p.push((0,Se.getNodeWithPersistedDirectivesByFieldData)(re,this.persistedDirectiveDefinitionByDirectiveName,se,this.errors)),!(0,Se.isNodeDataInaccessible)(re)&&(y.push((0,Se.getClientSchemaFieldNodeByFieldData)(re)),N.set(Q,this.fieldDataToGraphFieldData(re)))}if(b&&(I.byShareable.size>0&&this.errors.push((0,xe.invalidFieldShareabilityError)(r,I.byShareable)),I.subgraphNamesByExternalFieldName.size>0&&this.errors.push((0,xe.allExternalFieldInstancesError)(n,I.subgraphNamesByExternalFieldName))),r.node.fields=p,this.internalGraph.initializeNode(n,N),r.implementedInterfaceTypeNames.size>0){t.push({data:r,clientSchemaFieldNodes:y});break}this.routerDefinitions.push((0,Se.getNodeForRouterSchemaByData)(r,this.persistedDirectiveDefinitionByDirectiveName,this.errors));let C=(0,hde.isNodeQuery)(n);if((0,Se.isNodeDataInaccessible)(r)){if(C){this.errors.push(xe.inaccessibleQueryRootTypeError);break}this.validateReferencesOfInaccessibleType(r),this.internalGraph.setNodeInaccessible(r.name);break}if(y.length<1){let Q=C?xe.noQueryRootTypeError:(0,xe.allChildDefinitionsAreInaccessibleError)((0,_e.kindToTypeString)(r.kind),n,Re.FIELD);this.errors.push(Q);break}this.clientDefinitions.push(K(k({},r.node),{directives:(0,Se.getClientPersistedDirectiveNodes)(r),fields:y}));break;case ke.Kind.SCALAR_TYPE_DEFINITION:if(fr.BASE_SCALARS.has(n))break;if(this.routerDefinitions.push((0,Se.getNodeForRouterSchemaByData)(r,this.persistedDirectiveDefinitionByDirectiveName,this.errors)),(0,Se.isNodeDataInaccessible)(r)){this.validateReferencesOfInaccessibleType(r),this.internalGraph.setNodeInaccessible(r.name);break}this.clientDefinitions.push(K(k({},r.node),{directives:(0,Se.getClientPersistedDirectiveNodes)(r)}));break;case ke.Kind.UNION_TYPE_DEFINITION:if(r.node.types=(0,_e.mapToArrayOfValues)(r.memberByMemberTypeName),this.routerDefinitions.push((0,Se.getNodeForRouterSchemaByData)(r,this.persistedDirectiveDefinitionByDirectiveName,this.errors)),(0,Se.isNodeDataInaccessible)(r)){this.validateReferencesOfInaccessibleType(r),this.internalGraph.setNodeInaccessible(r.name);break}let j=this.getClientSchemaUnionMembers(r);if(j.length<1){this.errors.push((0,xe.allChildDefinitionsAreInaccessibleError)(Re.UNION,n,"union member type"));break}this.clientDefinitions.push(K(k({},r.node),{directives:(0,Se.getClientPersistedDirectiveNodes)(r),types:j}));break}}federateSubgraphData(){this.federateInternalSubgraphData(),this.handleEntityInterfaces(),this.generateTagData(),this.pushVersionTwoDirectiveDefinitionsToDocumentDefinitions()}validateInterfaceImplementationsAndPushToDocumentDefinitions(t){for(let{data:n,clientSchemaFieldNodes:r}of t){if(n.node.interfaces=this.getValidImplementedInterfaces(n),this.routerDefinitions.push((0,Se.getNodeForRouterSchemaByData)(n,this.persistedDirectiveDefinitionByDirectiveName,this.errors)),(0,Se.isNodeDataInaccessible)(n)){this.validateReferencesOfInaccessibleType(n),this.internalGraph.setNodeInaccessible(n.name);continue}let i=[];for(let s of n.implementedInterfaceTypeNames)this.inaccessiblePaths.has(s)||i.push((0,Xs.stringToNamedTypeNode)(s));this.clientDefinitions.push(K(k({},n.node),{directives:(0,Se.getClientPersistedDirectiveNodes)(n),fields:r,interfaces:i}))}}pushVersionTwoDirectiveDefinitionsToDocumentDefinitions(){this.isVersionTwo&&(this.routerDefinitions=[fr.AUTHENTICATED_DEFINITION,fr.DEPRECATED_DEFINITION,fr.INACCESSIBLE_DEFINITION,fr.REQUIRES_SCOPES_DEFINITION,fr.TAG_DEFINITION,fr.SCOPE_SCALAR_DEFINITION],this.clientDefinitions=[fr.AUTHENTICATED_DEFINITION,fr.DEPRECATED_DEFINITION,fr.REQUIRES_SCOPES_DEFINITION,fr.SCOPE_SCALAR_DEFINITION])}validatePathSegmentInaccessibility(t){if(!t)return!1;let r=t.split(Re.LEFT_PARENTHESIS)[0].split(Re.PERIOD),i=r[0];for(let s=0;s0&&this.errors.push((0,xe.invalidReferencesOfInaccessibleTypeError)((0,_e.kindToTypeString)(t.kind),t.name,r))}validateQueryRootType(){let t=this.parentDefinitionDataByTypeName.get(Re.QUERY);if(!t||t.kind!==ke.Kind.OBJECT_TYPE_DEFINITION||t.fieldDataByFieldName.size<1){this.errors.push(xe.noQueryRootTypeError);return}for(let n of t.fieldDataByFieldName.values())if(!(0,Se.isNodeDataInaccessible)(n))return;this.errors.push(xe.noQueryRootTypeError)}validateSubscriptionFieldConditionFieldPath(t,n,r,i,s){let o=t.split(Re.PERIOD);if(o.length<1)return s.push((0,xe.invalidSubscriptionFieldConditionFieldPathErrorMessage)(r,t)),[];let u=n;if(this.inaccessiblePaths.has(u.renamedTypeName))return s.push((0,xe.inaccessibleSubscriptionFieldConditionFieldPathFieldErrorMessage)(r,t,o[0],u.renamedTypeName)),[];let l="";for(let d=0;d0?`.${p}`:p,u.kind!==ke.Kind.OBJECT_TYPE_DEFINITION)return s.push((0,xe.invalidSubscriptionFieldConditionFieldPathParentErrorMessage)(r,t,l)),[];let y=u.fieldDataByFieldName.get(p);if(!y)return s.push((0,xe.undefinedSubscriptionFieldConditionFieldPathFieldErrorMessage)(r,t,l,p,u.renamedTypeName)),[];let N=`${u.renamedTypeName}.${p}`;if(!y.subgraphNames.has(i))return s.push((0,xe.invalidSubscriptionFieldConditionFieldPathFieldErrorMessage)(r,t,l,N,i)),[];if(this.inaccessiblePaths.has(N))return s.push((0,xe.inaccessibleSubscriptionFieldConditionFieldPathFieldErrorMessage)(r,t,l,N)),[];if(fr.BASE_SCALARS.has(y.namedTypeName)){u={kind:ke.Kind.SCALAR_TYPE_DEFINITION,name:y.namedTypeName};continue}u=(0,_e.getOrThrowError)(this.parentDefinitionDataByTypeName,y.namedTypeName,Re.PARENT_DEFINITION_DATA)}return(0,Se.isLeafKind)(u.kind)?o:(s.push((0,xe.nonLeafSubscriptionFieldConditionFieldPathFinalFieldErrorMessage)(r,t,o[o.length-1],(0,_e.kindToTypeString)(u.kind),u.name)),[])}validateSubscriptionFieldCondition(t,n,r,i,s,o,u){if(i>cI.MAX_SUBSCRIPTION_FILTER_DEPTH||this.isMaxDepth)return u.push((0,xe.subscriptionFilterConditionDepthExceededErrorMessage)(s)),this.isMaxDepth=!0,!1;let l=!1,d=new Set([Re.FIELD_PATH,Re.VALUES]),p=new Set,y=new Set,N=[];for(let I of t.fields){let b=I.name.value,C=s+`.${b}`;switch(b){case Re.FIELD_PATH:{if(d.has(Re.FIELD_PATH))d.delete(Re.FIELD_PATH);else{l=!0,p.add(Re.FIELD_PATH);break}if(I.value.kind!==ke.Kind.STRING){N.push((0,xe.invalidInputFieldTypeErrorMessage)(C,Re.STRING,(0,_e.kindToTypeString)(I.value.kind))),l=!0;break}let j=this.validateSubscriptionFieldConditionFieldPath(I.value.value,r,C,o,N);if(j.length<1){l=!0;break}n.fieldPath=j;break}case Re.VALUES:{if(d.has(Re.VALUES))d.delete(Re.VALUES);else{l=!0,p.add(Re.VALUES);break}let j=I.value.kind;if(j==ke.Kind.NULL||j==ke.Kind.OBJECT){N.push((0,xe.invalidInputFieldTypeErrorMessage)(C,Re.LIST,(0,_e.kindToTypeString)(I.value.kind))),l=!0;break}if(j!==ke.Kind.LIST){n.values=[(0,Se.getSubscriptionFilterValue)(I.value)];break}let Q=new Set,re=[];for(let se=0;se0){N.push((0,xe.subscriptionFieldConditionInvalidValuesArrayErrorMessage)(C,re));continue}if(Q.size<1){l=!0,N.push((0,xe.subscriptionFieldConditionEmptyValuesArrayErrorMessage)(C));continue}n.values=[...Q];break}default:l=!0,y.add(b)}}return l?(u.push((0,xe.subscriptionFieldConditionInvalidInputFieldErrorMessage)(s,[...d],[...p],[...y],N)),!1):!0}validateSubscriptionFilterCondition(t,n,r,i,s,o,u){if(i>cI.MAX_SUBSCRIPTION_FILTER_DEPTH||this.isMaxDepth)return u.push((0,xe.subscriptionFilterConditionDepthExceededErrorMessage)(s)),this.isMaxDepth=!0,!1;if(i+=1,t.fields.length!==1)return u.push((0,xe.subscriptionFilterConditionInvalidInputFieldNumberErrorMessage)(s,t.fields.length)),!1;let l=t.fields[0],d=l.name.value;if(!Re.SUBSCRIPTION_FILTER_INPUT_NAMES.has(d))return u.push((0,xe.subscriptionFilterConditionInvalidInputFieldErrorMessage)(s,d)),!1;let p=s+`.${d}`;switch(l.value.kind){case ke.Kind.OBJECT:switch(d){case Re.IN_UPPER:return n.in={fieldPath:[],values:[]},this.validateSubscriptionFieldCondition(l.value,n.in,r,i,s+".IN",o,u);case Re.NOT_UPPER:return n.not={},this.validateSubscriptionFilterCondition(l.value,n.not,r,i,s+".NOT",o,u);default:return u.push((0,xe.subscriptionFilterConditionInvalidInputFieldTypeErrorMessage)(p,Re.LIST,Re.OBJECT)),!1}case ke.Kind.LIST:{let y=[];switch(d){case Re.AND_UPPER:{n.and=y;break}case Re.OR_UPPER:{n.or=y;break}default:return u.push((0,xe.subscriptionFilterConditionInvalidInputFieldTypeErrorMessage)(p,Re.OBJECT,Re.LIST)),!1}let N=l.value.values.length;if(N<1||N>5)return u.push((0,xe.subscriptionFilterArrayConditionInvalidLengthErrorMessage)(p,N)),!1;let I=!0,b=[];for(let C=0;C0?(u.push((0,xe.subscriptionFilterArrayConditionInvalidItemTypeErrorMessage)(p,b)),!1):I}default:{let y=Re.SUBSCRIPTION_FILTER_LIST_INPUT_NAMES.has(d)?Re.LIST:Re.OBJECT;return u.push((0,xe.subscriptionFilterConditionInvalidInputFieldTypeErrorMessage)(p,y,(0,_e.kindToTypeString)(l.value.kind))),!1}}}validateSubscriptionFilterAndGenerateConfiguration(t,n,r,i,s,o){if(!t.arguments||t.arguments.length!==1)return;let u=t.arguments[0];if(u.value.kind!==ke.Kind.OBJECT){this.errors.push((0,xe.invalidSubscriptionFilterDirectiveError)(r,[(0,xe.subscriptionFilterConditionInvalidInputFieldTypeErrorMessage)(Re.CONDITION,Re.OBJECT,(0,_e.kindToTypeString)(u.value.kind))]));return}let l={},d=[];if(!this.validateSubscriptionFilterCondition(u.value,l,n,0,Re.CONDITION,o,d)){this.errors.push((0,xe.invalidSubscriptionFilterDirectiveError)(r,d)),this.isMaxDepth=!1;return}(0,_e.getValueOrDefault)(this.fieldConfigurationByFieldPath,r,()=>({argumentNames:[],fieldName:i,typeName:s})).subscriptionFilterCondition=l}validateSubscriptionFiltersAndGenerateConfiguration(){for(let[t,n]of this.subscriptionFilterDataByFieldPath){if(this.inaccessiblePaths.has(t))continue;let r=this.parentDefinitionDataByTypeName.get(n.fieldData.namedTypeName);if(!r){this.errors.push((0,xe.invalidSubscriptionFilterDirectiveError)(t,[(0,xe.subscriptionFilterNamedTypeErrorMessage)(n.fieldData.namedTypeName)]));continue}(0,Se.isNodeDataInaccessible)(r)||r.kind===ke.Kind.OBJECT_TYPE_DEFINITION&&this.validateSubscriptionFilterAndGenerateConfiguration(n.directive,r,t,n.fieldData.name,n.fieldData.renamedParentTypeName,n.directiveSubgraphName)}}buildFederationResult(){this.subscriptionFilterDataByFieldPath.size>0&&this.validateSubscriptionFiltersAndGenerateConfiguration(),this.invalidOrScopesHostPaths.size>0&&this.errors.push((0,xe.orScopesLimitError)(_e.maxOrScopes,[...this.invalidOrScopesHostPaths]));for(let s of this.potentialPersistedDirectiveDefinitionDataByDirectiveName.values())(0,Se.addValidPersistedDirectiveDefinitionNodeByData)(this.routerDefinitions,s,this.persistedDirectiveDefinitionByDirectiveName,this.errors);let t=[];if(this.pushParentDefinitionDataToDocumentDefinitions(t),this.validateInterfaceImplementationsAndPushToDocumentDefinitions(t),this.validateQueryRootType(),this.errors.length>0)return{errors:this.errors,warnings:this.warnings};if(this.internalSubgraphBySubgraphName.size>1){let s=this.internalGraph.validate();if(s.length>0)return{errors:s,warnings:this.warnings}}if(this.errors.length>0)return{errors:this.errors,warnings:this.warnings};let n={kind:ke.Kind.DOCUMENT,definitions:this.routerDefinitions},r=(0,ke.buildASTSchema)({kind:ke.Kind.DOCUMENT,definitions:this.clientDefinitions},{assumeValid:!0,assumeValidSDL:!0}),i=new Map;for(let s of this.internalSubgraphBySubgraphName.values())i.set(s.name,{configurationDataByTypeName:s.configurationDataByTypeName,schema:s.schema});for(let s of this.authorizationDataByParentTypeName.values())(0,_e.upsertAuthorizationConfiguration)(this.fieldConfigurationByFieldPath,s);return{federationResult:k({fieldConfigurations:Array.from(this.fieldConfigurationByFieldPath.values()),subgraphConfigBySubgraphName:i,federatedGraphAST:n,federatedGraphSchema:(0,ke.buildASTSchema)(n,{assumeValid:!0,assumeValidSDL:!0}),federatedGraphClientSchema:r},this.getClientSchemaObjectBoolean()),warnings:this.warnings}}getClientSchemaObjectBoolean(){return this.inaccessiblePaths.size<1&&this.tagNamesByPath.size<1?{}:{shouldIncludeClientSchema:!0}}handleChildTagExclusions(t,n,r,i){let s=n.size;for(let[o,u]of r){let l=(0,_e.getOrThrowError)(n,o,`${t.name}.childDataByChildName`);if((0,Se.isNodeDataInaccessible)(l)){s-=1;continue}(0,_e.doSetsIntersect)(i,u.tagNames)&&((0,_e.getValueOrDefault)(l.persistedDirectivesData.directives,Re.INACCESSIBLE,()=>[(0,_e.generateSimpleDirective)(Re.INACCESSIBLE)]),this.inaccessiblePaths.add(`${t.name}.${o}`),s-=1)}s<1&&(t.persistedDirectivesData.directives.set(Re.INACCESSIBLE,[(0,_e.generateSimpleDirective)(Re.INACCESSIBLE)]),this.inaccessiblePaths.add(t.name))}handleChildTagInclusions(t,n,r,i){let s=n.size;for(let[o,u]of n){if((0,Se.isNodeDataInaccessible)(u)){s-=1;continue}let l=r.get(o);(!l||!(0,_e.doSetsIntersect)(i,l.tagNames))&&((0,_e.getValueOrDefault)(u.persistedDirectivesData.directives,Re.INACCESSIBLE,()=>[(0,_e.generateSimpleDirective)(Re.INACCESSIBLE)]),this.inaccessiblePaths.add(`${t.name}.${o}`),s-=1)}s<1&&(t.persistedDirectivesData.directives.set(Re.INACCESSIBLE,[(0,_e.generateSimpleDirective)(Re.INACCESSIBLE)]),this.inaccessiblePaths.add(t.name))}buildFederationContractResult(t){if(this.isVersionTwo||this.routerDefinitions.push(fr.INACCESSIBLE_DEFINITION),t.tagNamesToExclude.size>0)for(let[o,u]of this.parentTagDataByTypeName){let l=(0,_e.getOrThrowError)(this.parentDefinitionDataByTypeName,o,Re.PARENT_DEFINITION_DATA);if(!(0,Se.isNodeDataInaccessible)(l)){if((0,_e.doSetsIntersect)(t.tagNamesToExclude,u.tagNames)){l.persistedDirectivesData.directives.set(Re.INACCESSIBLE,[(0,_e.generateSimpleDirective)(Re.INACCESSIBLE)]),this.inaccessiblePaths.add(o);continue}if(!(u.childTagDataByChildName.size<1))switch(l.kind){case ke.Kind.SCALAR_TYPE_DEFINITION:case ke.Kind.UNION_TYPE_DEFINITION:continue;case ke.Kind.ENUM_TYPE_DEFINITION:this.handleChildTagExclusions(l,l.enumValueDataByValueName,u.childTagDataByChildName,t.tagNamesToExclude);break;case ke.Kind.INPUT_OBJECT_TYPE_DEFINITION:this.handleChildTagExclusions(l,l.inputValueDataByValueName,u.childTagDataByChildName,t.tagNamesToExclude);break;default:let d=l.fieldDataByFieldName.size;for(let[p,y]of u.childTagDataByChildName){let N=(0,_e.getOrThrowError)(l.fieldDataByFieldName,p,`${o}.fieldDataByFieldName`);if((0,Se.isNodeDataInaccessible)(N)){d-=1;continue}if((0,_e.doSetsIntersect)(t.tagNamesToExclude,y.tagNames)){(0,_e.getValueOrDefault)(N.persistedDirectivesData.directives,Re.INACCESSIBLE,()=>[(0,_e.generateSimpleDirective)(Re.INACCESSIBLE)]),this.inaccessiblePaths.add(`${o}.${p}`),d-=1;continue}for(let[I,b]of y.tagNamesByArgumentName){let C=(0,_e.getOrThrowError)(N.argumentDataByArgumentName,I,`${p}.argumentDataByArgumentName`);(0,Se.isNodeDataInaccessible)(C)||(0,_e.doSetsIntersect)(b,b)&&((0,_e.getValueOrDefault)(C.persistedDirectivesData.directives,Re.INACCESSIBLE,()=>[(0,_e.generateSimpleDirective)(Re.INACCESSIBLE)]),this.inaccessiblePaths.add(C.renamedPath))}}d<1&&(l.persistedDirectivesData.directives.set(Re.INACCESSIBLE,[(0,_e.generateSimpleDirective)(Re.INACCESSIBLE)]),this.inaccessiblePaths.add(o))}}}else if(t.tagNamesToInclude.size>0)for(let[o,u]of this.parentDefinitionDataByTypeName){if((0,Se.isNodeDataInaccessible)(u))continue;let l=this.parentTagDataByTypeName.get(o);if(!l){u.persistedDirectivesData.directives.set(Re.INACCESSIBLE,[(0,_e.generateSimpleDirective)(Re.INACCESSIBLE)]),this.inaccessiblePaths.add(o);continue}if(!(0,_e.doSetsIntersect)(t.tagNamesToInclude,l.tagNames)){if(l.childTagDataByChildName.size<1){u.persistedDirectivesData.directives.set(Re.INACCESSIBLE,[(0,_e.generateSimpleDirective)(Re.INACCESSIBLE)]),this.inaccessiblePaths.add(o);continue}switch(u.kind){case ke.Kind.SCALAR_TYPE_DEFINITION:case ke.Kind.UNION_TYPE_DEFINITION:continue;case ke.Kind.ENUM_TYPE_DEFINITION:this.handleChildTagInclusions(u,u.enumValueDataByValueName,l.childTagDataByChildName,t.tagNamesToInclude);break;case ke.Kind.INPUT_OBJECT_TYPE_DEFINITION:this.handleChildTagInclusions(u,u.inputValueDataByValueName,l.childTagDataByChildName,t.tagNamesToInclude);break;default:let d=u.fieldDataByFieldName.size;for(let[p,y]of u.fieldDataByFieldName){if((0,Se.isNodeDataInaccessible)(y)){d-=1;continue}let N=l.childTagDataByChildName.get(p);(!N||!(0,_e.doSetsIntersect)(t.tagNamesToInclude,N.tagNames))&&((0,_e.getValueOrDefault)(y.persistedDirectivesData.directives,Re.INACCESSIBLE,()=>[(0,_e.generateSimpleDirective)(Re.INACCESSIBLE)]),this.inaccessiblePaths.add(`${o}.${p}`),d-=1)}d<1&&(u.persistedDirectivesData.directives.set(Re.INACCESSIBLE,[(0,_e.generateSimpleDirective)(Re.INACCESSIBLE)]),this.inaccessiblePaths.add(o))}}}this.subscriptionFilterDataByFieldPath.size>0&&this.validateSubscriptionFiltersAndGenerateConfiguration();for(let o of this.potentialPersistedDirectiveDefinitionDataByDirectiveName.values())(0,Se.addValidPersistedDirectiveDefinitionNodeByData)(this.routerDefinitions,o,this.persistedDirectiveDefinitionByDirectiveName,this.errors);let n=[];if(this.pushParentDefinitionDataToDocumentDefinitions(n),this.validateInterfaceImplementationsAndPushToDocumentDefinitions(n),this.validateQueryRootType(),this.errors.length>0)return{errors:this.errors,warnings:this.warnings};let r={kind:ke.Kind.DOCUMENT,definitions:this.routerDefinitions},i=(0,ke.buildASTSchema)({kind:ke.Kind.DOCUMENT,definitions:this.clientDefinitions},{assumeValid:!0,assumeValidSDL:!0}),s=new Map;for(let o of this.internalSubgraphBySubgraphName.values())s.set(o.name,{configurationDataByTypeName:o.configurationDataByTypeName,schema:o.schema});for(let o of this.authorizationDataByParentTypeName.values())(0,_e.upsertAuthorizationConfiguration)(this.fieldConfigurationByFieldPath,o);return{federationResult:k({fieldConfigurations:Array.from(this.fieldConfigurationByFieldPath.values()),subgraphConfigBySubgraphName:s,federatedGraphAST:r,federatedGraphSchema:(0,ke.buildASTSchema)(r,{assumeValid:!0,assumeValidSDL:!0}),federatedGraphClientSchema:i},this.getClientSchemaObjectBoolean()),warnings:this.warnings}}federateSubgraphsInternal(){return this.federateSubgraphData(),this.buildFederationResult()}};Xl.FederationFactory=lI;function YR(e){if(e.length<1)return{errors:[xe.minimumSubgraphRequirementError],warnings:[]};let{authorizationDataByParentTypeName:t,concreteTypeNamesByAbstractTypeName:n,entityDataByTypeName:r,errors:i,internalSubgraphBySubgraphName:s,internalGraph:o,warnings:u}=(0,mde.batchNormalize)(e);if(i)return{errors:i,warnings:u};let l=new Map,d=new Map,p=new Set;for(let[y,N]of s)for(let[I,b]of N.entityInterfaces){(0,_e.getValueOrDefault)(d,I,()=>[]).push({subgraphName:y,concreteTypeNames:b.concreteTypeNames||new Set});let C=l.get(I);if(!C){p.add(I),l.set(I,(0,_e.newEntityInterfaceFederationData)(b,y));continue}(0,_e.upsertEntityInterfaceFederationData)(C,b,y)&&p.delete(I)}for(let y of p)d.delete(y);return d.size>0?{errors:[(0,xe.undefinedEntityInterfaceImplementationsError)(d,l)],warnings:u}:{federationFactory:new lI({authorizationDataByParentTypeName:t,concreteTypeNamesByAbstractTypeName:n,entityDataByTypeName:r,entityInterfaceFederationDataByTypeName:l,internalSubgraphBySubgraphName:s,internalGraph:o,warnings:u}),warnings:u}}function yde(e){let{errors:t,federationFactory:n,warnings:r}=YR(e);return t||!n?{errors:t||[xe.federationFactoryInitializationFatalError],warnings:r}:n.federateSubgraphsInternal()}function Nde(e,t){let{errors:n,federationFactory:r,warnings:i}=YR(e);if(n||!r)return{errors:n||[xe.federationFactoryInitializationFatalError],warnings:i};r.federateSubgraphData();let s=[(0,Fq.cloneDeep)(r)],{errors:o,federationResult:u,warnings:l}=r.buildFederationResult();if(o)return{errors:o,warnings:l};let d=t.size-1,p=new Map,y=0;for(let[N,I]of t){y!==d&&s.push((0,Fq.cloneDeep)(s[y]));let b=s[y].buildFederationContractResult(I);p.set(N,b),y++}return{federationResult:u,federationResultContainerByContractName:p,warnings:l}}function Ede(e,t){let{errors:n,federationFactory:r,warnings:i}=YR(e);return n||!r?{errors:n||[xe.federationFactoryInitializationFatalError],warnings:i}:(r.federateSubgraphData(),r.buildFederationContractResult(t))}});var Pq=V(Lq=>{"use strict";m();T();h();Object.defineProperty(Lq,"__esModule",{value:!0})});var dI=V(vn=>{"use strict";m();T();h();var gde=vn&&vn.__createBinding||(Object.create?function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]}),Xn=vn&&vn.__exportStar||function(e,t){for(var n in e)n!=="default"&&!Object.prototype.hasOwnProperty.call(t,n)&&gde(t,e,n)};Object.defineProperty(vn,"__esModule",{value:!0});Xn(Vi(),vn);Xn(eD(),vn);Xn(To(),vn);Xn(zM(),vn);Xn(wq(),vn);Xn(DR(),vn);Xn(QR(),vn);Xn(qR(),vn);Xn($l(),vn);Xn(FR(),vn);Xn(nA(),vn);Xn(VR(),vn);Xn(xR(),vn);Xn(UR(),vn);Xn($a(),vn);Xn(qh(),vn);Xn(Pq(),vn);Xn(aI(),vn);Xn(Kp(),vn);Xn(RR(),vn);Xn(ps(),vn);Xn(_c(),vn);Xn(bi(),vn);Xn(rI(),vn)});var fpe={};vf(fpe,{buildRouterConfiguration:()=>ppe,federateSubgraphs:()=>dpe});m();T();h();var DF=Xv(dI());m();T();h();m();T();h();function JR(e){if(!e)return e;let t=new URL(e),n=t.pathname;n.endsWith("/")&&(n=n.slice(0,-1));let r=t.port?`:${t.port}`:"";return`${t.protocol}//${t.hostname}${r}${n}`}m();T();h();m();T();h();var kq={};m();T();h();function xq(e){return e!=null}m();T();h();m();T();h();we();m();T();h();var Cq;if(typeof AggregateError=="undefined"){class e extends Error{constructor(n,r=""){super(r),this.errors=n,this.name="AggregateError",Error.captureStackTrace(this,e)}}Cq=function(t,n){return new e(t,n)}}else Cq=AggregateError;function Uq(e){return"errors"in e&&Array.isArray(e.errors)}var Vq=3;function jq(e){return pI(e,[])}function pI(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return Ide(e,t);default:return String(e)}}function Mq(e){return e instanceof Y?e.toString():`${e.name}: ${e.message}; - ${e.stack}`}function Ide(e,t){if(e===null)return"null";if(e instanceof Error)return Uq(e)?Mq(e)+` -`+Bq(e.errors,t):Mq(e);if(t.includes(e))return"[Circular]";let n=[...t,e];if(vde(e)){let r=e.toJSON();if(r!==e)return typeof r=="string"?r:pI(r,n)}else if(Array.isArray(e))return Bq(e,n);return _de(e,n)}function vde(e){return typeof e.toJSON=="function"}function _de(e,t){let n=Object.entries(e);return n.length===0?"{}":t.length>Vq?"["+bde(e)+"]":"{ "+n.map(([i,s])=>i+": "+pI(s,t)).join(", ")+" }"}function Bq(e,t){if(e.length===0)return"[]";if(t.length>Vq)return"[Array]";let n=e.length,r=[];for(let i=0;in==null?n:n[r],e==null?void 0:e.extensions)}m();T();h();we();m();T();h();we();function la(e){if(Qe(e)){let t=la(e.ofType);if(t.kind===R.NON_NULL_TYPE)throw new Error(`Invalid type node ${jq(e)}. Inner type of non-null type cannot be a non-null type.`);return{kind:R.NON_NULL_TYPE,type:t}}else if(Pt(e))return{kind:R.LIST_TYPE,type:la(e.ofType)};return{kind:R.NAMED_TYPE,name:{kind:R.NAME,value:e.name}}}m();T();h();we();function mI(e){if(e===null)return{kind:R.NULL};if(e===void 0)return null;if(Array.isArray(e)){let t=[];for(let n of e){let r=mI(n);r!=null&&t.push(r)}return{kind:R.LIST,values:t}}if(typeof e=="object"){let t=[];for(let n in e){let r=e[n],i=mI(r);i&&t.push({kind:R.OBJECT_FIELD,name:{kind:R.NAME,value:n},value:i})}return{kind:R.OBJECT,fields:t}}if(typeof e=="boolean")return{kind:R.BOOLEAN,value:e};if(typeof e=="number"&&isFinite(e)){let t=String(e);return Ode.test(t)?{kind:R.INT,value:t}:{kind:R.FLOAT,value:t}}if(typeof e=="string")return{kind:R.STRING,value:e};throw new TypeError(`Cannot convert value to AST: ${e}.`)}var Ode=/^-?(?:0|[1-9][0-9]*)$/;m();T();h();m();T();h();function hI(e){let t=new WeakMap;return function(r){let i=t.get(r);if(i===void 0){let s=e(r);return t.set(r,s),s}return i}}var SYe=hI(function(t){let n=Sde(t);return new Set([...n].map(r=>r.name))}),Sde=hI(function(t){let n=zR(t);return new Set(n.values())}),zR=hI(function(t){let n=new Map,r=t.getQueryType();r&&n.set("query",r);let i=t.getMutationType();i&&n.set("mutation",i);let s=t.getSubscriptionType();return s&&n.set("subscription",s),n});function Dde(e,t={}){let n=t.pathToDirectivesInExtensions,r=e.getTypeMap(),i=Ade(e,n),s=i!=null?[i]:[],o=e.getDirectives();for(let u of o)cc(u)||s.push(Rde(u,e,n));for(let u in r){let l=r[u],d=uo(l),p=ui(l);if(!(d||p))if(ot(l))s.push(Fde(l,e,n));else if(Nt(l))s.push(wde(l,e,n));else if(fn(l))s.push(Lde(l,e,n));else if(It(l))s.push(Pde(l,e,n));else if(rn(l))s.push(kde(l,e,n));else if(tr(l))s.push(xde(l,e,n));else throw new Error(`Unknown type ${l}.`)}return{kind:R.DOCUMENT,definitions:s}}function $q(e,t={}){let n=Dde(e,t);return Ft(n)}function Ade(e,t){var n,r;let i=new Map([["query",void 0],["mutation",void 0],["subscription",void 0]]),s=[];if(e.astNode!=null&&s.push(e.astNode),e.extensionASTNodes!=null)for(let p of e.extensionASTNodes)s.push(p);for(let p of s)if(p.operationTypes)for(let y of p.operationTypes)i.set(y.operation,y);let o=zR(e);for(let[p,y]of i){let N=o.get(p);if(N!=null){let I=la(N);y!=null?y.type=I:i.set(p,{kind:R.OPERATION_TYPE_DEFINITION,operation:p,type:I})}}let u=[...i.values()].filter(xq),l=Xp(e,e,t);if(!u.length&&!l.length)return null;let d={kind:u!=null?R.SCHEMA_DEFINITION:R.SCHEMA_EXTENSION,operationTypes:u,directives:l};return d.description=((r=(n=e.astNode)===null||n===void 0?void 0:n.description)!==null&&r!==void 0?r:e.description!=null)?{kind:R.STRING,value:e.description,block:!0}:void 0,d}function Rde(e,t,n){var r,i,s,o;return{kind:R.DIRECTIVE_DEFINITION,description:(i=(r=e.astNode)===null||r===void 0?void 0:r.description)!==null&&i!==void 0?i:e.description?{kind:R.STRING,value:e.description}:void 0,name:{kind:R.NAME,value:e.name},arguments:(s=e.args)===null||s===void 0?void 0:s.map(u=>qq(u,t,n)),repeatable:e.isRepeatable,locations:((o=e.locations)===null||o===void 0?void 0:o.map(u=>({kind:R.NAME,value:u})))||[]}}function Xp(e,t,n){let r=fI(e,n),i=[];e.astNode!=null&&i.push(e.astNode),"extensionASTNodes"in e&&e.extensionASTNodes!=null&&(i=i.concat(e.extensionASTNodes));let s;if(r!=null)s=HR(t,r);else{s=[];for(let o of i)o.directives&&s.push(...o.directives)}return s}function yI(e,t,n){var r,i;let s=[],o=null,u=fI(e,n),l;return u!=null?l=HR(t,u):l=(r=e.astNode)===null||r===void 0?void 0:r.directives,l!=null&&(s=l.filter(d=>d.name.value!=="deprecated"),e.deprecationReason!=null&&(o=(i=l.filter(d=>d.name.value==="deprecated"))===null||i===void 0?void 0:i[0])),e.deprecationReason!=null&&o==null&&(o=Mde(e.deprecationReason)),o==null?s:[o].concat(s)}function qq(e,t,n){var r,i,s;return{kind:R.INPUT_VALUE_DEFINITION,description:(i=(r=e.astNode)===null||r===void 0?void 0:r.description)!==null&&i!==void 0?i:e.description?{kind:R.STRING,value:e.description,block:!0}:void 0,name:{kind:R.NAME,value:e.name},type:la(e.type),defaultValue:e.defaultValue!==void 0&&(s=Hr(e.defaultValue,e.type))!==null&&s!==void 0?s:void 0,directives:yI(e,t,n)}}function Fde(e,t,n){var r,i;return{kind:R.OBJECT_TYPE_DEFINITION,description:(i=(r=e.astNode)===null||r===void 0?void 0:r.description)!==null&&i!==void 0?i:e.description?{kind:R.STRING,value:e.description,block:!0}:void 0,name:{kind:R.NAME,value:e.name},fields:Object.values(e.getFields()).map(s=>Kq(s,t,n)),interfaces:Object.values(e.getInterfaces()).map(s=>la(s)),directives:Xp(e,t,n)}}function wde(e,t,n){var r,i;let s={kind:R.INTERFACE_TYPE_DEFINITION,description:(i=(r=e.astNode)===null||r===void 0?void 0:r.description)!==null&&i!==void 0?i:e.description?{kind:R.STRING,value:e.description,block:!0}:void 0,name:{kind:R.NAME,value:e.name},fields:Object.values(e.getFields()).map(o=>Kq(o,t,n)),directives:Xp(e,t,n)};return"getInterfaces"in e&&(s.interfaces=Object.values(e.getInterfaces()).map(o=>la(o))),s}function Lde(e,t,n){var r,i;return{kind:R.UNION_TYPE_DEFINITION,description:(i=(r=e.astNode)===null||r===void 0?void 0:r.description)!==null&&i!==void 0?i:e.description?{kind:R.STRING,value:e.description,block:!0}:void 0,name:{kind:R.NAME,value:e.name},directives:Xp(e,t,n),types:e.getTypes().map(s=>la(s))}}function Pde(e,t,n){var r,i;return{kind:R.INPUT_OBJECT_TYPE_DEFINITION,description:(i=(r=e.astNode)===null||r===void 0?void 0:r.description)!==null&&i!==void 0?i:e.description?{kind:R.STRING,value:e.description,block:!0}:void 0,name:{kind:R.NAME,value:e.name},fields:Object.values(e.getFields()).map(s=>Cde(s,t,n)),directives:Xp(e,t,n)}}function kde(e,t,n){var r,i;return{kind:R.ENUM_TYPE_DEFINITION,description:(i=(r=e.astNode)===null||r===void 0?void 0:r.description)!==null&&i!==void 0?i:e.description?{kind:R.STRING,value:e.description,block:!0}:void 0,name:{kind:R.NAME,value:e.name},values:Object.values(e.getValues()).map(s=>Ude(s,t,n)),directives:Xp(e,t,n)}}function xde(e,t,n){var r,i,s;let o=fI(e,n),u=o?HR(t,o):((r=e.astNode)===null||r===void 0?void 0:r.directives)||[],l=e.specifiedByUrl||e.specifiedByURL;if(l&&!u.some(d=>d.name.value==="specifiedBy")){let d={url:l};u.push(TI("specifiedBy",d))}return{kind:R.SCALAR_TYPE_DEFINITION,description:(s=(i=e.astNode)===null||i===void 0?void 0:i.description)!==null&&s!==void 0?s:e.description?{kind:R.STRING,value:e.description,block:!0}:void 0,name:{kind:R.NAME,value:e.name},directives:u}}function Kq(e,t,n){var r,i;return{kind:R.FIELD_DEFINITION,description:(i=(r=e.astNode)===null||r===void 0?void 0:r.description)!==null&&i!==void 0?i:e.description?{kind:R.STRING,value:e.description,block:!0}:void 0,name:{kind:R.NAME,value:e.name},arguments:e.args.map(s=>qq(s,t,n)),type:la(e.type),directives:yI(e,t,n)}}function Cde(e,t,n){var r,i,s;return{kind:R.INPUT_VALUE_DEFINITION,description:(i=(r=e.astNode)===null||r===void 0?void 0:r.description)!==null&&i!==void 0?i:e.description?{kind:R.STRING,value:e.description,block:!0}:void 0,name:{kind:R.NAME,value:e.name},type:la(e.type),directives:yI(e,t,n),defaultValue:(s=Hr(e.defaultValue,e.type))!==null&&s!==void 0?s:void 0}}function Ude(e,t,n){var r,i;return{kind:R.ENUM_VALUE_DEFINITION,description:(i=(r=e.astNode)===null||r===void 0?void 0:r.description)!==null&&i!==void 0?i:e.description?{kind:R.STRING,value:e.description,block:!0}:void 0,name:{kind:R.NAME,value:e.name},directives:yI(e,t,n)}}function Mde(e){return TI("deprecated",{reason:e},Uo)}function TI(e,t,n){let r=[];if(n!=null)for(let i of n.args){let s=i.name,o=t[s];if(o!==void 0){let u=Hr(o,i.type);u&&r.push({kind:R.ARGUMENT,name:{kind:R.NAME,value:s},value:u})}}else for(let i in t){let s=t[i],o=mI(s);o&&r.push({kind:R.ARGUMENT,name:{kind:R.NAME,value:i},value:o})}return{kind:R.DIRECTIVE,name:{kind:R.NAME,value:e},arguments:r}}function HR(e,t){let n=[];for(let r in t){let i=t[r],s=e==null?void 0:e.getDirective(r);if(Array.isArray(i))for(let o of i)n.push(TI(r,o,s));else n.push(TI(r,i,s))}return n}var LK=Xv(dI(),1);we();m();T();h();m();T();h();m();T();h();m();T();h();m();T();h();m();T();h();function Rn(e,t){if(!e)throw new Error(t)}var Bde=34028234663852886e22,Vde=-34028234663852886e22,jde=4294967295,$de=2147483647,qde=-2147483648;function Zp(e){if(typeof e!="number")throw new Error("invalid int 32: "+typeof e);if(!Number.isInteger(e)||e>$de||ejde||e<0)throw new Error("invalid uint 32: "+e)}function NI(e){if(typeof e!="number")throw new Error("invalid float 32: "+typeof e);if(Number.isFinite(e)&&(e>Bde||e({no:i.no,name:i.name,localName:e[i.no]})),r)}function XR(e,t,n){let r=Object.create(null),i=Object.create(null),s=[];for(let o of t){let u=Jq(o);s.push(u),r[o.name]=u,i[o.no]=u}return{typeName:e,values:s,findName(o){return r[o]},findNumber(o){return i[o]}}}function Yq(e,t,n){let r={};for(let i of t){let s=Jq(i);r[s.localName]=s.no,r[s.no]=s.localName}return WR(r,e,t,n),r}function Jq(e){return"localName"in e?e:Object.assign(Object.assign({},e),{localName:e.name})}m();T();h();m();T();h();var ft=class{equals(t){return this.getType().runtime.util.equals(this.getType(),this,t)}clone(){return this.getType().runtime.util.clone(this)}fromBinary(t,n){let r=this.getType(),i=r.runtime.bin,s=i.makeReadOptions(n);return i.readMessage(this,s.readerFactory(t),t.byteLength,s),this}fromJson(t,n){let r=this.getType(),i=r.runtime.json,s=i.makeReadOptions(n);return i.readMessage(r,t,s,this),this}fromJsonString(t,n){let r;try{r=JSON.parse(t)}catch(i){throw new Error(`cannot decode ${this.getType().typeName} from JSON: ${i instanceof Error?i.message:String(i)}`)}return this.fromJson(r,n)}toBinary(t){let n=this.getType(),r=n.runtime.bin,i=r.makeWriteOptions(t),s=i.writerFactory();return r.writeMessage(this,s,i),s.finish()}toJson(t){let n=this.getType(),r=n.runtime.json,i=r.makeWriteOptions(t);return r.writeMessage(this,i)}toJsonString(t){var n;let r=this.toJson(t);return JSON.stringify(r,null,(n=t==null?void 0:t.prettySpaces)!==null&&n!==void 0?n:0)}toJSON(){return this.toJson({emitDefaultValues:!0})}getType(){return Object.getPrototypeOf(this).constructor}};function zq(e,t,n,r){var i;let s=(i=r==null?void 0:r.localName)!==null&&i!==void 0?i:t.substring(t.lastIndexOf(".")+1),o={[s]:function(u){e.util.initFields(this),e.util.initPartial(u,this)}}[s];return Object.setPrototypeOf(o.prototype,new ft),Object.assign(o,{runtime:e,typeName:t,fields:e.util.newFieldList(n),fromBinary(u,l){return new o().fromBinary(u,l)},fromJson(u,l){return new o().fromJson(u,l)},fromJsonString(u,l){return new o().fromJsonString(u,l)},equals(u,l){return e.util.equals(o,u,l)}}),o}m();T();h();m();T();h();m();T();h();m();T();h();function Wq(){let e=0,t=0;for(let r=0;r<28;r+=7){let i=this.buf[this.pos++];if(e|=(i&127)<>4,!(n&128))return this.assertBounds(),[e,t];for(let r=3;r<=31;r+=7){let i=this.buf[this.pos++];if(t|=(i&127)<>>s,u=!(!(o>>>7)&&t==0),l=(u?o|128:o)&255;if(n.push(l),!u)return}let r=e>>>28&15|(t&7)<<4,i=!!(t>>3);if(n.push((i?r|128:r)&255),!!i){for(let s=3;s<31;s=s+7){let o=t>>>s,u=!!(o>>>7),l=(u?o|128:o)&255;if(n.push(l),!u)return}n.push(t>>>31&1)}}var EI=4294967296;function ZR(e){let t=e[0]==="-";t&&(e=e.slice(1));let n=1e6,r=0,i=0;function s(o,u){let l=Number(e.slice(o,u));i*=n,r=r*n+l,r>=EI&&(i=i+(r/EI|0),r=r%EI)}return s(-24,-18),s(-18,-12),s(-12,-6),s(-6),t?Zq(r,i):tF(r,i)}function Xq(e,t){let n=tF(e,t),r=n.hi&2147483648;r&&(n=Zq(n.lo,n.hi));let i=eF(n.lo,n.hi);return r?"-"+i:i}function eF(e,t){if({lo:e,hi:t}=Kde(e,t),t<=2097151)return String(EI*t+e);let n=e&16777215,r=(e>>>24|t<<8)&16777215,i=t>>16&65535,s=n+r*6777216+i*6710656,o=r+i*8147497,u=i*2,l=1e7;return s>=l&&(o+=Math.floor(s/l),s%=l),o>=l&&(u+=Math.floor(o/l),o%=l),u.toString()+Hq(o)+Hq(s)}function Kde(e,t){return{lo:e>>>0,hi:t>>>0}}function tF(e,t){return{lo:e|0,hi:t|0}}function Zq(e,t){return t=~t,e?e=~e+1:t+=1,tF(e,t)}var Hq=e=>{let t=String(e);return"0000000".slice(t.length)+t};function nF(e,t){if(e>=0){for(;e>127;)t.push(e&127|128),e=e>>>7;t.push(e)}else{for(let n=0;n<9;n++)t.push(e&127|128),e=e>>7;t.push(1)}}function eK(){let e=this.buf[this.pos++],t=e&127;if(!(e&128))return this.assertBounds(),t;if(e=this.buf[this.pos++],t|=(e&127)<<7,!(e&128))return this.assertBounds(),t;if(e=this.buf[this.pos++],t|=(e&127)<<14,!(e&128))return this.assertBounds(),t;if(e=this.buf[this.pos++],t|=(e&127)<<21,!(e&128))return this.assertBounds(),t;e=this.buf[this.pos++],t|=(e&15)<<28;for(let n=5;e&128&&n<10;n++)e=this.buf[this.pos++];if(e&128)throw new Error("invalid varint");return this.assertBounds(),t>>>0}function Gde(){let e=new DataView(new ArrayBuffer(8));if(typeof BigInt=="function"&&typeof e.getBigInt64=="function"&&typeof e.getBigUint64=="function"&&typeof e.setBigInt64=="function"&&typeof e.setBigUint64=="function"&&(typeof O!="object"||typeof O.env!="object"||O.env.BUF_BIGINT_DISABLE!=="1")){let i=BigInt("-9223372036854775808"),s=BigInt("9223372036854775807"),o=BigInt("0"),u=BigInt("18446744073709551615");return{zero:BigInt(0),supported:!0,parse(l){let d=typeof l=="bigint"?l:BigInt(l);if(d>s||du||dRn(/^-?[0-9]+$/.test(i),`int64 invalid: ${i}`),r=i=>Rn(/^[0-9]+$/.test(i),`uint64 invalid: ${i}`);return{zero:"0",supported:!1,parse(i){return typeof i!="string"&&(i=i.toString()),n(i),i},uParse(i){return typeof i!="string"&&(i=i.toString()),r(i),i},enc(i){return typeof i!="string"&&(i=i.toString()),n(i),ZR(i)},uEnc(i){return typeof i!="string"&&(i=i.toString()),r(i),ZR(i)},dec(i,s){return Xq(i,s)},uDec(i,s){return eF(i,s)}}}var Ir=Gde();m();T();h();var Ee;(function(e){e[e.DOUBLE=1]="DOUBLE",e[e.FLOAT=2]="FLOAT",e[e.INT64=3]="INT64",e[e.UINT64=4]="UINT64",e[e.INT32=5]="INT32",e[e.FIXED64=6]="FIXED64",e[e.FIXED32=7]="FIXED32",e[e.BOOL=8]="BOOL",e[e.STRING=9]="STRING",e[e.BYTES=12]="BYTES",e[e.UINT32=13]="UINT32",e[e.SFIXED32=15]="SFIXED32",e[e.SFIXED64=16]="SFIXED64",e[e.SINT32=17]="SINT32",e[e.SINT64=18]="SINT64"})(Ee||(Ee={}));var bo;(function(e){e[e.BIGINT=0]="BIGINT",e[e.STRING=1]="STRING"})(bo||(bo={}));function Xa(e,t,n){if(t===n)return!0;if(e==Ee.BYTES){if(!(t instanceof Uint8Array)||!(n instanceof Uint8Array)||t.length!==n.length)return!1;for(let r=0;r>>0)}raw(t){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(t),this}uint32(t){for(mT(t);t>127;)this.buf.push(t&127|128),t=t>>>7;return this.buf.push(t),this}int32(t){return Zp(t),nF(t,this.buf),this}bool(t){return this.buf.push(t?1:0),this}bytes(t){return this.uint32(t.byteLength),this.raw(t)}string(t){let n=this.textEncoder.encode(t);return this.uint32(n.byteLength),this.raw(n)}float(t){NI(t);let n=new Uint8Array(4);return new DataView(n.buffer).setFloat32(0,t,!0),this.raw(n)}double(t){let n=new Uint8Array(8);return new DataView(n.buffer).setFloat64(0,t,!0),this.raw(n)}fixed32(t){mT(t);let n=new Uint8Array(4);return new DataView(n.buffer).setUint32(0,t,!0),this.raw(n)}sfixed32(t){Zp(t);let n=new Uint8Array(4);return new DataView(n.buffer).setInt32(0,t,!0),this.raw(n)}sint32(t){return Zp(t),t=(t<<1^t>>31)>>>0,nF(t,this.buf),this}sfixed64(t){let n=new Uint8Array(8),r=new DataView(n.buffer),i=Ir.enc(t);return r.setInt32(0,i.lo,!0),r.setInt32(4,i.hi,!0),this.raw(n)}fixed64(t){let n=new Uint8Array(8),r=new DataView(n.buffer),i=Ir.uEnc(t);return r.setInt32(0,i.lo,!0),r.setInt32(4,i.hi,!0),this.raw(n)}int64(t){let n=Ir.enc(t);return gI(n.lo,n.hi,this.buf),this}sint64(t){let n=Ir.enc(t),r=n.hi>>31,i=n.lo<<1^r,s=(n.hi<<1|n.lo>>>31)^r;return gI(i,s,this.buf),this}uint64(t){let n=Ir.uEnc(t);return gI(n.lo,n.hi,this.buf),this}},_I=class{constructor(t,n){this.varint64=Wq,this.uint32=eK,this.buf=t,this.len=t.length,this.pos=0,this.view=new DataView(t.buffer,t.byteOffset,t.byteLength),this.textDecoder=n!=null?n:new TextDecoder}tag(){let t=this.uint32(),n=t>>>3,r=t&7;if(n<=0||r<0||r>5)throw new Error("illegal tag: field no "+n+" wire type "+r);return[n,r]}skip(t){let n=this.pos;switch(t){case mr.Varint:for(;this.buf[this.pos++]&128;);break;case mr.Bit64:this.pos+=4;case mr.Bit32:this.pos+=4;break;case mr.LengthDelimited:let r=this.uint32();this.pos+=r;break;case mr.StartGroup:let i;for(;(i=this.tag()[1])!==mr.EndGroup;)this.skip(i);break;default:throw new Error("cant skip wire type "+t)}return this.assertBounds(),this.buf.subarray(n,this.pos)}assertBounds(){if(this.pos>this.len)throw new RangeError("premature EOF")}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)}int64(){return Ir.dec(...this.varint64())}uint64(){return Ir.uDec(...this.varint64())}sint64(){let[t,n]=this.varint64(),r=-(t&1);return t=(t>>>1|(n&1)<<31)^r,n=n>>>1^r,Ir.dec(t,n)}bool(){let[t,n]=this.varint64();return t!==0||n!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return Ir.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return Ir.dec(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let t=this.uint32(),n=this.pos;return this.pos+=t,this.assertBounds(),this.buf.subarray(n,n+t)}string(){return this.textDecoder.decode(this.bytes())}};function tK(e,t,n,r){let i;return{typeName:t,extendee:n,get field(){if(!i){let s=typeof r=="function"?r():r;s.name=t.split(".").pop(),s.jsonName=`[${t}]`,i=e.util.newFieldList([s]).list()[0]}return i},runtime:e}}function bI(e){let t=e.field.localName,n=Object.create(null);return n[t]=Qde(e),[n,()=>n[t]]}function Qde(e){let t=e.field;if(t.repeated)return[];if(t.default!==void 0)return t.default;switch(t.kind){case"enum":return t.T.values[0].no;case"scalar":return Oo(t.T,t.L);case"message":let n=t.T,r=new n;return n.fieldWrapper?n.fieldWrapper.unwrapField(r):r;case"map":throw"map fields are not allowed to be extensions"}}function nK(e,t){if(!t.repeated&&(t.kind=="enum"||t.kind=="scalar")){for(let n=e.length-1;n>=0;--n)if(e[n].no==t.no)return[e[n]];return[]}return e.filter(n=>n.no===t.no)}m();T();h();m();T();h();var Za="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),OI=[];for(let e=0;e>4,o=s,i=2;break;case 2:n[r++]=(o&15)<<4|(s&60)>>2,o=s,i=3;break;case 3:n[r++]=(o&3)<<6|s,i=0;break}}if(i==1)throw Error("invalid base64 string.");return n.subarray(0,r)},enc(e){let t="",n=0,r,i=0;for(let s=0;s>2],i=(r&3)<<4,n=1;break;case 1:t+=Za[i|r>>4],i=(r&15)<<2,n=2;break;case 2:t+=Za[i|r>>6],t+=Za[r&63],n=0;break}return n&&(t+=Za[i],t+="=",n==1&&(t+="=")),t}};m();T();h();function rK(e,t,n){sK(t,e);let r=t.runtime.bin.makeReadOptions(n),i=nK(e.getType().runtime.bin.listUnknownFields(e),t.field),[s,o]=bI(t);for(let u of i)t.runtime.bin.readField(s,r.readerFactory(u.data),t.field,u.wireType,r);return o()}function iK(e,t,n,r){sK(t,e);let i=t.runtime.bin.makeReadOptions(r),s=t.runtime.bin.makeWriteOptions(r);if(iF(e,t)){let d=e.getType().runtime.bin.listUnknownFields(e).filter(p=>p.no!=t.field.no);e.getType().runtime.bin.discardUnknownFields(e);for(let p of d)e.getType().runtime.bin.onUnknownField(e,p.no,p.wireType,p.data)}let o=s.writerFactory(),u=t.field;!u.opt&&!u.repeated&&(u.kind=="enum"||u.kind=="scalar")&&(u=Object.assign(Object.assign({},t.field),{opt:!0})),t.runtime.bin.writeField(u,n,o,s);let l=i.readerFactory(o.finish());for(;l.posr.no==t.field.no)}function sK(e,t){Rn(e.extendee.typeName==t.getType().typeName,`extension ${e.typeName} can only be applied to message ${e.extendee.typeName}`)}m();T();h();function SI(e,t){let n=e.localName;if(e.repeated)return t[n].length>0;if(e.oneof)return t[e.oneof.localName].case===n;switch(e.kind){case"enum":case"scalar":return e.opt||e.req?t[n]!==void 0:e.kind=="enum"?t[n]!==e.T.values[0].no:!II(e.T,t[n]);case"message":return t[n]!==void 0;case"map":return Object.keys(t[n]).length>0}}function sF(e,t){let n=e.localName,r=!e.opt&&!e.req;if(e.repeated)t[n]=[];else if(e.oneof)t[e.oneof.localName]={case:void 0};else switch(e.kind){case"map":t[n]={};break;case"enum":t[n]=r?e.T.values[0].no:void 0;break;case"scalar":t[n]=r?Oo(e.T,e.L):void 0;break;case"message":t[n]=void 0;break}}m();T();h();m();T();h();function So(e,t){if(e===null||typeof e!="object"||!Object.getOwnPropertyNames(ft.prototype).every(r=>r in e&&typeof e[r]=="function"))return!1;let n=e.getType();return n===null||typeof n!="function"||!("typeName"in n)||typeof n.typeName!="string"?!1:t===void 0?!0:n.typeName==t.typeName}function DI(e,t){return So(t)||!e.fieldWrapper?t:e.fieldWrapper.wrapField(t)}var o3e={"google.protobuf.DoubleValue":Ee.DOUBLE,"google.protobuf.FloatValue":Ee.FLOAT,"google.protobuf.Int64Value":Ee.INT64,"google.protobuf.UInt64Value":Ee.UINT64,"google.protobuf.Int32Value":Ee.INT32,"google.protobuf.UInt32Value":Ee.UINT32,"google.protobuf.BoolValue":Ee.BOOL,"google.protobuf.StringValue":Ee.STRING,"google.protobuf.BytesValue":Ee.BYTES};var oK={ignoreUnknownFields:!1},aK={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0};function Yde(e){return e?Object.assign(Object.assign({},oK),e):oK}function Jde(e){return e?Object.assign(Object.assign({},aK),e):aK}var FI=Symbol(),AI=Symbol();function lK(){return{makeReadOptions:Yde,makeWriteOptions:Jde,readMessage(e,t,n,r){if(t==null||Array.isArray(t)||typeof t!="object")throw new Error(`cannot decode message ${e.typeName} from JSON: ${da(t)}`);r=r!=null?r:new e;let i=new Map,s=n.typeRegistry;for(let[o,u]of Object.entries(t)){let l=e.fields.findJsonName(o);if(l){if(l.oneof){if(u===null&&l.kind=="scalar")continue;let d=i.get(l.oneof);if(d!==void 0)throw new Error(`cannot decode message ${e.typeName} from JSON: multiple keys for oneof "${l.oneof.name}" present: "${d}", "${o}"`);i.set(l.oneof,o)}uK(r,u,l,n,e)}else{let d=!1;if(s!=null&&s.findExtension&&o.startsWith("[")&&o.endsWith("]")){let p=s.findExtension(o.substring(1,o.length-1));if(p&&p.extendee.typeName==e.typeName){d=!0;let[y,N]=bI(p);uK(y,u,p.field,n,p),iK(r,p,N(),n)}}if(!d&&!n.ignoreUnknownFields)throw new Error(`cannot decode message ${e.typeName} from JSON: key "${o}" is unknown`)}}return r},writeMessage(e,t){let n=e.getType(),r={},i;try{for(i of n.fields.byNumber()){if(!SI(i,e)){if(i.req)throw"required field not set";if(!t.emitDefaultValues||!Hde(i))continue}let o=i.oneof?e[i.oneof.localName].value:e[i.localName],u=cK(i,o,t);u!==void 0&&(r[t.useProtoFieldName?i.name:i.jsonName]=u)}let s=t.typeRegistry;if(s!=null&&s.findExtensionFor)for(let o of n.runtime.bin.listUnknownFields(e)){let u=s.findExtensionFor(n.typeName,o.no);if(u&&iF(e,u)){let l=rK(e,u,t),d=cK(u.field,l,t);d!==void 0&&(r[u.field.jsonName]=d)}}}catch(s){let o=i?`cannot encode field ${n.typeName}.${i.name} to JSON`:`cannot encode message ${n.typeName} to JSON`,u=s instanceof Error?s.message:String(s);throw new Error(o+(u.length>0?`: ${u}`:""))}return r},readScalar(e,t,n){return hT(e,t,n!=null?n:bo.BIGINT,!0)},writeScalar(e,t,n){if(t!==void 0&&(n||II(e,t)))return RI(e,t)},debug:da}}function da(e){if(e===null)return"null";switch(typeof e){case"object":return Array.isArray(e)?"array":"object";case"string":return e.length>100?"string":`"${e.split('"').join('\\"')}"`;default:return String(e)}}function uK(e,t,n,r,i){let s=n.localName;if(n.repeated){if(Rn(n.kind!="map"),t===null)return;if(!Array.isArray(t))throw new Error(`cannot decode field ${i.typeName}.${n.name} from JSON: ${da(t)}`);let o=e[s];for(let u of t){if(u===null)throw new Error(`cannot decode field ${i.typeName}.${n.name} from JSON: ${da(u)}`);switch(n.kind){case"message":o.push(n.T.fromJson(u,r));break;case"enum":let l=oF(n.T,u,r.ignoreUnknownFields,!0);l!==AI&&o.push(l);break;case"scalar":try{o.push(hT(n.T,u,n.L,!0))}catch(d){let p=`cannot decode field ${i.typeName}.${n.name} from JSON: ${da(u)}`;throw d instanceof Error&&d.message.length>0&&(p+=`: ${d.message}`),new Error(p)}break}}}else if(n.kind=="map"){if(t===null)return;if(typeof t!="object"||Array.isArray(t))throw new Error(`cannot decode field ${i.typeName}.${n.name} from JSON: ${da(t)}`);let o=e[s];for(let[u,l]of Object.entries(t)){if(l===null)throw new Error(`cannot decode field ${i.typeName}.${n.name} from JSON: map value null`);let d;try{d=zde(n.K,u)}catch(p){let y=`cannot decode map key for field ${i.typeName}.${n.name} from JSON: ${da(t)}`;throw p instanceof Error&&p.message.length>0&&(y+=`: ${p.message}`),new Error(y)}switch(n.V.kind){case"message":o[d]=n.V.T.fromJson(l,r);break;case"enum":let p=oF(n.V.T,l,r.ignoreUnknownFields,!0);p!==AI&&(o[d]=p);break;case"scalar":try{o[d]=hT(n.V.T,l,bo.BIGINT,!0)}catch(y){let N=`cannot decode map value for field ${i.typeName}.${n.name} from JSON: ${da(t)}`;throw y instanceof Error&&y.message.length>0&&(N+=`: ${y.message}`),new Error(N)}break}}}else switch(n.oneof&&(e=e[n.oneof.localName]={case:s},s="value"),n.kind){case"message":let o=n.T;if(t===null&&o.typeName!="google.protobuf.Value")return;let u=e[s];So(u)?u.fromJson(t,r):(e[s]=u=o.fromJson(t,r),o.fieldWrapper&&!n.oneof&&(e[s]=o.fieldWrapper.unwrapField(u)));break;case"enum":let l=oF(n.T,t,r.ignoreUnknownFields,!1);switch(l){case FI:sF(n,e);break;case AI:break;default:e[s]=l;break}break;case"scalar":try{let d=hT(n.T,t,n.L,!1);switch(d){case FI:sF(n,e);break;default:e[s]=d;break}}catch(d){let p=`cannot decode field ${i.typeName}.${n.name} from JSON: ${da(t)}`;throw d instanceof Error&&d.message.length>0&&(p+=`: ${d.message}`),new Error(p)}break}}function zde(e,t){if(e===Ee.BOOL)switch(t){case"true":t=!0;break;case"false":t=!1;break}return hT(e,t,bo.BIGINT,!0).toString()}function hT(e,t,n,r){if(t===null)return r?Oo(e,n):FI;switch(e){case Ee.DOUBLE:case Ee.FLOAT:if(t==="NaN")return Number.NaN;if(t==="Infinity")return Number.POSITIVE_INFINITY;if(t==="-Infinity")return Number.NEGATIVE_INFINITY;if(t===""||typeof t=="string"&&t.trim().length!==t.length||typeof t!="string"&&typeof t!="number")break;let i=Number(t);if(Number.isNaN(i)||!Number.isFinite(i))break;return e==Ee.FLOAT&&NI(i),i;case Ee.INT32:case Ee.FIXED32:case Ee.SFIXED32:case Ee.SINT32:case Ee.UINT32:let s;if(typeof t=="number"?s=t:typeof t=="string"&&t.length>0&&t.trim().length===t.length&&(s=Number(t)),s===void 0)break;return e==Ee.UINT32||e==Ee.FIXED32?mT(s):Zp(s),s;case Ee.INT64:case Ee.SFIXED64:case Ee.SINT64:if(typeof t!="number"&&typeof t!="string")break;let o=Ir.parse(t);return n?o.toString():o;case Ee.FIXED64:case Ee.UINT64:if(typeof t!="number"&&typeof t!="string")break;let u=Ir.uParse(t);return n?u.toString():u;case Ee.BOOL:if(typeof t!="boolean")break;return t;case Ee.STRING:if(typeof t!="string")break;try{encodeURIComponent(t)}catch(l){throw new Error("invalid UTF8")}return t;case Ee.BYTES:if(t==="")return new Uint8Array(0);if(typeof t!="string")break;return rF.dec(t)}throw new Error}function oF(e,t,n,r){if(t===null)return e.typeName=="google.protobuf.NullValue"?0:r?e.values[0].no:FI;switch(typeof t){case"number":if(Number.isInteger(t))return t;break;case"string":let i=e.findName(t);if(i!==void 0)return i.no;if(n)return AI;break}throw new Error(`cannot decode enum ${e.typeName} from JSON: ${da(t)}`)}function Hde(e){return e.repeated||e.kind=="map"?!0:!(e.oneof||e.kind=="message"||e.opt||e.req)}function cK(e,t,n){if(e.kind=="map"){Rn(typeof t=="object"&&t!=null);let r={},i=Object.entries(t);switch(e.V.kind){case"scalar":for(let[o,u]of i)r[o.toString()]=RI(e.V.T,u);break;case"message":for(let[o,u]of i)r[o.toString()]=u.toJson(n);break;case"enum":let s=e.V.T;for(let[o,u]of i)r[o.toString()]=aF(s,u,n.enumAsInteger);break}return n.emitDefaultValues||i.length>0?r:void 0}if(e.repeated){Rn(Array.isArray(t));let r=[];switch(e.kind){case"scalar":for(let i=0;i0?r:void 0}switch(e.kind){case"scalar":return RI(e.T,t);case"enum":return aF(e.T,t,n.enumAsInteger);case"message":return DI(e.T,t).toJson(n)}}function aF(e,t,n){var r;if(Rn(typeof t=="number"),e.typeName=="google.protobuf.NullValue")return null;if(n)return t;let i=e.findNumber(t);return(r=i==null?void 0:i.name)!==null&&r!==void 0?r:t}function RI(e,t){switch(e){case Ee.INT32:case Ee.SFIXED32:case Ee.SINT32:case Ee.FIXED32:case Ee.UINT32:return Rn(typeof t=="number"),t;case Ee.FLOAT:case Ee.DOUBLE:return Rn(typeof t=="number"),Number.isNaN(t)?"NaN":t===Number.POSITIVE_INFINITY?"Infinity":t===Number.NEGATIVE_INFINITY?"-Infinity":t;case Ee.STRING:return Rn(typeof t=="string"),t;case Ee.BOOL:return Rn(typeof t=="boolean"),t;case Ee.UINT64:case Ee.FIXED64:case Ee.INT64:case Ee.SFIXED64:case Ee.SINT64:return Rn(typeof t=="bigint"||typeof t=="string"||typeof t=="number"),t.toString();case Ee.BYTES:return Rn(t instanceof Uint8Array),rF.enc(t)}}m();T();h();var ef=Symbol("@bufbuild/protobuf/unknown-fields"),dK={readUnknownFields:!0,readerFactory:e=>new _I(e)},pK={writeUnknownFields:!0,writerFactory:()=>new vI};function Wde(e){return e?Object.assign(Object.assign({},dK),e):dK}function Xde(e){return e?Object.assign(Object.assign({},pK),e):pK}function TK(){return{makeReadOptions:Wde,makeWriteOptions:Xde,listUnknownFields(e){var t;return(t=e[ef])!==null&&t!==void 0?t:[]},discardUnknownFields(e){delete e[ef]},writeUnknownFields(e,t){let r=e[ef];if(r)for(let i of r)t.tag(i.no,i.wireType).raw(i.data)},onUnknownField(e,t,n,r){let i=e;Array.isArray(i[ef])||(i[ef]=[]),i[ef].push({no:t,wireType:n,data:r})},readMessage(e,t,n,r,i){let s=e.getType(),o=i?t.len:t.pos+n,u,l;for(;t.pos0&&(l=epe),s){let N=e[o];if(r==mr.LengthDelimited&&u!=Ee.STRING&&u!=Ee.BYTES){let b=t.uint32()+t.pos;for(;t.posSo(N,y)?N:new y(N));else{let N=o[i];y.fieldWrapper?y.typeName==="google.protobuf.BytesValue"?s[i]=yT(N):s[i]=N:s[i]=So(N,y)?N:new y(N)}break}}},equals(e,t,n){return t===n?!0:!t||!n?!1:e.fields.byMember().every(r=>{let i=t[r.localName],s=n[r.localName];if(r.repeated){if(i.length!==s.length)return!1;switch(r.kind){case"message":return i.every((o,u)=>r.T.equals(o,s[u]));case"scalar":return i.every((o,u)=>Xa(r.T,o,s[u]));case"enum":return i.every((o,u)=>Xa(Ee.INT32,o,s[u]))}throw new Error(`repeated cannot contain ${r.kind}`)}switch(r.kind){case"message":return r.T.equals(i,s);case"enum":return Xa(Ee.INT32,i,s);case"scalar":return Xa(r.T,i,s);case"oneof":if(i.case!==s.case)return!1;let o=r.findField(i.case);if(o===void 0)return!0;switch(o.kind){case"message":return o.T.equals(i.value,s.value);case"enum":return Xa(Ee.INT32,i.value,s.value);case"scalar":return Xa(o.T,i.value,s.value)}throw new Error(`oneof cannot contain ${o.kind}`);case"map":let u=Object.keys(i).concat(Object.keys(s));switch(r.V.kind){case"message":let l=r.V.T;return u.every(p=>l.equals(i[p],s[p]));case"enum":return u.every(p=>Xa(Ee.INT32,i[p],s[p]));case"scalar":let d=r.V.T;return u.every(p=>Xa(d,i[p],s[p]))}break}})},clone(e){let t=e.getType(),n=new t,r=n;for(let i of t.fields.byMember()){let s=e[i.localName],o;if(i.repeated)o=s.map(PI);else if(i.kind=="map"){o=r[i.localName];for(let[u,l]of Object.entries(s))o[u]=PI(l)}else i.kind=="oneof"?o=i.findField(s.case)?{case:s.case,value:PI(s.value)}:{case:void 0}:o=PI(s);r[i.localName]=o}for(let i of t.runtime.bin.listUnknownFields(e))t.runtime.bin.onUnknownField(r,i.no,i.wireType,i.data);return n}}}function PI(e){if(e===void 0)return e;if(So(e))return e.clone();if(e instanceof Uint8Array){let t=new Uint8Array(e.byteLength);return t.set(e),t}return e}function yT(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function EK(e,t,n){return{syntax:e,json:lK(),bin:TK(),util:Object.assign(Object.assign({},NK()),{newFieldList:t,initFields:n}),makeMessageType(r,i,s){return zq(this,r,i,s)},makeEnum:Yq,makeEnumType:XR,getEnumType:Qq,makeExtension(r,i,s){return tK(this,r,i,s)}}}m();T();h();var kI=class{constructor(t,n){this._fields=t,this._normalizer=n}findJsonName(t){if(!this.jsonNames){let n={};for(let r of this.list())n[r.jsonName]=n[r.name]=r;this.jsonNames=n}return this.jsonNames[t]}find(t){if(!this.numbers){let n={};for(let r of this.list())n[r.no]=r;this.numbers=n}return this.numbers[t]}list(){return this.all||(this.all=this._normalizer(this._fields)),this.all}byNumber(){return this.numbersAsc||(this.numbersAsc=this.list().concat().sort((t,n)=>t.no-n.no)),this.numbersAsc}byMember(){if(!this.members){this.members=[];let t=this.members,n;for(let r of this.list())r.oneof?r.oneof!==n&&(n=r.oneof,t.push(n)):t.push(r)}return this.members}};m();T();h();m();T();h();m();T();h();function uF(e,t){let n=vK(e);return t?n:ope(spe(n))}function gK(e){return uF(e,!1)}var IK=vK;function vK(e){let t=!1,n=[];for(let r=0;r`${e}$`,spe=e=>ipe.has(e)?_K(e):e,ope=e=>rpe.has(e)?_K(e):e;var xI=class{constructor(t){this.kind="oneof",this.repeated=!1,this.packed=!1,this.opt=!1,this.req=!1,this.default=void 0,this.fields=[],this.name=t,this.localName=gK(t)}addField(t){Rn(t.oneof===this,`field ${t.name} not one of ${this.name}`),this.fields.push(t)}findField(t){if(!this._lookup){this._lookup=Object.create(null);for(let n=0;nnew kI(e,t=>bK(t,!0)),e=>{for(let t of e.getType().fields.byMember()){if(t.opt)continue;let n=t.localName,r=e;if(t.repeated){r[n]=[];continue}switch(t.kind){case"oneof":r[n]={case:void 0};break;case"enum":r[n]=0;break;case"map":r[n]={};break;case"scalar":r[n]=Oo(t.T,t.L);break;case"message":break}}});var tf;(function(e){e[e.OK=0]="OK",e[e.ERR=1]="ERR",e[e.ERR_NOT_FOUND=2]="ERR_NOT_FOUND",e[e.ERR_ALREADY_EXISTS=3]="ERR_ALREADY_EXISTS",e[e.ERR_INVALID_SUBGRAPH_SCHEMA=4]="ERR_INVALID_SUBGRAPH_SCHEMA",e[e.ERR_SUBGRAPH_COMPOSITION_FAILED=5]="ERR_SUBGRAPH_COMPOSITION_FAILED",e[e.ERR_SUBGRAPH_CHECK_FAILED=6]="ERR_SUBGRAPH_CHECK_FAILED",e[e.ERR_INVALID_LABELS=7]="ERR_INVALID_LABELS",e[e.ERR_ANALYTICS_DISABLED=8]="ERR_ANALYTICS_DISABLED",e[e.ERROR_NOT_AUTHENTICATED=9]="ERROR_NOT_AUTHENTICATED",e[e.ERR_OPENAI_DISABLED=10]="ERR_OPENAI_DISABLED",e[e.ERR_FREE_TRIAL_EXPIRED=11]="ERR_FREE_TRIAL_EXPIRED",e[e.ERROR_NOT_AUTHORIZED=12]="ERROR_NOT_AUTHORIZED",e[e.ERR_LIMIT_REACHED=13]="ERR_LIMIT_REACHED",e[e.ERR_DEPLOYMENT_FAILED=14]="ERR_DEPLOYMENT_FAILED"})(tf||(tf={}));z.util.setEnumType(tf,"wg.cosmo.common.EnumStatusCode",[{no:0,name:"OK"},{no:1,name:"ERR"},{no:2,name:"ERR_NOT_FOUND"},{no:3,name:"ERR_ALREADY_EXISTS"},{no:4,name:"ERR_INVALID_SUBGRAPH_SCHEMA"},{no:5,name:"ERR_SUBGRAPH_COMPOSITION_FAILED"},{no:6,name:"ERR_SUBGRAPH_CHECK_FAILED"},{no:7,name:"ERR_INVALID_LABELS"},{no:8,name:"ERR_ANALYTICS_DISABLED"},{no:9,name:"ERROR_NOT_AUTHENTICATED"},{no:10,name:"ERR_OPENAI_DISABLED"},{no:11,name:"ERR_FREE_TRIAL_EXPIRED"},{no:12,name:"ERROR_NOT_AUTHORIZED"},{no:13,name:"ERR_LIMIT_REACHED"},{no:14,name:"ERR_DEPLOYMENT_FAILED"}]);var eu;(function(e){e[e.GRAPHQL_SUBSCRIPTION_PROTOCOL_WS=0]="GRAPHQL_SUBSCRIPTION_PROTOCOL_WS",e[e.GRAPHQL_SUBSCRIPTION_PROTOCOL_SSE=1]="GRAPHQL_SUBSCRIPTION_PROTOCOL_SSE",e[e.GRAPHQL_SUBSCRIPTION_PROTOCOL_SSE_POST=2]="GRAPHQL_SUBSCRIPTION_PROTOCOL_SSE_POST"})(eu||(eu={}));z.util.setEnumType(eu,"wg.cosmo.common.GraphQLSubscriptionProtocol",[{no:0,name:"GRAPHQL_SUBSCRIPTION_PROTOCOL_WS"},{no:1,name:"GRAPHQL_SUBSCRIPTION_PROTOCOL_SSE"},{no:2,name:"GRAPHQL_SUBSCRIPTION_PROTOCOL_SSE_POST"}]);var tu;(function(e){e[e.GRAPHQL_WEBSOCKET_SUBPROTOCOL_AUTO=0]="GRAPHQL_WEBSOCKET_SUBPROTOCOL_AUTO",e[e.GRAPHQL_WEBSOCKET_SUBPROTOCOL_WS=1]="GRAPHQL_WEBSOCKET_SUBPROTOCOL_WS",e[e.GRAPHQL_WEBSOCKET_SUBPROTOCOL_TRANSPORT_WS=2]="GRAPHQL_WEBSOCKET_SUBPROTOCOL_TRANSPORT_WS"})(tu||(tu={}));z.util.setEnumType(tu,"wg.cosmo.common.GraphQLWebsocketSubprotocol",[{no:0,name:"GRAPHQL_WEBSOCKET_SUBPROTOCOL_AUTO"},{no:1,name:"GRAPHQL_WEBSOCKET_SUBPROTOCOL_WS"},{no:2,name:"GRAPHQL_WEBSOCKET_SUBPROTOCOL_TRANSPORT_WS"}]);m();T();h();var cF;(function(e){e[e.RENDER_ARGUMENT_DEFAULT=0]="RENDER_ARGUMENT_DEFAULT",e[e.RENDER_ARGUMENT_AS_GRAPHQL_VALUE=1]="RENDER_ARGUMENT_AS_GRAPHQL_VALUE",e[e.RENDER_ARGUMENT_AS_ARRAY_CSV=2]="RENDER_ARGUMENT_AS_ARRAY_CSV"})(cF||(cF={}));z.util.setEnumType(cF,"wg.cosmo.node.v1.ArgumentRenderConfiguration",[{no:0,name:"RENDER_ARGUMENT_DEFAULT"},{no:1,name:"RENDER_ARGUMENT_AS_GRAPHQL_VALUE"},{no:2,name:"RENDER_ARGUMENT_AS_ARRAY_CSV"}]);var ed;(function(e){e[e.OBJECT_FIELD=0]="OBJECT_FIELD",e[e.FIELD_ARGUMENT=1]="FIELD_ARGUMENT"})(ed||(ed={}));z.util.setEnumType(ed,"wg.cosmo.node.v1.ArgumentSource",[{no:0,name:"OBJECT_FIELD"},{no:1,name:"FIELD_ARGUMENT"}]);var Lc;(function(e){e[e.STATIC=0]="STATIC",e[e.GRAPHQL=1]="GRAPHQL",e[e.PUBSUB=2]="PUBSUB"})(Lc||(Lc={}));z.util.setEnumType(Lc,"wg.cosmo.node.v1.DataSourceKind",[{no:0,name:"STATIC"},{no:1,name:"GRAPHQL"},{no:2,name:"PUBSUB"}]);var qu;(function(e){e[e.PUBLISH=0]="PUBLISH",e[e.REQUEST=1]="REQUEST",e[e.SUBSCRIBE=2]="SUBSCRIBE"})(qu||(qu={}));z.util.setEnumType(qu,"wg.cosmo.node.v1.EventType",[{no:0,name:"PUBLISH"},{no:1,name:"REQUEST"},{no:2,name:"SUBSCRIBE"}]);var Pc;(function(e){e[e.STATIC_CONFIGURATION_VARIABLE=0]="STATIC_CONFIGURATION_VARIABLE",e[e.ENV_CONFIGURATION_VARIABLE=1]="ENV_CONFIGURATION_VARIABLE",e[e.PLACEHOLDER_CONFIGURATION_VARIABLE=2]="PLACEHOLDER_CONFIGURATION_VARIABLE"})(Pc||(Pc={}));z.util.setEnumType(Pc,"wg.cosmo.node.v1.ConfigurationVariableKind",[{no:0,name:"STATIC_CONFIGURATION_VARIABLE"},{no:1,name:"ENV_CONFIGURATION_VARIABLE"},{no:2,name:"PLACEHOLDER_CONFIGURATION_VARIABLE"}]);var td;(function(e){e[e.GET=0]="GET",e[e.POST=1]="POST",e[e.PUT=2]="PUT",e[e.DELETE=3]="DELETE",e[e.OPTIONS=4]="OPTIONS"})(td||(td={}));z.util.setEnumType(td,"wg.cosmo.node.v1.HTTPMethod",[{no:0,name:"GET"},{no:1,name:"POST"},{no:2,name:"PUT"},{no:3,name:"DELETE"},{no:4,name:"OPTIONS"}]);var nu=class nu extends ft{constructor(n){super();A(this,"id","");A(this,"name","");A(this,"routingUrl","");z.util.initPartial(n,this)}static fromBinary(n,r){return new nu().fromBinary(n,r)}static fromJson(n,r){return new nu().fromJson(n,r)}static fromJsonString(n,r){return new nu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(nu,n,r)}};A(nu,"runtime",z),A(nu,"typeName","wg.cosmo.node.v1.Subgraph"),A(nu,"fields",z.util.newFieldList(()=>[{no:1,name:"id",kind:"scalar",T:9},{no:2,name:"name",kind:"scalar",T:9},{no:3,name:"routing_url",kind:"scalar",T:9}]));var CI=nu,ru=class ru extends ft{constructor(n){super();A(this,"configByFeatureFlagName",{});z.util.initPartial(n,this)}static fromBinary(n,r){return new ru().fromBinary(n,r)}static fromJson(n,r){return new ru().fromJson(n,r)}static fromJsonString(n,r){return new ru().fromJsonString(n,r)}static equals(n,r){return z.util.equals(ru,n,r)}};A(ru,"runtime",z),A(ru,"typeName","wg.cosmo.node.v1.FeatureFlagRouterExecutionConfigs"),A(ru,"fields",z.util.newFieldList(()=>[{no:1,name:"config_by_feature_flag_name",kind:"map",K:9,V:{kind:"message",T:dF}}]));var lF=ru,iu=class iu extends ft{constructor(n){super();A(this,"engineConfig");A(this,"version","");A(this,"subgraphs",[]);z.util.initPartial(n,this)}static fromBinary(n,r){return new iu().fromBinary(n,r)}static fromJson(n,r){return new iu().fromJson(n,r)}static fromJsonString(n,r){return new iu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(iu,n,r)}};A(iu,"runtime",z),A(iu,"typeName","wg.cosmo.node.v1.FeatureFlagRouterExecutionConfig"),A(iu,"fields",z.util.newFieldList(()=>[{no:1,name:"engine_config",kind:"message",T:nf},{no:2,name:"version",kind:"scalar",T:9},{no:3,name:"subgraphs",kind:"message",T:CI,repeated:!0}]));var dF=iu,su=class su extends ft{constructor(n){super();A(this,"engineConfig");A(this,"version","");A(this,"subgraphs",[]);A(this,"featureFlagConfigs");z.util.initPartial(n,this)}static fromBinary(n,r){return new su().fromBinary(n,r)}static fromJson(n,r){return new su().fromJson(n,r)}static fromJsonString(n,r){return new su().fromJsonString(n,r)}static equals(n,r){return z.util.equals(su,n,r)}};A(su,"runtime",z),A(su,"typeName","wg.cosmo.node.v1.RouterConfig"),A(su,"fields",z.util.newFieldList(()=>[{no:1,name:"engine_config",kind:"message",T:nf},{no:2,name:"version",kind:"scalar",T:9},{no:3,name:"subgraphs",kind:"message",T:CI,repeated:!0},{no:4,name:"feature_flag_configs",kind:"message",T:lF,opt:!0}]));var NT=su,ou=class ou extends ft{constructor(n){super();A(this,"code",tf.OK);A(this,"details");z.util.initPartial(n,this)}static fromBinary(n,r){return new ou().fromBinary(n,r)}static fromJson(n,r){return new ou().fromJson(n,r)}static fromJsonString(n,r){return new ou().fromJsonString(n,r)}static equals(n,r){return z.util.equals(ou,n,r)}};A(ou,"runtime",z),A(ou,"typeName","wg.cosmo.node.v1.Response"),A(ou,"fields",z.util.newFieldList(()=>[{no:1,name:"code",kind:"enum",T:z.getEnumType(tf)},{no:2,name:"details",kind:"scalar",T:9,opt:!0}]));var pF=ou,au=class au extends ft{constructor(n){super();A(this,"code",0);A(this,"message","");z.util.initPartial(n,this)}static fromBinary(n,r){return new au().fromBinary(n,r)}static fromJson(n,r){return new au().fromJson(n,r)}static fromJsonString(n,r){return new au().fromJsonString(n,r)}static equals(n,r){return z.util.equals(au,n,r)}};A(au,"runtime",z),A(au,"typeName","wg.cosmo.node.v1.ResponseStatus"),A(au,"fields",z.util.newFieldList(()=>[{no:1,name:"code",kind:"scalar",T:5},{no:2,name:"message",kind:"scalar",T:9}]));var OK=au,uu=class uu extends ft{constructor(n){super();A(this,"accountLimits");A(this,"graphPublicKey","");z.util.initPartial(n,this)}static fromBinary(n,r){return new uu().fromBinary(n,r)}static fromJson(n,r){return new uu().fromJson(n,r)}static fromJsonString(n,r){return new uu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(uu,n,r)}};A(uu,"runtime",z),A(uu,"typeName","wg.cosmo.node.v1.RegistrationInfo"),A(uu,"fields",z.util.newFieldList(()=>[{no:1,name:"account_limits",kind:"message",T:mF},{no:2,name:"graph_public_key",kind:"scalar",T:9}]));var fF=uu,cu=class cu extends ft{constructor(n){super();A(this,"traceSamplingRate",0);z.util.initPartial(n,this)}static fromBinary(n,r){return new cu().fromBinary(n,r)}static fromJson(n,r){return new cu().fromJson(n,r)}static fromJsonString(n,r){return new cu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(cu,n,r)}};A(cu,"runtime",z),A(cu,"typeName","wg.cosmo.node.v1.AccountLimits"),A(cu,"fields",z.util.newFieldList(()=>[{no:1,name:"trace_sampling_rate",kind:"scalar",T:2}]));var mF=cu,lu=class lu extends ft{constructor(t){super(),z.util.initPartial(t,this)}static fromBinary(t,n){return new lu().fromBinary(t,n)}static fromJson(t,n){return new lu().fromJson(t,n)}static fromJsonString(t,n){return new lu().fromJsonString(t,n)}static equals(t,n){return z.util.equals(lu,t,n)}};A(lu,"runtime",z),A(lu,"typeName","wg.cosmo.node.v1.SelfRegisterRequest"),A(lu,"fields",z.util.newFieldList(()=>[]));var SK=lu,du=class du extends ft{constructor(n){super();A(this,"response");A(this,"registrationInfo");z.util.initPartial(n,this)}static fromBinary(n,r){return new du().fromBinary(n,r)}static fromJson(n,r){return new du().fromJson(n,r)}static fromJsonString(n,r){return new du().fromJsonString(n,r)}static equals(n,r){return z.util.equals(du,n,r)}};A(du,"runtime",z),A(du,"typeName","wg.cosmo.node.v1.SelfRegisterResponse"),A(du,"fields",z.util.newFieldList(()=>[{no:1,name:"response",kind:"message",T:pF},{no:2,name:"registrationInfo",kind:"message",T:fF,opt:!0}]));var DK=du,pu=class pu extends ft{constructor(n){super();A(this,"defaultFlushInterval",Ir.zero);A(this,"datasourceConfigurations",[]);A(this,"fieldConfigurations",[]);A(this,"graphqlSchema","");A(this,"typeConfigurations",[]);A(this,"stringStorage",{});A(this,"graphqlClientSchema");z.util.initPartial(n,this)}static fromBinary(n,r){return new pu().fromBinary(n,r)}static fromJson(n,r){return new pu().fromJson(n,r)}static fromJsonString(n,r){return new pu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(pu,n,r)}};A(pu,"runtime",z),A(pu,"typeName","wg.cosmo.node.v1.EngineConfiguration"),A(pu,"fields",z.util.newFieldList(()=>[{no:1,name:"defaultFlushInterval",kind:"scalar",T:3},{no:2,name:"datasource_configurations",kind:"message",T:ET,repeated:!0},{no:3,name:"field_configurations",kind:"message",T:_T,repeated:!0},{no:4,name:"graphqlSchema",kind:"scalar",T:9},{no:5,name:"type_configurations",kind:"message",T:hF,repeated:!0},{no:6,name:"string_storage",kind:"map",K:9,V:{kind:"scalar",T:9}},{no:7,name:"graphql_client_schema",kind:"scalar",T:9,opt:!0}]));var nf=pu,fu=class fu extends ft{constructor(n){super();A(this,"kind",Lc.STATIC);A(this,"rootNodes",[]);A(this,"childNodes",[]);A(this,"overrideFieldPathFromAlias",!1);A(this,"customGraphql");A(this,"customStatic");A(this,"directives",[]);A(this,"requestTimeoutSeconds",Ir.zero);A(this,"id","");A(this,"keys",[]);A(this,"provides",[]);A(this,"requires",[]);A(this,"customEvents");A(this,"entityInterfaces",[]);A(this,"interfaceObjects",[]);z.util.initPartial(n,this)}static fromBinary(n,r){return new fu().fromBinary(n,r)}static fromJson(n,r){return new fu().fromJson(n,r)}static fromJsonString(n,r){return new fu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(fu,n,r)}};A(fu,"runtime",z),A(fu,"typeName","wg.cosmo.node.v1.DataSourceConfiguration"),A(fu,"fields",z.util.newFieldList(()=>[{no:1,name:"kind",kind:"enum",T:z.getEnumType(Lc)},{no:2,name:"root_nodes",kind:"message",T:rf,repeated:!0},{no:3,name:"child_nodes",kind:"message",T:rf,repeated:!0},{no:4,name:"override_field_path_from_alias",kind:"scalar",T:8},{no:5,name:"custom_graphql",kind:"message",T:ST},{no:6,name:"custom_static",kind:"message",T:yF},{no:7,name:"directives",kind:"message",T:NF,repeated:!0},{no:8,name:"request_timeout_seconds",kind:"scalar",T:3},{no:9,name:"id",kind:"scalar",T:9},{no:10,name:"keys",kind:"message",T:Zl,repeated:!0},{no:11,name:"provides",kind:"message",T:Zl,repeated:!0},{no:12,name:"requires",kind:"message",T:Zl,repeated:!0},{no:13,name:"custom_events",kind:"message",T:rd},{no:14,name:"entity_interfaces",kind:"message",T:sf,repeated:!0},{no:15,name:"interface_objects",kind:"message",T:sf,repeated:!0}]));var ET=fu,mu=class mu extends ft{constructor(n){super();A(this,"name","");A(this,"sourceType",ed.OBJECT_FIELD);z.util.initPartial(n,this)}static fromBinary(n,r){return new mu().fromBinary(n,r)}static fromJson(n,r){return new mu().fromJson(n,r)}static fromJsonString(n,r){return new mu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(mu,n,r)}};A(mu,"runtime",z),A(mu,"typeName","wg.cosmo.node.v1.ArgumentConfiguration"),A(mu,"fields",z.util.newFieldList(()=>[{no:1,name:"name",kind:"scalar",T:9},{no:2,name:"source_type",kind:"enum",T:z.getEnumType(ed)}]));var gT=mu,hu=class hu extends ft{constructor(n){super();A(this,"requiredAndScopes",[]);z.util.initPartial(n,this)}static fromBinary(n,r){return new hu().fromBinary(n,r)}static fromJson(n,r){return new hu().fromJson(n,r)}static fromJsonString(n,r){return new hu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(hu,n,r)}};A(hu,"runtime",z),A(hu,"typeName","wg.cosmo.node.v1.Scopes"),A(hu,"fields",z.util.newFieldList(()=>[{no:1,name:"required_and_scopes",kind:"scalar",T:9,repeated:!0}]));var IT=hu,Tu=class Tu extends ft{constructor(n){super();A(this,"requiresAuthentication",!1);A(this,"requiredOrScopes",[]);z.util.initPartial(n,this)}static fromBinary(n,r){return new Tu().fromBinary(n,r)}static fromJson(n,r){return new Tu().fromJson(n,r)}static fromJsonString(n,r){return new Tu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(Tu,n,r)}};A(Tu,"runtime",z),A(Tu,"typeName","wg.cosmo.node.v1.AuthorizationConfiguration"),A(Tu,"fields",z.util.newFieldList(()=>[{no:1,name:"requires_authentication",kind:"scalar",T:8},{no:2,name:"required_or_scopes",kind:"message",T:IT,repeated:!0}]));var vT=Tu,yu=class yu extends ft{constructor(n){super();A(this,"typeName","");A(this,"fieldName","");A(this,"argumentsConfiguration",[]);A(this,"authorizationConfiguration");A(this,"subscriptionFilterCondition");z.util.initPartial(n,this)}static fromBinary(n,r){return new yu().fromBinary(n,r)}static fromJson(n,r){return new yu().fromJson(n,r)}static fromJsonString(n,r){return new yu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(yu,n,r)}};A(yu,"runtime",z),A(yu,"typeName","wg.cosmo.node.v1.FieldConfiguration"),A(yu,"fields",z.util.newFieldList(()=>[{no:1,name:"type_name",kind:"scalar",T:9},{no:2,name:"field_name",kind:"scalar",T:9},{no:3,name:"arguments_configuration",kind:"message",T:gT,repeated:!0},{no:4,name:"authorization_configuration",kind:"message",T:vT},{no:5,name:"subscription_filter_condition",kind:"message",T:kc,opt:!0}]));var _T=yu,Nu=class Nu extends ft{constructor(n){super();A(this,"typeName","");A(this,"renameTo","");z.util.initPartial(n,this)}static fromBinary(n,r){return new Nu().fromBinary(n,r)}static fromJson(n,r){return new Nu().fromJson(n,r)}static fromJsonString(n,r){return new Nu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(Nu,n,r)}};A(Nu,"runtime",z),A(Nu,"typeName","wg.cosmo.node.v1.TypeConfiguration"),A(Nu,"fields",z.util.newFieldList(()=>[{no:1,name:"type_name",kind:"scalar",T:9},{no:2,name:"rename_to",kind:"scalar",T:9}]));var hF=Nu,Eu=class Eu extends ft{constructor(n){super();A(this,"typeName","");A(this,"fieldNames",[]);A(this,"externalFieldNames",[]);z.util.initPartial(n,this)}static fromBinary(n,r){return new Eu().fromBinary(n,r)}static fromJson(n,r){return new Eu().fromJson(n,r)}static fromJsonString(n,r){return new Eu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(Eu,n,r)}};A(Eu,"runtime",z),A(Eu,"typeName","wg.cosmo.node.v1.TypeField"),A(Eu,"fields",z.util.newFieldList(()=>[{no:1,name:"type_name",kind:"scalar",T:9},{no:2,name:"field_names",kind:"scalar",T:9,repeated:!0},{no:3,name:"external_field_names",kind:"scalar",T:9,repeated:!0}]));var rf=Eu,gu=class gu extends ft{constructor(n){super();A(this,"fieldName","");A(this,"typeName","");z.util.initPartial(n,this)}static fromBinary(n,r){return new gu().fromBinary(n,r)}static fromJson(n,r){return new gu().fromJson(n,r)}static fromJsonString(n,r){return new gu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(gu,n,r)}};A(gu,"runtime",z),A(gu,"typeName","wg.cosmo.node.v1.FieldCoordinates"),A(gu,"fields",z.util.newFieldList(()=>[{no:1,name:"field_name",kind:"scalar",T:9},{no:2,name:"type_name",kind:"scalar",T:9}]));var bT=gu,Iu=class Iu extends ft{constructor(n){super();A(this,"fieldCoordinatesPath",[]);A(this,"fieldPath",[]);z.util.initPartial(n,this)}static fromBinary(n,r){return new Iu().fromBinary(n,r)}static fromJson(n,r){return new Iu().fromJson(n,r)}static fromJsonString(n,r){return new Iu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(Iu,n,r)}};A(Iu,"runtime",z),A(Iu,"typeName","wg.cosmo.node.v1.FieldSetCondition"),A(Iu,"fields",z.util.newFieldList(()=>[{no:1,name:"field_coordinates_path",kind:"message",T:bT,repeated:!0},{no:2,name:"field_path",kind:"scalar",T:9,repeated:!0}]));var OT=Iu,vu=class vu extends ft{constructor(n){super();A(this,"typeName","");A(this,"fieldName","");A(this,"selectionSet","");A(this,"disableEntityResolver",!1);A(this,"conditions",[]);z.util.initPartial(n,this)}static fromBinary(n,r){return new vu().fromBinary(n,r)}static fromJson(n,r){return new vu().fromJson(n,r)}static fromJsonString(n,r){return new vu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(vu,n,r)}};A(vu,"runtime",z),A(vu,"typeName","wg.cosmo.node.v1.RequiredField"),A(vu,"fields",z.util.newFieldList(()=>[{no:1,name:"type_name",kind:"scalar",T:9},{no:2,name:"field_name",kind:"scalar",T:9},{no:3,name:"selection_set",kind:"scalar",T:9},{no:4,name:"disable_entity_resolver",kind:"scalar",T:8},{no:5,name:"conditions",kind:"message",T:OT,repeated:!0}]));var Zl=vu,_u=class _u extends ft{constructor(n){super();A(this,"interfaceTypeName","");A(this,"concreteTypeNames",[]);z.util.initPartial(n,this)}static fromBinary(n,r){return new _u().fromBinary(n,r)}static fromJson(n,r){return new _u().fromJson(n,r)}static fromJsonString(n,r){return new _u().fromJsonString(n,r)}static equals(n,r){return z.util.equals(_u,n,r)}};A(_u,"runtime",z),A(_u,"typeName","wg.cosmo.node.v1.EntityInterfaceConfiguration"),A(_u,"fields",z.util.newFieldList(()=>[{no:1,name:"interface_type_name",kind:"scalar",T:9},{no:2,name:"concrete_type_names",kind:"scalar",T:9,repeated:!0}]));var sf=_u,bu=class bu extends ft{constructor(n){super();A(this,"url");A(this,"method",td.GET);A(this,"header",{});A(this,"body");A(this,"query",[]);A(this,"urlEncodeBody",!1);A(this,"mtls");A(this,"baseUrl");A(this,"path");A(this,"httpProxyUrl");z.util.initPartial(n,this)}static fromBinary(n,r){return new bu().fromBinary(n,r)}static fromJson(n,r){return new bu().fromJson(n,r)}static fromJsonString(n,r){return new bu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(bu,n,r)}};A(bu,"runtime",z),A(bu,"typeName","wg.cosmo.node.v1.FetchConfiguration"),A(bu,"fields",z.util.newFieldList(()=>[{no:1,name:"url",kind:"message",T:wi},{no:2,name:"method",kind:"enum",T:z.getEnumType(td)},{no:3,name:"header",kind:"map",K:9,V:{kind:"message",T:gF}},{no:4,name:"body",kind:"message",T:wi},{no:5,name:"query",kind:"message",T:EF,repeated:!0},{no:7,name:"url_encode_body",kind:"scalar",T:8},{no:8,name:"mtls",kind:"message",T:IF},{no:9,name:"base_url",kind:"message",T:wi},{no:10,name:"path",kind:"message",T:wi},{no:11,name:"http_proxy_url",kind:"message",T:wi,opt:!0}]));var TF=bu,Ou=class Ou extends ft{constructor(n){super();A(this,"statusCode",Ir.zero);A(this,"typeName","");A(this,"injectStatusCodeIntoBody",!1);z.util.initPartial(n,this)}static fromBinary(n,r){return new Ou().fromBinary(n,r)}static fromJson(n,r){return new Ou().fromJson(n,r)}static fromJsonString(n,r){return new Ou().fromJsonString(n,r)}static equals(n,r){return z.util.equals(Ou,n,r)}};A(Ou,"runtime",z),A(Ou,"typeName","wg.cosmo.node.v1.StatusCodeTypeMapping"),A(Ou,"fields",z.util.newFieldList(()=>[{no:1,name:"status_code",kind:"scalar",T:3},{no:2,name:"type_name",kind:"scalar",T:9},{no:3,name:"inject_status_code_into_body",kind:"scalar",T:8}]));var AK=Ou,Su=class Su extends ft{constructor(n){super();A(this,"fetch");A(this,"subscription");A(this,"federation");A(this,"upstreamSchema");A(this,"customScalarTypeFields",[]);z.util.initPartial(n,this)}static fromBinary(n,r){return new Su().fromBinary(n,r)}static fromJson(n,r){return new Su().fromJson(n,r)}static fromJsonString(n,r){return new Su().fromJsonString(n,r)}static equals(n,r){return z.util.equals(Su,n,r)}};A(Su,"runtime",z),A(Su,"typeName","wg.cosmo.node.v1.DataSourceCustom_GraphQL"),A(Su,"fields",z.util.newFieldList(()=>[{no:1,name:"fetch",kind:"message",T:TF},{no:2,name:"subscription",kind:"message",T:vF},{no:3,name:"federation",kind:"message",T:_F},{no:4,name:"upstream_schema",kind:"message",T:FT},{no:6,name:"custom_scalar_type_fields",kind:"message",T:bF,repeated:!0}]));var ST=Su,Du=class Du extends ft{constructor(n){super();A(this,"consumerName","");A(this,"streamName","");z.util.initPartial(n,this)}static fromBinary(n,r){return new Du().fromBinary(n,r)}static fromJson(n,r){return new Du().fromJson(n,r)}static fromJsonString(n,r){return new Du().fromJsonString(n,r)}static equals(n,r){return z.util.equals(Du,n,r)}};A(Du,"runtime",z),A(Du,"typeName","wg.cosmo.node.v1.NatsStreamConfiguration"),A(Du,"fields",z.util.newFieldList(()=>[{no:1,name:"consumer_name",kind:"scalar",T:9},{no:2,name:"stream_name",kind:"scalar",T:9}]));var DT=Du,Au=class Au extends ft{constructor(n){super();A(this,"engineEventConfiguration");A(this,"subjects",[]);A(this,"streamConfiguration");z.util.initPartial(n,this)}static fromBinary(n,r){return new Au().fromBinary(n,r)}static fromJson(n,r){return new Au().fromJson(n,r)}static fromJsonString(n,r){return new Au().fromJsonString(n,r)}static equals(n,r){return z.util.equals(Au,n,r)}};A(Au,"runtime",z),A(Au,"typeName","wg.cosmo.node.v1.NatsEventConfiguration"),A(Au,"fields",z.util.newFieldList(()=>[{no:1,name:"engine_event_configuration",kind:"message",T:nd},{no:2,name:"subjects",kind:"scalar",T:9,repeated:!0},{no:3,name:"stream_configuration",kind:"message",T:DT}]));var AT=Au,Ru=class Ru extends ft{constructor(n){super();A(this,"engineEventConfiguration");A(this,"topics",[]);z.util.initPartial(n,this)}static fromBinary(n,r){return new Ru().fromBinary(n,r)}static fromJson(n,r){return new Ru().fromJson(n,r)}static fromJsonString(n,r){return new Ru().fromJsonString(n,r)}static equals(n,r){return z.util.equals(Ru,n,r)}};A(Ru,"runtime",z),A(Ru,"typeName","wg.cosmo.node.v1.KafkaEventConfiguration"),A(Ru,"fields",z.util.newFieldList(()=>[{no:1,name:"engine_event_configuration",kind:"message",T:nd},{no:2,name:"topics",kind:"scalar",T:9,repeated:!0}]));var RT=Ru,Fu=class Fu extends ft{constructor(n){super();A(this,"providerId","");A(this,"type",qu.PUBLISH);A(this,"typeName","");A(this,"fieldName","");z.util.initPartial(n,this)}static fromBinary(n,r){return new Fu().fromBinary(n,r)}static fromJson(n,r){return new Fu().fromJson(n,r)}static fromJsonString(n,r){return new Fu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(Fu,n,r)}};A(Fu,"runtime",z),A(Fu,"typeName","wg.cosmo.node.v1.EngineEventConfiguration"),A(Fu,"fields",z.util.newFieldList(()=>[{no:1,name:"provider_id",kind:"scalar",T:9},{no:2,name:"type",kind:"enum",T:z.getEnumType(qu)},{no:3,name:"type_name",kind:"scalar",T:9},{no:4,name:"field_name",kind:"scalar",T:9}]));var nd=Fu,wu=class wu extends ft{constructor(n){super();A(this,"nats",[]);A(this,"kafka",[]);z.util.initPartial(n,this)}static fromBinary(n,r){return new wu().fromBinary(n,r)}static fromJson(n,r){return new wu().fromJson(n,r)}static fromJsonString(n,r){return new wu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(wu,n,r)}};A(wu,"runtime",z),A(wu,"typeName","wg.cosmo.node.v1.DataSourceCustomEvents"),A(wu,"fields",z.util.newFieldList(()=>[{no:1,name:"nats",kind:"message",T:AT,repeated:!0},{no:2,name:"kafka",kind:"message",T:RT,repeated:!0}]));var rd=wu,Lu=class Lu extends ft{constructor(n){super();A(this,"data");z.util.initPartial(n,this)}static fromBinary(n,r){return new Lu().fromBinary(n,r)}static fromJson(n,r){return new Lu().fromJson(n,r)}static fromJsonString(n,r){return new Lu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(Lu,n,r)}};A(Lu,"runtime",z),A(Lu,"typeName","wg.cosmo.node.v1.DataSourceCustom_Static"),A(Lu,"fields",z.util.newFieldList(()=>[{no:1,name:"data",kind:"message",T:wi}]));var yF=Lu,Pu=class Pu extends ft{constructor(n){super();A(this,"kind",Pc.STATIC_CONFIGURATION_VARIABLE);A(this,"staticVariableContent","");A(this,"environmentVariableName","");A(this,"environmentVariableDefaultValue","");A(this,"placeholderVariableName","");z.util.initPartial(n,this)}static fromBinary(n,r){return new Pu().fromBinary(n,r)}static fromJson(n,r){return new Pu().fromJson(n,r)}static fromJsonString(n,r){return new Pu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(Pu,n,r)}};A(Pu,"runtime",z),A(Pu,"typeName","wg.cosmo.node.v1.ConfigurationVariable"),A(Pu,"fields",z.util.newFieldList(()=>[{no:1,name:"kind",kind:"enum",T:z.getEnumType(Pc)},{no:2,name:"static_variable_content",kind:"scalar",T:9},{no:3,name:"environment_variable_name",kind:"scalar",T:9},{no:4,name:"environment_variable_default_value",kind:"scalar",T:9},{no:5,name:"placeholder_variable_name",kind:"scalar",T:9}]));var wi=Pu,ku=class ku extends ft{constructor(n){super();A(this,"directiveName","");A(this,"renameTo","");z.util.initPartial(n,this)}static fromBinary(n,r){return new ku().fromBinary(n,r)}static fromJson(n,r){return new ku().fromJson(n,r)}static fromJsonString(n,r){return new ku().fromJsonString(n,r)}static equals(n,r){return z.util.equals(ku,n,r)}};A(ku,"runtime",z),A(ku,"typeName","wg.cosmo.node.v1.DirectiveConfiguration"),A(ku,"fields",z.util.newFieldList(()=>[{no:1,name:"directive_name",kind:"scalar",T:9},{no:2,name:"rename_to",kind:"scalar",T:9}]));var NF=ku,xu=class xu extends ft{constructor(n){super();A(this,"name","");A(this,"value","");z.util.initPartial(n,this)}static fromBinary(n,r){return new xu().fromBinary(n,r)}static fromJson(n,r){return new xu().fromJson(n,r)}static fromJsonString(n,r){return new xu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(xu,n,r)}};A(xu,"runtime",z),A(xu,"typeName","wg.cosmo.node.v1.URLQueryConfiguration"),A(xu,"fields",z.util.newFieldList(()=>[{no:1,name:"name",kind:"scalar",T:9},{no:2,name:"value",kind:"scalar",T:9}]));var EF=xu,Cu=class Cu extends ft{constructor(n){super();A(this,"values",[]);z.util.initPartial(n,this)}static fromBinary(n,r){return new Cu().fromBinary(n,r)}static fromJson(n,r){return new Cu().fromJson(n,r)}static fromJsonString(n,r){return new Cu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(Cu,n,r)}};A(Cu,"runtime",z),A(Cu,"typeName","wg.cosmo.node.v1.HTTPHeader"),A(Cu,"fields",z.util.newFieldList(()=>[{no:1,name:"values",kind:"message",T:wi,repeated:!0}]));var gF=Cu,Uu=class Uu extends ft{constructor(n){super();A(this,"key");A(this,"cert");A(this,"insecureSkipVerify",!1);z.util.initPartial(n,this)}static fromBinary(n,r){return new Uu().fromBinary(n,r)}static fromJson(n,r){return new Uu().fromJson(n,r)}static fromJsonString(n,r){return new Uu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(Uu,n,r)}};A(Uu,"runtime",z),A(Uu,"typeName","wg.cosmo.node.v1.MTLSConfiguration"),A(Uu,"fields",z.util.newFieldList(()=>[{no:1,name:"key",kind:"message",T:wi},{no:2,name:"cert",kind:"message",T:wi},{no:3,name:"insecureSkipVerify",kind:"scalar",T:8}]));var IF=Uu,Mu=class Mu extends ft{constructor(n){super();A(this,"enabled",!1);A(this,"url");A(this,"useSSE");A(this,"protocol");A(this,"websocketSubprotocol");z.util.initPartial(n,this)}static fromBinary(n,r){return new Mu().fromBinary(n,r)}static fromJson(n,r){return new Mu().fromJson(n,r)}static fromJsonString(n,r){return new Mu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(Mu,n,r)}};A(Mu,"runtime",z),A(Mu,"typeName","wg.cosmo.node.v1.GraphQLSubscriptionConfiguration"),A(Mu,"fields",z.util.newFieldList(()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"url",kind:"message",T:wi},{no:3,name:"useSSE",kind:"scalar",T:8,opt:!0},{no:4,name:"protocol",kind:"enum",T:z.getEnumType(eu),opt:!0},{no:5,name:"websocketSubprotocol",kind:"enum",T:z.getEnumType(tu),opt:!0}]));var vF=Mu,Bu=class Bu extends ft{constructor(n){super();A(this,"enabled",!1);A(this,"serviceSdl","");z.util.initPartial(n,this)}static fromBinary(n,r){return new Bu().fromBinary(n,r)}static fromJson(n,r){return new Bu().fromJson(n,r)}static fromJsonString(n,r){return new Bu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(Bu,n,r)}};A(Bu,"runtime",z),A(Bu,"typeName","wg.cosmo.node.v1.GraphQLFederationConfiguration"),A(Bu,"fields",z.util.newFieldList(()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"serviceSdl",kind:"scalar",T:9}]));var _F=Bu,Vu=class Vu extends ft{constructor(n){super();A(this,"key","");z.util.initPartial(n,this)}static fromBinary(n,r){return new Vu().fromBinary(n,r)}static fromJson(n,r){return new Vu().fromJson(n,r)}static fromJsonString(n,r){return new Vu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(Vu,n,r)}};A(Vu,"runtime",z),A(Vu,"typeName","wg.cosmo.node.v1.InternedString"),A(Vu,"fields",z.util.newFieldList(()=>[{no:1,name:"key",kind:"scalar",T:9}]));var FT=Vu,ju=class ju extends ft{constructor(n){super();A(this,"typeName","");A(this,"fieldName","");z.util.initPartial(n,this)}static fromBinary(n,r){return new ju().fromBinary(n,r)}static fromJson(n,r){return new ju().fromJson(n,r)}static fromJsonString(n,r){return new ju().fromJsonString(n,r)}static equals(n,r){return z.util.equals(ju,n,r)}};A(ju,"runtime",z),A(ju,"typeName","wg.cosmo.node.v1.SingleTypeField"),A(ju,"fields",z.util.newFieldList(()=>[{no:1,name:"type_name",kind:"scalar",T:9},{no:2,name:"field_name",kind:"scalar",T:9}]));var bF=ju,$u=class $u extends ft{constructor(n){super();A(this,"fieldPath",[]);A(this,"json","");z.util.initPartial(n,this)}static fromBinary(n,r){return new $u().fromBinary(n,r)}static fromJson(n,r){return new $u().fromJson(n,r)}static fromJsonString(n,r){return new $u().fromJsonString(n,r)}static equals(n,r){return z.util.equals($u,n,r)}};A($u,"runtime",z),A($u,"typeName","wg.cosmo.node.v1.SubscriptionFieldCondition"),A($u,"fields",z.util.newFieldList(()=>[{no:1,name:"field_path",kind:"scalar",T:9,repeated:!0},{no:2,name:"json",kind:"scalar",T:9}]));var wT=$u,Zs=class Zs extends ft{constructor(n){super();A(this,"and",[]);A(this,"in");A(this,"not");A(this,"or",[]);z.util.initPartial(n,this)}static fromBinary(n,r){return new Zs().fromBinary(n,r)}static fromJson(n,r){return new Zs().fromJson(n,r)}static fromJsonString(n,r){return new Zs().fromJsonString(n,r)}static equals(n,r){return z.util.equals(Zs,n,r)}};A(Zs,"runtime",z),A(Zs,"typeName","wg.cosmo.node.v1.SubscriptionFilterCondition"),A(Zs,"fields",z.util.newFieldList(()=>[{no:1,name:"and",kind:"message",T:Zs,repeated:!0},{no:2,name:"in",kind:"message",T:wT,opt:!0},{no:3,name:"not",kind:"message",T:Zs,opt:!0},{no:4,name:"or",kind:"message",T:Zs,repeated:!0}]));var kc=Zs;m();T();h();var MI=Xv(dI(),1);function ape(e){if(!e.conditions)return;let t=[];for(let n of e.conditions){let r=[];for(let i of n.fieldCoordinatesPath){let s=i.split(".");if(s.length!==2)throw new Error(`fatal: malformed conditional field coordinates "${i}" for field set "${e.selectionSet}".`);r.push(new bT({fieldName:s[1],typeName:s[0]}))}t.push(new OT({fieldCoordinatesPath:r,fieldPath:n.fieldPath}))}return t}function OF(e,t,n){if(e)for(let r of e){let i=ape(r);t.push(new Zl(k(k({typeName:n,fieldName:r.fieldName,selectionSet:r.selectionSet},r.disableEntityResolver?{disableEntityResolver:!0}:{}),i?{conditions:i}:{})))}}function RK(e){switch(e){case"publish":return qu.PUBLISH;case"request":return qu.REQUEST;case"subscribe":return qu.SUBSCRIBE}}function FK(e){var n;let t={rootNodes:[],childNodes:[],keys:[],provides:[],events:new rd({nats:[],kafka:[]}),requires:[],entityInterfaces:[],interfaceObjects:[]};for(let r of e.values()){let i=r.typeName,s=[...r.fieldNames],o=new rf({typeName:i,fieldNames:s});if(r.externalFieldNames&&r.externalFieldNames.size>0&&(o.externalFieldNames=[...r.externalFieldNames]),r.isRootNode?t.rootNodes.push(o):t.childNodes.push(o),r.entityInterfaceConcreteTypeNames){let d=new sf({interfaceTypeName:i,concreteTypeNames:[...r.entityInterfaceConcreteTypeNames]});r.isInterfaceObject?t.interfaceObjects.push(d):t.entityInterfaces.push(d)}OF(r.keys,t.keys,i),OF(r.provides,t.provides,i),OF(r.requires,t.requires,i);let u=[],l=[];for(let d of(n=r.events)!=null?n:[])switch(d.providerType){case MI.PROVIDER_TYPE_KAFKA:{l.push(new RT({engineEventConfiguration:new nd({fieldName:d.fieldName,providerId:d.providerId,type:RK(d.type),typeName:i}),topics:d.topics}));break}case MI.PROVIDER_TYPE_NATS:{u.push(new AT(k({engineEventConfiguration:new nd({fieldName:d.fieldName,providerId:d.providerId,type:RK(d.type),typeName:i}),subjects:d.subjects},d.streamConfiguration?{streamConfiguration:new DT({consumerName:d.streamConfiguration.consumerName,streamName:d.streamConfiguration.streamName})}:{})));break}default:throw new Error("Fatal: Unknown event provider.")}t.events.nats.push(...u),t.events.kafka.push(...l)}return t}function wK(e){var n;let t=[];for(let r of e){let i=r.argumentNames.map(l=>new gT({name:l,sourceType:ed.FIELD_ARGUMENT})),s=new _T({argumentsConfiguration:i,fieldName:r.fieldName,typeName:r.typeName}),o=((n=r.requiredScopes)==null?void 0:n.map(l=>new IT({requiredAndScopes:l})))||[],u=o.length>0;if((r.requiresAuthentication||u)&&(s.authorizationConfiguration=new vT({requiresAuthentication:r.requiresAuthentication||u,requiredOrScopes:o})),r.subscriptionFilterCondition){let l=new kc;UI(l,r.subscriptionFilterCondition),s.subscriptionFilterCondition=l}t.push(s)}return t}function UI(e,t){if(t.and!==void 0){let n=[];for(let r of t.and){let i=new kc;UI(i,r),n.push(i)}e.and=n;return}if(t.in!==void 0){e.in=new wT({fieldPath:t.in.fieldPath,json:JSON.stringify(t.in.values)});return}if(t.not!==void 0){e.not=new kc,UI(e.not,t.not);return}if(t.or!==void 0){let n=[];for(let r of t.or){let i=new kc;UI(i,r),n.push(i)}e.or=n;return}throw new Error("Fatal: Incoming SubscriptionCondition object was malformed.")}m();T();h();function SF(e){return new Error(`Normalization failed to return a ${e}.`)}var upe=(e,t)=>{let n=stringHash(t);return e.stringStorage[n]=t,new FT({key:n})},cpe=e=>{switch(e){case"ws":return eu.GRAPHQL_SUBSCRIPTION_PROTOCOL_WS;case"sse":return eu.GRAPHQL_SUBSCRIPTION_PROTOCOL_SSE;case"sse_post":return eu.GRAPHQL_SUBSCRIPTION_PROTOCOL_SSE_POST}throw new Error(`Unsupported subscription protocol '${e}'`)},lpe=e=>{switch(e){case"auto":return tu.GRAPHQL_WEBSOCKET_SUBPROTOCOL_AUTO;case"graphql-ws":return tu.GRAPHQL_WEBSOCKET_SUBPROTOCOL_WS;case"graphql-transport-ws":return tu.GRAPHQL_WEBSOCKET_SUBPROTOCOL_TRANSPORT_WS}throw new Error(`Unsupported websocket subprotocol '${e}'`)},PK=function(e){let t=new nf({defaultFlushInterval:BigInt(500),datasourceConfigurations:[],fieldConfigurations:[],graphqlSchema:"",stringStorage:{},typeConfigurations:[]});for(let n of e.subgraphs){if(!n.configurationDataByTypeName)throw SF("ConfigurationDataByTypeName");if(!n.schema)throw SF("GraphQLSchema");let r=upe(t,$q($m(n.schema))),{childNodes:i,entityInterfaces:s,events:o,interfaceObjects:u,keys:l,provides:d,requires:p,rootNodes:y}=FK(n.configurationDataByTypeName),N=cpe(n.subscriptionProtocol||"ws"),I=lpe(n.websocketSubprotocol||"auto"),b,C,j;if(o.kafka.length>0||o.nats.length>0){b=Lc.PUBSUB,j=new rd({kafka:o.kafka,nats:o.nats});let re=ye=>LK.ROOT_TYPE_NAMES.has(ye.typeName),se=0,pe=0;for(;se({id:n.id,name:n.name,routingUrl:n.url}))})};m();T();h();we();function kK(e){let t;try{t=io(e.schema)}catch(n){throw new Error(`could not parse schema for Graph ${e.name}: ${n}`)}return{definitions:t,name:e.name,url:e.url}}function dpe(e){let{federationResult:t,errors:n}=(0,DF.federateSubgraphs)(e.map(kK));if(n&&n.length>0)throw new Error(`could not federate schema: ${n.map(r=>r.message).join(", ")}`);return{fieldConfigurations:t.fieldConfigurations,sdl:Ft(t.federatedGraphAST)}}function ppe(e){let t=(0,DF.federateSubgraphs)(e.map(kK));if(t.errors&&t.errors.length>0)throw new Error(`could not federate schema: ${t.errors.map(r=>r.message).join(", ")}`);if(t.federationResult===void 0)throw new Error("could not federate subgraphs");return PK({federatedClientSDL:Hd(t.federationResult.federatedGraphClientSchema),federatedSDL:Hd(t.federationResult.federatedGraphSchema),fieldConfigurations:t.federationResult.fieldConfigurations,schemaVersionId:"",subgraphs:e.map((r,i)=>{var l,d;let s=t.federationResult.subgraphConfigBySubgraphName.get(r.name),o=s==null?void 0:s.schema,u=s==null?void 0:s.configurationDataByTypeName;return{id:`${i}`,name:r.name,url:JR(r.url),sdl:r.schema,subscriptionUrl:JR((l=r.subscription_url)!=null?l:r.url),subscriptionProtocol:(d=r.subscription_protocol)!=null?d:"ws",websocketSubprotocol:r.subscription_protocol==="ws"?r.websocketSubprotocol||"auto":void 0,schema:o,configurationDataByTypeName:u}})}).toJsonString()}return Me(fpe);})(); +}`;var Ut=nP(function(){return pn(L,ze+"return "+Ie).apply(e,M)});if(Ut.source=Ie,Vv(Ut))throw Ut;return Ut}function Ez(a){return yn(a).toLowerCase()}function gz(a){return yn(a).toUpperCase()}function Iz(a,c,f){if(a=yn(a),a&&(f||c===e))return dw(a);if(!a||!(c=es(c)))return a;var E=eo(a),_=eo(c),L=pw(E,_),M=fw(E,_)+1;return Xu(E,L,M).join("")}function vz(a,c,f){if(a=yn(a),a&&(f||c===e))return a.slice(0,hw(a)+1);if(!a||!(c=es(c)))return a;var E=eo(a),_=fw(E,eo(c))+1;return Xu(E,0,_).join("")}function _z(a,c,f){if(a=yn(a),a&&(f||c===e))return a.replace(VI,"");if(!a||!(c=es(c)))return a;var E=eo(a),_=pw(E,eo(c));return Xu(E,_).join("")}function bz(a,c){var f=xt,E=B;if(Zn(c)){var _="separator"in c?c.separator:_;f="length"in c?Lt(c.length):f,E="omission"in c?es(c.omission):E}a=yn(a);var L=a.length;if(cd(a)){var M=eo(a);L=M.length}if(f>=L)return a;var q=f-ld(E);if(q<1)return E;var X=M?Xu(M,0,q).join(""):a.slice(0,q);if(_===e)return X+E;if(M&&(q+=X.length-q),jv(_)){if(a.slice(q).search(_)){var Te,Ne=X;for(_.global||(_=rv(_.source,yn(PF.exec(_))+"g")),_.lastIndex=0;Te=_.exec(Ne);)var Ie=Te.index;X=X.slice(0,Ie===e?q:Ie)}}else if(a.indexOf(es(_),q)!=q){var Fe=X.lastIndexOf(_);Fe>-1&&(X=X.slice(0,Fe))}return X+E}function Oz(a){return a=yn(a),a&&CK.test(a)?a.replace(FF,eQ):a}var Sz=Td(function(a,c,f){return a+(f?" ":"")+c.toUpperCase()}),Kv=rL("toUpperCase");function tP(a,c,f){return a=yn(a),c=f?e:c,c===e?zG(a)?rQ(a):VG(a):a.match(c)||[]}var nP=Bt(function(a,c){try{return Xi(a,e,c)}catch(f){return Vv(f)?f:new _t(f)}}),Dz=Na(function(a,c){return gs(c,function(f){f=wo(f),Ta(a,f,Mv(a[f],a))}),a});function Az(a){var c=a==null?0:a.length,f=ct();return a=c?Kn(a,function(E){if(typeof E[1]!="function")throw new Is(i);return[f(E[0]),E[1]]}):[],Bt(function(E){for(var _=-1;++_bn)return[];var f=Pn,E=Zr(a,Pn);c=ct(c),a-=Pn;for(var _=ev(E,c);++f0||c<0)?new Gt(f):(a<0?f=f.takeRight(-a):a&&(f=f.drop(a)),c!==e&&(c=Lt(c),f=c<0?f.dropRight(-c):f.take(c-a)),f)},Gt.prototype.takeRightWhile=function(a){return this.reverse().takeWhile(a).reverse()},Gt.prototype.toArray=function(){return this.take(Pn)},Ro(Gt.prototype,function(a,c){var f=/^(?:filter|find|map|reject)|While$/.test(c),E=/^(?:head|last)$/.test(c),_=w[E?"take"+(c=="last"?"Right":""):c],L=E||/^find/.test(c);_&&(w.prototype[c]=function(){var M=this.__wrapped__,q=E?[1]:arguments,X=M instanceof Gt,Te=q[0],Ne=X||St(M),Ie=function(qt){var Wt=_.apply(w,Gu([qt],q));return E&&Fe?Wt[0]:Wt};Ne&&f&&typeof Te=="function"&&Te.length!=1&&(X=Ne=!1);var Fe=this.__chain__,ze=!!this.__actions__.length,lt=L&&!Fe,Ut=X&&!ze;if(!L&&Ne){M=Ut?M:new Gt(this);var dt=a.apply(M,q);return dt.__actions__.push({func:fy,args:[Ie],thisArg:e}),new vs(dt,Fe)}return lt&&Ut?a.apply(this,q):(dt=this.thru(Ie),lt?E?dt.value()[0]:dt.value():dt)})}),gs(["pop","push","shift","sort","splice","unshift"],function(a){var c=BT[a],f=/^(?:push|sort|unshift)$/.test(a)?"tap":"thru",E=/^(?:pop|shift)$/.test(a);w.prototype[a]=function(){var _=arguments;if(E&&!this.__chain__){var L=this.value();return c.apply(St(L)?L:[],_)}return this[f](function(M){return c.apply(St(M)?M:[],_)})}}),Ro(Gt.prototype,function(a,c){var f=w[c];if(f){var E=f.name+"";Sn.call(fd,E)||(fd[E]=[]),fd[E].push({name:c,func:f})}}),fd[oy(e,x).name]=[{name:"wrapper",func:e}],Gt.prototype.clone=OQ,Gt.prototype.reverse=SQ,Gt.prototype.value=DQ,w.prototype.at=nJ,w.prototype.chain=rJ,w.prototype.commit=iJ,w.prototype.next=sJ,w.prototype.plant=aJ,w.prototype.reverse=uJ,w.prototype.toJSON=w.prototype.valueOf=w.prototype.value=cJ,w.prototype.first=w.prototype.head,uf&&(w.prototype[uf]=oJ),w},Yu=iQ();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Cr._=Yu,define(function(){return Yu})):Bc?((Bc.exports=Yu)._=Yu,QI._=Yu):Cr._=Yu}).call(Hp)});var wq=V(ed=>{"use strict";m();T();h();Object.defineProperty(ed,"__esModule",{value:!0});ed.FederationFactory=void 0;ed.federateSubgraphs=gde;ed.federateSubgraphsWithContracts=Ide;ed.federateSubgraphsContract=vde;var ke=(we(),Me(je)),Pc=$a(),Xs=Vi(),xe=To(),Wp=AR(),Re=bi(),_e=ps(),uI=eI(),fr=_c(),yde=GR(),Nde=Kl(),Rq=Kh(),Se=Qp(),Ede=JR(),Fq=Aq(),Xp=aI(),cI=Oh(),lI=class{constructor(t){A(this,"authorizationDataByParentTypeName");A(this,"concreteTypeNamesByAbstractTypeName");A(this,"clientDefinitions",[fr.DEPRECATED_DEFINITION]);A(this,"currentSubgraphName","");A(this,"subgraphNamesByNamedTypeNameByFieldCoordinates",new Map);A(this,"entityDataByTypeName");A(this,"entityInterfaceFederationDataByTypeName");A(this,"errors",[]);A(this,"fieldConfigurationByFieldPath",new Map);A(this,"inaccessiblePaths",new Set);A(this,"isMaxDepth",!1);A(this,"internalGraph");A(this,"internalSubgraphBySubgraphName");A(this,"invalidOrScopesHostPaths",new Set);A(this,"isVersionTwo",!1);A(this,"namedInputValueTypeNames",new Set);A(this,"namedOutputTypeNames",new Set);A(this,"parentDefinitionDataByTypeName",new Map);A(this,"parentTagDataByTypeName",new Map);A(this,"pathsByNamedTypeName",new Map);A(this,"persistedDirectiveDefinitionByDirectiveName",new Map([[Re.AUTHENTICATED,fr.AUTHENTICATED_DEFINITION],[Re.DEPRECATED,fr.DEPRECATED_DEFINITION],[Re.INACCESSIBLE,fr.INACCESSIBLE_DEFINITION],[Re.REQUIRES_SCOPES,fr.REQUIRES_SCOPES_DEFINITION],[Re.TAG,fr.TAG_DEFINITION]]));A(this,"persistedDirectiveDefinitions",new Set([Re.AUTHENTICATED,Re.DEPRECATED,Re.INACCESSIBLE,Re.TAG,Re.REQUIRES_SCOPES]));A(this,"potentialPersistedDirectiveDefinitionDataByDirectiveName",new Map);A(this,"routerDefinitions",[fr.DEPRECATED_DEFINITION,fr.TAG_DEFINITION]);A(this,"shareableErrorTypeNames",new Map);A(this,"subscriptionFilterDataByFieldPath",new Map);A(this,"tagNamesByPath",new Map);A(this,"warnings");this.authorizationDataByParentTypeName=t.authorizationDataByParentTypeName,this.concreteTypeNamesByAbstractTypeName=t.concreteTypeNamesByAbstractTypeName,this.entityDataByTypeName=t.entityDataByTypeName,this.entityInterfaceFederationDataByTypeName=t.entityInterfaceFederationDataByTypeName,this.internalSubgraphBySubgraphName=t.internalSubgraphBySubgraphName,this.internalGraph=t.internalGraph,this.warnings=t.warnings}getValidImplementedInterfaces(t){var o;let n=[];if(t.implementedInterfaceTypeNames.size<1)return n;let r=(0,Se.isNodeDataInaccessible)(t),i=new Map,s=new Map;for(let u of t.implementedInterfaceTypeNames){n.push((0,Xs.stringToNamedTypeNode)(u));let l=(0,_e.getOrThrowError)(this.parentDefinitionDataByTypeName,u,Re.PARENT_DEFINITION_DATA);if(l.kind!==ke.Kind.INTERFACE_TYPE_DEFINITION){s.set(l.name,(0,_e.kindToTypeString)(l.kind));continue}let d={invalidFieldImplementations:new Map,unimplementedFields:[]},p=!1;for(let[y,N]of l.fieldDataByFieldName){let I=!1,O=t.fieldDataByFieldName.get(y);if(!O){p=!0,d.unimplementedFields.push(y);continue}let x={invalidAdditionalArguments:new Set,invalidImplementedArguments:[],isInaccessible:!1,originalResponseType:(0,uI.printTypeNode)(N.node.type),unimplementedArguments:new Set};(0,Se.isTypeValidImplementation)(N.node.type,O.node.type,this.concreteTypeNamesByAbstractTypeName)||(p=!0,I=!0,x.implementedResponseType=(0,uI.printTypeNode)(O.node.type));let j=new Set;for(let[Q,re]of N.argumentDataByArgumentName){let se=re.node;j.add(Q);let pe=(o=O.argumentDataByArgumentName.get(Q))==null?void 0:o.node;if(!pe){p=!0,I=!0,x.unimplementedArguments.add(Q);continue}let ye=(0,uI.printTypeNode)(pe.type),Ce=(0,uI.printTypeNode)(se.type);Ce!==ye&&(p=!0,I=!0,x.invalidImplementedArguments.push({actualType:ye,argumentName:Q,expectedType:Ce}))}for(let[Q,re]of O.argumentDataByArgumentName){let se=re.node;j.has(Q)||se.type.kind===ke.Kind.NON_NULL_TYPE&&(p=!0,I=!0,x.invalidAdditionalArguments.add(Q))}!r&&O.isInaccessible&&!N.isInaccessible&&(p=!0,I=!0,x.isInaccessible=!0),I&&d.invalidFieldImplementations.set(y,x)}p&&i.set(u,d)}return s.size>0&&this.errors.push((0,xe.invalidImplementedTypeError)(t.name,s)),i.size&&this.errors.push((0,xe.invalidInterfaceImplementationError)(t.node.name.value,(0,_e.kindToTypeString)(t.kind),i)),n}addValidPrimaryKeyTargetsToEntityData(t){var p;let n=this.entityDataByTypeName.get(t);if(!n)return;let r=(0,_e.getOrThrowError)(this.internalSubgraphBySubgraphName,this.currentSubgraphName,"internalSubgraphBySubgraphName"),i=r.parentDefinitionDataByTypeName,s=i.get(n.typeName);if(!s||s.kind!==ke.Kind.OBJECT_TYPE_DEFINITION)throw(0,xe.incompatibleParentKindFatalError)(n.typeName,ke.Kind.OBJECT_TYPE_DEFINITION,(s==null?void 0:s.kind)||ke.Kind.NULL);let o=(0,_e.getOrThrowError)(r.configurationDataByTypeName,n.typeName,"internalSubgraph.configurationDataByParentTypeName"),u=[],l=this.internalGraph.nodeByNodeName.get(`${this.currentSubgraphName}.${n.typeName}`);(0,Wp.validateImplicitFieldSets)({conditionalFieldDataByCoordinates:r.conditionalFieldDataByCoordinates,configurationData:o,fieldSets:n.keyFieldSets,graphNode:l,implicitKeys:u,objectData:s,parentDefinitionDataByTypeName:i});for(let[y,N]of this.entityInterfaceFederationDataByTypeName){if(!((p=N.concreteTypeNames)!=null&&p.has(n.typeName)))continue;let I=this.entityDataByTypeName.get(y);I&&(0,Wp.validateImplicitFieldSets)({conditionalFieldDataByCoordinates:r.conditionalFieldDataByCoordinates,configurationData:o,fieldSets:I.keyFieldSets,implicitKeys:u,objectData:s,parentDefinitionDataByTypeName:i,graphNode:l})}if(u.length<1)return;if(!o.keys||o.keys.length<1){o.isRootNode=!0,o.keys=u;return}let d=new Set(o.keys.map(y=>y.selectionSet));for(let y of u)d.has(y.selectionSet)||(o.keys.push(y),d.add(y.selectionSet))}addValidPrimaryKeyTargetsFromInterfaceObject(t,n,r,i){let s=t.parentDefinitionDataByTypeName,o=s.get(n);if(!o||o.kind!==ke.Kind.INTERFACE_TYPE_DEFINITION)throw(0,xe.incompatibleParentKindFatalError)(n,ke.Kind.INTERFACE_TYPE_DEFINITION,(o==null?void 0:o.kind)||ke.Kind.NULL);let u=(0,_e.getOrThrowError)(t.configurationDataByTypeName,r.typeName,"internalSubgraph.configurationDataByParentTypeName"),l=[];if((0,Wp.validateImplicitFieldSets)({conditionalFieldDataByCoordinates:t.conditionalFieldDataByCoordinates,configurationData:u,fieldSets:r.keyFieldSets,implicitKeys:l,objectData:o,parentDefinitionDataByTypeName:s,graphNode:i}),l.length<1)return;if(!u.keys||u.keys.length<1){u.isRootNode=!0,u.keys=l;return}let d=new Set(u.keys.map(p=>p.selectionSet));for(let p of l)d.has(p.selectionSet)||(u.keys.push(p),d.add(p.selectionSet))}getEnumValueMergeMethod(t){return this.namedInputValueTypeNames.has(t)?this.namedOutputTypeNames.has(t)?Se.MergeMethod.CONSISTENT:Se.MergeMethod.INTERSECTION:Se.MergeMethod.UNION}generateTagData(){for(let[t,n]of this.tagNamesByPath){let r=t.split(".");if(r.length<1)continue;let i=(0,_e.getValueOrDefault)(this.parentTagDataByTypeName,r[0],()=>(0,Wp.newParentTagData)(r[0]));switch(r.length){case 1:for(let l of n)i.tagNames.add(l);break;case 2:let s=(0,_e.getValueOrDefault)(i.childTagDataByChildName,r[1],()=>(0,Wp.newChildTagData)(r[1]));for(let l of n)s.tagNames.add(l);break;case 3:let o=(0,_e.getValueOrDefault)(i.childTagDataByChildName,r[1],()=>(0,Wp.newChildTagData)(r[1])),u=(0,_e.getValueOrDefault)(o.tagNamesByArgumentName,r[2],()=>new Set);for(let l of n)u.add(l);break;default:break}}}upsertEnumValueData(t,n,r){let i=t.get(n.name),s=i||n,o=`${n.parentTypeName}.${n.name}`;(0,Se.extractPersistedDirectives)(s.persistedDirectivesData,n.directivesByDirectiveName,this.persistedDirectiveDefinitionByDirectiveName);let u=(0,Se.isNodeDataInaccessible)(n);if((r||u)&&this.inaccessiblePaths.add(o),this.recordTagNamesByPath(s,o),!i){n.node={directives:[],kind:n.node.kind,name:(0,Xs.stringToNameNode)(n.name)},t.set(n.name,n);return}i.appearances+=1,(0,Se.setLongestDescription)(i,n)}upsertInputValueData(t,n,r){let i=t.get(n.name),s=i||n;if((0,Se.extractPersistedDirectives)(s.persistedDirectivesData,n.directivesByDirectiveName,this.persistedDirectiveDefinitionByDirectiveName),this.recordTagNamesByPath(s,r||s.renamedPath),!i){n.node={directives:[],kind:n.node.kind,name:(0,Xs.stringToNameNode)(n.name),type:n.type},t.set(n.name,n);return}(0,Se.setLongestDescription)(i,n),(0,_e.addIterableValuesToSet)(n.requiredSubgraphNames,i.requiredSubgraphNames),(0,_e.addIterableValuesToSet)(n.subgraphNames,i.subgraphNames);let{typeErrors:o,typeNode:u}=(0,Xp.getMostRestrictiveMergedTypeNode)(i.type,n.type,i.originalPath,this.errors);if(u)i.type=u;else{if(!o||o.length<2)throw(0,xe.fieldTypeMergeFatalError)(i.name);i.isArgument?this.errors.push((0,xe.incompatibleArgumentTypesError)(i.name,i.renamedPath,o[0],o[1])):this.errors.push((0,xe.incompatibleChildTypesError)(i.renamedPath,o[0],o[1]))}(0,Se.compareAndValidateInputValueDefaultValues)(i,n,this.errors)}handleArgumentInaccessibility(t,n,r,i){if(t){this.inaccessiblePaths.add(r);return}(0,Se.isNodeDataInaccessible)(n)&&((0,Se.isTypeRequired)(n.type)?this.errors.push((0,xe.inaccessibleRequiredArgumentError)(n.name,r,i)):this.inaccessiblePaths.add(r))}handleSubscriptionFilterDirective(t,n,r){let i=t.directivesByDirectiveName.get(Re.SUBSCRIPTION_FILTER);if(i){let s=(0,_e.getSingleSetEntry)(t.subgraphNames);if(s===void 0){this.errors.push((0,xe.unknownFieldSubgraphNameError)(n));return}this.subscriptionFilterDataByFieldPath.set(n,{directive:i[0],fieldData:r||t,directiveSubgraphName:s})}}federateOutputType({current:t,other:n,hostPath:r,mostRestrictive:i}){n=(0,Pc.getMutableTypeNode)(n,r,this.errors);let s={kind:t.kind},o=Xp.DivergentType.NONE,u=s;for(let l=0;lnew Set))}upsertFieldData(t,n,r){let i=`${n.renamedParentTypeName}.${n.name}`;(0,_e.getValueOrDefault)(this.pathsByNamedTypeName,n.namedTypeName,()=>new Set).add(i),this.namedOutputTypeNames.add(n.namedTypeName);let s=t.get(n.name),o=s||n;this.handleSubscriptionFilterDirective(n,i,o),(0,Se.extractPersistedDirectives)(o.persistedDirectivesData,n.directivesByDirectiveName,this.persistedDirectiveDefinitionByDirectiveName);let u=(0,Se.isNodeDataInaccessible)(n);if((r||u)&&this.inaccessiblePaths.add(i),this.recordTagNamesByPath(o,i),!s){t.set(n.name,n),n.node={arguments:[],directives:[],kind:n.node.kind,name:(0,Xs.stringToNameNode)(n.name),type:n.type};for(let[d,p]of n.argumentDataByArgumentName){p.node={directives:[],kind:p.node.kind,name:(0,Xs.stringToNameNode)(p.name),type:p.type};let y=(0,Pc.getTypeNodeNamedTypeName)(p.type);(0,_e.getValueOrDefault)(this.pathsByNamedTypeName,y,()=>new Set).add(p.renamedPath),this.namedInputValueTypeNames.add(y),(0,Se.extractPersistedDirectives)(p.persistedDirectivesData,p.directivesByDirectiveName,this.persistedDirectiveDefinitionByDirectiveName),this.handleArgumentInaccessibility(r||u,p,p.renamedPath,i),this.recordTagNamesByPath(p,`${i}.${d}`)}return}let l=this.federateOutputType({current:s.type,other:n.type,hostPath:i,mostRestrictive:!1});if(l.success)if(s.type=l.typeNode,s.namedTypeName!==n.namedTypeName){let d=(0,_e.getValueOrDefault)(this.subgraphNamesByNamedTypeNameByFieldCoordinates,`${s.renamedParentTypeName}.${s.name}`,()=>new Map),p=(0,_e.getValueOrDefault)(d,s.namedTypeName,()=>new Set);if(p.size<1)for(let y of s.subgraphNames)n.subgraphNames.has(y)||p.add(y);(0,_e.addIterableValuesToSet)(n.subgraphNames,(0,_e.getValueOrDefault)(d,n.namedTypeName,()=>new Set))}else this.addSubgraphNameToExistingFieldNamedTypeDisparity(n);for(let[d,p]of n.argumentDataByArgumentName){let y=(0,Pc.getTypeNodeNamedTypeName)(p.type);(0,_e.getValueOrDefault)(this.pathsByNamedTypeName,y,()=>new Set).add(p.renamedPath),this.namedInputValueTypeNames.add(y),this.handleArgumentInaccessibility(r||u,p,p.renamedPath,i),this.upsertInputValueData(s.argumentDataByArgumentName,p,`${i}.${d}`)}(0,Se.setLongestDescription)(s,n),s.isInaccessible||(s.isInaccessible=n.isInaccessible),(0,_e.addMapEntries)(n.isExternalBySubgraphName,s.isExternalBySubgraphName),(0,_e.addMapEntries)(n.isShareableBySubgraphName,s.isShareableBySubgraphName),(0,_e.addIterableValuesToSet)(n.subgraphNames,s.subgraphNames)}getClientSchemaUnionMembers(t){let n=[];for(let[r,i]of t.memberByMemberTypeName)this.inaccessiblePaths.has(r)||n.push(i);return n}recordTagNamesByPath(t,n){let r=n||t.name;if(t.persistedDirectivesData.tags.size>0){let i=(0,_e.getValueOrDefault)(this.tagNamesByPath,r,()=>new Set);for(let s of t.persistedDirectivesData.tags.keys())i.add(s)}}upsertParentDefinitionData(t,n){let r=this.entityInterfaceFederationDataByTypeName.get(t.name),i=this.parentDefinitionDataByTypeName.get(t.name),s=i||t;(0,Se.extractPersistedDirectives)(s.persistedDirectivesData,t.directivesByDirectiveName,this.persistedDirectiveDefinitionByDirectiveName),this.recordTagNamesByPath(s);let o=(0,Se.isNodeDataInaccessible)(s);if(o&&this.inaccessiblePaths.add(t.name),r&&r.interfaceObjectSubgraphs.has(n)&&(t.kind=ke.Kind.INTERFACE_TYPE_DEFINITION),!i)switch(t.node={kind:t.kind,name:(0,Xs.stringToNameNode)(t.name)},this.parentDefinitionDataByTypeName.set(t.name,t),t.kind){case ke.Kind.ENUM_TYPE_DEFINITION:for(let[u,l]of t.enumValueDataByValueName){let d=`${t.name}.${u}`;l.node={directives:[],kind:l.node.kind,name:(0,Xs.stringToNameNode)(l.name)},(0,Se.extractPersistedDirectives)(l.persistedDirectivesData,l.directivesByDirectiveName,this.persistedDirectiveDefinitionByDirectiveName),this.recordTagNamesByPath(l,d),(0,Se.isNodeDataInaccessible)(l)&&this.inaccessiblePaths.add(d)}return;case ke.Kind.INPUT_OBJECT_TYPE_DEFINITION:for(let[u,l]of t.inputValueDataByValueName){l.node={directives:[],kind:l.node.kind,name:(0,Xs.stringToNameNode)(l.name),type:l.type};let d=(0,Pc.getTypeNodeNamedTypeName)(l.type);(0,_e.getValueOrDefault)(this.pathsByNamedTypeName,d,()=>new Set).add(l.renamedPath),this.namedInputValueTypeNames.add(d),(0,Se.extractPersistedDirectives)(l.persistedDirectivesData,l.directivesByDirectiveName,this.persistedDirectiveDefinitionByDirectiveName),this.recordTagNamesByPath(l,`${t.name}.${u}`),(o||(0,Se.isNodeDataInaccessible)(l))&&this.inaccessiblePaths.add(l.renamedPath)}return;case ke.Kind.INTERFACE_TYPE_DEFINITION:case ke.Kind.OBJECT_TYPE_DEFINITION:(0,Se.isParentDataRootType)(t)&&(t.extensionType=Rq.ExtensionType.NONE);for(let u of t.fieldDataByFieldName.values()){u.node={arguments:[],directives:[],kind:u.node.kind,name:(0,Xs.stringToNameNode)(u.name),type:u.type};let l=`${u.renamedParentTypeName}.${u.name}`;this.handleSubscriptionFilterDirective(u,l),(0,_e.getValueOrDefault)(this.pathsByNamedTypeName,u.namedTypeName,()=>new Set).add(l),this.namedOutputTypeNames.add(u.namedTypeName),(0,Se.extractPersistedDirectives)(u.persistedDirectivesData,u.directivesByDirectiveName,this.persistedDirectiveDefinitionByDirectiveName),this.recordTagNamesByPath(u,l);let d=(0,Se.isNodeDataInaccessible)(u);(o||d)&&this.inaccessiblePaths.add(l);for(let[p,y]of u.argumentDataByArgumentName){y.node={directives:[],kind:y.node.kind,name:(0,Xs.stringToNameNode)(y.name),type:y.type};let N=(0,Pc.getTypeNodeNamedTypeName)(y.type);(0,_e.getValueOrDefault)(this.pathsByNamedTypeName,N,()=>new Set).add(y.renamedPath),this.namedInputValueTypeNames.add(N),(0,Se.extractPersistedDirectives)(y.persistedDirectivesData,y.directivesByDirectiveName,this.persistedDirectiveDefinitionByDirectiveName),this.recordTagNamesByPath(y,`${l}.${p}`),this.handleArgumentInaccessibility(o||d,y,y.renamedPath,l)}}return;default:return}if(i.kind!==t.kind&&(!r||!r.interfaceObjectSubgraphs.has(n)||i.kind!==ke.Kind.INTERFACE_TYPE_DEFINITION||t.kind!==ke.Kind.OBJECT_TYPE_DEFINITION)){this.errors.push((0,xe.incompatibleParentKindMergeError)(i.name,(0,_e.kindToTypeString)(i.kind),(0,_e.kindToTypeString)(t.kind)));return}switch((0,Se.setLongestDescription)(i,t),(0,Se.setParentDataExtensionType)(i,t),i.kind){case ke.Kind.ENUM_TYPE_DEFINITION:i.appearances+=1;for(let l of t.enumValueDataByValueName.values())this.upsertEnumValueData(i.enumValueDataByValueName,l,o);return;case ke.Kind.INPUT_OBJECT_TYPE_DEFINITION:o&&!i.isInaccessible&&this.propagateInaccessibilityToExistingChildren(i),(0,_e.addIterableValuesToSet)(t.subgraphNames,i.subgraphNames);for(let[l,d]of t.inputValueDataByValueName){let p=`${t.name}.${l}`,y=(0,Pc.getTypeNodeNamedTypeName)(d.type);(0,_e.getValueOrDefault)(this.pathsByNamedTypeName,y,()=>new Set).add(p),this.namedInputValueTypeNames.add(y),this.upsertInputValueData(i.inputValueDataByValueName,d),this.recordTagNamesByPath(d,p),(o||(0,Se.isNodeDataInaccessible)(d))&&this.inaccessiblePaths.add(p)}return;case ke.Kind.INTERFACE_TYPE_DEFINITION:case ke.Kind.OBJECT_TYPE_DEFINITION:o&&!i.isInaccessible&&this.propagateInaccessibilityToExistingChildren(i);let u=t;(0,_e.addIterableValuesToSet)(u.implementedInterfaceTypeNames,i.implementedInterfaceTypeNames),(0,_e.addIterableValuesToSet)(u.subgraphNames,i.subgraphNames);for(let l of u.fieldDataByFieldName.values())this.upsertFieldData(i.fieldDataByFieldName,l,o||i.isInaccessible);return;case ke.Kind.UNION_TYPE_DEFINITION:(0,_e.addMapEntries)(t.memberByMemberTypeName,i.memberByMemberTypeName);return;default:return}}propagateInaccessibilityToExistingChildren(t){switch(t.isInaccessible=!0,t.kind){case ke.Kind.INPUT_OBJECT_TYPE_DEFINITION:for(let n of t.inputValueDataByValueName.keys())this.inaccessiblePaths.add(`${t.name}.${n}`);break;default:for(let[n,r]of t.fieldDataByFieldName){let i=`${r.renamedParentTypeName}.${n}`;this.inaccessiblePaths.add(i);for(let s of r.argumentDataByArgumentName.values())this.inaccessiblePaths.add(s.renamedPath)}}}upsertPersistedDirectiveDefinitionData(t,n){let r=t.name,i=this.potentialPersistedDirectiveDefinitionDataByDirectiveName.get(r);if(!i){if(n>1)return;let s=new Map;for(let o of t.argumentDataByArgumentName.values())this.namedInputValueTypeNames.add((0,Pc.getTypeNodeNamedTypeName)(o.type)),this.upsertInputValueData(s,o);this.potentialPersistedDirectiveDefinitionDataByDirectiveName.set(r,{argumentDataByArgumentName:s,executableLocations:new Set(t.executableLocations),name:r,repeatable:t.repeatable,subgraphNames:new Set(t.subgraphNames),description:t.description});return}if(i.subgraphNames.size+1!==n){this.potentialPersistedDirectiveDefinitionDataByDirectiveName.delete(r);return}if((0,Se.setMutualExecutableLocations)(i,t.executableLocations),i.executableLocations.size<1){this.potentialPersistedDirectiveDefinitionDataByDirectiveName.delete(r);return}for(let s of t.argumentDataByArgumentName.values())this.namedInputValueTypeNames.add((0,Pc.getTypeNodeNamedTypeName)(s.type)),this.upsertInputValueData(i.argumentDataByArgumentName,s);(0,Se.setLongestDescription)(i,t),i.repeatable&&(i.repeatable=t.repeatable),(0,_e.addIterableValuesToSet)(t.subgraphNames,i.subgraphNames)}shouldUpdateFederatedFieldAbstractNamedType(t,n){if(!t)return!1;let r=this.concreteTypeNamesByAbstractTypeName.get(t);if(!r||r.size<1)return!1;for(let i of n)if(!r.has(i))return!1;return!0}updateTypeNodeNamedType(t,n){let r=t;for(let i=0;i1){this.errors.push((0,xe.incompatibleFederatedFieldNamedTypeError)(t,n));continue}break}case ke.Kind.UNION_TYPE_DEFINITION:{if(l){this.errors.push((0,xe.incompatibleFederatedFieldNamedTypeError)(t,n));continue}l=p;break}default:{this.errors.push((0,xe.incompatibleFederatedFieldNamedTypeError)(t,n));break}}}if(o.size<0&&!l){this.errors.push((0,xe.incompatibleFederatedFieldNamedTypeError)(t,n));continue}let d=l;if(o.size>0){if(l){this.errors.push((0,xe.incompatibleFederatedFieldNamedTypeError)(t,n));continue}for(let p of o.keys()){d=p;for(let[y,N]of o)if(p!==y&&!N.implementedInterfaceTypeNames.has(p)){d="";break}if(d)break}}if(!this.shouldUpdateFederatedFieldAbstractNamedType(d,u)){this.errors.push((0,xe.incompatibleFederatedFieldNamedTypeError)(t,n));continue}s.namedTypeName=d,this.updateTypeNodeNamedType(s.type,d)}}federateInternalSubgraphData(){let t=0,n=!1;for(let r of this.internalSubgraphBySubgraphName.values()){t+=1,this.currentSubgraphName=r.name,this.isVersionTwo||(this.isVersionTwo=r.isVersionTwo),(0,Ede.renameRootTypes)(this,r);for(let i of r.parentDefinitionDataByTypeName.values())this.upsertParentDefinitionData(i,r.name);if(!n){if(!r.persistedDirectiveDefinitionDataByDirectiveName.size){n=!0;continue}for(let i of r.persistedDirectiveDefinitionDataByDirectiveName.values())this.upsertPersistedDirectiveDefinitionData(i,t);this.potentialPersistedDirectiveDefinitionDataByDirectiveName.size<1&&(n=!0)}}this.handleDisparateFieldNamedTypes()}handleInterfaceObjectForInternalGraph({entityData:t,internalSubgraph:n,interfaceObjectData:r,interfaceObjectNode:i,resolvableKeyFieldSets:s,subgraphName:o}){let u=this.internalGraph.addOrUpdateNode(t.typeName),l=this.internalGraph.addEntityDataNode(t.typeName);for(let p of i.satisfiedFieldSets)u.satisfiedFieldSets.add(p),s.has(p)&&l.addTargetSubgraphByFieldSet(p,o);let d=r.fieldDatasBySubgraphName.get(o);for(let{name:p,namedTypeName:y}of d||[])this.internalGraph.addEdge(u,this.internalGraph.addOrUpdateNode(y),p);this.internalGraph.addEdge(i,u,t.typeName,!0),this.addValidPrimaryKeyTargetsFromInterfaceObject(n,i.typeName,t,u)}handleEntityInterfaces(){for(let[t,n]of this.entityInterfaceFederationDataByTypeName){(0,_e.subtractSourceSetFromTargetSet)(n.interfaceFieldNames,n.interfaceObjectFieldNames);let r=(0,_e.getOrThrowError)(this.parentDefinitionDataByTypeName,t,Re.PARENT_DEFINITION_DATA);if(r.kind===ke.Kind.INTERFACE_TYPE_DEFINITION)for(let i of n.interfaceObjectSubgraphs){let s=(0,_e.getOrThrowError)(this.internalSubgraphBySubgraphName,i,"internalSubgraphBySubgraphName"),o=s.configurationDataByTypeName,u=this.concreteTypeNamesByAbstractTypeName.get(t);if(!u)continue;let l=(0,_e.getOrThrowError)(o,t,"configurationDataMap"),d=l.keys;if(!d)continue;l.entityInterfaceConcreteTypeNames=n.concreteTypeNames;let p=l.fieldNames,y=this.authorizationDataByParentTypeName.get(n.typeName);this.internalGraph.setSubgraphName(i);let N=this.internalGraph.addOrUpdateNode(t,{isAbstract:!0});for(let I of u){if(o.has(I))continue;if(y){let re=(0,_e.getValueOrDefault)(this.authorizationDataByParentTypeName,I,()=>(0,_e.newAuthorizationData)(I));for(let se of y.fieldAuthorizationDataByFieldName.values())(0,_e.upsertFieldAuthorizationData)(re.fieldAuthorizationDataByFieldName,se)||this.invalidOrScopesHostPaths.add(`${I}.${se.fieldName}`)}let O=(0,_e.getOrThrowError)(this.parentDefinitionDataByTypeName,I,Re.PARENT_DEFINITION_DATA);if(O.kind!==ke.Kind.OBJECT_TYPE_DEFINITION)continue;let x=(0,_e.getOrThrowError)(this.entityDataByTypeName,I,"entityDataByTypeName");x.subgraphNames.add(i);let j={fieldNames:p,isRootNode:!0,keys:d,typeName:I},Q=new Set;for(let re of d.filter(se=>!se.disableEntityResolver))Q.add(re.selectionSet);for(let re of n.interfaceObjectFieldNames){if(O.fieldDataByFieldName.get(re))continue;let pe=(0,_e.getOrThrowError)(r.fieldDataByFieldName,re,`${t}.fieldDataByFieldName`);O.fieldDataByFieldName.set(re,k({},pe))}o.set(I,j),this.handleInterfaceObjectForInternalGraph({internalSubgraph:s,subgraphName:i,interfaceObjectData:n,interfaceObjectNode:N,resolvableKeyFieldSets:Q,entityData:x})}}}}fieldDataToGraphFieldData(t){var n;return{name:t.name,namedTypeName:t.namedTypeName,isLeaf:(0,_e.isNodeLeaf)((n=this.parentDefinitionDataByTypeName.get(t.namedTypeName))==null?void 0:n.kind),subgraphNames:t.subgraphNames}}pushParentDefinitionDataToDocumentDefinitions(t){for(let[n,r]of this.parentDefinitionDataByTypeName)switch(r.extensionType!==Rq.ExtensionType.NONE&&this.errors.push((0,xe.noBaseDefinitionForExtensionError)((0,_e.kindToTypeString)(r.kind),n)),r.kind){case ke.Kind.ENUM_TYPE_DEFINITION:let i=[],s=[],o=this.getEnumValueMergeMethod(n);for(let Q of r.enumValueDataByValueName.values()){let re=(0,Se.getNodeForRouterSchemaByData)(Q,this.persistedDirectiveDefinitionByDirectiveName,this.errors),se=(0,Se.isNodeDataInaccessible)(Q),pe=K(k({},Q.node),{directives:(0,Se.getClientPersistedDirectiveNodes)(Q)});switch(o){case Se.MergeMethod.CONSISTENT:!se&&r.appearances>Q.appearances&&this.errors.push((0,xe.incompatibleSharedEnumError)(n)),i.push(re),se||s.push(pe);break;case Se.MergeMethod.INTERSECTION:r.appearances===Q.appearances&&(i.push(re),se||s.push(pe));break;default:i.push(re),se||s.push(pe);break}}if(r.node.values=i,this.routerDefinitions.push((0,Se.getNodeForRouterSchemaByData)(r,this.persistedDirectiveDefinitionByDirectiveName,this.errors)),(0,Se.isNodeDataInaccessible)(r)){this.validateReferencesOfInaccessibleType(r),this.internalGraph.setNodeInaccessible(r.name);break}if(s.length<1){this.errors.push((0,xe.allChildDefinitionsAreInaccessibleError)((0,_e.kindToTypeString)(r.kind),n,Re.ENUM_VALUE));break}this.clientDefinitions.push(K(k({},r.node),{directives:(0,Se.getClientPersistedDirectiveNodes)(r),values:s}));break;case ke.Kind.INPUT_OBJECT_TYPE_DEFINITION:let u=[],l=[],d=[];for(let[Q,re]of r.inputValueDataByValueName)if(r.subgraphNames.size===re.subgraphNames.size){if(l.push((0,Se.getNodeWithPersistedDirectivesByInputValueData)(re,this.persistedDirectiveDefinitionByDirectiveName,this.errors)),(0,Se.isNodeDataInaccessible)(re))continue;d.push(K(k({},re.node),{directives:(0,Se.getClientPersistedDirectiveNodes)(re)}))}else(0,Se.isTypeRequired)(re.type)&&u.push({inputValueName:Q,missingSubgraphs:(0,_e.getEntriesNotInHashSet)(r.subgraphNames,re.subgraphNames),requiredSubgraphs:[...re.requiredSubgraphNames]});if(u.length>0){this.errors.push((0,xe.invalidRequiredInputValueError)(Re.INPUT_OBJECT,n,u,!1));break}if(r.node.fields=l,this.routerDefinitions.push((0,Se.getNodeForRouterSchemaByData)(r,this.persistedDirectiveDefinitionByDirectiveName,this.errors)),(0,Se.isNodeDataInaccessible)(r)){this.validateReferencesOfInaccessibleType(r);break}if(d.length<1){this.errors.push((0,xe.allChildDefinitionsAreInaccessibleError)((0,_e.kindToTypeString)(r.kind),n,"input field"));break}this.clientDefinitions.push(K(k({},r.node),{directives:(0,Se.getClientPersistedDirectiveNodes)(r),fields:d}));break;case ke.Kind.INTERFACE_TYPE_DEFINITION:case ke.Kind.OBJECT_TYPE_DEFINITION:let p=[],y=[],N=new Map,I=(0,Se.newInvalidFieldNames)(),O=r.kind===ke.Kind.OBJECT_TYPE_DEFINITION;for(let[Q,re]of r.fieldDataByFieldName){(0,Se.pushAuthorizationDirectives)(re,this.authorizationDataByParentTypeName.get(n));let se=(0,Se.getValidFieldArgumentNodes)(re,this.persistedDirectiveDefinitionByDirectiveName,this.fieldConfigurationByFieldPath,this.errors);O&&(0,Se.validateExternalAndShareable)(re,I),p.push((0,Se.getNodeWithPersistedDirectivesByFieldData)(re,this.persistedDirectiveDefinitionByDirectiveName,se,this.errors)),!(0,Se.isNodeDataInaccessible)(re)&&(y.push((0,Se.getClientSchemaFieldNodeByFieldData)(re)),N.set(Q,this.fieldDataToGraphFieldData(re)))}if(O&&(I.byShareable.size>0&&this.errors.push((0,xe.invalidFieldShareabilityError)(r,I.byShareable)),I.subgraphNamesByExternalFieldName.size>0&&this.errors.push((0,xe.allExternalFieldInstancesError)(n,I.subgraphNamesByExternalFieldName))),r.node.fields=p,this.internalGraph.initializeNode(n,N),r.implementedInterfaceTypeNames.size>0){t.push({data:r,clientSchemaFieldNodes:y});break}this.routerDefinitions.push((0,Se.getNodeForRouterSchemaByData)(r,this.persistedDirectiveDefinitionByDirectiveName,this.errors));let x=(0,Nde.isNodeQuery)(n);if((0,Se.isNodeDataInaccessible)(r)){if(x){this.errors.push(xe.inaccessibleQueryRootTypeError);break}this.validateReferencesOfInaccessibleType(r),this.internalGraph.setNodeInaccessible(r.name);break}if(y.length<1){let Q=x?xe.noQueryRootTypeError:(0,xe.allChildDefinitionsAreInaccessibleError)((0,_e.kindToTypeString)(r.kind),n,Re.FIELD);this.errors.push(Q);break}this.clientDefinitions.push(K(k({},r.node),{directives:(0,Se.getClientPersistedDirectiveNodes)(r),fields:y}));break;case ke.Kind.SCALAR_TYPE_DEFINITION:if(fr.BASE_SCALARS.has(n))break;if(this.routerDefinitions.push((0,Se.getNodeForRouterSchemaByData)(r,this.persistedDirectiveDefinitionByDirectiveName,this.errors)),(0,Se.isNodeDataInaccessible)(r)){this.validateReferencesOfInaccessibleType(r),this.internalGraph.setNodeInaccessible(r.name);break}this.clientDefinitions.push(K(k({},r.node),{directives:(0,Se.getClientPersistedDirectiveNodes)(r)}));break;case ke.Kind.UNION_TYPE_DEFINITION:if(r.node.types=(0,_e.mapToArrayOfValues)(r.memberByMemberTypeName),this.routerDefinitions.push((0,Se.getNodeForRouterSchemaByData)(r,this.persistedDirectiveDefinitionByDirectiveName,this.errors)),(0,Se.isNodeDataInaccessible)(r)){this.validateReferencesOfInaccessibleType(r),this.internalGraph.setNodeInaccessible(r.name);break}let j=this.getClientSchemaUnionMembers(r);if(j.length<1){this.errors.push((0,xe.allChildDefinitionsAreInaccessibleError)(Re.UNION,n,"union member type"));break}this.clientDefinitions.push(K(k({},r.node),{directives:(0,Se.getClientPersistedDirectiveNodes)(r),types:j}));break}}federateSubgraphData(){this.federateInternalSubgraphData(),this.handleEntityInterfaces(),this.generateTagData(),this.pushVersionTwoDirectiveDefinitionsToDocumentDefinitions()}validateInterfaceImplementationsAndPushToDocumentDefinitions(t){for(let{data:n,clientSchemaFieldNodes:r}of t){if(n.node.interfaces=this.getValidImplementedInterfaces(n),this.routerDefinitions.push((0,Se.getNodeForRouterSchemaByData)(n,this.persistedDirectiveDefinitionByDirectiveName,this.errors)),(0,Se.isNodeDataInaccessible)(n)){this.validateReferencesOfInaccessibleType(n),this.internalGraph.setNodeInaccessible(n.name);continue}let i=[];for(let s of n.implementedInterfaceTypeNames)this.inaccessiblePaths.has(s)||i.push((0,Xs.stringToNamedTypeNode)(s));this.clientDefinitions.push(K(k({},n.node),{directives:(0,Se.getClientPersistedDirectiveNodes)(n),fields:r,interfaces:i}))}}pushVersionTwoDirectiveDefinitionsToDocumentDefinitions(){this.isVersionTwo&&(this.routerDefinitions=[fr.AUTHENTICATED_DEFINITION,fr.DEPRECATED_DEFINITION,fr.INACCESSIBLE_DEFINITION,fr.REQUIRES_SCOPES_DEFINITION,fr.TAG_DEFINITION,fr.SCOPE_SCALAR_DEFINITION],this.clientDefinitions=[fr.AUTHENTICATED_DEFINITION,fr.DEPRECATED_DEFINITION,fr.REQUIRES_SCOPES_DEFINITION,fr.SCOPE_SCALAR_DEFINITION])}validatePathSegmentInaccessibility(t){if(!t)return!1;let r=t.split(Re.LEFT_PARENTHESIS)[0].split(Re.PERIOD),i=r[0];for(let s=0;s0&&this.errors.push((0,xe.invalidReferencesOfInaccessibleTypeError)((0,_e.kindToTypeString)(t.kind),t.name,r))}validateQueryRootType(){let t=this.parentDefinitionDataByTypeName.get(Re.QUERY);if(!t||t.kind!==ke.Kind.OBJECT_TYPE_DEFINITION||t.fieldDataByFieldName.size<1){this.errors.push(xe.noQueryRootTypeError);return}for(let n of t.fieldDataByFieldName.values())if(!(0,Se.isNodeDataInaccessible)(n))return;this.errors.push(xe.noQueryRootTypeError)}validateSubscriptionFieldConditionFieldPath(t,n,r,i,s){let o=t.split(Re.PERIOD);if(o.length<1)return s.push((0,xe.invalidSubscriptionFieldConditionFieldPathErrorMessage)(r,t)),[];let u=n;if(this.inaccessiblePaths.has(u.renamedTypeName))return s.push((0,xe.inaccessibleSubscriptionFieldConditionFieldPathFieldErrorMessage)(r,t,o[0],u.renamedTypeName)),[];let l="";for(let d=0;d0?`.${p}`:p,u.kind!==ke.Kind.OBJECT_TYPE_DEFINITION)return s.push((0,xe.invalidSubscriptionFieldConditionFieldPathParentErrorMessage)(r,t,l)),[];let y=u.fieldDataByFieldName.get(p);if(!y)return s.push((0,xe.undefinedSubscriptionFieldConditionFieldPathFieldErrorMessage)(r,t,l,p,u.renamedTypeName)),[];let N=`${u.renamedTypeName}.${p}`;if(!y.subgraphNames.has(i))return s.push((0,xe.invalidSubscriptionFieldConditionFieldPathFieldErrorMessage)(r,t,l,N,i)),[];if(this.inaccessiblePaths.has(N))return s.push((0,xe.inaccessibleSubscriptionFieldConditionFieldPathFieldErrorMessage)(r,t,l,N)),[];if(fr.BASE_SCALARS.has(y.namedTypeName)){u={kind:ke.Kind.SCALAR_TYPE_DEFINITION,name:y.namedTypeName};continue}u=(0,_e.getOrThrowError)(this.parentDefinitionDataByTypeName,y.namedTypeName,Re.PARENT_DEFINITION_DATA)}return(0,Se.isLeafKind)(u.kind)?o:(s.push((0,xe.nonLeafSubscriptionFieldConditionFieldPathFinalFieldErrorMessage)(r,t,o[o.length-1],(0,_e.kindToTypeString)(u.kind),u.name)),[])}validateSubscriptionFieldCondition(t,n,r,i,s,o,u){if(i>cI.MAX_SUBSCRIPTION_FILTER_DEPTH||this.isMaxDepth)return u.push((0,xe.subscriptionFilterConditionDepthExceededErrorMessage)(s)),this.isMaxDepth=!0,!1;let l=!1,d=new Set([Re.FIELD_PATH,Re.VALUES]),p=new Set,y=new Set,N=[];for(let I of t.fields){let O=I.name.value,x=s+`.${O}`;switch(O){case Re.FIELD_PATH:{if(d.has(Re.FIELD_PATH))d.delete(Re.FIELD_PATH);else{l=!0,p.add(Re.FIELD_PATH);break}if(I.value.kind!==ke.Kind.STRING){N.push((0,xe.invalidInputFieldTypeErrorMessage)(x,Re.STRING,(0,_e.kindToTypeString)(I.value.kind))),l=!0;break}let j=this.validateSubscriptionFieldConditionFieldPath(I.value.value,r,x,o,N);if(j.length<1){l=!0;break}n.fieldPath=j;break}case Re.VALUES:{if(d.has(Re.VALUES))d.delete(Re.VALUES);else{l=!0,p.add(Re.VALUES);break}let j=I.value.kind;if(j==ke.Kind.NULL||j==ke.Kind.OBJECT){N.push((0,xe.invalidInputFieldTypeErrorMessage)(x,Re.LIST,(0,_e.kindToTypeString)(I.value.kind))),l=!0;break}if(j!==ke.Kind.LIST){n.values=[(0,Se.getSubscriptionFilterValue)(I.value)];break}let Q=new Set,re=[];for(let se=0;se0){N.push((0,xe.subscriptionFieldConditionInvalidValuesArrayErrorMessage)(x,re));continue}if(Q.size<1){l=!0,N.push((0,xe.subscriptionFieldConditionEmptyValuesArrayErrorMessage)(x));continue}n.values=[...Q];break}default:l=!0,y.add(O)}}return l?(u.push((0,xe.subscriptionFieldConditionInvalidInputFieldErrorMessage)(s,[...d],[...p],[...y],N)),!1):!0}validateSubscriptionFilterCondition(t,n,r,i,s,o,u){if(i>cI.MAX_SUBSCRIPTION_FILTER_DEPTH||this.isMaxDepth)return u.push((0,xe.subscriptionFilterConditionDepthExceededErrorMessage)(s)),this.isMaxDepth=!0,!1;if(i+=1,t.fields.length!==1)return u.push((0,xe.subscriptionFilterConditionInvalidInputFieldNumberErrorMessage)(s,t.fields.length)),!1;let l=t.fields[0],d=l.name.value;if(!Re.SUBSCRIPTION_FILTER_INPUT_NAMES.has(d))return u.push((0,xe.subscriptionFilterConditionInvalidInputFieldErrorMessage)(s,d)),!1;let p=s+`.${d}`;switch(l.value.kind){case ke.Kind.OBJECT:switch(d){case Re.IN_UPPER:return n.in={fieldPath:[],values:[]},this.validateSubscriptionFieldCondition(l.value,n.in,r,i,s+".IN",o,u);case Re.NOT_UPPER:return n.not={},this.validateSubscriptionFilterCondition(l.value,n.not,r,i,s+".NOT",o,u);default:return u.push((0,xe.subscriptionFilterConditionInvalidInputFieldTypeErrorMessage)(p,Re.LIST,Re.OBJECT)),!1}case ke.Kind.LIST:{let y=[];switch(d){case Re.AND_UPPER:{n.and=y;break}case Re.OR_UPPER:{n.or=y;break}default:return u.push((0,xe.subscriptionFilterConditionInvalidInputFieldTypeErrorMessage)(p,Re.OBJECT,Re.LIST)),!1}let N=l.value.values.length;if(N<1||N>5)return u.push((0,xe.subscriptionFilterArrayConditionInvalidLengthErrorMessage)(p,N)),!1;let I=!0,O=[];for(let x=0;x0?(u.push((0,xe.subscriptionFilterArrayConditionInvalidItemTypeErrorMessage)(p,O)),!1):I}default:{let y=Re.SUBSCRIPTION_FILTER_LIST_INPUT_NAMES.has(d)?Re.LIST:Re.OBJECT;return u.push((0,xe.subscriptionFilterConditionInvalidInputFieldTypeErrorMessage)(p,y,(0,_e.kindToTypeString)(l.value.kind))),!1}}}validateSubscriptionFilterAndGenerateConfiguration(t,n,r,i,s,o){if(!t.arguments||t.arguments.length!==1)return;let u=t.arguments[0];if(u.value.kind!==ke.Kind.OBJECT){this.errors.push((0,xe.invalidSubscriptionFilterDirectiveError)(r,[(0,xe.subscriptionFilterConditionInvalidInputFieldTypeErrorMessage)(Re.CONDITION,Re.OBJECT,(0,_e.kindToTypeString)(u.value.kind))]));return}let l={},d=[];if(!this.validateSubscriptionFilterCondition(u.value,l,n,0,Re.CONDITION,o,d)){this.errors.push((0,xe.invalidSubscriptionFilterDirectiveError)(r,d)),this.isMaxDepth=!1;return}(0,_e.getValueOrDefault)(this.fieldConfigurationByFieldPath,r,()=>({argumentNames:[],fieldName:i,typeName:s})).subscriptionFilterCondition=l}validateSubscriptionFiltersAndGenerateConfiguration(){for(let[t,n]of this.subscriptionFilterDataByFieldPath){if(this.inaccessiblePaths.has(t))continue;let r=this.parentDefinitionDataByTypeName.get(n.fieldData.namedTypeName);if(!r){this.errors.push((0,xe.invalidSubscriptionFilterDirectiveError)(t,[(0,xe.subscriptionFilterNamedTypeErrorMessage)(n.fieldData.namedTypeName)]));continue}(0,Se.isNodeDataInaccessible)(r)||r.kind===ke.Kind.OBJECT_TYPE_DEFINITION&&this.validateSubscriptionFilterAndGenerateConfiguration(n.directive,r,t,n.fieldData.name,n.fieldData.renamedParentTypeName,n.directiveSubgraphName)}}buildFederationResult(){this.subscriptionFilterDataByFieldPath.size>0&&this.validateSubscriptionFiltersAndGenerateConfiguration(),this.invalidOrScopesHostPaths.size>0&&this.errors.push((0,xe.orScopesLimitError)(_e.maxOrScopes,[...this.invalidOrScopesHostPaths]));for(let s of this.potentialPersistedDirectiveDefinitionDataByDirectiveName.values())(0,Se.addValidPersistedDirectiveDefinitionNodeByData)(this.routerDefinitions,s,this.persistedDirectiveDefinitionByDirectiveName,this.errors);let t=[];if(this.pushParentDefinitionDataToDocumentDefinitions(t),this.validateInterfaceImplementationsAndPushToDocumentDefinitions(t),this.validateQueryRootType(),this.errors.length>0)return{errors:this.errors,warnings:this.warnings};if(this.internalSubgraphBySubgraphName.size>1){let s=this.internalGraph.validate();if(s.length>0)return{errors:s,warnings:this.warnings}}if(this.errors.length>0)return{errors:this.errors,warnings:this.warnings};let n={kind:ke.Kind.DOCUMENT,definitions:this.routerDefinitions},r=(0,ke.buildASTSchema)({kind:ke.Kind.DOCUMENT,definitions:this.clientDefinitions},{assumeValid:!0,assumeValidSDL:!0}),i=new Map;for(let s of this.internalSubgraphBySubgraphName.values())i.set(s.name,{configurationDataByTypeName:s.configurationDataByTypeName,schema:s.schema});for(let s of this.authorizationDataByParentTypeName.values())(0,_e.upsertAuthorizationConfiguration)(this.fieldConfigurationByFieldPath,s);return{federationResult:k({fieldConfigurations:Array.from(this.fieldConfigurationByFieldPath.values()),subgraphConfigBySubgraphName:i,federatedGraphAST:n,federatedGraphSchema:(0,ke.buildASTSchema)(n,{assumeValid:!0,assumeValidSDL:!0}),federatedGraphClientSchema:r},this.getClientSchemaObjectBoolean()),warnings:this.warnings}}getClientSchemaObjectBoolean(){return this.inaccessiblePaths.size<1&&this.tagNamesByPath.size<1?{}:{shouldIncludeClientSchema:!0}}handleChildTagExclusions(t,n,r,i){let s=n.size;for(let[o,u]of r){let l=(0,_e.getOrThrowError)(n,o,`${t.name}.childDataByChildName`);if((0,Se.isNodeDataInaccessible)(l)){s-=1;continue}(0,_e.doSetsIntersect)(i,u.tagNames)&&((0,_e.getValueOrDefault)(l.persistedDirectivesData.directives,Re.INACCESSIBLE,()=>[(0,_e.generateSimpleDirective)(Re.INACCESSIBLE)]),this.inaccessiblePaths.add(`${t.name}.${o}`),s-=1)}s<1&&(t.persistedDirectivesData.directives.set(Re.INACCESSIBLE,[(0,_e.generateSimpleDirective)(Re.INACCESSIBLE)]),this.inaccessiblePaths.add(t.name))}handleChildTagInclusions(t,n,r,i){let s=n.size;for(let[o,u]of n){if((0,Se.isNodeDataInaccessible)(u)){s-=1;continue}let l=r.get(o);(!l||!(0,_e.doSetsIntersect)(i,l.tagNames))&&((0,_e.getValueOrDefault)(u.persistedDirectivesData.directives,Re.INACCESSIBLE,()=>[(0,_e.generateSimpleDirective)(Re.INACCESSIBLE)]),this.inaccessiblePaths.add(`${t.name}.${o}`),s-=1)}s<1&&(t.persistedDirectivesData.directives.set(Re.INACCESSIBLE,[(0,_e.generateSimpleDirective)(Re.INACCESSIBLE)]),this.inaccessiblePaths.add(t.name))}buildFederationContractResult(t){if(this.isVersionTwo||this.routerDefinitions.push(fr.INACCESSIBLE_DEFINITION),t.tagNamesToExclude.size>0)for(let[o,u]of this.parentTagDataByTypeName){let l=(0,_e.getOrThrowError)(this.parentDefinitionDataByTypeName,o,Re.PARENT_DEFINITION_DATA);if(!(0,Se.isNodeDataInaccessible)(l)){if((0,_e.doSetsIntersect)(t.tagNamesToExclude,u.tagNames)){l.persistedDirectivesData.directives.set(Re.INACCESSIBLE,[(0,_e.generateSimpleDirective)(Re.INACCESSIBLE)]),this.inaccessiblePaths.add(o);continue}if(!(u.childTagDataByChildName.size<1))switch(l.kind){case ke.Kind.SCALAR_TYPE_DEFINITION:case ke.Kind.UNION_TYPE_DEFINITION:continue;case ke.Kind.ENUM_TYPE_DEFINITION:this.handleChildTagExclusions(l,l.enumValueDataByValueName,u.childTagDataByChildName,t.tagNamesToExclude);break;case ke.Kind.INPUT_OBJECT_TYPE_DEFINITION:this.handleChildTagExclusions(l,l.inputValueDataByValueName,u.childTagDataByChildName,t.tagNamesToExclude);break;default:let d=l.fieldDataByFieldName.size;for(let[p,y]of u.childTagDataByChildName){let N=(0,_e.getOrThrowError)(l.fieldDataByFieldName,p,`${o}.fieldDataByFieldName`);if((0,Se.isNodeDataInaccessible)(N)){d-=1;continue}if((0,_e.doSetsIntersect)(t.tagNamesToExclude,y.tagNames)){(0,_e.getValueOrDefault)(N.persistedDirectivesData.directives,Re.INACCESSIBLE,()=>[(0,_e.generateSimpleDirective)(Re.INACCESSIBLE)]),this.inaccessiblePaths.add(`${o}.${p}`),d-=1;continue}for(let[I,O]of y.tagNamesByArgumentName){let x=(0,_e.getOrThrowError)(N.argumentDataByArgumentName,I,`${p}.argumentDataByArgumentName`);(0,Se.isNodeDataInaccessible)(x)||(0,_e.doSetsIntersect)(O,O)&&((0,_e.getValueOrDefault)(x.persistedDirectivesData.directives,Re.INACCESSIBLE,()=>[(0,_e.generateSimpleDirective)(Re.INACCESSIBLE)]),this.inaccessiblePaths.add(x.renamedPath))}}d<1&&(l.persistedDirectivesData.directives.set(Re.INACCESSIBLE,[(0,_e.generateSimpleDirective)(Re.INACCESSIBLE)]),this.inaccessiblePaths.add(o))}}}else if(t.tagNamesToInclude.size>0)for(let[o,u]of this.parentDefinitionDataByTypeName){if((0,Se.isNodeDataInaccessible)(u))continue;let l=this.parentTagDataByTypeName.get(o);if(!l){u.persistedDirectivesData.directives.set(Re.INACCESSIBLE,[(0,_e.generateSimpleDirective)(Re.INACCESSIBLE)]),this.inaccessiblePaths.add(o);continue}if(!(0,_e.doSetsIntersect)(t.tagNamesToInclude,l.tagNames)){if(l.childTagDataByChildName.size<1){u.persistedDirectivesData.directives.set(Re.INACCESSIBLE,[(0,_e.generateSimpleDirective)(Re.INACCESSIBLE)]),this.inaccessiblePaths.add(o);continue}switch(u.kind){case ke.Kind.SCALAR_TYPE_DEFINITION:case ke.Kind.UNION_TYPE_DEFINITION:continue;case ke.Kind.ENUM_TYPE_DEFINITION:this.handleChildTagInclusions(u,u.enumValueDataByValueName,l.childTagDataByChildName,t.tagNamesToInclude);break;case ke.Kind.INPUT_OBJECT_TYPE_DEFINITION:this.handleChildTagInclusions(u,u.inputValueDataByValueName,l.childTagDataByChildName,t.tagNamesToInclude);break;default:let d=u.fieldDataByFieldName.size;for(let[p,y]of u.fieldDataByFieldName){if((0,Se.isNodeDataInaccessible)(y)){d-=1;continue}let N=l.childTagDataByChildName.get(p);(!N||!(0,_e.doSetsIntersect)(t.tagNamesToInclude,N.tagNames))&&((0,_e.getValueOrDefault)(y.persistedDirectivesData.directives,Re.INACCESSIBLE,()=>[(0,_e.generateSimpleDirective)(Re.INACCESSIBLE)]),this.inaccessiblePaths.add(`${o}.${p}`),d-=1)}d<1&&(u.persistedDirectivesData.directives.set(Re.INACCESSIBLE,[(0,_e.generateSimpleDirective)(Re.INACCESSIBLE)]),this.inaccessiblePaths.add(o))}}}this.subscriptionFilterDataByFieldPath.size>0&&this.validateSubscriptionFiltersAndGenerateConfiguration();for(let o of this.potentialPersistedDirectiveDefinitionDataByDirectiveName.values())(0,Se.addValidPersistedDirectiveDefinitionNodeByData)(this.routerDefinitions,o,this.persistedDirectiveDefinitionByDirectiveName,this.errors);let n=[];if(this.pushParentDefinitionDataToDocumentDefinitions(n),this.validateInterfaceImplementationsAndPushToDocumentDefinitions(n),this.validateQueryRootType(),this.errors.length>0)return{errors:this.errors,warnings:this.warnings};let r={kind:ke.Kind.DOCUMENT,definitions:this.routerDefinitions},i=(0,ke.buildASTSchema)({kind:ke.Kind.DOCUMENT,definitions:this.clientDefinitions},{assumeValid:!0,assumeValidSDL:!0}),s=new Map;for(let o of this.internalSubgraphBySubgraphName.values())s.set(o.name,{configurationDataByTypeName:o.configurationDataByTypeName,schema:o.schema});for(let o of this.authorizationDataByParentTypeName.values())(0,_e.upsertAuthorizationConfiguration)(this.fieldConfigurationByFieldPath,o);return{federationResult:k({fieldConfigurations:Array.from(this.fieldConfigurationByFieldPath.values()),subgraphConfigBySubgraphName:s,federatedGraphAST:r,federatedGraphSchema:(0,ke.buildASTSchema)(r,{assumeValid:!0,assumeValidSDL:!0}),federatedGraphClientSchema:i},this.getClientSchemaObjectBoolean()),warnings:this.warnings}}federateSubgraphsInternal(){return this.federateSubgraphData(),this.buildFederationResult()}};ed.FederationFactory=lI;function zR(e){if(e.length<1)return{errors:[xe.minimumSubgraphRequirementError],warnings:[]};let{authorizationDataByParentTypeName:t,concreteTypeNamesByAbstractTypeName:n,entityDataByTypeName:r,errors:i,internalSubgraphBySubgraphName:s,internalGraph:o,warnings:u}=(0,yde.batchNormalize)(e);if(i)return{errors:i,warnings:u};let l=new Map,d=new Map,p=new Set;for(let[y,N]of s)for(let[I,O]of N.entityInterfaces){(0,_e.getValueOrDefault)(d,I,()=>[]).push({subgraphName:y,concreteTypeNames:O.concreteTypeNames||new Set});let x=l.get(I);if(!x){p.add(I),l.set(I,(0,_e.newEntityInterfaceFederationData)(O,y));continue}(0,_e.upsertEntityInterfaceFederationData)(x,O,y)&&p.delete(I)}for(let y of p)d.delete(y);return d.size>0?{errors:[(0,xe.undefinedEntityInterfaceImplementationsError)(d,l)],warnings:u}:{federationFactory:new lI({authorizationDataByParentTypeName:t,concreteTypeNamesByAbstractTypeName:n,entityDataByTypeName:r,entityInterfaceFederationDataByTypeName:l,internalSubgraphBySubgraphName:s,internalGraph:o,warnings:u}),warnings:u}}function gde(e){let{errors:t,federationFactory:n,warnings:r}=zR(e);return t||!n?{errors:t||[xe.federationFactoryInitializationFatalError],warnings:r}:n.federateSubgraphsInternal()}function Ide(e,t){let{errors:n,federationFactory:r,warnings:i}=zR(e);if(n||!r)return{errors:n||[xe.federationFactoryInitializationFatalError],warnings:i};r.federateSubgraphData();let s=[(0,Fq.cloneDeep)(r)],{errors:o,federationResult:u,warnings:l}=r.buildFederationResult();if(o)return{errors:o,warnings:l};let d=t.size-1,p=new Map,y=0;for(let[N,I]of t){y!==d&&s.push((0,Fq.cloneDeep)(s[y]));let O=s[y].buildFederationContractResult(I);p.set(N,O),y++}return{federationResult:u,federationResultContainerByContractName:p,warnings:l}}function vde(e,t){let{errors:n,federationFactory:r,warnings:i}=zR(e);return n||!r?{errors:n||[xe.federationFactoryInitializationFatalError],warnings:i}:(r.federateSubgraphData(),r.buildFederationContractResult(t))}});var Pq=V(Lq=>{"use strict";m();T();h();Object.defineProperty(Lq,"__esModule",{value:!0})});var dI=V(vn=>{"use strict";m();T();h();var _de=vn&&vn.__createBinding||(Object.create?function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]}),Xn=vn&&vn.__exportStar||function(e,t){for(var n in e)n!=="default"&&!Object.prototype.hasOwnProperty.call(t,n)&&_de(t,e,n)};Object.defineProperty(vn,"__esModule",{value:!0});Xn(Vi(),vn);Xn(eD(),vn);Xn(To(),vn);Xn(WM(),vn);Xn(wq(),vn);Xn(AR(),vn);Xn(JR(),vn);Xn(GR(),vn);Xn(Kl(),vn);Xn(wR(),vn);Xn(nA(),vn);Xn(jR(),vn);Xn(CR(),vn);Xn(MR(),vn);Xn($a(),vn);Xn(Kh(),vn);Xn(Pq(),vn);Xn(aI(),vn);Xn(Qp(),vn);Xn(FR(),vn);Xn(ps(),vn);Xn(_c(),vn);Xn(bi(),vn);Xn(iI(),vn)});var Tpe={};_f(Tpe,{buildRouterConfiguration:()=>hpe,federateSubgraphs:()=>mpe});m();T();h();var RF=Xv(dI());m();T();h();m();T();h();function HR(e){if(!e)return e;let t=new URL(e),n=t.pathname;n.endsWith("/")&&(n=n.slice(0,-1));let r=t.port?`:${t.port}`:"";return`${t.protocol}//${t.hostname}${r}${n}`}m();T();h();m();T();h();var kq={};m();T();h();function xq(e){return e!=null}m();T();h();m();T();h();we();m();T();h();var Cq;if(typeof AggregateError=="undefined"){class e extends Error{constructor(n,r=""){super(r),this.errors=n,this.name="AggregateError",Error.captureStackTrace(this,e)}}Cq=function(t,n){return new e(t,n)}}else Cq=AggregateError;function Uq(e){return"errors"in e&&Array.isArray(e.errors)}var Vq=3;function jq(e){return pI(e,[])}function pI(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return bde(e,t);default:return String(e)}}function Mq(e){return e instanceof Y?e.toString():`${e.name}: ${e.message}; + ${e.stack}`}function bde(e,t){if(e===null)return"null";if(e instanceof Error)return Uq(e)?Mq(e)+` +`+Bq(e.errors,t):Mq(e);if(t.includes(e))return"[Circular]";let n=[...t,e];if(Ode(e)){let r=e.toJSON();if(r!==e)return typeof r=="string"?r:pI(r,n)}else if(Array.isArray(e))return Bq(e,n);return Sde(e,n)}function Ode(e){return typeof e.toJSON=="function"}function Sde(e,t){let n=Object.entries(e);return n.length===0?"{}":t.length>Vq?"["+Dde(e)+"]":"{ "+n.map(([i,s])=>i+": "+pI(s,t)).join(", ")+" }"}function Bq(e,t){if(e.length===0)return"[]";if(t.length>Vq)return"[Array]";let n=e.length,r=[];for(let i=0;in==null?n:n[r],e==null?void 0:e.extensions)}m();T();h();we();m();T();h();we();function la(e){if(Qe(e)){let t=la(e.ofType);if(t.kind===R.NON_NULL_TYPE)throw new Error(`Invalid type node ${jq(e)}. Inner type of non-null type cannot be a non-null type.`);return{kind:R.NON_NULL_TYPE,type:t}}else if(Pt(e))return{kind:R.LIST_TYPE,type:la(e.ofType)};return{kind:R.NAMED_TYPE,name:{kind:R.NAME,value:e.name}}}m();T();h();we();function mI(e){if(e===null)return{kind:R.NULL};if(e===void 0)return null;if(Array.isArray(e)){let t=[];for(let n of e){let r=mI(n);r!=null&&t.push(r)}return{kind:R.LIST,values:t}}if(typeof e=="object"){let t=[];for(let n in e){let r=e[n],i=mI(r);i&&t.push({kind:R.OBJECT_FIELD,name:{kind:R.NAME,value:n},value:i})}return{kind:R.OBJECT,fields:t}}if(typeof e=="boolean")return{kind:R.BOOLEAN,value:e};if(typeof e=="number"&&isFinite(e)){let t=String(e);return Ade.test(t)?{kind:R.INT,value:t}:{kind:R.FLOAT,value:t}}if(typeof e=="string")return{kind:R.STRING,value:e};throw new TypeError(`Cannot convert value to AST: ${e}.`)}var Ade=/^-?(?:0|[1-9][0-9]*)$/;m();T();h();m();T();h();function hI(e){let t=new WeakMap;return function(r){let i=t.get(r);if(i===void 0){let s=e(r);return t.set(r,s),s}return i}}var FYe=hI(function(t){let n=Rde(t);return new Set([...n].map(r=>r.name))}),Rde=hI(function(t){let n=WR(t);return new Set(n.values())}),WR=hI(function(t){let n=new Map,r=t.getQueryType();r&&n.set("query",r);let i=t.getMutationType();i&&n.set("mutation",i);let s=t.getSubscriptionType();return s&&n.set("subscription",s),n});function Fde(e,t={}){let n=t.pathToDirectivesInExtensions,r=e.getTypeMap(),i=wde(e,n),s=i!=null?[i]:[],o=e.getDirectives();for(let u of o)cc(u)||s.push(Lde(u,e,n));for(let u in r){let l=r[u],d=uo(l),p=ui(l);if(!(d||p))if(at(l))s.push(Pde(l,e,n));else if(Nt(l))s.push(kde(l,e,n));else if(fn(l))s.push(xde(l,e,n));else if(It(l))s.push(Cde(l,e,n));else if(rn(l))s.push(Ude(l,e,n));else if(tr(l))s.push(Mde(l,e,n));else throw new Error(`Unknown type ${l}.`)}return{kind:R.DOCUMENT,definitions:s}}function $q(e,t={}){let n=Fde(e,t);return Ft(n)}function wde(e,t){var n,r;let i=new Map([["query",void 0],["mutation",void 0],["subscription",void 0]]),s=[];if(e.astNode!=null&&s.push(e.astNode),e.extensionASTNodes!=null)for(let p of e.extensionASTNodes)s.push(p);for(let p of s)if(p.operationTypes)for(let y of p.operationTypes)i.set(y.operation,y);let o=WR(e);for(let[p,y]of i){let N=o.get(p);if(N!=null){let I=la(N);y!=null?y.type=I:i.set(p,{kind:R.OPERATION_TYPE_DEFINITION,operation:p,type:I})}}let u=[...i.values()].filter(xq),l=Zp(e,e,t);if(!u.length&&!l.length)return null;let d={kind:u!=null?R.SCHEMA_DEFINITION:R.SCHEMA_EXTENSION,operationTypes:u,directives:l};return d.description=((r=(n=e.astNode)===null||n===void 0?void 0:n.description)!==null&&r!==void 0?r:e.description!=null)?{kind:R.STRING,value:e.description,block:!0}:void 0,d}function Lde(e,t,n){var r,i,s,o;return{kind:R.DIRECTIVE_DEFINITION,description:(i=(r=e.astNode)===null||r===void 0?void 0:r.description)!==null&&i!==void 0?i:e.description?{kind:R.STRING,value:e.description}:void 0,name:{kind:R.NAME,value:e.name},arguments:(s=e.args)===null||s===void 0?void 0:s.map(u=>qq(u,t,n)),repeatable:e.isRepeatable,locations:((o=e.locations)===null||o===void 0?void 0:o.map(u=>({kind:R.NAME,value:u})))||[]}}function Zp(e,t,n){let r=fI(e,n),i=[];e.astNode!=null&&i.push(e.astNode),"extensionASTNodes"in e&&e.extensionASTNodes!=null&&(i=i.concat(e.extensionASTNodes));let s;if(r!=null)s=XR(t,r);else{s=[];for(let o of i)o.directives&&s.push(...o.directives)}return s}function yI(e,t,n){var r,i;let s=[],o=null,u=fI(e,n),l;return u!=null?l=XR(t,u):l=(r=e.astNode)===null||r===void 0?void 0:r.directives,l!=null&&(s=l.filter(d=>d.name.value!=="deprecated"),e.deprecationReason!=null&&(o=(i=l.filter(d=>d.name.value==="deprecated"))===null||i===void 0?void 0:i[0])),e.deprecationReason!=null&&o==null&&(o=jde(e.deprecationReason)),o==null?s:[o].concat(s)}function qq(e,t,n){var r,i,s;return{kind:R.INPUT_VALUE_DEFINITION,description:(i=(r=e.astNode)===null||r===void 0?void 0:r.description)!==null&&i!==void 0?i:e.description?{kind:R.STRING,value:e.description,block:!0}:void 0,name:{kind:R.NAME,value:e.name},type:la(e.type),defaultValue:e.defaultValue!==void 0&&(s=Hr(e.defaultValue,e.type))!==null&&s!==void 0?s:void 0,directives:yI(e,t,n)}}function Pde(e,t,n){var r,i;return{kind:R.OBJECT_TYPE_DEFINITION,description:(i=(r=e.astNode)===null||r===void 0?void 0:r.description)!==null&&i!==void 0?i:e.description?{kind:R.STRING,value:e.description,block:!0}:void 0,name:{kind:R.NAME,value:e.name},fields:Object.values(e.getFields()).map(s=>Kq(s,t,n)),interfaces:Object.values(e.getInterfaces()).map(s=>la(s)),directives:Zp(e,t,n)}}function kde(e,t,n){var r,i;let s={kind:R.INTERFACE_TYPE_DEFINITION,description:(i=(r=e.astNode)===null||r===void 0?void 0:r.description)!==null&&i!==void 0?i:e.description?{kind:R.STRING,value:e.description,block:!0}:void 0,name:{kind:R.NAME,value:e.name},fields:Object.values(e.getFields()).map(o=>Kq(o,t,n)),directives:Zp(e,t,n)};return"getInterfaces"in e&&(s.interfaces=Object.values(e.getInterfaces()).map(o=>la(o))),s}function xde(e,t,n){var r,i;return{kind:R.UNION_TYPE_DEFINITION,description:(i=(r=e.astNode)===null||r===void 0?void 0:r.description)!==null&&i!==void 0?i:e.description?{kind:R.STRING,value:e.description,block:!0}:void 0,name:{kind:R.NAME,value:e.name},directives:Zp(e,t,n),types:e.getTypes().map(s=>la(s))}}function Cde(e,t,n){var r,i;return{kind:R.INPUT_OBJECT_TYPE_DEFINITION,description:(i=(r=e.astNode)===null||r===void 0?void 0:r.description)!==null&&i!==void 0?i:e.description?{kind:R.STRING,value:e.description,block:!0}:void 0,name:{kind:R.NAME,value:e.name},fields:Object.values(e.getFields()).map(s=>Bde(s,t,n)),directives:Zp(e,t,n)}}function Ude(e,t,n){var r,i;return{kind:R.ENUM_TYPE_DEFINITION,description:(i=(r=e.astNode)===null||r===void 0?void 0:r.description)!==null&&i!==void 0?i:e.description?{kind:R.STRING,value:e.description,block:!0}:void 0,name:{kind:R.NAME,value:e.name},values:Object.values(e.getValues()).map(s=>Vde(s,t,n)),directives:Zp(e,t,n)}}function Mde(e,t,n){var r,i,s;let o=fI(e,n),u=o?XR(t,o):((r=e.astNode)===null||r===void 0?void 0:r.directives)||[],l=e.specifiedByUrl||e.specifiedByURL;if(l&&!u.some(d=>d.name.value==="specifiedBy")){let d={url:l};u.push(TI("specifiedBy",d))}return{kind:R.SCALAR_TYPE_DEFINITION,description:(s=(i=e.astNode)===null||i===void 0?void 0:i.description)!==null&&s!==void 0?s:e.description?{kind:R.STRING,value:e.description,block:!0}:void 0,name:{kind:R.NAME,value:e.name},directives:u}}function Kq(e,t,n){var r,i;return{kind:R.FIELD_DEFINITION,description:(i=(r=e.astNode)===null||r===void 0?void 0:r.description)!==null&&i!==void 0?i:e.description?{kind:R.STRING,value:e.description,block:!0}:void 0,name:{kind:R.NAME,value:e.name},arguments:e.args.map(s=>qq(s,t,n)),type:la(e.type),directives:yI(e,t,n)}}function Bde(e,t,n){var r,i,s;return{kind:R.INPUT_VALUE_DEFINITION,description:(i=(r=e.astNode)===null||r===void 0?void 0:r.description)!==null&&i!==void 0?i:e.description?{kind:R.STRING,value:e.description,block:!0}:void 0,name:{kind:R.NAME,value:e.name},type:la(e.type),directives:yI(e,t,n),defaultValue:(s=Hr(e.defaultValue,e.type))!==null&&s!==void 0?s:void 0}}function Vde(e,t,n){var r,i;return{kind:R.ENUM_VALUE_DEFINITION,description:(i=(r=e.astNode)===null||r===void 0?void 0:r.description)!==null&&i!==void 0?i:e.description?{kind:R.STRING,value:e.description,block:!0}:void 0,name:{kind:R.NAME,value:e.name},directives:yI(e,t,n)}}function jde(e){return TI("deprecated",{reason:e},Uo)}function TI(e,t,n){let r=[];if(n!=null)for(let i of n.args){let s=i.name,o=t[s];if(o!==void 0){let u=Hr(o,i.type);u&&r.push({kind:R.ARGUMENT,name:{kind:R.NAME,value:s},value:u})}}else for(let i in t){let s=t[i],o=mI(s);o&&r.push({kind:R.ARGUMENT,name:{kind:R.NAME,value:i},value:o})}return{kind:R.DIRECTIVE,name:{kind:R.NAME,value:e},arguments:r}}function XR(e,t){let n=[];for(let r in t){let i=t[r],s=e==null?void 0:e.getDirective(r);if(Array.isArray(i))for(let o of i)n.push(TI(r,o,s));else n.push(TI(r,i,s))}return n}var LK=Xv(dI(),1);we();m();T();h();m();T();h();m();T();h();m();T();h();m();T();h();m();T();h();function Rn(e,t){if(!e)throw new Error(t)}var $de=34028234663852886e22,qde=-34028234663852886e22,Kde=4294967295,Gde=2147483647,Qde=-2147483648;function ef(e){if(typeof e!="number")throw new Error("invalid int 32: "+typeof e);if(!Number.isInteger(e)||e>Gde||eKde||e<0)throw new Error("invalid uint 32: "+e)}function NI(e){if(typeof e!="number")throw new Error("invalid float 32: "+typeof e);if(Number.isFinite(e)&&(e>$de||e({no:i.no,name:i.name,localName:e[i.no]})),r)}function eF(e,t,n){let r=Object.create(null),i=Object.create(null),s=[];for(let o of t){let u=Jq(o);s.push(u),r[o.name]=u,i[o.no]=u}return{typeName:e,values:s,findName(o){return r[o]},findNumber(o){return i[o]}}}function Yq(e,t,n){let r={};for(let i of t){let s=Jq(i);r[s.localName]=s.no,r[s.no]=s.localName}return ZR(r,e,t,n),r}function Jq(e){return"localName"in e?e:Object.assign(Object.assign({},e),{localName:e.name})}m();T();h();m();T();h();var ft=class{equals(t){return this.getType().runtime.util.equals(this.getType(),this,t)}clone(){return this.getType().runtime.util.clone(this)}fromBinary(t,n){let r=this.getType(),i=r.runtime.bin,s=i.makeReadOptions(n);return i.readMessage(this,s.readerFactory(t),t.byteLength,s),this}fromJson(t,n){let r=this.getType(),i=r.runtime.json,s=i.makeReadOptions(n);return i.readMessage(r,t,s,this),this}fromJsonString(t,n){let r;try{r=JSON.parse(t)}catch(i){throw new Error(`cannot decode ${this.getType().typeName} from JSON: ${i instanceof Error?i.message:String(i)}`)}return this.fromJson(r,n)}toBinary(t){let n=this.getType(),r=n.runtime.bin,i=r.makeWriteOptions(t),s=i.writerFactory();return r.writeMessage(this,s,i),s.finish()}toJson(t){let n=this.getType(),r=n.runtime.json,i=r.makeWriteOptions(t);return r.writeMessage(this,i)}toJsonString(t){var n;let r=this.toJson(t);return JSON.stringify(r,null,(n=t==null?void 0:t.prettySpaces)!==null&&n!==void 0?n:0)}toJSON(){return this.toJson({emitDefaultValues:!0})}getType(){return Object.getPrototypeOf(this).constructor}};function zq(e,t,n,r){var i;let s=(i=r==null?void 0:r.localName)!==null&&i!==void 0?i:t.substring(t.lastIndexOf(".")+1),o={[s]:function(u){e.util.initFields(this),e.util.initPartial(u,this)}}[s];return Object.setPrototypeOf(o.prototype,new ft),Object.assign(o,{runtime:e,typeName:t,fields:e.util.newFieldList(n),fromBinary(u,l){return new o().fromBinary(u,l)},fromJson(u,l){return new o().fromJson(u,l)},fromJsonString(u,l){return new o().fromJsonString(u,l)},equals(u,l){return e.util.equals(o,u,l)}}),o}m();T();h();m();T();h();m();T();h();m();T();h();function Wq(){let e=0,t=0;for(let r=0;r<28;r+=7){let i=this.buf[this.pos++];if(e|=(i&127)<>4,!(n&128))return this.assertBounds(),[e,t];for(let r=3;r<=31;r+=7){let i=this.buf[this.pos++];if(t|=(i&127)<>>s,u=!(!(o>>>7)&&t==0),l=(u?o|128:o)&255;if(n.push(l),!u)return}let r=e>>>28&15|(t&7)<<4,i=!!(t>>3);if(n.push((i?r|128:r)&255),!!i){for(let s=3;s<31;s=s+7){let o=t>>>s,u=!!(o>>>7),l=(u?o|128:o)&255;if(n.push(l),!u)return}n.push(t>>>31&1)}}var EI=4294967296;function tF(e){let t=e[0]==="-";t&&(e=e.slice(1));let n=1e6,r=0,i=0;function s(o,u){let l=Number(e.slice(o,u));i*=n,r=r*n+l,r>=EI&&(i=i+(r/EI|0),r=r%EI)}return s(-24,-18),s(-18,-12),s(-12,-6),s(-6),t?Zq(r,i):rF(r,i)}function Xq(e,t){let n=rF(e,t),r=n.hi&2147483648;r&&(n=Zq(n.lo,n.hi));let i=nF(n.lo,n.hi);return r?"-"+i:i}function nF(e,t){if({lo:e,hi:t}=Yde(e,t),t<=2097151)return String(EI*t+e);let n=e&16777215,r=(e>>>24|t<<8)&16777215,i=t>>16&65535,s=n+r*6777216+i*6710656,o=r+i*8147497,u=i*2,l=1e7;return s>=l&&(o+=Math.floor(s/l),s%=l),o>=l&&(u+=Math.floor(o/l),o%=l),u.toString()+Hq(o)+Hq(s)}function Yde(e,t){return{lo:e>>>0,hi:t>>>0}}function rF(e,t){return{lo:e|0,hi:t|0}}function Zq(e,t){return t=~t,e?e=~e+1:t+=1,rF(e,t)}var Hq=e=>{let t=String(e);return"0000000".slice(t.length)+t};function iF(e,t){if(e>=0){for(;e>127;)t.push(e&127|128),e=e>>>7;t.push(e)}else{for(let n=0;n<9;n++)t.push(e&127|128),e=e>>7;t.push(1)}}function eK(){let e=this.buf[this.pos++],t=e&127;if(!(e&128))return this.assertBounds(),t;if(e=this.buf[this.pos++],t|=(e&127)<<7,!(e&128))return this.assertBounds(),t;if(e=this.buf[this.pos++],t|=(e&127)<<14,!(e&128))return this.assertBounds(),t;if(e=this.buf[this.pos++],t|=(e&127)<<21,!(e&128))return this.assertBounds(),t;e=this.buf[this.pos++],t|=(e&15)<<28;for(let n=5;e&128&&n<10;n++)e=this.buf[this.pos++];if(e&128)throw new Error("invalid varint");return this.assertBounds(),t>>>0}function Jde(){let e=new DataView(new ArrayBuffer(8));if(typeof BigInt=="function"&&typeof e.getBigInt64=="function"&&typeof e.getBigUint64=="function"&&typeof e.setBigInt64=="function"&&typeof e.setBigUint64=="function"&&(typeof b!="object"||typeof b.env!="object"||b.env.BUF_BIGINT_DISABLE!=="1")){let i=BigInt("-9223372036854775808"),s=BigInt("9223372036854775807"),o=BigInt("0"),u=BigInt("18446744073709551615");return{zero:BigInt(0),supported:!0,parse(l){let d=typeof l=="bigint"?l:BigInt(l);if(d>s||du||dRn(/^-?[0-9]+$/.test(i),`int64 invalid: ${i}`),r=i=>Rn(/^[0-9]+$/.test(i),`uint64 invalid: ${i}`);return{zero:"0",supported:!1,parse(i){return typeof i!="string"&&(i=i.toString()),n(i),i},uParse(i){return typeof i!="string"&&(i=i.toString()),r(i),i},enc(i){return typeof i!="string"&&(i=i.toString()),n(i),tF(i)},uEnc(i){return typeof i!="string"&&(i=i.toString()),r(i),tF(i)},dec(i,s){return Xq(i,s)},uDec(i,s){return nF(i,s)}}}var Ir=Jde();m();T();h();var Ee;(function(e){e[e.DOUBLE=1]="DOUBLE",e[e.FLOAT=2]="FLOAT",e[e.INT64=3]="INT64",e[e.UINT64=4]="UINT64",e[e.INT32=5]="INT32",e[e.FIXED64=6]="FIXED64",e[e.FIXED32=7]="FIXED32",e[e.BOOL=8]="BOOL",e[e.STRING=9]="STRING",e[e.BYTES=12]="BYTES",e[e.UINT32=13]="UINT32",e[e.SFIXED32=15]="SFIXED32",e[e.SFIXED64=16]="SFIXED64",e[e.SINT32=17]="SINT32",e[e.SINT64=18]="SINT64"})(Ee||(Ee={}));var bo;(function(e){e[e.BIGINT=0]="BIGINT",e[e.STRING=1]="STRING"})(bo||(bo={}));function Xa(e,t,n){if(t===n)return!0;if(e==Ee.BYTES){if(!(t instanceof Uint8Array)||!(n instanceof Uint8Array)||t.length!==n.length)return!1;for(let r=0;r>>0)}raw(t){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(t),this}uint32(t){for(hT(t);t>127;)this.buf.push(t&127|128),t=t>>>7;return this.buf.push(t),this}int32(t){return ef(t),iF(t,this.buf),this}bool(t){return this.buf.push(t?1:0),this}bytes(t){return this.uint32(t.byteLength),this.raw(t)}string(t){let n=this.textEncoder.encode(t);return this.uint32(n.byteLength),this.raw(n)}float(t){NI(t);let n=new Uint8Array(4);return new DataView(n.buffer).setFloat32(0,t,!0),this.raw(n)}double(t){let n=new Uint8Array(8);return new DataView(n.buffer).setFloat64(0,t,!0),this.raw(n)}fixed32(t){hT(t);let n=new Uint8Array(4);return new DataView(n.buffer).setUint32(0,t,!0),this.raw(n)}sfixed32(t){ef(t);let n=new Uint8Array(4);return new DataView(n.buffer).setInt32(0,t,!0),this.raw(n)}sint32(t){return ef(t),t=(t<<1^t>>31)>>>0,iF(t,this.buf),this}sfixed64(t){let n=new Uint8Array(8),r=new DataView(n.buffer),i=Ir.enc(t);return r.setInt32(0,i.lo,!0),r.setInt32(4,i.hi,!0),this.raw(n)}fixed64(t){let n=new Uint8Array(8),r=new DataView(n.buffer),i=Ir.uEnc(t);return r.setInt32(0,i.lo,!0),r.setInt32(4,i.hi,!0),this.raw(n)}int64(t){let n=Ir.enc(t);return gI(n.lo,n.hi,this.buf),this}sint64(t){let n=Ir.enc(t),r=n.hi>>31,i=n.lo<<1^r,s=(n.hi<<1|n.lo>>>31)^r;return gI(i,s,this.buf),this}uint64(t){let n=Ir.uEnc(t);return gI(n.lo,n.hi,this.buf),this}},_I=class{constructor(t,n){this.varint64=Wq,this.uint32=eK,this.buf=t,this.len=t.length,this.pos=0,this.view=new DataView(t.buffer,t.byteOffset,t.byteLength),this.textDecoder=n!=null?n:new TextDecoder}tag(){let t=this.uint32(),n=t>>>3,r=t&7;if(n<=0||r<0||r>5)throw new Error("illegal tag: field no "+n+" wire type "+r);return[n,r]}skip(t){let n=this.pos;switch(t){case mr.Varint:for(;this.buf[this.pos++]&128;);break;case mr.Bit64:this.pos+=4;case mr.Bit32:this.pos+=4;break;case mr.LengthDelimited:let r=this.uint32();this.pos+=r;break;case mr.StartGroup:let i;for(;(i=this.tag()[1])!==mr.EndGroup;)this.skip(i);break;default:throw new Error("cant skip wire type "+t)}return this.assertBounds(),this.buf.subarray(n,this.pos)}assertBounds(){if(this.pos>this.len)throw new RangeError("premature EOF")}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)}int64(){return Ir.dec(...this.varint64())}uint64(){return Ir.uDec(...this.varint64())}sint64(){let[t,n]=this.varint64(),r=-(t&1);return t=(t>>>1|(n&1)<<31)^r,n=n>>>1^r,Ir.dec(t,n)}bool(){let[t,n]=this.varint64();return t!==0||n!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return Ir.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return Ir.dec(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let t=this.uint32(),n=this.pos;return this.pos+=t,this.assertBounds(),this.buf.subarray(n,n+t)}string(){return this.textDecoder.decode(this.bytes())}};function tK(e,t,n,r){let i;return{typeName:t,extendee:n,get field(){if(!i){let s=typeof r=="function"?r():r;s.name=t.split(".").pop(),s.jsonName=`[${t}]`,i=e.util.newFieldList([s]).list()[0]}return i},runtime:e}}function bI(e){let t=e.field.localName,n=Object.create(null);return n[t]=zde(e),[n,()=>n[t]]}function zde(e){let t=e.field;if(t.repeated)return[];if(t.default!==void 0)return t.default;switch(t.kind){case"enum":return t.T.values[0].no;case"scalar":return Oo(t.T,t.L);case"message":let n=t.T,r=new n;return n.fieldWrapper?n.fieldWrapper.unwrapField(r):r;case"map":throw"map fields are not allowed to be extensions"}}function nK(e,t){if(!t.repeated&&(t.kind=="enum"||t.kind=="scalar")){for(let n=e.length-1;n>=0;--n)if(e[n].no==t.no)return[e[n]];return[]}return e.filter(n=>n.no===t.no)}m();T();h();m();T();h();var Za="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),OI=[];for(let e=0;e>4,o=s,i=2;break;case 2:n[r++]=(o&15)<<4|(s&60)>>2,o=s,i=3;break;case 3:n[r++]=(o&3)<<6|s,i=0;break}}if(i==1)throw Error("invalid base64 string.");return n.subarray(0,r)},enc(e){let t="",n=0,r,i=0;for(let s=0;s>2],i=(r&3)<<4,n=1;break;case 1:t+=Za[i|r>>4],i=(r&15)<<2,n=2;break;case 2:t+=Za[i|r>>6],t+=Za[r&63],n=0;break}return n&&(t+=Za[i],t+="=",n==1&&(t+="=")),t}};m();T();h();function rK(e,t,n){sK(t,e);let r=t.runtime.bin.makeReadOptions(n),i=nK(e.getType().runtime.bin.listUnknownFields(e),t.field),[s,o]=bI(t);for(let u of i)t.runtime.bin.readField(s,r.readerFactory(u.data),t.field,u.wireType,r);return o()}function iK(e,t,n,r){sK(t,e);let i=t.runtime.bin.makeReadOptions(r),s=t.runtime.bin.makeWriteOptions(r);if(oF(e,t)){let d=e.getType().runtime.bin.listUnknownFields(e).filter(p=>p.no!=t.field.no);e.getType().runtime.bin.discardUnknownFields(e);for(let p of d)e.getType().runtime.bin.onUnknownField(e,p.no,p.wireType,p.data)}let o=s.writerFactory(),u=t.field;!u.opt&&!u.repeated&&(u.kind=="enum"||u.kind=="scalar")&&(u=Object.assign(Object.assign({},t.field),{opt:!0})),t.runtime.bin.writeField(u,n,o,s);let l=i.readerFactory(o.finish());for(;l.posr.no==t.field.no)}function sK(e,t){Rn(e.extendee.typeName==t.getType().typeName,`extension ${e.typeName} can only be applied to message ${e.extendee.typeName}`)}m();T();h();function SI(e,t){let n=e.localName;if(e.repeated)return t[n].length>0;if(e.oneof)return t[e.oneof.localName].case===n;switch(e.kind){case"enum":case"scalar":return e.opt||e.req?t[n]!==void 0:e.kind=="enum"?t[n]!==e.T.values[0].no:!II(e.T,t[n]);case"message":return t[n]!==void 0;case"map":return Object.keys(t[n]).length>0}}function aF(e,t){let n=e.localName,r=!e.opt&&!e.req;if(e.repeated)t[n]=[];else if(e.oneof)t[e.oneof.localName]={case:void 0};else switch(e.kind){case"map":t[n]={};break;case"enum":t[n]=r?e.T.values[0].no:void 0;break;case"scalar":t[n]=r?Oo(e.T,e.L):void 0;break;case"message":t[n]=void 0;break}}m();T();h();m();T();h();function So(e,t){if(e===null||typeof e!="object"||!Object.getOwnPropertyNames(ft.prototype).every(r=>r in e&&typeof e[r]=="function"))return!1;let n=e.getType();return n===null||typeof n!="function"||!("typeName"in n)||typeof n.typeName!="string"?!1:t===void 0?!0:n.typeName==t.typeName}function DI(e,t){return So(t)||!e.fieldWrapper?t:e.fieldWrapper.wrapField(t)}var l3e={"google.protobuf.DoubleValue":Ee.DOUBLE,"google.protobuf.FloatValue":Ee.FLOAT,"google.protobuf.Int64Value":Ee.INT64,"google.protobuf.UInt64Value":Ee.UINT64,"google.protobuf.Int32Value":Ee.INT32,"google.protobuf.UInt32Value":Ee.UINT32,"google.protobuf.BoolValue":Ee.BOOL,"google.protobuf.StringValue":Ee.STRING,"google.protobuf.BytesValue":Ee.BYTES};var oK={ignoreUnknownFields:!1},aK={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0};function Hde(e){return e?Object.assign(Object.assign({},oK),e):oK}function Wde(e){return e?Object.assign(Object.assign({},aK),e):aK}var FI=Symbol(),AI=Symbol();function lK(){return{makeReadOptions:Hde,makeWriteOptions:Wde,readMessage(e,t,n,r){if(t==null||Array.isArray(t)||typeof t!="object")throw new Error(`cannot decode message ${e.typeName} from JSON: ${da(t)}`);r=r!=null?r:new e;let i=new Map,s=n.typeRegistry;for(let[o,u]of Object.entries(t)){let l=e.fields.findJsonName(o);if(l){if(l.oneof){if(u===null&&l.kind=="scalar")continue;let d=i.get(l.oneof);if(d!==void 0)throw new Error(`cannot decode message ${e.typeName} from JSON: multiple keys for oneof "${l.oneof.name}" present: "${d}", "${o}"`);i.set(l.oneof,o)}uK(r,u,l,n,e)}else{let d=!1;if(s!=null&&s.findExtension&&o.startsWith("[")&&o.endsWith("]")){let p=s.findExtension(o.substring(1,o.length-1));if(p&&p.extendee.typeName==e.typeName){d=!0;let[y,N]=bI(p);uK(y,u,p.field,n,p),iK(r,p,N(),n)}}if(!d&&!n.ignoreUnknownFields)throw new Error(`cannot decode message ${e.typeName} from JSON: key "${o}" is unknown`)}}return r},writeMessage(e,t){let n=e.getType(),r={},i;try{for(i of n.fields.byNumber()){if(!SI(i,e)){if(i.req)throw"required field not set";if(!t.emitDefaultValues||!Zde(i))continue}let o=i.oneof?e[i.oneof.localName].value:e[i.localName],u=cK(i,o,t);u!==void 0&&(r[t.useProtoFieldName?i.name:i.jsonName]=u)}let s=t.typeRegistry;if(s!=null&&s.findExtensionFor)for(let o of n.runtime.bin.listUnknownFields(e)){let u=s.findExtensionFor(n.typeName,o.no);if(u&&oF(e,u)){let l=rK(e,u,t),d=cK(u.field,l,t);d!==void 0&&(r[u.field.jsonName]=d)}}}catch(s){let o=i?`cannot encode field ${n.typeName}.${i.name} to JSON`:`cannot encode message ${n.typeName} to JSON`,u=s instanceof Error?s.message:String(s);throw new Error(o+(u.length>0?`: ${u}`:""))}return r},readScalar(e,t,n){return TT(e,t,n!=null?n:bo.BIGINT,!0)},writeScalar(e,t,n){if(t!==void 0&&(n||II(e,t)))return RI(e,t)},debug:da}}function da(e){if(e===null)return"null";switch(typeof e){case"object":return Array.isArray(e)?"array":"object";case"string":return e.length>100?"string":`"${e.split('"').join('\\"')}"`;default:return String(e)}}function uK(e,t,n,r,i){let s=n.localName;if(n.repeated){if(Rn(n.kind!="map"),t===null)return;if(!Array.isArray(t))throw new Error(`cannot decode field ${i.typeName}.${n.name} from JSON: ${da(t)}`);let o=e[s];for(let u of t){if(u===null)throw new Error(`cannot decode field ${i.typeName}.${n.name} from JSON: ${da(u)}`);switch(n.kind){case"message":o.push(n.T.fromJson(u,r));break;case"enum":let l=uF(n.T,u,r.ignoreUnknownFields,!0);l!==AI&&o.push(l);break;case"scalar":try{o.push(TT(n.T,u,n.L,!0))}catch(d){let p=`cannot decode field ${i.typeName}.${n.name} from JSON: ${da(u)}`;throw d instanceof Error&&d.message.length>0&&(p+=`: ${d.message}`),new Error(p)}break}}}else if(n.kind=="map"){if(t===null)return;if(typeof t!="object"||Array.isArray(t))throw new Error(`cannot decode field ${i.typeName}.${n.name} from JSON: ${da(t)}`);let o=e[s];for(let[u,l]of Object.entries(t)){if(l===null)throw new Error(`cannot decode field ${i.typeName}.${n.name} from JSON: map value null`);let d;try{d=Xde(n.K,u)}catch(p){let y=`cannot decode map key for field ${i.typeName}.${n.name} from JSON: ${da(t)}`;throw p instanceof Error&&p.message.length>0&&(y+=`: ${p.message}`),new Error(y)}switch(n.V.kind){case"message":o[d]=n.V.T.fromJson(l,r);break;case"enum":let p=uF(n.V.T,l,r.ignoreUnknownFields,!0);p!==AI&&(o[d]=p);break;case"scalar":try{o[d]=TT(n.V.T,l,bo.BIGINT,!0)}catch(y){let N=`cannot decode map value for field ${i.typeName}.${n.name} from JSON: ${da(t)}`;throw y instanceof Error&&y.message.length>0&&(N+=`: ${y.message}`),new Error(N)}break}}}else switch(n.oneof&&(e=e[n.oneof.localName]={case:s},s="value"),n.kind){case"message":let o=n.T;if(t===null&&o.typeName!="google.protobuf.Value")return;let u=e[s];So(u)?u.fromJson(t,r):(e[s]=u=o.fromJson(t,r),o.fieldWrapper&&!n.oneof&&(e[s]=o.fieldWrapper.unwrapField(u)));break;case"enum":let l=uF(n.T,t,r.ignoreUnknownFields,!1);switch(l){case FI:aF(n,e);break;case AI:break;default:e[s]=l;break}break;case"scalar":try{let d=TT(n.T,t,n.L,!1);switch(d){case FI:aF(n,e);break;default:e[s]=d;break}}catch(d){let p=`cannot decode field ${i.typeName}.${n.name} from JSON: ${da(t)}`;throw d instanceof Error&&d.message.length>0&&(p+=`: ${d.message}`),new Error(p)}break}}function Xde(e,t){if(e===Ee.BOOL)switch(t){case"true":t=!0;break;case"false":t=!1;break}return TT(e,t,bo.BIGINT,!0).toString()}function TT(e,t,n,r){if(t===null)return r?Oo(e,n):FI;switch(e){case Ee.DOUBLE:case Ee.FLOAT:if(t==="NaN")return Number.NaN;if(t==="Infinity")return Number.POSITIVE_INFINITY;if(t==="-Infinity")return Number.NEGATIVE_INFINITY;if(t===""||typeof t=="string"&&t.trim().length!==t.length||typeof t!="string"&&typeof t!="number")break;let i=Number(t);if(Number.isNaN(i)||!Number.isFinite(i))break;return e==Ee.FLOAT&&NI(i),i;case Ee.INT32:case Ee.FIXED32:case Ee.SFIXED32:case Ee.SINT32:case Ee.UINT32:let s;if(typeof t=="number"?s=t:typeof t=="string"&&t.length>0&&t.trim().length===t.length&&(s=Number(t)),s===void 0)break;return e==Ee.UINT32||e==Ee.FIXED32?hT(s):ef(s),s;case Ee.INT64:case Ee.SFIXED64:case Ee.SINT64:if(typeof t!="number"&&typeof t!="string")break;let o=Ir.parse(t);return n?o.toString():o;case Ee.FIXED64:case Ee.UINT64:if(typeof t!="number"&&typeof t!="string")break;let u=Ir.uParse(t);return n?u.toString():u;case Ee.BOOL:if(typeof t!="boolean")break;return t;case Ee.STRING:if(typeof t!="string")break;try{encodeURIComponent(t)}catch(l){throw new Error("invalid UTF8")}return t;case Ee.BYTES:if(t==="")return new Uint8Array(0);if(typeof t!="string")break;return sF.dec(t)}throw new Error}function uF(e,t,n,r){if(t===null)return e.typeName=="google.protobuf.NullValue"?0:r?e.values[0].no:FI;switch(typeof t){case"number":if(Number.isInteger(t))return t;break;case"string":let i=e.findName(t);if(i!==void 0)return i.no;if(n)return AI;break}throw new Error(`cannot decode enum ${e.typeName} from JSON: ${da(t)}`)}function Zde(e){return e.repeated||e.kind=="map"?!0:!(e.oneof||e.kind=="message"||e.opt||e.req)}function cK(e,t,n){if(e.kind=="map"){Rn(typeof t=="object"&&t!=null);let r={},i=Object.entries(t);switch(e.V.kind){case"scalar":for(let[o,u]of i)r[o.toString()]=RI(e.V.T,u);break;case"message":for(let[o,u]of i)r[o.toString()]=u.toJson(n);break;case"enum":let s=e.V.T;for(let[o,u]of i)r[o.toString()]=cF(s,u,n.enumAsInteger);break}return n.emitDefaultValues||i.length>0?r:void 0}if(e.repeated){Rn(Array.isArray(t));let r=[];switch(e.kind){case"scalar":for(let i=0;i0?r:void 0}switch(e.kind){case"scalar":return RI(e.T,t);case"enum":return cF(e.T,t,n.enumAsInteger);case"message":return DI(e.T,t).toJson(n)}}function cF(e,t,n){var r;if(Rn(typeof t=="number"),e.typeName=="google.protobuf.NullValue")return null;if(n)return t;let i=e.findNumber(t);return(r=i==null?void 0:i.name)!==null&&r!==void 0?r:t}function RI(e,t){switch(e){case Ee.INT32:case Ee.SFIXED32:case Ee.SINT32:case Ee.FIXED32:case Ee.UINT32:return Rn(typeof t=="number"),t;case Ee.FLOAT:case Ee.DOUBLE:return Rn(typeof t=="number"),Number.isNaN(t)?"NaN":t===Number.POSITIVE_INFINITY?"Infinity":t===Number.NEGATIVE_INFINITY?"-Infinity":t;case Ee.STRING:return Rn(typeof t=="string"),t;case Ee.BOOL:return Rn(typeof t=="boolean"),t;case Ee.UINT64:case Ee.FIXED64:case Ee.INT64:case Ee.SFIXED64:case Ee.SINT64:return Rn(typeof t=="bigint"||typeof t=="string"||typeof t=="number"),t.toString();case Ee.BYTES:return Rn(t instanceof Uint8Array),sF.enc(t)}}m();T();h();var tf=Symbol("@bufbuild/protobuf/unknown-fields"),dK={readUnknownFields:!0,readerFactory:e=>new _I(e)},pK={writeUnknownFields:!0,writerFactory:()=>new vI};function epe(e){return e?Object.assign(Object.assign({},dK),e):dK}function tpe(e){return e?Object.assign(Object.assign({},pK),e):pK}function TK(){return{makeReadOptions:epe,makeWriteOptions:tpe,listUnknownFields(e){var t;return(t=e[tf])!==null&&t!==void 0?t:[]},discardUnknownFields(e){delete e[tf]},writeUnknownFields(e,t){let r=e[tf];if(r)for(let i of r)t.tag(i.no,i.wireType).raw(i.data)},onUnknownField(e,t,n,r){let i=e;Array.isArray(i[tf])||(i[tf]=[]),i[tf].push({no:t,wireType:n,data:r})},readMessage(e,t,n,r,i){let s=e.getType(),o=i?t.len:t.pos+n,u,l;for(;t.pos0&&(l=rpe),s){let N=e[o];if(r==mr.LengthDelimited&&u!=Ee.STRING&&u!=Ee.BYTES){let O=t.uint32()+t.pos;for(;t.posSo(N,y)?N:new y(N));else{let N=o[i];y.fieldWrapper?y.typeName==="google.protobuf.BytesValue"?s[i]=NT(N):s[i]=N:s[i]=So(N,y)?N:new y(N)}break}}},equals(e,t,n){return t===n?!0:!t||!n?!1:e.fields.byMember().every(r=>{let i=t[r.localName],s=n[r.localName];if(r.repeated){if(i.length!==s.length)return!1;switch(r.kind){case"message":return i.every((o,u)=>r.T.equals(o,s[u]));case"scalar":return i.every((o,u)=>Xa(r.T,o,s[u]));case"enum":return i.every((o,u)=>Xa(Ee.INT32,o,s[u]))}throw new Error(`repeated cannot contain ${r.kind}`)}switch(r.kind){case"message":return r.T.equals(i,s);case"enum":return Xa(Ee.INT32,i,s);case"scalar":return Xa(r.T,i,s);case"oneof":if(i.case!==s.case)return!1;let o=r.findField(i.case);if(o===void 0)return!0;switch(o.kind){case"message":return o.T.equals(i.value,s.value);case"enum":return Xa(Ee.INT32,i.value,s.value);case"scalar":return Xa(o.T,i.value,s.value)}throw new Error(`oneof cannot contain ${o.kind}`);case"map":let u=Object.keys(i).concat(Object.keys(s));switch(r.V.kind){case"message":let l=r.V.T;return u.every(p=>l.equals(i[p],s[p]));case"enum":return u.every(p=>Xa(Ee.INT32,i[p],s[p]));case"scalar":let d=r.V.T;return u.every(p=>Xa(d,i[p],s[p]))}break}})},clone(e){let t=e.getType(),n=new t,r=n;for(let i of t.fields.byMember()){let s=e[i.localName],o;if(i.repeated)o=s.map(PI);else if(i.kind=="map"){o=r[i.localName];for(let[u,l]of Object.entries(s))o[u]=PI(l)}else i.kind=="oneof"?o=i.findField(s.case)?{case:s.case,value:PI(s.value)}:{case:void 0}:o=PI(s);r[i.localName]=o}for(let i of t.runtime.bin.listUnknownFields(e))t.runtime.bin.onUnknownField(r,i.no,i.wireType,i.data);return n}}}function PI(e){if(e===void 0)return e;if(So(e))return e.clone();if(e instanceof Uint8Array){let t=new Uint8Array(e.byteLength);return t.set(e),t}return e}function NT(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function EK(e,t,n){return{syntax:e,json:lK(),bin:TK(),util:Object.assign(Object.assign({},NK()),{newFieldList:t,initFields:n}),makeMessageType(r,i,s){return zq(this,r,i,s)},makeEnum:Yq,makeEnumType:eF,getEnumType:Qq,makeExtension(r,i,s){return tK(this,r,i,s)}}}m();T();h();var kI=class{constructor(t,n){this._fields=t,this._normalizer=n}findJsonName(t){if(!this.jsonNames){let n={};for(let r of this.list())n[r.jsonName]=n[r.name]=r;this.jsonNames=n}return this.jsonNames[t]}find(t){if(!this.numbers){let n={};for(let r of this.list())n[r.no]=r;this.numbers=n}return this.numbers[t]}list(){return this.all||(this.all=this._normalizer(this._fields)),this.all}byNumber(){return this.numbersAsc||(this.numbersAsc=this.list().concat().sort((t,n)=>t.no-n.no)),this.numbersAsc}byMember(){if(!this.members){this.members=[];let t=this.members,n;for(let r of this.list())r.oneof?r.oneof!==n&&(n=r.oneof,t.push(n)):t.push(r)}return this.members}};m();T();h();m();T();h();m();T();h();function lF(e,t){let n=vK(e);return t?n:cpe(upe(n))}function gK(e){return lF(e,!1)}var IK=vK;function vK(e){let t=!1,n=[];for(let r=0;r`${e}$`,upe=e=>ape.has(e)?_K(e):e,cpe=e=>ope.has(e)?_K(e):e;var xI=class{constructor(t){this.kind="oneof",this.repeated=!1,this.packed=!1,this.opt=!1,this.req=!1,this.default=void 0,this.fields=[],this.name=t,this.localName=gK(t)}addField(t){Rn(t.oneof===this,`field ${t.name} not one of ${this.name}`),this.fields.push(t)}findField(t){if(!this._lookup){this._lookup=Object.create(null);for(let n=0;nnew kI(e,t=>bK(t,!0)),e=>{for(let t of e.getType().fields.byMember()){if(t.opt)continue;let n=t.localName,r=e;if(t.repeated){r[n]=[];continue}switch(t.kind){case"oneof":r[n]={case:void 0};break;case"enum":r[n]=0;break;case"map":r[n]={};break;case"scalar":r[n]=Oo(t.T,t.L);break;case"message":break}}});var nf;(function(e){e[e.OK=0]="OK",e[e.ERR=1]="ERR",e[e.ERR_NOT_FOUND=2]="ERR_NOT_FOUND",e[e.ERR_ALREADY_EXISTS=3]="ERR_ALREADY_EXISTS",e[e.ERR_INVALID_SUBGRAPH_SCHEMA=4]="ERR_INVALID_SUBGRAPH_SCHEMA",e[e.ERR_SUBGRAPH_COMPOSITION_FAILED=5]="ERR_SUBGRAPH_COMPOSITION_FAILED",e[e.ERR_SUBGRAPH_CHECK_FAILED=6]="ERR_SUBGRAPH_CHECK_FAILED",e[e.ERR_INVALID_LABELS=7]="ERR_INVALID_LABELS",e[e.ERR_ANALYTICS_DISABLED=8]="ERR_ANALYTICS_DISABLED",e[e.ERROR_NOT_AUTHENTICATED=9]="ERROR_NOT_AUTHENTICATED",e[e.ERR_OPENAI_DISABLED=10]="ERR_OPENAI_DISABLED",e[e.ERR_FREE_TRIAL_EXPIRED=11]="ERR_FREE_TRIAL_EXPIRED",e[e.ERROR_NOT_AUTHORIZED=12]="ERROR_NOT_AUTHORIZED",e[e.ERR_LIMIT_REACHED=13]="ERR_LIMIT_REACHED",e[e.ERR_DEPLOYMENT_FAILED=14]="ERR_DEPLOYMENT_FAILED"})(nf||(nf={}));z.util.setEnumType(nf,"wg.cosmo.common.EnumStatusCode",[{no:0,name:"OK"},{no:1,name:"ERR"},{no:2,name:"ERR_NOT_FOUND"},{no:3,name:"ERR_ALREADY_EXISTS"},{no:4,name:"ERR_INVALID_SUBGRAPH_SCHEMA"},{no:5,name:"ERR_SUBGRAPH_COMPOSITION_FAILED"},{no:6,name:"ERR_SUBGRAPH_CHECK_FAILED"},{no:7,name:"ERR_INVALID_LABELS"},{no:8,name:"ERR_ANALYTICS_DISABLED"},{no:9,name:"ERROR_NOT_AUTHENTICATED"},{no:10,name:"ERR_OPENAI_DISABLED"},{no:11,name:"ERR_FREE_TRIAL_EXPIRED"},{no:12,name:"ERROR_NOT_AUTHORIZED"},{no:13,name:"ERR_LIMIT_REACHED"},{no:14,name:"ERR_DEPLOYMENT_FAILED"}]);var eu;(function(e){e[e.GRAPHQL_SUBSCRIPTION_PROTOCOL_WS=0]="GRAPHQL_SUBSCRIPTION_PROTOCOL_WS",e[e.GRAPHQL_SUBSCRIPTION_PROTOCOL_SSE=1]="GRAPHQL_SUBSCRIPTION_PROTOCOL_SSE",e[e.GRAPHQL_SUBSCRIPTION_PROTOCOL_SSE_POST=2]="GRAPHQL_SUBSCRIPTION_PROTOCOL_SSE_POST"})(eu||(eu={}));z.util.setEnumType(eu,"wg.cosmo.common.GraphQLSubscriptionProtocol",[{no:0,name:"GRAPHQL_SUBSCRIPTION_PROTOCOL_WS"},{no:1,name:"GRAPHQL_SUBSCRIPTION_PROTOCOL_SSE"},{no:2,name:"GRAPHQL_SUBSCRIPTION_PROTOCOL_SSE_POST"}]);var tu;(function(e){e[e.GRAPHQL_WEBSOCKET_SUBPROTOCOL_AUTO=0]="GRAPHQL_WEBSOCKET_SUBPROTOCOL_AUTO",e[e.GRAPHQL_WEBSOCKET_SUBPROTOCOL_WS=1]="GRAPHQL_WEBSOCKET_SUBPROTOCOL_WS",e[e.GRAPHQL_WEBSOCKET_SUBPROTOCOL_TRANSPORT_WS=2]="GRAPHQL_WEBSOCKET_SUBPROTOCOL_TRANSPORT_WS"})(tu||(tu={}));z.util.setEnumType(tu,"wg.cosmo.common.GraphQLWebsocketSubprotocol",[{no:0,name:"GRAPHQL_WEBSOCKET_SUBPROTOCOL_AUTO"},{no:1,name:"GRAPHQL_WEBSOCKET_SUBPROTOCOL_WS"},{no:2,name:"GRAPHQL_WEBSOCKET_SUBPROTOCOL_TRANSPORT_WS"}]);m();T();h();var dF;(function(e){e[e.RENDER_ARGUMENT_DEFAULT=0]="RENDER_ARGUMENT_DEFAULT",e[e.RENDER_ARGUMENT_AS_GRAPHQL_VALUE=1]="RENDER_ARGUMENT_AS_GRAPHQL_VALUE",e[e.RENDER_ARGUMENT_AS_ARRAY_CSV=2]="RENDER_ARGUMENT_AS_ARRAY_CSV"})(dF||(dF={}));z.util.setEnumType(dF,"wg.cosmo.node.v1.ArgumentRenderConfiguration",[{no:0,name:"RENDER_ARGUMENT_DEFAULT"},{no:1,name:"RENDER_ARGUMENT_AS_GRAPHQL_VALUE"},{no:2,name:"RENDER_ARGUMENT_AS_ARRAY_CSV"}]);var nd;(function(e){e[e.OBJECT_FIELD=0]="OBJECT_FIELD",e[e.FIELD_ARGUMENT=1]="FIELD_ARGUMENT"})(nd||(nd={}));z.util.setEnumType(nd,"wg.cosmo.node.v1.ArgumentSource",[{no:0,name:"OBJECT_FIELD"},{no:1,name:"FIELD_ARGUMENT"}]);var kc;(function(e){e[e.STATIC=0]="STATIC",e[e.GRAPHQL=1]="GRAPHQL",e[e.PUBSUB=2]="PUBSUB"})(kc||(kc={}));z.util.setEnumType(kc,"wg.cosmo.node.v1.DataSourceKind",[{no:0,name:"STATIC"},{no:1,name:"GRAPHQL"},{no:2,name:"PUBSUB"}]);var qu;(function(e){e[e.PUBLISH=0]="PUBLISH",e[e.REQUEST=1]="REQUEST",e[e.SUBSCRIBE=2]="SUBSCRIBE"})(qu||(qu={}));z.util.setEnumType(qu,"wg.cosmo.node.v1.EventType",[{no:0,name:"PUBLISH"},{no:1,name:"REQUEST"},{no:2,name:"SUBSCRIBE"}]);var xc;(function(e){e[e.STATIC_CONFIGURATION_VARIABLE=0]="STATIC_CONFIGURATION_VARIABLE",e[e.ENV_CONFIGURATION_VARIABLE=1]="ENV_CONFIGURATION_VARIABLE",e[e.PLACEHOLDER_CONFIGURATION_VARIABLE=2]="PLACEHOLDER_CONFIGURATION_VARIABLE"})(xc||(xc={}));z.util.setEnumType(xc,"wg.cosmo.node.v1.ConfigurationVariableKind",[{no:0,name:"STATIC_CONFIGURATION_VARIABLE"},{no:1,name:"ENV_CONFIGURATION_VARIABLE"},{no:2,name:"PLACEHOLDER_CONFIGURATION_VARIABLE"}]);var rd;(function(e){e[e.GET=0]="GET",e[e.POST=1]="POST",e[e.PUT=2]="PUT",e[e.DELETE=3]="DELETE",e[e.OPTIONS=4]="OPTIONS"})(rd||(rd={}));z.util.setEnumType(rd,"wg.cosmo.node.v1.HTTPMethod",[{no:0,name:"GET"},{no:1,name:"POST"},{no:2,name:"PUT"},{no:3,name:"DELETE"},{no:4,name:"OPTIONS"}]);var nu=class nu extends ft{constructor(n){super();A(this,"id","");A(this,"name","");A(this,"routingUrl","");z.util.initPartial(n,this)}static fromBinary(n,r){return new nu().fromBinary(n,r)}static fromJson(n,r){return new nu().fromJson(n,r)}static fromJsonString(n,r){return new nu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(nu,n,r)}};A(nu,"runtime",z),A(nu,"typeName","wg.cosmo.node.v1.Subgraph"),A(nu,"fields",z.util.newFieldList(()=>[{no:1,name:"id",kind:"scalar",T:9},{no:2,name:"name",kind:"scalar",T:9},{no:3,name:"routing_url",kind:"scalar",T:9}]));var CI=nu,ru=class ru extends ft{constructor(n){super();A(this,"configByFeatureFlagName",{});z.util.initPartial(n,this)}static fromBinary(n,r){return new ru().fromBinary(n,r)}static fromJson(n,r){return new ru().fromJson(n,r)}static fromJsonString(n,r){return new ru().fromJsonString(n,r)}static equals(n,r){return z.util.equals(ru,n,r)}};A(ru,"runtime",z),A(ru,"typeName","wg.cosmo.node.v1.FeatureFlagRouterExecutionConfigs"),A(ru,"fields",z.util.newFieldList(()=>[{no:1,name:"config_by_feature_flag_name",kind:"map",K:9,V:{kind:"message",T:fF}}]));var pF=ru,iu=class iu extends ft{constructor(n){super();A(this,"engineConfig");A(this,"version","");A(this,"subgraphs",[]);z.util.initPartial(n,this)}static fromBinary(n,r){return new iu().fromBinary(n,r)}static fromJson(n,r){return new iu().fromJson(n,r)}static fromJsonString(n,r){return new iu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(iu,n,r)}};A(iu,"runtime",z),A(iu,"typeName","wg.cosmo.node.v1.FeatureFlagRouterExecutionConfig"),A(iu,"fields",z.util.newFieldList(()=>[{no:1,name:"engine_config",kind:"message",T:rf},{no:2,name:"version",kind:"scalar",T:9},{no:3,name:"subgraphs",kind:"message",T:CI,repeated:!0}]));var fF=iu,su=class su extends ft{constructor(n){super();A(this,"engineConfig");A(this,"version","");A(this,"subgraphs",[]);A(this,"featureFlagConfigs");z.util.initPartial(n,this)}static fromBinary(n,r){return new su().fromBinary(n,r)}static fromJson(n,r){return new su().fromJson(n,r)}static fromJsonString(n,r){return new su().fromJsonString(n,r)}static equals(n,r){return z.util.equals(su,n,r)}};A(su,"runtime",z),A(su,"typeName","wg.cosmo.node.v1.RouterConfig"),A(su,"fields",z.util.newFieldList(()=>[{no:1,name:"engine_config",kind:"message",T:rf},{no:2,name:"version",kind:"scalar",T:9},{no:3,name:"subgraphs",kind:"message",T:CI,repeated:!0},{no:4,name:"feature_flag_configs",kind:"message",T:pF,opt:!0}]));var ET=su,ou=class ou extends ft{constructor(n){super();A(this,"code",nf.OK);A(this,"details");z.util.initPartial(n,this)}static fromBinary(n,r){return new ou().fromBinary(n,r)}static fromJson(n,r){return new ou().fromJson(n,r)}static fromJsonString(n,r){return new ou().fromJsonString(n,r)}static equals(n,r){return z.util.equals(ou,n,r)}};A(ou,"runtime",z),A(ou,"typeName","wg.cosmo.node.v1.Response"),A(ou,"fields",z.util.newFieldList(()=>[{no:1,name:"code",kind:"enum",T:z.getEnumType(nf)},{no:2,name:"details",kind:"scalar",T:9,opt:!0}]));var mF=ou,au=class au extends ft{constructor(n){super();A(this,"code",0);A(this,"message","");z.util.initPartial(n,this)}static fromBinary(n,r){return new au().fromBinary(n,r)}static fromJson(n,r){return new au().fromJson(n,r)}static fromJsonString(n,r){return new au().fromJsonString(n,r)}static equals(n,r){return z.util.equals(au,n,r)}};A(au,"runtime",z),A(au,"typeName","wg.cosmo.node.v1.ResponseStatus"),A(au,"fields",z.util.newFieldList(()=>[{no:1,name:"code",kind:"scalar",T:5},{no:2,name:"message",kind:"scalar",T:9}]));var OK=au,uu=class uu extends ft{constructor(n){super();A(this,"accountLimits");A(this,"graphPublicKey","");z.util.initPartial(n,this)}static fromBinary(n,r){return new uu().fromBinary(n,r)}static fromJson(n,r){return new uu().fromJson(n,r)}static fromJsonString(n,r){return new uu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(uu,n,r)}};A(uu,"runtime",z),A(uu,"typeName","wg.cosmo.node.v1.RegistrationInfo"),A(uu,"fields",z.util.newFieldList(()=>[{no:1,name:"account_limits",kind:"message",T:TF},{no:2,name:"graph_public_key",kind:"scalar",T:9}]));var hF=uu,cu=class cu extends ft{constructor(n){super();A(this,"traceSamplingRate",0);z.util.initPartial(n,this)}static fromBinary(n,r){return new cu().fromBinary(n,r)}static fromJson(n,r){return new cu().fromJson(n,r)}static fromJsonString(n,r){return new cu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(cu,n,r)}};A(cu,"runtime",z),A(cu,"typeName","wg.cosmo.node.v1.AccountLimits"),A(cu,"fields",z.util.newFieldList(()=>[{no:1,name:"trace_sampling_rate",kind:"scalar",T:2}]));var TF=cu,lu=class lu extends ft{constructor(t){super(),z.util.initPartial(t,this)}static fromBinary(t,n){return new lu().fromBinary(t,n)}static fromJson(t,n){return new lu().fromJson(t,n)}static fromJsonString(t,n){return new lu().fromJsonString(t,n)}static equals(t,n){return z.util.equals(lu,t,n)}};A(lu,"runtime",z),A(lu,"typeName","wg.cosmo.node.v1.SelfRegisterRequest"),A(lu,"fields",z.util.newFieldList(()=>[]));var SK=lu,du=class du extends ft{constructor(n){super();A(this,"response");A(this,"registrationInfo");z.util.initPartial(n,this)}static fromBinary(n,r){return new du().fromBinary(n,r)}static fromJson(n,r){return new du().fromJson(n,r)}static fromJsonString(n,r){return new du().fromJsonString(n,r)}static equals(n,r){return z.util.equals(du,n,r)}};A(du,"runtime",z),A(du,"typeName","wg.cosmo.node.v1.SelfRegisterResponse"),A(du,"fields",z.util.newFieldList(()=>[{no:1,name:"response",kind:"message",T:mF},{no:2,name:"registrationInfo",kind:"message",T:hF,opt:!0}]));var DK=du,pu=class pu extends ft{constructor(n){super();A(this,"defaultFlushInterval",Ir.zero);A(this,"datasourceConfigurations",[]);A(this,"fieldConfigurations",[]);A(this,"graphqlSchema","");A(this,"typeConfigurations",[]);A(this,"stringStorage",{});A(this,"graphqlClientSchema");z.util.initPartial(n,this)}static fromBinary(n,r){return new pu().fromBinary(n,r)}static fromJson(n,r){return new pu().fromJson(n,r)}static fromJsonString(n,r){return new pu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(pu,n,r)}};A(pu,"runtime",z),A(pu,"typeName","wg.cosmo.node.v1.EngineConfiguration"),A(pu,"fields",z.util.newFieldList(()=>[{no:1,name:"defaultFlushInterval",kind:"scalar",T:3},{no:2,name:"datasource_configurations",kind:"message",T:gT,repeated:!0},{no:3,name:"field_configurations",kind:"message",T:bT,repeated:!0},{no:4,name:"graphqlSchema",kind:"scalar",T:9},{no:5,name:"type_configurations",kind:"message",T:yF,repeated:!0},{no:6,name:"string_storage",kind:"map",K:9,V:{kind:"scalar",T:9}},{no:7,name:"graphql_client_schema",kind:"scalar",T:9,opt:!0}]));var rf=pu,fu=class fu extends ft{constructor(n){super();A(this,"kind",kc.STATIC);A(this,"rootNodes",[]);A(this,"childNodes",[]);A(this,"overrideFieldPathFromAlias",!1);A(this,"customGraphql");A(this,"customStatic");A(this,"directives",[]);A(this,"requestTimeoutSeconds",Ir.zero);A(this,"id","");A(this,"keys",[]);A(this,"provides",[]);A(this,"requires",[]);A(this,"customEvents");A(this,"entityInterfaces",[]);A(this,"interfaceObjects",[]);z.util.initPartial(n,this)}static fromBinary(n,r){return new fu().fromBinary(n,r)}static fromJson(n,r){return new fu().fromJson(n,r)}static fromJsonString(n,r){return new fu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(fu,n,r)}};A(fu,"runtime",z),A(fu,"typeName","wg.cosmo.node.v1.DataSourceConfiguration"),A(fu,"fields",z.util.newFieldList(()=>[{no:1,name:"kind",kind:"enum",T:z.getEnumType(kc)},{no:2,name:"root_nodes",kind:"message",T:sf,repeated:!0},{no:3,name:"child_nodes",kind:"message",T:sf,repeated:!0},{no:4,name:"override_field_path_from_alias",kind:"scalar",T:8},{no:5,name:"custom_graphql",kind:"message",T:DT},{no:6,name:"custom_static",kind:"message",T:EF},{no:7,name:"directives",kind:"message",T:gF,repeated:!0},{no:8,name:"request_timeout_seconds",kind:"scalar",T:3},{no:9,name:"id",kind:"scalar",T:9},{no:10,name:"keys",kind:"message",T:td,repeated:!0},{no:11,name:"provides",kind:"message",T:td,repeated:!0},{no:12,name:"requires",kind:"message",T:td,repeated:!0},{no:13,name:"custom_events",kind:"message",T:sd},{no:14,name:"entity_interfaces",kind:"message",T:of,repeated:!0},{no:15,name:"interface_objects",kind:"message",T:of,repeated:!0}]));var gT=fu,mu=class mu extends ft{constructor(n){super();A(this,"name","");A(this,"sourceType",nd.OBJECT_FIELD);z.util.initPartial(n,this)}static fromBinary(n,r){return new mu().fromBinary(n,r)}static fromJson(n,r){return new mu().fromJson(n,r)}static fromJsonString(n,r){return new mu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(mu,n,r)}};A(mu,"runtime",z),A(mu,"typeName","wg.cosmo.node.v1.ArgumentConfiguration"),A(mu,"fields",z.util.newFieldList(()=>[{no:1,name:"name",kind:"scalar",T:9},{no:2,name:"source_type",kind:"enum",T:z.getEnumType(nd)}]));var IT=mu,hu=class hu extends ft{constructor(n){super();A(this,"requiredAndScopes",[]);z.util.initPartial(n,this)}static fromBinary(n,r){return new hu().fromBinary(n,r)}static fromJson(n,r){return new hu().fromJson(n,r)}static fromJsonString(n,r){return new hu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(hu,n,r)}};A(hu,"runtime",z),A(hu,"typeName","wg.cosmo.node.v1.Scopes"),A(hu,"fields",z.util.newFieldList(()=>[{no:1,name:"required_and_scopes",kind:"scalar",T:9,repeated:!0}]));var vT=hu,Tu=class Tu extends ft{constructor(n){super();A(this,"requiresAuthentication",!1);A(this,"requiredOrScopes",[]);z.util.initPartial(n,this)}static fromBinary(n,r){return new Tu().fromBinary(n,r)}static fromJson(n,r){return new Tu().fromJson(n,r)}static fromJsonString(n,r){return new Tu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(Tu,n,r)}};A(Tu,"runtime",z),A(Tu,"typeName","wg.cosmo.node.v1.AuthorizationConfiguration"),A(Tu,"fields",z.util.newFieldList(()=>[{no:1,name:"requires_authentication",kind:"scalar",T:8},{no:2,name:"required_or_scopes",kind:"message",T:vT,repeated:!0}]));var _T=Tu,yu=class yu extends ft{constructor(n){super();A(this,"typeName","");A(this,"fieldName","");A(this,"argumentsConfiguration",[]);A(this,"authorizationConfiguration");A(this,"subscriptionFilterCondition");z.util.initPartial(n,this)}static fromBinary(n,r){return new yu().fromBinary(n,r)}static fromJson(n,r){return new yu().fromJson(n,r)}static fromJsonString(n,r){return new yu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(yu,n,r)}};A(yu,"runtime",z),A(yu,"typeName","wg.cosmo.node.v1.FieldConfiguration"),A(yu,"fields",z.util.newFieldList(()=>[{no:1,name:"type_name",kind:"scalar",T:9},{no:2,name:"field_name",kind:"scalar",T:9},{no:3,name:"arguments_configuration",kind:"message",T:IT,repeated:!0},{no:4,name:"authorization_configuration",kind:"message",T:_T},{no:5,name:"subscription_filter_condition",kind:"message",T:Cc,opt:!0}]));var bT=yu,Nu=class Nu extends ft{constructor(n){super();A(this,"typeName","");A(this,"renameTo","");z.util.initPartial(n,this)}static fromBinary(n,r){return new Nu().fromBinary(n,r)}static fromJson(n,r){return new Nu().fromJson(n,r)}static fromJsonString(n,r){return new Nu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(Nu,n,r)}};A(Nu,"runtime",z),A(Nu,"typeName","wg.cosmo.node.v1.TypeConfiguration"),A(Nu,"fields",z.util.newFieldList(()=>[{no:1,name:"type_name",kind:"scalar",T:9},{no:2,name:"rename_to",kind:"scalar",T:9}]));var yF=Nu,Eu=class Eu extends ft{constructor(n){super();A(this,"typeName","");A(this,"fieldNames",[]);A(this,"externalFieldNames",[]);z.util.initPartial(n,this)}static fromBinary(n,r){return new Eu().fromBinary(n,r)}static fromJson(n,r){return new Eu().fromJson(n,r)}static fromJsonString(n,r){return new Eu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(Eu,n,r)}};A(Eu,"runtime",z),A(Eu,"typeName","wg.cosmo.node.v1.TypeField"),A(Eu,"fields",z.util.newFieldList(()=>[{no:1,name:"type_name",kind:"scalar",T:9},{no:2,name:"field_names",kind:"scalar",T:9,repeated:!0},{no:3,name:"external_field_names",kind:"scalar",T:9,repeated:!0}]));var sf=Eu,gu=class gu extends ft{constructor(n){super();A(this,"fieldName","");A(this,"typeName","");z.util.initPartial(n,this)}static fromBinary(n,r){return new gu().fromBinary(n,r)}static fromJson(n,r){return new gu().fromJson(n,r)}static fromJsonString(n,r){return new gu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(gu,n,r)}};A(gu,"runtime",z),A(gu,"typeName","wg.cosmo.node.v1.FieldCoordinates"),A(gu,"fields",z.util.newFieldList(()=>[{no:1,name:"field_name",kind:"scalar",T:9},{no:2,name:"type_name",kind:"scalar",T:9}]));var OT=gu,Iu=class Iu extends ft{constructor(n){super();A(this,"fieldCoordinatesPath",[]);A(this,"fieldPath",[]);z.util.initPartial(n,this)}static fromBinary(n,r){return new Iu().fromBinary(n,r)}static fromJson(n,r){return new Iu().fromJson(n,r)}static fromJsonString(n,r){return new Iu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(Iu,n,r)}};A(Iu,"runtime",z),A(Iu,"typeName","wg.cosmo.node.v1.FieldSetCondition"),A(Iu,"fields",z.util.newFieldList(()=>[{no:1,name:"field_coordinates_path",kind:"message",T:OT,repeated:!0},{no:2,name:"field_path",kind:"scalar",T:9,repeated:!0}]));var ST=Iu,vu=class vu extends ft{constructor(n){super();A(this,"typeName","");A(this,"fieldName","");A(this,"selectionSet","");A(this,"disableEntityResolver",!1);A(this,"conditions",[]);z.util.initPartial(n,this)}static fromBinary(n,r){return new vu().fromBinary(n,r)}static fromJson(n,r){return new vu().fromJson(n,r)}static fromJsonString(n,r){return new vu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(vu,n,r)}};A(vu,"runtime",z),A(vu,"typeName","wg.cosmo.node.v1.RequiredField"),A(vu,"fields",z.util.newFieldList(()=>[{no:1,name:"type_name",kind:"scalar",T:9},{no:2,name:"field_name",kind:"scalar",T:9},{no:3,name:"selection_set",kind:"scalar",T:9},{no:4,name:"disable_entity_resolver",kind:"scalar",T:8},{no:5,name:"conditions",kind:"message",T:ST,repeated:!0}]));var td=vu,_u=class _u extends ft{constructor(n){super();A(this,"interfaceTypeName","");A(this,"concreteTypeNames",[]);z.util.initPartial(n,this)}static fromBinary(n,r){return new _u().fromBinary(n,r)}static fromJson(n,r){return new _u().fromJson(n,r)}static fromJsonString(n,r){return new _u().fromJsonString(n,r)}static equals(n,r){return z.util.equals(_u,n,r)}};A(_u,"runtime",z),A(_u,"typeName","wg.cosmo.node.v1.EntityInterfaceConfiguration"),A(_u,"fields",z.util.newFieldList(()=>[{no:1,name:"interface_type_name",kind:"scalar",T:9},{no:2,name:"concrete_type_names",kind:"scalar",T:9,repeated:!0}]));var of=_u,bu=class bu extends ft{constructor(n){super();A(this,"url");A(this,"method",rd.GET);A(this,"header",{});A(this,"body");A(this,"query",[]);A(this,"urlEncodeBody",!1);A(this,"mtls");A(this,"baseUrl");A(this,"path");A(this,"httpProxyUrl");z.util.initPartial(n,this)}static fromBinary(n,r){return new bu().fromBinary(n,r)}static fromJson(n,r){return new bu().fromJson(n,r)}static fromJsonString(n,r){return new bu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(bu,n,r)}};A(bu,"runtime",z),A(bu,"typeName","wg.cosmo.node.v1.FetchConfiguration"),A(bu,"fields",z.util.newFieldList(()=>[{no:1,name:"url",kind:"message",T:wi},{no:2,name:"method",kind:"enum",T:z.getEnumType(rd)},{no:3,name:"header",kind:"map",K:9,V:{kind:"message",T:vF}},{no:4,name:"body",kind:"message",T:wi},{no:5,name:"query",kind:"message",T:IF,repeated:!0},{no:7,name:"url_encode_body",kind:"scalar",T:8},{no:8,name:"mtls",kind:"message",T:_F},{no:9,name:"base_url",kind:"message",T:wi},{no:10,name:"path",kind:"message",T:wi},{no:11,name:"http_proxy_url",kind:"message",T:wi,opt:!0}]));var NF=bu,Ou=class Ou extends ft{constructor(n){super();A(this,"statusCode",Ir.zero);A(this,"typeName","");A(this,"injectStatusCodeIntoBody",!1);z.util.initPartial(n,this)}static fromBinary(n,r){return new Ou().fromBinary(n,r)}static fromJson(n,r){return new Ou().fromJson(n,r)}static fromJsonString(n,r){return new Ou().fromJsonString(n,r)}static equals(n,r){return z.util.equals(Ou,n,r)}};A(Ou,"runtime",z),A(Ou,"typeName","wg.cosmo.node.v1.StatusCodeTypeMapping"),A(Ou,"fields",z.util.newFieldList(()=>[{no:1,name:"status_code",kind:"scalar",T:3},{no:2,name:"type_name",kind:"scalar",T:9},{no:3,name:"inject_status_code_into_body",kind:"scalar",T:8}]));var AK=Ou,Su=class Su extends ft{constructor(n){super();A(this,"fetch");A(this,"subscription");A(this,"federation");A(this,"upstreamSchema");A(this,"customScalarTypeFields",[]);z.util.initPartial(n,this)}static fromBinary(n,r){return new Su().fromBinary(n,r)}static fromJson(n,r){return new Su().fromJson(n,r)}static fromJsonString(n,r){return new Su().fromJsonString(n,r)}static equals(n,r){return z.util.equals(Su,n,r)}};A(Su,"runtime",z),A(Su,"typeName","wg.cosmo.node.v1.DataSourceCustom_GraphQL"),A(Su,"fields",z.util.newFieldList(()=>[{no:1,name:"fetch",kind:"message",T:NF},{no:2,name:"subscription",kind:"message",T:bF},{no:3,name:"federation",kind:"message",T:OF},{no:4,name:"upstream_schema",kind:"message",T:wT},{no:6,name:"custom_scalar_type_fields",kind:"message",T:SF,repeated:!0}]));var DT=Su,Du=class Du extends ft{constructor(n){super();A(this,"consumerName","");A(this,"streamName","");z.util.initPartial(n,this)}static fromBinary(n,r){return new Du().fromBinary(n,r)}static fromJson(n,r){return new Du().fromJson(n,r)}static fromJsonString(n,r){return new Du().fromJsonString(n,r)}static equals(n,r){return z.util.equals(Du,n,r)}};A(Du,"runtime",z),A(Du,"typeName","wg.cosmo.node.v1.NatsStreamConfiguration"),A(Du,"fields",z.util.newFieldList(()=>[{no:1,name:"consumer_name",kind:"scalar",T:9},{no:2,name:"stream_name",kind:"scalar",T:9}]));var AT=Du,Au=class Au extends ft{constructor(n){super();A(this,"engineEventConfiguration");A(this,"subjects",[]);A(this,"streamConfiguration");z.util.initPartial(n,this)}static fromBinary(n,r){return new Au().fromBinary(n,r)}static fromJson(n,r){return new Au().fromJson(n,r)}static fromJsonString(n,r){return new Au().fromJsonString(n,r)}static equals(n,r){return z.util.equals(Au,n,r)}};A(Au,"runtime",z),A(Au,"typeName","wg.cosmo.node.v1.NatsEventConfiguration"),A(Au,"fields",z.util.newFieldList(()=>[{no:1,name:"engine_event_configuration",kind:"message",T:id},{no:2,name:"subjects",kind:"scalar",T:9,repeated:!0},{no:3,name:"stream_configuration",kind:"message",T:AT}]));var RT=Au,Ru=class Ru extends ft{constructor(n){super();A(this,"engineEventConfiguration");A(this,"topics",[]);z.util.initPartial(n,this)}static fromBinary(n,r){return new Ru().fromBinary(n,r)}static fromJson(n,r){return new Ru().fromJson(n,r)}static fromJsonString(n,r){return new Ru().fromJsonString(n,r)}static equals(n,r){return z.util.equals(Ru,n,r)}};A(Ru,"runtime",z),A(Ru,"typeName","wg.cosmo.node.v1.KafkaEventConfiguration"),A(Ru,"fields",z.util.newFieldList(()=>[{no:1,name:"engine_event_configuration",kind:"message",T:id},{no:2,name:"topics",kind:"scalar",T:9,repeated:!0}]));var FT=Ru,Fu=class Fu extends ft{constructor(n){super();A(this,"providerId","");A(this,"type",qu.PUBLISH);A(this,"typeName","");A(this,"fieldName","");z.util.initPartial(n,this)}static fromBinary(n,r){return new Fu().fromBinary(n,r)}static fromJson(n,r){return new Fu().fromJson(n,r)}static fromJsonString(n,r){return new Fu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(Fu,n,r)}};A(Fu,"runtime",z),A(Fu,"typeName","wg.cosmo.node.v1.EngineEventConfiguration"),A(Fu,"fields",z.util.newFieldList(()=>[{no:1,name:"provider_id",kind:"scalar",T:9},{no:2,name:"type",kind:"enum",T:z.getEnumType(qu)},{no:3,name:"type_name",kind:"scalar",T:9},{no:4,name:"field_name",kind:"scalar",T:9}]));var id=Fu,wu=class wu extends ft{constructor(n){super();A(this,"nats",[]);A(this,"kafka",[]);z.util.initPartial(n,this)}static fromBinary(n,r){return new wu().fromBinary(n,r)}static fromJson(n,r){return new wu().fromJson(n,r)}static fromJsonString(n,r){return new wu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(wu,n,r)}};A(wu,"runtime",z),A(wu,"typeName","wg.cosmo.node.v1.DataSourceCustomEvents"),A(wu,"fields",z.util.newFieldList(()=>[{no:1,name:"nats",kind:"message",T:RT,repeated:!0},{no:2,name:"kafka",kind:"message",T:FT,repeated:!0}]));var sd=wu,Lu=class Lu extends ft{constructor(n){super();A(this,"data");z.util.initPartial(n,this)}static fromBinary(n,r){return new Lu().fromBinary(n,r)}static fromJson(n,r){return new Lu().fromJson(n,r)}static fromJsonString(n,r){return new Lu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(Lu,n,r)}};A(Lu,"runtime",z),A(Lu,"typeName","wg.cosmo.node.v1.DataSourceCustom_Static"),A(Lu,"fields",z.util.newFieldList(()=>[{no:1,name:"data",kind:"message",T:wi}]));var EF=Lu,Pu=class Pu extends ft{constructor(n){super();A(this,"kind",xc.STATIC_CONFIGURATION_VARIABLE);A(this,"staticVariableContent","");A(this,"environmentVariableName","");A(this,"environmentVariableDefaultValue","");A(this,"placeholderVariableName","");z.util.initPartial(n,this)}static fromBinary(n,r){return new Pu().fromBinary(n,r)}static fromJson(n,r){return new Pu().fromJson(n,r)}static fromJsonString(n,r){return new Pu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(Pu,n,r)}};A(Pu,"runtime",z),A(Pu,"typeName","wg.cosmo.node.v1.ConfigurationVariable"),A(Pu,"fields",z.util.newFieldList(()=>[{no:1,name:"kind",kind:"enum",T:z.getEnumType(xc)},{no:2,name:"static_variable_content",kind:"scalar",T:9},{no:3,name:"environment_variable_name",kind:"scalar",T:9},{no:4,name:"environment_variable_default_value",kind:"scalar",T:9},{no:5,name:"placeholder_variable_name",kind:"scalar",T:9}]));var wi=Pu,ku=class ku extends ft{constructor(n){super();A(this,"directiveName","");A(this,"renameTo","");z.util.initPartial(n,this)}static fromBinary(n,r){return new ku().fromBinary(n,r)}static fromJson(n,r){return new ku().fromJson(n,r)}static fromJsonString(n,r){return new ku().fromJsonString(n,r)}static equals(n,r){return z.util.equals(ku,n,r)}};A(ku,"runtime",z),A(ku,"typeName","wg.cosmo.node.v1.DirectiveConfiguration"),A(ku,"fields",z.util.newFieldList(()=>[{no:1,name:"directive_name",kind:"scalar",T:9},{no:2,name:"rename_to",kind:"scalar",T:9}]));var gF=ku,xu=class xu extends ft{constructor(n){super();A(this,"name","");A(this,"value","");z.util.initPartial(n,this)}static fromBinary(n,r){return new xu().fromBinary(n,r)}static fromJson(n,r){return new xu().fromJson(n,r)}static fromJsonString(n,r){return new xu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(xu,n,r)}};A(xu,"runtime",z),A(xu,"typeName","wg.cosmo.node.v1.URLQueryConfiguration"),A(xu,"fields",z.util.newFieldList(()=>[{no:1,name:"name",kind:"scalar",T:9},{no:2,name:"value",kind:"scalar",T:9}]));var IF=xu,Cu=class Cu extends ft{constructor(n){super();A(this,"values",[]);z.util.initPartial(n,this)}static fromBinary(n,r){return new Cu().fromBinary(n,r)}static fromJson(n,r){return new Cu().fromJson(n,r)}static fromJsonString(n,r){return new Cu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(Cu,n,r)}};A(Cu,"runtime",z),A(Cu,"typeName","wg.cosmo.node.v1.HTTPHeader"),A(Cu,"fields",z.util.newFieldList(()=>[{no:1,name:"values",kind:"message",T:wi,repeated:!0}]));var vF=Cu,Uu=class Uu extends ft{constructor(n){super();A(this,"key");A(this,"cert");A(this,"insecureSkipVerify",!1);z.util.initPartial(n,this)}static fromBinary(n,r){return new Uu().fromBinary(n,r)}static fromJson(n,r){return new Uu().fromJson(n,r)}static fromJsonString(n,r){return new Uu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(Uu,n,r)}};A(Uu,"runtime",z),A(Uu,"typeName","wg.cosmo.node.v1.MTLSConfiguration"),A(Uu,"fields",z.util.newFieldList(()=>[{no:1,name:"key",kind:"message",T:wi},{no:2,name:"cert",kind:"message",T:wi},{no:3,name:"insecureSkipVerify",kind:"scalar",T:8}]));var _F=Uu,Mu=class Mu extends ft{constructor(n){super();A(this,"enabled",!1);A(this,"url");A(this,"useSSE");A(this,"protocol");A(this,"websocketSubprotocol");z.util.initPartial(n,this)}static fromBinary(n,r){return new Mu().fromBinary(n,r)}static fromJson(n,r){return new Mu().fromJson(n,r)}static fromJsonString(n,r){return new Mu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(Mu,n,r)}};A(Mu,"runtime",z),A(Mu,"typeName","wg.cosmo.node.v1.GraphQLSubscriptionConfiguration"),A(Mu,"fields",z.util.newFieldList(()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"url",kind:"message",T:wi},{no:3,name:"useSSE",kind:"scalar",T:8,opt:!0},{no:4,name:"protocol",kind:"enum",T:z.getEnumType(eu),opt:!0},{no:5,name:"websocketSubprotocol",kind:"enum",T:z.getEnumType(tu),opt:!0}]));var bF=Mu,Bu=class Bu extends ft{constructor(n){super();A(this,"enabled",!1);A(this,"serviceSdl","");z.util.initPartial(n,this)}static fromBinary(n,r){return new Bu().fromBinary(n,r)}static fromJson(n,r){return new Bu().fromJson(n,r)}static fromJsonString(n,r){return new Bu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(Bu,n,r)}};A(Bu,"runtime",z),A(Bu,"typeName","wg.cosmo.node.v1.GraphQLFederationConfiguration"),A(Bu,"fields",z.util.newFieldList(()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"serviceSdl",kind:"scalar",T:9}]));var OF=Bu,Vu=class Vu extends ft{constructor(n){super();A(this,"key","");z.util.initPartial(n,this)}static fromBinary(n,r){return new Vu().fromBinary(n,r)}static fromJson(n,r){return new Vu().fromJson(n,r)}static fromJsonString(n,r){return new Vu().fromJsonString(n,r)}static equals(n,r){return z.util.equals(Vu,n,r)}};A(Vu,"runtime",z),A(Vu,"typeName","wg.cosmo.node.v1.InternedString"),A(Vu,"fields",z.util.newFieldList(()=>[{no:1,name:"key",kind:"scalar",T:9}]));var wT=Vu,ju=class ju extends ft{constructor(n){super();A(this,"typeName","");A(this,"fieldName","");z.util.initPartial(n,this)}static fromBinary(n,r){return new ju().fromBinary(n,r)}static fromJson(n,r){return new ju().fromJson(n,r)}static fromJsonString(n,r){return new ju().fromJsonString(n,r)}static equals(n,r){return z.util.equals(ju,n,r)}};A(ju,"runtime",z),A(ju,"typeName","wg.cosmo.node.v1.SingleTypeField"),A(ju,"fields",z.util.newFieldList(()=>[{no:1,name:"type_name",kind:"scalar",T:9},{no:2,name:"field_name",kind:"scalar",T:9}]));var SF=ju,$u=class $u extends ft{constructor(n){super();A(this,"fieldPath",[]);A(this,"json","");z.util.initPartial(n,this)}static fromBinary(n,r){return new $u().fromBinary(n,r)}static fromJson(n,r){return new $u().fromJson(n,r)}static fromJsonString(n,r){return new $u().fromJsonString(n,r)}static equals(n,r){return z.util.equals($u,n,r)}};A($u,"runtime",z),A($u,"typeName","wg.cosmo.node.v1.SubscriptionFieldCondition"),A($u,"fields",z.util.newFieldList(()=>[{no:1,name:"field_path",kind:"scalar",T:9,repeated:!0},{no:2,name:"json",kind:"scalar",T:9}]));var LT=$u,Zs=class Zs extends ft{constructor(n){super();A(this,"and",[]);A(this,"in");A(this,"not");A(this,"or",[]);z.util.initPartial(n,this)}static fromBinary(n,r){return new Zs().fromBinary(n,r)}static fromJson(n,r){return new Zs().fromJson(n,r)}static fromJsonString(n,r){return new Zs().fromJsonString(n,r)}static equals(n,r){return z.util.equals(Zs,n,r)}};A(Zs,"runtime",z),A(Zs,"typeName","wg.cosmo.node.v1.SubscriptionFilterCondition"),A(Zs,"fields",z.util.newFieldList(()=>[{no:1,name:"and",kind:"message",T:Zs,repeated:!0},{no:2,name:"in",kind:"message",T:LT,opt:!0},{no:3,name:"not",kind:"message",T:Zs,opt:!0},{no:4,name:"or",kind:"message",T:Zs,repeated:!0}]));var Cc=Zs;m();T();h();var MI=Xv(dI(),1);function lpe(e){if(!e.conditions)return;let t=[];for(let n of e.conditions){let r=[];for(let i of n.fieldCoordinatesPath){let s=i.split(".");if(s.length!==2)throw new Error(`fatal: malformed conditional field coordinates "${i}" for field set "${e.selectionSet}".`);r.push(new OT({fieldName:s[1],typeName:s[0]}))}t.push(new ST({fieldCoordinatesPath:r,fieldPath:n.fieldPath}))}return t}function DF(e,t,n){if(e)for(let r of e){let i=lpe(r);t.push(new td(k(k({typeName:n,fieldName:r.fieldName,selectionSet:r.selectionSet},r.disableEntityResolver?{disableEntityResolver:!0}:{}),i?{conditions:i}:{})))}}function RK(e){switch(e){case"publish":return qu.PUBLISH;case"request":return qu.REQUEST;case"subscribe":return qu.SUBSCRIBE}}function FK(e){var n;let t={rootNodes:[],childNodes:[],keys:[],provides:[],events:new sd({nats:[],kafka:[]}),requires:[],entityInterfaces:[],interfaceObjects:[]};for(let r of e.values()){let i=r.typeName,s=[...r.fieldNames],o=new sf({typeName:i,fieldNames:s});if(r.externalFieldNames&&r.externalFieldNames.size>0&&(o.externalFieldNames=[...r.externalFieldNames]),r.isRootNode?t.rootNodes.push(o):t.childNodes.push(o),r.entityInterfaceConcreteTypeNames){let d=new of({interfaceTypeName:i,concreteTypeNames:[...r.entityInterfaceConcreteTypeNames]});r.isInterfaceObject?t.interfaceObjects.push(d):t.entityInterfaces.push(d)}DF(r.keys,t.keys,i),DF(r.provides,t.provides,i),DF(r.requires,t.requires,i);let u=[],l=[];for(let d of(n=r.events)!=null?n:[])switch(d.providerType){case MI.PROVIDER_TYPE_KAFKA:{l.push(new FT({engineEventConfiguration:new id({fieldName:d.fieldName,providerId:d.providerId,type:RK(d.type),typeName:i}),topics:d.topics}));break}case MI.PROVIDER_TYPE_NATS:{u.push(new RT(k({engineEventConfiguration:new id({fieldName:d.fieldName,providerId:d.providerId,type:RK(d.type),typeName:i}),subjects:d.subjects},d.streamConfiguration?{streamConfiguration:new AT({consumerName:d.streamConfiguration.consumerName,streamName:d.streamConfiguration.streamName})}:{})));break}default:throw new Error("Fatal: Unknown event provider.")}t.events.nats.push(...u),t.events.kafka.push(...l)}return t}function wK(e){var n;let t=[];for(let r of e){let i=r.argumentNames.map(l=>new IT({name:l,sourceType:nd.FIELD_ARGUMENT})),s=new bT({argumentsConfiguration:i,fieldName:r.fieldName,typeName:r.typeName}),o=((n=r.requiredScopes)==null?void 0:n.map(l=>new vT({requiredAndScopes:l})))||[],u=o.length>0;if((r.requiresAuthentication||u)&&(s.authorizationConfiguration=new _T({requiresAuthentication:r.requiresAuthentication||u,requiredOrScopes:o})),r.subscriptionFilterCondition){let l=new Cc;UI(l,r.subscriptionFilterCondition),s.subscriptionFilterCondition=l}t.push(s)}return t}function UI(e,t){if(t.and!==void 0){let n=[];for(let r of t.and){let i=new Cc;UI(i,r),n.push(i)}e.and=n;return}if(t.in!==void 0){e.in=new LT({fieldPath:t.in.fieldPath,json:JSON.stringify(t.in.values)});return}if(t.not!==void 0){e.not=new Cc,UI(e.not,t.not);return}if(t.or!==void 0){let n=[];for(let r of t.or){let i=new Cc;UI(i,r),n.push(i)}e.or=n;return}throw new Error("Fatal: Incoming SubscriptionCondition object was malformed.")}m();T();h();function AF(e){return new Error(`Normalization failed to return a ${e}.`)}var dpe=(e,t)=>{let n=stringHash(t);return e.stringStorage[n]=t,new wT({key:n})},ppe=e=>{switch(e){case"ws":return eu.GRAPHQL_SUBSCRIPTION_PROTOCOL_WS;case"sse":return eu.GRAPHQL_SUBSCRIPTION_PROTOCOL_SSE;case"sse_post":return eu.GRAPHQL_SUBSCRIPTION_PROTOCOL_SSE_POST}throw new Error(`Unsupported subscription protocol '${e}'`)},fpe=e=>{switch(e){case"auto":return tu.GRAPHQL_WEBSOCKET_SUBPROTOCOL_AUTO;case"graphql-ws":return tu.GRAPHQL_WEBSOCKET_SUBPROTOCOL_WS;case"graphql-transport-ws":return tu.GRAPHQL_WEBSOCKET_SUBPROTOCOL_TRANSPORT_WS}throw new Error(`Unsupported websocket subprotocol '${e}'`)},PK=function(e){let t=new rf({defaultFlushInterval:BigInt(500),datasourceConfigurations:[],fieldConfigurations:[],graphqlSchema:"",stringStorage:{},typeConfigurations:[]});for(let n of e.subgraphs){if(!n.configurationDataByTypeName)throw AF("ConfigurationDataByTypeName");if(!n.schema)throw AF("GraphQLSchema");let r=dpe(t,$q(qm(n.schema))),{childNodes:i,entityInterfaces:s,events:o,interfaceObjects:u,keys:l,provides:d,requires:p,rootNodes:y}=FK(n.configurationDataByTypeName),N=ppe(n.subscriptionProtocol||"ws"),I=fpe(n.websocketSubprotocol||"auto"),O,x,j;if(o.kafka.length>0||o.nats.length>0){O=kc.PUBSUB,j=new sd({kafka:o.kafka,nats:o.nats});let re=ye=>LK.ROOT_TYPE_NAMES.has(ye.typeName),se=0,pe=0;for(;se({id:n.id,name:n.name,routingUrl:n.url}))})};m();T();h();we();function kK(e){let t;try{t=io(e.schema)}catch(n){throw new Error(`could not parse schema for Graph ${e.name}: ${n}`)}return{definitions:t,name:e.name,url:e.url}}function mpe(e){let{federationResult:t,errors:n}=(0,RF.federateSubgraphs)(e.map(kK));if(n&&n.length>0)throw new Error(`could not federate schema: ${n.map(r=>r.message).join(", ")}`);return{fieldConfigurations:t.fieldConfigurations,sdl:Ft(t.federatedGraphAST)}}function hpe(e){let t=(0,RF.federateSubgraphs)(e.map(kK));if(t.errors&&t.errors.length>0)throw new Error(`could not federate schema: ${t.errors.map(r=>r.message).join(", ")}`);if(t.federationResult===void 0)throw new Error("could not federate subgraphs");return PK({federatedClientSDL:Xd(t.federationResult.federatedGraphClientSchema),federatedSDL:Xd(t.federationResult.federatedGraphSchema),fieldConfigurations:t.federationResult.fieldConfigurations,schemaVersionId:"",subgraphs:e.map((r,i)=>{var l,d;let s=t.federationResult.subgraphConfigBySubgraphName.get(r.name),o=s==null?void 0:s.schema,u=s==null?void 0:s.configurationDataByTypeName;return{id:`${i}`,name:r.name,url:HR(r.url),sdl:r.schema,subscriptionUrl:HR((l=r.subscription_url)!=null?l:r.url),subscriptionProtocol:(d=r.subscription_protocol)!=null?d:"ws",websocketSubprotocol:r.subscription_protocol==="ws"?r.websocketSubprotocol||"auto":void 0,schema:o,configurationDataByTypeName:u}})}).toJsonString()}return Me(Tpe);})(); /*! Bundled license information: @jspm/core/nodelibs/browser/buffer.js: diff --git a/composition/CHANGELOG.md b/composition/CHANGELOG.md index 43f60b930a..c135ca0a41 100644 --- a/composition/CHANGELOG.md +++ b/composition/CHANGELOG.md @@ -4,6 +4,18 @@ Binaries are attached to the github release otherwise all images can be found [h All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.31.1](https://github.com/wundergraph/cosmo/compare/@wundergraph/composition@0.31.0...@wundergraph/composition@0.31.1) (2024-11-14) + +### Bug Fixes + +* add validation for edfs arguments ([#1368](https://github.com/wundergraph/cosmo/issues/1368)) ([3a90563](https://github.com/wundergraph/cosmo/commit/3a90563346a74e574c70848474aec3d5ce811b61)) (@alepane21) + +# [0.31.0](https://github.com/wundergraph/cosmo/compare/@wundergraph/composition@0.30.1...@wundergraph/composition@0.31.0) (2024-11-13) + +### Features + +* add subgraph property to Warnings ([#1355](https://github.com/wundergraph/cosmo/issues/1355)) ([cacc0f3](https://github.com/wundergraph/cosmo/commit/cacc0f3c01673b7bf1ea8d20305d04939ca3351e)) (@Aenimus) + ## [0.30.1](https://github.com/wundergraph/cosmo/compare/@wundergraph/composition@0.30.0...@wundergraph/composition@0.30.1) (2024-11-07) **Note:** Version bump only for package @wundergraph/composition diff --git a/composition/package.json b/composition/package.json index b3f25ecbac..f10fd19c6b 100644 --- a/composition/package.json +++ b/composition/package.json @@ -1,6 +1,6 @@ { "name": "@wundergraph/composition", - "version": "0.30.1", + "version": "0.31.1", "author": { "name": "WunderGraph Maintainers", "email": "info@wundergraph.com" diff --git a/composition/src/errors/errors.ts b/composition/src/errors/errors.ts index dcbeea2b83..c146dddee3 100644 --- a/composition/src/errors/errors.ts +++ b/composition/src/errors/errors.ts @@ -1223,6 +1223,14 @@ export function invalidEventSubjectsItemErrorMessage(argumentName: string): stri ); } +export function invalidEventSubjectsArgumentErrorMessage(argumentName: string): string { + return `An argument template references the invalid argument "${argumentName}".`; +} + +export function undefinedEventSubjectsArgumentErrorMessage(argumentName: string): string { + return `An argument template references the undefined argument "${argumentName}".`; +} + export const invalidEventProviderIdErrorMessage = `If explicitly defined, the "providerId" argument must be a string with a minimum length of one.`; export function invalidEventDirectiveError(directiveName: string, fieldPath: string, errorMessages: string[]): Error { @@ -1620,11 +1628,3 @@ export function unexpectedNonCompositeOutputTypeError(namedTypeName: string, act ` but received "${actualTypeString}".\nThis should never happen. Please report this issue on GitHub.`, ); } - -// TODO Temporarily only used as a warning -export function unimplementedInterfaceOutputTypeError(subgraphName: string, interfaceTypeName: string): Error { - return new Error( - `Subgraph "${subgraphName}": The Interface "${interfaceTypeName}" is used as an output type` + - ` without at least one Object type implementation defined in the schema.`, - ); -} diff --git a/composition/src/normalization/normalization-factory.ts b/composition/src/normalization/normalization-factory.ts index 692c622568..045d289b55 100644 --- a/composition/src/normalization/normalization-factory.ts +++ b/composition/src/normalization/normalization-factory.ts @@ -38,6 +38,7 @@ import { } from '../ast/utils'; import { addFieldNamesToConfigurationData, + validateArgumentTemplateReferences, FieldSetData, InputValidationContainer, isNodeQuery, @@ -49,6 +50,7 @@ import { BASE_DIRECTIVE_DEFINITION_BY_DIRECTIVE_NAME, BASE_DIRECTIVE_DEFINITIONS, BASE_SCALARS, + EDFS_ARGS_REGEXP, EVENT_DRIVEN_DIRECTIVE_DEFINITIONS_BY_DIRECTIVE_NAME, FIELD_SET_SCALAR_DEFINITION, SCOPE_SCALAR_DEFINITION, @@ -103,6 +105,7 @@ import { invalidEventDrivenMutationResponseTypeErrorMessage, invalidEventProviderIdErrorMessage, invalidEventSubjectErrorMessage, + invalidEventSubjectsArgumentErrorMessage, invalidEventSubjectsErrorMessage, invalidEventSubjectsItemErrorMessage, invalidImplementedTypeError, @@ -137,12 +140,12 @@ import { subgraphInvalidSyntaxError, subgraphValidationError, subgraphValidationFailureError, + undefinedEventSubjectsArgumentErrorMessage, undefinedNatsStreamConfigurationInputErrorMessage, undefinedObjectLikeParentError, undefinedRequiredArgumentsErrorMessage, undefinedTypeError, unexpectedKindFatalError, - unimplementedInterfaceOutputTypeError, } from '../errors/errors'; import { AUTHENTICATED, @@ -201,6 +204,7 @@ import { InternalSubgraph, recordSubgraphName, Subgraph } from '../subgraph/subg import { externalInterfaceFieldsWarning, invalidOverrideTargetSubgraphNameWarning, + unimplementedInterfaceOutputTypeWarning, Warning, } from '../warnings/warnings'; import { @@ -1185,7 +1189,11 @@ export class NormalizationFactory { overriddenFieldNamesForParent.add(this.childName); } - getKafkaPublishConfiguration(directive: ConstDirectiveNode, errorMessages: string[]): EventConfiguration | undefined { + getKafkaPublishConfiguration( + directive: ConstDirectiveNode, + argumentDataByArgumentName: Map, + errorMessages: string[], + ): EventConfiguration | undefined { const topics: string[] = []; let providerId = DEFAULT_EDFS_PROVIDER_ID; for (const argumentNode of directive.arguments || []) { @@ -1195,6 +1203,7 @@ export class NormalizationFactory { errorMessages.push(invalidEventSubjectErrorMessage(TOPIC)); continue; } + validateArgumentTemplateReferences(argumentNode.value.value, argumentDataByArgumentName, errorMessages); topics.push(argumentNode.value.value); break; } @@ -1216,6 +1225,7 @@ export class NormalizationFactory { getKafkaSubscribeConfiguration( directive: ConstDirectiveNode, + argumentDataByArgumentName: Map, errorMessages: string[], ): EventConfiguration | undefined { const topics: string[] = []; @@ -1232,6 +1242,7 @@ export class NormalizationFactory { errorMessages.push(invalidEventSubjectsItemErrorMessage(TOPICS)); break; } + validateArgumentTemplateReferences(value.value, argumentDataByArgumentName, errorMessages); topics.push(value.value); } break; @@ -1261,6 +1272,7 @@ export class NormalizationFactory { getNatsPublishAndRequestConfiguration( eventType: NatsEventType, directive: ConstDirectiveNode, + argumentDataByArgumentName: Map, errorMessages: string[], ): EventConfiguration | undefined { const subjects: string[] = []; @@ -1272,6 +1284,7 @@ export class NormalizationFactory { errorMessages.push(invalidEventSubjectErrorMessage(SUBJECT)); continue; } + validateArgumentTemplateReferences(argumentNode.value.value, argumentDataByArgumentName, errorMessages); subjects.push(argumentNode.value.value); break; } @@ -1293,6 +1306,7 @@ export class NormalizationFactory { getNatsSubscribeConfiguration( directive: ConstDirectiveNode, + argumentDataByArgumentName: Map, errorMessages: string[], ): EventConfiguration | undefined { const subjects: string[] = []; @@ -1311,6 +1325,7 @@ export class NormalizationFactory { errorMessages.push(invalidEventSubjectsItemErrorMessage(SUBJECTS)); break; } + validateArgumentTemplateReferences(value.value, argumentDataByArgumentName, errorMessages); subjects.push(value.value); } break; @@ -1405,7 +1420,10 @@ export class NormalizationFactory { } } - extractEventDirectivesToConfiguration(node: FieldDefinitionNode) { + extractEventDirectivesToConfiguration( + node: FieldDefinitionNode, + argumentDataByArgumentName: Map, + ) { // Validation is handled elsewhere if (!node.directives) { return; @@ -1416,21 +1434,35 @@ export class NormalizationFactory { let eventConfiguration: EventConfiguration | undefined; switch (directive.name.value) { case EDFS_KAFKA_PUBLISH: - eventConfiguration = this.getKafkaPublishConfiguration(directive, errorMessages); + eventConfiguration = this.getKafkaPublishConfiguration(directive, argumentDataByArgumentName, errorMessages); break; case EDFS_KAFKA_SUBSCRIBE: - eventConfiguration = this.getKafkaSubscribeConfiguration(directive, errorMessages); + eventConfiguration = this.getKafkaSubscribeConfiguration( + directive, + argumentDataByArgumentName, + errorMessages, + ); break; case EDFS_NATS_PUBLISH: { - eventConfiguration = this.getNatsPublishAndRequestConfiguration(PUBLISH, directive, errorMessages); + eventConfiguration = this.getNatsPublishAndRequestConfiguration( + PUBLISH, + directive, + argumentDataByArgumentName, + errorMessages, + ); break; } case EDFS_NATS_REQUEST: { - eventConfiguration = this.getNatsPublishAndRequestConfiguration(REQUEST, directive, errorMessages); + eventConfiguration = this.getNatsPublishAndRequestConfiguration( + REQUEST, + directive, + argumentDataByArgumentName, + errorMessages, + ); break; } case EDFS_NATS_SUBSCRIBE: { - eventConfiguration = this.getNatsSubscribeConfiguration(directive, errorMessages); + eventConfiguration = this.getNatsSubscribeConfiguration(directive, argumentDataByArgumentName, errorMessages); break; } default: @@ -2029,7 +2061,7 @@ export class NormalizationFactory { const implementationTypeNames = this.concreteTypeNamesByAbstractTypeName.get(referencedTypeName); if (!implementationTypeNames || implementationTypeNames.size < 0) { // Temporarily propagate as a warning until @inaccessible, entity interfaces and other such considerations are handled - this.warnings.push(unimplementedInterfaceOutputTypeError(this.subgraphName, referencedTypeName)); + this.warnings.push(unimplementedInterfaceOutputTypeWarning(this.subgraphName, referencedTypeName)); } continue; } @@ -2202,7 +2234,12 @@ export function batchNormalize(subgraphs: Subgraph[]): BatchNormalizationContain normalizationResult.originalTypeNameByRenamedTypeName.get(parentTypeName) || parentTypeName; if (!isTargetValid) { warnings.push( - invalidOverrideTargetSubgraphNameWarning(targetSubgraphName, originalParentTypeName, [...fieldNames]), + invalidOverrideTargetSubgraphNameWarning( + targetSubgraphName, + originalParentTypeName, + [...fieldNames], + subgraph.name, + ), ); } else { const overridesData = getValueOrDefault( diff --git a/composition/src/normalization/utils.ts b/composition/src/normalization/utils.ts index e2789ef27e..0e3b9e40a7 100644 --- a/composition/src/normalization/utils.ts +++ b/composition/src/normalization/utils.ts @@ -64,8 +64,10 @@ import { unknownTypeInFieldSetErrorMessage, unparsableFieldSetErrorMessage, unparsableFieldSetSelectionErrorMessage, + undefinedEventSubjectsArgumentErrorMessage, + invalidEventSubjectsArgumentErrorMessage, } from '../errors/errors'; -import { BASE_SCALARS } from '../utils/constants'; +import { BASE_SCALARS, EDFS_ARGS_REGEXP } from '../utils/constants'; import { ConfigurationData, newFieldSetConditionData, @@ -73,6 +75,7 @@ import { } from '../router-configuration/router-configuration'; import { FieldData, + InputValueData, ParentDefinitionData, ParentWithFieldsData, UnionDefinitionData, @@ -933,3 +936,28 @@ export function validateAndAddConditionalFieldSetsToConfiguration( export function isNodeQuery(typeName: string, operationTypeNode?: OperationTypeNode): boolean { return typeName === QUERY || operationTypeNode === OperationTypeNode.QUERY; } + +export function validateArgumentTemplateReferences( + value: string, + argumentDataByArgumentName: Map, + errorMessages: string[], +) { + const matches = value.matchAll(EDFS_ARGS_REGEXP); + const undefinedArgs = new Set(); + const invalidArgs = new Set(); + for (const match of matches) { + if (match.length < 2) { + invalidArgs.add(match[0]); + continue; + } + if (!argumentDataByArgumentName.has(match[1])) { + undefinedArgs.add(match[1]); + } + } + for (const undefinedArg of undefinedArgs) { + errorMessages.push(undefinedEventSubjectsArgumentErrorMessage(undefinedArg)); + } + for (const invalidArg of invalidArgs) { + errorMessages.push(invalidEventSubjectsArgumentErrorMessage(invalidArg)); + } +} diff --git a/composition/src/normalization/walkers.ts b/composition/src/normalization/walkers.ts index 7d380ac056..25f1048856 100644 --- a/composition/src/normalization/walkers.ts +++ b/composition/src/normalization/walkers.ts @@ -325,7 +325,6 @@ export function upsertParentsAndChildren(nf: NormalizationFactory, document: Doc if (nf.childName === SERVICE_FIELD || nf.childName === ENTITIES_FIELD) { return false; } - nf.extractEventDirectivesToConfiguration(node); } // subscriptionFilter is temporarily an EDFS-only feature if (nf.edfsDirectiveReferences.size > 0) { @@ -395,6 +394,9 @@ export function upsertParentsAndChildren(nf: NormalizationFactory, document: Doc nf.isSubgraphVersionTwo, nf.errors, ); + if (isParentRootType) { + nf.extractEventDirectivesToConfiguration(node, argumentDataByArgumentName); + } const providesDirectives = fieldData.directivesByDirectiveName.get(PROVIDES); const requiresDirectives = fieldData.directivesByDirectiveName.get(REQUIRES); // return early to avoid creating unnecessary FieldSetDatas diff --git a/composition/src/utils/constants.ts b/composition/src/utils/constants.ts index b08c47d0cb..fb7e81d657 100644 --- a/composition/src/utils/constants.ts +++ b/composition/src/utils/constants.ts @@ -800,3 +800,5 @@ export const baseDirectives = ` streamName: String! } `; + +export const EDFS_ARGS_REGEXP = /{{\s*args\.([a-zA-Z0-9_]+)\s*}}/g; diff --git a/composition/src/warnings/warnings.ts b/composition/src/warnings/warnings.ts index b34b427b99..4f32f738be 100644 --- a/composition/src/warnings/warnings.ts +++ b/composition/src/warnings/warnings.ts @@ -1,28 +1,45 @@ import { QUOTATION_JOIN } from '../utils/string-constants'; import { FieldSetDirective } from '../schema-building/utils'; +export type WarningSubgraphData = { + name: string; +}; + +export type WarningOptions = { + message: string; + subgraph: WarningSubgraphData; +}; + export class Warning extends Error { - constructor(message: string) { - super(message); + subgraph: WarningSubgraphData; + + constructor(options: WarningOptions) { + super(options.message); this.name = 'Warning'; + this.subgraph = options.subgraph; } } export function invalidOverrideTargetSubgraphNameWarning( - subgraphName: string, + targetSubgraphName: string, parentTypeName: string, fieldNames: string[], + originSubgraphName: string, ): Warning { - return new Warning( - `The object type "${parentTypeName}" defines the directive "@override(from: "${subgraphName})" on the following field` + + return new Warning({ + message: + `The Object type "${parentTypeName}" defines the directive "@override(from: "${targetSubgraphName}")" on the following field` + (fieldNames.length > 1 ? 's' : '') + `: "` + fieldNames.join(QUOTATION_JOIN) + `".\n` + `The required "from" argument of type "String!" should be provided with an existing subgraph name.\n` + - `However, a subgraph by the name of "${subgraphName}" does not exist.\n` + - `If this subgraph has been recently deleted, remember to clean up unused @override directives that reference this subgraph.`, - ); + `However, a subgraph by the name of "${targetSubgraphName}" does not exist.\n` + + `If this subgraph has been recently deleted, remember to clean up unused "@override" directives that reference this subgraph.`, + subgraph: { + name: originSubgraphName, + }, + }); } function versionOneWarningPropagationMessage(subgraphName: string): string { @@ -38,17 +55,21 @@ export function externalInterfaceFieldsWarning( typeName: string, fieldNames: Array, ): Warning { - return new Warning( - versionOneWarningPropagationMessage(subgraphName) + - `The interface "${typeName}" is invalid because the following field definition` + + return new Warning({ + message: + versionOneWarningPropagationMessage(subgraphName) + + `The Interface "${typeName}" is invalid because the following Field definition` + (fieldNames.length > 1 ? 's are' : ' is') + ` declared "@external":\n "` + fieldNames.join(QUOTATION_JOIN) + `"\n` + - `Interface fields should not be declared "@external". This is because interface fields do not resolve directly,` + - ` but the "@external" directive relates to whether a field instance can be resolved` + + `Interface Fields should not be declared "@external". This is because Interface Fields do not resolve directly,` + + ` but the "@external" directive relates to whether a Field instance can be resolved` + ` by the subgraph in which it is defined.`, - ); + subgraph: { + name: subgraphName, + }, + }); } export function nonExternalConditionalFieldWarning( @@ -58,12 +79,28 @@ export function nonExternalConditionalFieldWarning( fieldSet: string, fieldSetDirective: FieldSetDirective, ): Warning { - return new Warning( - versionOneWarningPropagationMessage(subgraphName) + - `The field "${originCoords}" in subgraph "${subgraphName}" defines a "@${fieldSetDirective}" directive with the following` + + return new Warning({ + message: + versionOneWarningPropagationMessage(subgraphName) + + `The Field "${originCoords}" in subgraph "${subgraphName}" defines a "@${fieldSetDirective}" directive with the following` + ` field set:\n "${fieldSet}".` + - `\nHowever, neither the field "${targetCoords}" nor any of its field set ancestors are declared @external.` + + `\nHowever, neither the Field "${targetCoords}" nor any of its field set ancestors are declared @external.` + `\nConsequently, "${targetCoords}" is already provided by subgraph "${subgraphName}" and should not form part of` + ` a "@${fieldSetDirective}" directive field set.`, - ); + subgraph: { + name: subgraphName, + }, + }); +} + +// TODO Temporarily only used as a warning +export function unimplementedInterfaceOutputTypeWarning(subgraphName: string, interfaceTypeName: string): Warning { + return new Warning({ + message: + `Subgraph "${subgraphName}": The Interface "${interfaceTypeName}" is used as an output type` + + ` without at least one Object type implementation defined in the schema.`, + subgraph: { + name: subgraphName, + }, + }); } diff --git a/composition/tests/events.test.ts b/composition/tests/events.test.ts index 41537e3af3..14a4d5da39 100644 --- a/composition/tests/events.test.ts +++ b/composition/tests/events.test.ts @@ -26,6 +26,7 @@ import { parse, Subgraph, subgraphValidationError, + undefinedEventSubjectsArgumentErrorMessage, undefinedNatsStreamConfigurationInputErrorMessage, undefinedRequiredArgumentsErrorMessage, unexpectedDirectiveArgumentErrorMessage, @@ -296,17 +297,17 @@ describe('events Configuration tests', () => { const directiveName = 'edfs__natsSubscribe'; const rootFieldPath = 'Subscription.entitySubscription'; expect(errors![0]).toStrictEqual( - invalidEventDirectiveError(directiveName, rootFieldPath, [ - invalidEventSubjectsItemErrorMessage(SUBJECTS), - invalidEventProviderIdErrorMessage, - ]), - ); - expect(errors![1]).toStrictEqual( invalidDirectiveError(directiveName, rootFieldPath, [ duplicateDirectiveArgumentDefinitionsErrorMessage(directiveName, rootFieldPath, [SUBJECTS, PROVIDER_ID]), unexpectedDirectiveArgumentErrorMessage(directiveName, ['unknownArgument']), ]), ); + expect(errors![1]).toStrictEqual( + invalidEventDirectiveError(directiveName, rootFieldPath, [ + invalidEventSubjectsItemErrorMessage(SUBJECTS), + invalidEventProviderIdErrorMessage, + ]), + ); expect(errors![2]).toStrictEqual( invalidEventDrivenGraphError([ invalidRootTypeFieldEventsDirectivesErrorMessage( @@ -481,6 +482,176 @@ describe('events Configuration tests', () => { ]), ); }); + + test('that an error is returned if a NATS subscribe subject references an invalid argument', () => { + const { errors } = normalizeSubgraph(subgraphW.definitions, subgraphW.name); + expect(errors).toBeDefined(); + expect(errors).toHaveLength(1); + expect(errors![0]).toStrictEqual( + invalidEventDirectiveError('edfs__natsSubscribe', 'Subscription.entitySubscription', [ + undefinedEventSubjectsArgumentErrorMessage('invalid'), + ]), + ); + }); + + test('that an error is returned if a NATS request subject references an invalid argument', () => { + const { errors } = normalizeSubgraph(subgraphX.definitions, subgraphX.name); + expect(errors).toBeDefined(); + expect(errors).toHaveLength(1); + expect(errors![0]).toStrictEqual( + invalidEventDirectiveError('edfs__natsRequest', 'Query.entityRequest', [ + undefinedEventSubjectsArgumentErrorMessage('invalid'), + ]), + ); + }); + + test('that an error is returned if a NATS publish subject references an invalid argument', () => { + const { errors } = normalizeSubgraph(subgraphY.definitions, subgraphY.name); + expect(errors).toBeDefined(); + expect(errors).toHaveLength(1); + expect(errors![0]).toStrictEqual( + invalidEventDirectiveError('edfs__natsPublish', 'Mutation.entityPublish', [ + undefinedEventSubjectsArgumentErrorMessage('invalid'), + ]), + ); + }); + + test('that an error is returned if a Kafka subscribe subject references an invalid argument', () => { + const { errors } = normalizeSubgraph(subgraphZ.definitions, subgraphZ.name); + expect(errors).toBeDefined(); + expect(errors).toHaveLength(1); + expect(errors![0]).toStrictEqual( + invalidEventDirectiveError('edfs__kafkaSubscribe', 'Subscription.entitySubscription', [ + undefinedEventSubjectsArgumentErrorMessage('invalid'), + ]), + ); + }); + + test('that an error is returned if a Kafka publish subject references an invalid argument', () => { + const { errors } = normalizeSubgraph(subgraphAA.definitions, subgraphAA.name); + expect(errors).toBeDefined(); + expect(errors).toHaveLength(1); + expect(errors![0]).toStrictEqual( + invalidEventDirectiveError('edfs__kafkaPublish', 'Mutation.entityPublish', [ + undefinedEventSubjectsArgumentErrorMessage('invalid'), + ]), + ); + }); + + test('that an error is returned if a NATS subscribe subject references two invalid arguments', () => { + const { errors } = normalizeSubgraph(subgraphAB.definitions, subgraphAB.name); + expect(errors).toBeDefined(); + expect(errors).toHaveLength(1); + expect(errors![0]).toStrictEqual( + invalidEventDirectiveError('edfs__natsSubscribe', 'Subscription.entitySubscription', [ + undefinedEventSubjectsArgumentErrorMessage('invalid'), + undefinedEventSubjectsArgumentErrorMessage('alsoinvalid'), + ]), + ); + }); + + test('that an error is returned if a NATS request subject references two invalid arguments', () => { + const { errors } = normalizeSubgraph(subgraphAC.definitions, subgraphAC.name); + expect(errors).toBeDefined(); + expect(errors).toHaveLength(1); + expect(errors![0]).toStrictEqual( + invalidEventDirectiveError('edfs__natsRequest', 'Query.entityRequest', [ + undefinedEventSubjectsArgumentErrorMessage('invalid'), + undefinedEventSubjectsArgumentErrorMessage('alsoinvalid'), + ]), + ); + }); + + test('that an error is returned if a NATS publish subject references two invalid arguments', () => { + const { errors } = normalizeSubgraph(subgraphAD.definitions, subgraphAD.name); + expect(errors).toBeDefined(); + expect(errors).toHaveLength(1); + expect(errors![0]).toStrictEqual( + invalidEventDirectiveError('edfs__natsPublish', 'Mutation.entityPublish', [ + undefinedEventSubjectsArgumentErrorMessage('invalid'), + undefinedEventSubjectsArgumentErrorMessage('alsoinvalid'), + ]), + ); + }); + + test('that an error is returned if a Kafka subscribe subject references two invalid arguments', () => { + const { errors } = normalizeSubgraph(subgraphAE.definitions, subgraphAE.name); + expect(errors).toBeDefined(); + expect(errors).toHaveLength(1); + expect(errors![0]).toStrictEqual( + invalidEventDirectiveError('edfs__kafkaSubscribe', 'Subscription.entitySubscription', [ + undefinedEventSubjectsArgumentErrorMessage('invalid'), + undefinedEventSubjectsArgumentErrorMessage('alsoinvalid'), + ]), + ); + }); + + test('that an error is returned if a Kafka publish subject references two invalid arguments', () => { + const { errors } = normalizeSubgraph(subgraphAF.definitions, subgraphAF.name); + expect(errors).toBeDefined(); + expect(errors).toHaveLength(1); + expect(errors![0]).toStrictEqual( + invalidEventDirectiveError('edfs__kafkaPublish', 'Mutation.entityPublish', [ + undefinedEventSubjectsArgumentErrorMessage('invalid'), + undefinedEventSubjectsArgumentErrorMessage('alsoinvalid'), + ]), + ); + }); + }); + + test('that an error is returned if a NATS subscribe subject references a valid argument and an invalid one', () => { + const { errors } = normalizeSubgraph(subgraphAG.definitions, subgraphAG.name); + expect(errors).toBeDefined(); + expect(errors).toHaveLength(1); + expect(errors![0]).toStrictEqual( + invalidEventDirectiveError('edfs__natsSubscribe', 'Subscription.entitySubscription', [ + undefinedEventSubjectsArgumentErrorMessage('invalid'), + ]), + ); + }); + + test('that an error is returned if a NATS request subject references a valid argument and an invalid one', () => { + const { errors } = normalizeSubgraph(subgraphAH.definitions, subgraphAH.name); + expect(errors).toBeDefined(); + expect(errors).toHaveLength(1); + expect(errors![0]).toStrictEqual( + invalidEventDirectiveError('edfs__natsRequest', 'Query.entityRequest', [ + undefinedEventSubjectsArgumentErrorMessage('invalid'), + ]), + ); + }); + + test('that an error is returned if a NATS publish subject references a valid argument and an invalid one', () => { + const { errors } = normalizeSubgraph(subgraphAI.definitions, subgraphAI.name); + expect(errors).toBeDefined(); + expect(errors).toHaveLength(1); + expect(errors![0]).toStrictEqual( + invalidEventDirectiveError('edfs__natsPublish', 'Mutation.entityPublish', [ + undefinedEventSubjectsArgumentErrorMessage('invalid'), + ]), + ); + }); + + test('that an error is returned if a Kafka subscribe subject references a valid argument and an invalid one', () => { + const { errors } = normalizeSubgraph(subgraphAL.definitions, subgraphAL.name); + expect(errors).toBeDefined(); + expect(errors).toHaveLength(1); + expect(errors![0]).toStrictEqual( + invalidEventDirectiveError('edfs__kafkaSubscribe', 'Subscription.entitySubscription', [ + undefinedEventSubjectsArgumentErrorMessage('invalid'), + ]), + ); + }); + + test('that an error is returned if a Kafka publish subject references a valid argument and an invalid one', () => { + const { errors } = normalizeSubgraph(subgraphAM.definitions, subgraphAM.name); + expect(errors).toBeDefined(); + expect(errors).toHaveLength(1); + expect(errors![0]).toStrictEqual( + invalidEventDirectiveError('edfs__kafkaPublish', 'Mutation.entityPublish', [ + undefinedEventSubjectsArgumentErrorMessage('invalid'), + ]), + ); }); describe('Federation tests', () => { @@ -1256,3 +1427,273 @@ const subgraphV: Subgraph = { } `), }; + +const subgraphW: Subgraph = { + name: 'subgraph-w', + url: '', + definitions: parse(` + type Subscription { + entitySubscription(id: ID!): Entity! @edfs__natsSubscribe( + subjects: ["entities.{{ args.invalid }}"], + ) + } + + type Entity @key(fields: "id", resolvable: false) { + id: ID! @external + } + + input edfs__NatsStreamConfiguration { + consumerName: String! + streamName: String! + } + `), +}; + +const subgraphX: Subgraph = { + name: 'subgraph-x', + url: '', + definitions: parse(` + type Query { + entityRequest(id: ID!): Entity! @edfs__natsRequest( + subject: "entities.{{ args.invalid }}", + ) + } + + type Entity @key(fields: "id", resolvable: false) { + id: ID! @external + } + `), +}; + +const subgraphY: Subgraph = { + name: 'subgraph-y', + url: '', + definitions: parse(` + type Mutation { + entityPublish(id: ID!): edfs__PublishResult! @edfs__natsPublish( + subject: "entities.{{ args.invalid }}", + ) + } + + type edfs__PublishResult { + success: Boolean! + } + `), +}; + +const subgraphZ: Subgraph = { + name: 'subgraph-z', + url: '', + definitions: parse(` + type Subscription { + entitySubscription(id: ID!): Entity! @edfs__kafkaSubscribe( + topics: ["entities.{{ args.invalid }}"], + ) + } + + type Entity @key(fields: "id", resolvable: false) { + id: ID! @external + } + + input edfs__KafkaStreamConfiguration { + consumerName: String! + streamName: String! + } + `), +}; + +const subgraphAA: Subgraph = { + name: 'subgraph-aa', + url: '', + definitions: parse(` + type Mutation { + entityPublish(id: ID!): edfs__PublishResult! @edfs__kafkaPublish( + topic: "entities.{{ args.invalid }}", + ) + } + + type edfs__PublishResult { + success: Boolean! + } + `), +}; + +const subgraphAB: Subgraph = { + name: 'subgraph-ab', + url: '', + definitions: parse(` + type Subscription { + entitySubscription(id: ID!): Entity! @edfs__natsSubscribe( + subjects: ["entities.{{ args.invalid }}{{ args.alsoinvalid }}"], + ) + } + + type Entity @key(fields: "id", resolvable: false) { + id: ID! @external + } + + input edfs__NatsStreamConfiguration { + consumerName: String! + streamName: String! + } + `), +}; + +const subgraphAC: Subgraph = { + name: 'subgraph-ac', + url: '', + definitions: parse(` + type Query { + entityRequest(id: ID!): Entity! @edfs__natsRequest( + subject: "entities.{{ args.invalid }}{{ args.alsoinvalid }}", + ) + } + + type Entity @key(fields: "id", resolvable: false) { + id: ID! @external + } + `), +}; + +const subgraphAD: Subgraph = { + name: 'subgraph-ad', + url: '', + definitions: parse(` + type Mutation { + entityPublish(id: ID!): edfs__PublishResult! @edfs__natsPublish( + subject: "entities.{{ args.invalid }}{{ args.alsoinvalid }}", + ) + } + + type edfs__PublishResult { + success: Boolean! + } + `), +}; + +const subgraphAE: Subgraph = { + name: 'subgraph-ae', + url: '', + definitions: parse(` + type Subscription { + entitySubscription(id: ID!): Entity! @edfs__kafkaSubscribe( + topics: ["entities.{{ args.invalid }}{{ args.alsoinvalid }}"], + ) + } + + type Entity @key(fields: "id", resolvable: false) { + id: ID! @external + } + + input edfs__KafkaStreamConfiguration { + consumerName: String! + streamName: String! + } + `), +}; + +const subgraphAF: Subgraph = { + name: 'subgraph-af', + url: '', + definitions: parse(` + type Mutation { + entityPublish(id: ID!): edfs__PublishResult! @edfs__kafkaPublish( + topic: "entities.{{ args.invalid }}{{ args.alsoinvalid }}", + ) + } + + type edfs__PublishResult { + success: Boolean! + } + `), +}; + +const subgraphAG: Subgraph = { + name: 'subgraph-ag', + url: '', + definitions: parse(` + type Subscription { + entitySubscription(id: ID!): Entity! @edfs__natsSubscribe( + subjects: ["entities.{{ args.invalid }}{{ args.id }}"], + ) + } + + type Entity @key(fields: "id", resolvable: false) { + id: ID! @external + } + + input edfs__NatsStreamConfiguration { + consumerName: String! + streamName: String! + } + `), +}; + +const subgraphAH: Subgraph = { + name: 'subgraph-aH', + url: '', + definitions: parse(` + type Query { + entityRequest(id: ID!): Entity! @edfs__natsRequest( + subject: "entities.{{ args.invalid }}{{ args.id }}", + ) + } + + type Entity @key(fields: "id", resolvable: false) { + id: ID! @external + } + `), +}; + +const subgraphAI: Subgraph = { + name: 'subgraph-ai', + url: '', + definitions: parse(` + type Mutation { + entityPublish(id: ID!): edfs__PublishResult! @edfs__natsPublish( + subject: "entities.{{ args.invalid }}{{ args.id }}", + ) + } + + type edfs__PublishResult { + success: Boolean! + } + `), +}; + +const subgraphAL: Subgraph = { + name: 'subgraph-al', + url: '', + definitions: parse(` + type Subscription { + entitySubscription(id: ID!): Entity! @edfs__kafkaSubscribe( + topics: ["entities.{{ args.invalid }}{{ args.id }}"], + ) + } + + type Entity @key(fields: "id", resolvable: false) { + id: ID! @external + } + + input edfs__KafkaStreamConfiguration { + consumerName: String! + streamName: String! + } + `), +}; + +const subgraphAM: Subgraph = { + name: 'subgraph-am', + url: '', + definitions: parse(` + type Mutation { + entityPublish(id: ID!): edfs__PublishResult! @edfs__kafkaPublish( + topic: "entities.{{ args.invalid }}{{ args.id }}", + ) + } + + type edfs__PublishResult { + success: Boolean! + } + `), +}; diff --git a/composition/tests/external.test.ts b/composition/tests/external.test.ts index 80bd425508..3f563b999e 100644 --- a/composition/tests/external.test.ts +++ b/composition/tests/external.test.ts @@ -200,6 +200,7 @@ describe('@external directive tests', () => { expect(warnings).toBeDefined(); expect(warnings).toHaveLength(1); expect(warnings![0]).toStrictEqual(externalInterfaceFieldsWarning(N_A, 'Interface', ['age', 'name'])); + expect(warnings![0].subgraph.name).toBe(N_A); }); test('that a warning is returned if a V1 interface extension field is declared @external', () => { @@ -219,6 +220,7 @@ describe('@external directive tests', () => { expect(warnings).toBeDefined(); expect(warnings).toHaveLength(1); expect(warnings![0]).toStrictEqual(externalInterfaceFieldsWarning(N_A, 'Interface', ['age', 'id'])); + expect(warnings![0].subgraph.name).toBe(N_A); }); }); diff --git a/composition/tests/fieldset-directives.test.ts b/composition/tests/fieldset-directives.test.ts index 6f1317fdd8..306c45f0c0 100644 --- a/composition/tests/fieldset-directives.test.ts +++ b/composition/tests/fieldset-directives.test.ts @@ -1503,6 +1503,7 @@ describe('openfed_FieldSet tests', () => { FieldSetDirective.REQUIRES, ), ); + expect(warnings[0].subgraph.name).toBe('subgraph-f'); const e = federationResult!.subgraphConfigBySubgraphName.get(subgraphE.name); expect(e).toBeDefined(); expect(e!.configurationDataByTypeName).toStrictEqual( @@ -1623,6 +1624,7 @@ describe('openfed_FieldSet tests', () => { FieldSetDirective.PROVIDES, ), ); + expect(warnings[0].subgraph.name).toBe('subgraph-g'); const e = federationResult!.subgraphConfigBySubgraphName.get(subgraphE.name); expect(e).toBeDefined(); expect(e!.configurationDataByTypeName).toStrictEqual( diff --git a/composition/tests/interfaces.test.ts b/composition/tests/interfaces.test.ts index 4ec8d690af..1e1378ddd9 100644 --- a/composition/tests/interfaces.test.ts +++ b/composition/tests/interfaces.test.ts @@ -16,7 +16,7 @@ import { SCALAR, selfImplementationError, Subgraph, - unimplementedInterfaceOutputTypeError, + unimplementedInterfaceOutputTypeWarning, } from '../src'; import { describe, expect, test } from 'vitest'; import { @@ -521,7 +521,8 @@ describe('Interface tests', () => { const { errors, warnings } = normalizeSubgraph(subgraphAM.definitions, subgraphAM.name); expect(errors).toBeUndefined(); expect(warnings).toHaveLength(1); - expect(warnings![0]).toStrictEqual(unimplementedInterfaceOutputTypeError(subgraphAM.name, 'Interface')); + expect(warnings![0]).toStrictEqual(unimplementedInterfaceOutputTypeWarning(subgraphAM.name, 'Interface')); + expect(warnings![0].subgraph.name).toBe(subgraphAM.name); }); test('that an Interface without implementations is valid if it not used as an output type', () => { diff --git a/composition/tests/override.test.ts b/composition/tests/override.test.ts index 7a231d08cf..a3d1057785 100644 --- a/composition/tests/override.test.ts +++ b/composition/tests/override.test.ts @@ -97,7 +97,10 @@ describe('@override directive tests', () => { const { errors, federationResult, warnings } = federateSubgraphs([subgraphA, subgraphB]); expect(errors).toBeUndefined(); expect(warnings).toBeDefined(); - expect(warnings![0]).toStrictEqual(invalidOverrideTargetSubgraphNameWarning('subgraph-z', 'Entity', ['age'])); + expect(warnings![0]).toStrictEqual( + invalidOverrideTargetSubgraphNameWarning('subgraph-z', 'Entity', ['age'], 'subgraph-b'), + ); + expect(warnings![0].subgraph.name).toBe('subgraph-b'); expect(schemaToSortedNormalizedString(federationResult!.federatedGraphSchema)).toBe( normalizeString( versionTwoRouterDefinitions + diff --git a/composition/tests/regexp.test.ts b/composition/tests/regexp.test.ts new file mode 100644 index 0000000000..2022b71b91 --- /dev/null +++ b/composition/tests/regexp.test.ts @@ -0,0 +1,72 @@ +import { describe, expect, test } from 'vitest'; +import { EDFS_ARGS_REGEXP } from '../src'; + +describe('regular expressions tests', () => { + test('that EDFS_ARGS_REGEXP validate correctly', () => { + const checks = [ + { + value: '{{ args.name }}', + expected: [['{{ args.name }}', 'name']], + }, + { + value: '{{ args.name }}', + expected: [['{{ args.name }}', 'name']], + }, + { + value: '{{ args.name }}', + expected: [['{{ args.name }}', 'name']], + }, + { + value: '{{args.name}}', + expected: [['{{args.name}}', 'name']], + }, + { + value: '{{ args.name}}', + expected: [['{{ args.name}}', 'name']], + }, + { + value: '{{ args.name }}{{ args.id }}', + expected: [ + ['{{ args.name }}', 'name'], + ['{{ args.id }}', 'id'], + ], + }, + { + value: '{{ args.name }} {{ args.id }}', + expected: [ + ['{{ args.name }}', 'name'], + ['{{ args.id }}', 'id'], + ], + }, + { + value: '{{ arg.name }}', + expected: [], + }, + { + value: '{{ arg.name }}', + expected: [], + }, + { + value: '{{ arg.name }}{{ args.name2 }}', + expected: [['{{ args.name2 }}', 'name2']], + }, + { + value: '{{ }}', + expected: [], + }, + { + value: '{{', + expected: [], + }, + { + value: '}}', + expected: [], + }, + ]; + + for (const check of checks) { + const matches = Array.from(check.value.matchAll(EDFS_ARGS_REGEXP)); + expect(matches.map((match) => [match[0], match[1]])).toEqual(check.expected); + } + }); +}); diff --git a/connect-go/gen/proto/wg/cosmo/platform/v1/platform.pb.go b/connect-go/gen/proto/wg/cosmo/platform/v1/platform.pb.go index 9b6e33fce0..43aa1d7745 100644 --- a/connect-go/gen/proto/wg/cosmo/platform/v1/platform.pb.go +++ b/connect-go/gen/proto/wg/cosmo/platform/v1/platform.pb.go @@ -5037,6 +5037,8 @@ type GetCheckOperationsRequest struct { CheckId string `protobuf:"bytes,1,opt,name=check_id,json=checkId,proto3" json:"check_id,omitempty"` GraphName string `protobuf:"bytes,2,opt,name=graph_name,json=graphName,proto3" json:"graph_name,omitempty"` Namespace string `protobuf:"bytes,3,opt,name=namespace,proto3" json:"namespace,omitempty"` + Limit int32 `protobuf:"varint,4,opt,name=limit,proto3" json:"limit,omitempty"` + Offset int32 `protobuf:"varint,5,opt,name=offset,proto3" json:"offset,omitempty"` } func (x *GetCheckOperationsRequest) Reset() { @@ -5092,6 +5094,20 @@ func (x *GetCheckOperationsRequest) GetNamespace() string { return "" } +func (x *GetCheckOperationsRequest) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +func (x *GetCheckOperationsRequest) GetOffset() int32 { + if x != nil { + return x.Offset + } + return 0 +} + type GetCheckOperationsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -5102,6 +5118,7 @@ type GetCheckOperationsResponse struct { TrafficCheckDays int32 `protobuf:"varint,3,opt,name=traffic_check_days,json=trafficCheckDays,proto3" json:"traffic_check_days,omitempty"` CreatedAt string `protobuf:"bytes,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` ClientTrafficCheckSkipped bool `protobuf:"varint,5,opt,name=client_traffic_check_skipped,json=clientTrafficCheckSkipped,proto3" json:"client_traffic_check_skipped,omitempty"` + TotalOperationsCount int32 `protobuf:"varint,6,opt,name=totalOperationsCount,proto3" json:"totalOperationsCount,omitempty"` } func (x *GetCheckOperationsResponse) Reset() { @@ -5171,6 +5188,13 @@ func (x *GetCheckOperationsResponse) GetClientTrafficCheckSkipped() bool { return false } +func (x *GetCheckOperationsResponse) GetTotalOperationsCount() int32 { + if x != nil { + return x.TotalOperationsCount + } + return 0 +} + type GetOperationContentRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -25148,169 +25172,302 @@ var file_wg_cosmo_platform_v1_platform_proto_rawDesc = []byte{ 0x6b, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x44, 0x61, 0x79, 0x73, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x53, 0x75, 0x62, 0x67, 0x72, - 0x61, 0x70, 0x68, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x44, 0x4c, 0x22, 0x73, 0x0a, 0x19, - 0x47, 0x65, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x65, - 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x65, - 0x63, 0x6b, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x22, 0xfa, 0x04, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0a, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x3f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2c, 0x0a, - 0x12, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x64, - 0x61, 0x79, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x74, 0x72, 0x61, 0x66, 0x66, - 0x69, 0x63, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x44, 0x61, 0x79, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x3f, 0x0a, 0x1c, 0x63, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x63, 0x68, 0x65, - 0x63, 0x6b, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x19, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x43, - 0x68, 0x65, 0x63, 0x6b, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x1a, 0xb0, 0x02, 0x0a, 0x0e, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, - 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, - 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x69, - 0x72, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x66, 0x69, 0x72, 0x73, 0x74, 0x53, 0x65, 0x65, 0x6e, 0x41, 0x74, 0x12, 0x20, - 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x5f, 0x61, 0x74, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x65, 0x6e, 0x41, 0x74, - 0x12, 0x4f, 0x0a, 0x11, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x77, 0x67, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, - 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, - 0x10, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x73, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x73, 0x61, 0x66, 0x65, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x53, 0x61, 0x66, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x68, 0x61, - 0x73, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x41, 0x6c, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, - 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x68, 0x61, 0x73, 0x49, 0x67, 0x6e, - 0x6f, 0x72, 0x65, 0x41, 0x6c, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x22, 0x30, - 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, - 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, - 0x22, 0x86, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x11, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0xd6, 0x01, 0x0a, 0x21, 0x47, 0x65, - 0x74, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x43, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, - 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, - 0x44, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x09, 0x64, 0x61, 0x74, 0x65, 0x52, - 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x22, 0xa1, 0x01, 0x0a, 0x17, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, - 0x47, 0x72, 0x61, 0x70, 0x68, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, - 0x74, 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0xdc, 0x01, 0x0a, 0x1d, 0x46, 0x65, 0x64, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, - 0x6f, 0x67, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x12, 0x4d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x64, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x6c, 0x6f, 0x67, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x73, 0x12, - 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xfd, 0x01, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x46, 0x65, 0x64, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x43, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x61, 0x70, 0x68, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x44, 0x4c, 0x22, 0xa1, 0x01, 0x0a, + 0x19, 0x47, 0x65, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x72, 0x61, 0x70, 0x68, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, + 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, + 0x22, 0xae, 0x05, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0a, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x3f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2c, 0x0a, 0x12, + 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x64, 0x61, + 0x79, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, + 0x63, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x44, 0x61, 0x79, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x3f, 0x0a, 0x1c, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x19, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x14, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0xb0, + 0x02, 0x0a, 0x0e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, + 0x0d, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x5f, 0x61, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x69, 0x72, 0x73, 0x74, 0x53, 0x65, 0x65, 0x6e, 0x41, + 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x5f, 0x61, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x65, + 0x6e, 0x41, 0x74, 0x12, 0x4f, 0x0a, 0x11, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x69, 0x6e, 0x67, + 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x1d, 0x66, 0x65, 0x64, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x6c, 0x6f, 0x67, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x33, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, - 0x47, 0x72, 0x61, 0x70, 0x68, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x4f, 0x75, - 0x74, 0x70, 0x75, 0x74, 0x52, 0x1d, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, - 0x72, 0x61, 0x70, 0x68, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x4f, 0x75, 0x74, - 0x70, 0x75, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x68, 0x61, 0x73, 0x4e, 0x65, 0x78, 0x74, 0x50, 0x61, - 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x68, 0x61, 0x73, 0x4e, 0x65, 0x78, - 0x74, 0x50, 0x61, 0x67, 0x65, 0x22, 0x82, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x46, 0x65, 0x64, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x52, 0x10, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x73, 0x61, 0x66, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x53, 0x61, 0x66, 0x65, 0x12, 0x32, 0x0a, + 0x14, 0x68, 0x61, 0x73, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x41, 0x6c, 0x6c, 0x4f, 0x76, 0x65, + 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x68, 0x61, 0x73, + 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x41, 0x6c, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, + 0x65, 0x22, 0x30, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, + 0x61, 0x73, 0x68, 0x22, 0x86, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x2b, 0x0a, 0x11, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0xd6, 0x01, 0x0a, + 0x21, 0x47, 0x65, 0x74, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, + 0x70, 0x68, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x77, 0x67, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x61, + 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x65, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x77, 0x67, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x09, 0x64, 0x61, + 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xa1, 0x01, 0x0a, 0x17, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, + 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0xdc, 0x01, 0x0a, 0x1d, 0x46, 0x65, + 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x12, 0x4d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, + 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x43, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, + 0x67, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xfd, 0x01, 0x0a, 0x22, 0x47, 0x65, 0x74, + 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x43, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x1d, 0x66, + 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x43, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, + 0x67, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x1d, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, + 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x68, 0x61, 0x73, 0x4e, 0x65, 0x78, + 0x74, 0x50, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x68, 0x61, 0x73, + 0x4e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x22, 0x82, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, + 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, + 0x12, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x53, 0x44, 0x4c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x46, 0x65, 0x64, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x44, 0x4c, 0x22, 0xf8, 0x04, + 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x72, + 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x0a, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x55, 0x72, 0x6c, 0x88, 0x01, + 0x01, 0x12, 0x33, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x06, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, + 0x12, 0x66, 0x0a, 0x15, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x48, 0x01, 0x52, + 0x14, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x73, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x02, 0x52, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x64, + 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x06, 0x72, 0x65, 0x61, 0x64, + 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x0b, 0x75, 0x6e, 0x73, + 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x88, 0x01, 0x01, 0x12, 0x66, 0x0a, 0x15, 0x77, + 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x77, 0x67, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x47, 0x72, 0x61, + 0x70, 0x68, 0x51, 0x4c, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x75, 0x62, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x48, 0x05, 0x52, 0x14, 0x77, 0x65, 0x62, 0x73, + 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, + 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, + 0x75, 0x72, 0x6c, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x42, 0x13, 0x0a, + 0x11, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, + 0x72, 0x6c, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x6d, 0x65, 0x42, 0x0f, 0x0a, + 0x0d, 0x5f, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x42, 0x18, + 0x0a, 0x16, 0x5f, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x75, 0x62, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x22, 0xd9, 0x02, 0x0a, 0x16, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x54, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x77, 0x67, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, + 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x51, 0x0a, 0x10, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x25, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x10, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x5a, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x52, + 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x73, 0x22, 0xb6, 0x03, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, + 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x6f, 0x75, 0x74, + 0x69, 0x6e, 0x67, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, + 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x55, 0x72, 0x6c, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0d, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, + 0x12, 0x1b, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x64, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x61, 0x64, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, + 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x35, 0x0a, 0x14, 0x75, + 0x6e, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x12, 0x75, 0x6e, 0x73, + 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x88, + 0x01, 0x01, 0x12, 0x35, 0x0a, 0x13, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x57, + 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x55, 0x52, 0x4c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x02, 0x52, 0x13, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, + 0x6f, 0x6f, 0x6b, 0x55, 0x52, 0x4c, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x16, 0x61, 0x64, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x53, 0x65, 0x63, + 0x72, 0x65, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x16, 0x61, 0x64, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x53, 0x65, 0x63, + 0x72, 0x65, 0x74, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x6d, + 0x65, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x61, + 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x55, + 0x52, 0x4c, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0xdf, 0x02, + 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x46, 0x65, - 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x44, 0x4c, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x44, 0x4c, 0x22, 0xf8, 0x04, 0x0a, 0x15, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x72, 0x6f, 0x75, 0x74, - 0x69, 0x6e, 0x67, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x0a, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x55, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x33, - 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, - 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x06, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x66, 0x0a, - 0x15, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x77, - 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x47, - 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x48, 0x01, 0x52, 0x14, 0x73, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, - 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x02, 0x52, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x55, - 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x64, 0x6d, 0x65, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x06, 0x72, 0x65, 0x61, 0x64, 0x6d, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x12, 0x26, 0x0a, 0x0c, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x0b, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x4c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x88, 0x01, 0x01, 0x12, 0x66, 0x0a, 0x15, 0x77, 0x65, 0x62, 0x73, - 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, - 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, - 0x4c, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x48, 0x05, 0x52, 0x14, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, - 0x65, 0x74, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x88, 0x01, 0x01, - 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x75, 0x72, 0x6c, - 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x73, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x42, - 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x6d, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x75, - 0x6e, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x42, 0x18, 0x0a, 0x16, 0x5f, - 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x22, 0xd9, 0x02, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x11, 0x63, 0x6f, + 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x11, 0x63, + 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, + 0x12, 0x51, 0x0a, 0x10, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x77, 0x67, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x52, 0x10, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x73, 0x12, 0x5a, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x28, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x22, + 0xa0, 0x05, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x6f, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, + 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x55, 0x72, 0x6c, 0x12, 0x1b, 0x0a, + 0x09, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x67, 0x72, 0x61, 0x70, 0x68, 0x55, 0x72, 0x6c, 0x12, 0x66, 0x0a, 0x15, 0x73, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x63, 0x6f, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x47, 0x72, 0x61, 0x70, + 0x68, 0x51, 0x4c, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x48, 0x00, 0x52, 0x14, 0x73, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x88, + 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0f, + 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x88, + 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x64, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x02, 0x52, 0x06, 0x72, 0x65, 0x61, 0x64, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x66, 0x0a, 0x15, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x75, 0x62, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, + 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, + 0x74, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x48, 0x03, 0x52, 0x14, + 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x63, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x13, 0x61, 0x64, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x55, 0x52, 0x4c, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x13, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x55, 0x52, 0x4c, 0x88, 0x01, 0x01, 0x12, 0x3b, + 0x0a, 0x16, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, + 0x6f, 0x6b, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, + 0x52, 0x16, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, + 0x6f, 0x6b, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x88, 0x01, 0x01, 0x42, 0x18, 0x0a, 0x16, 0x5f, + 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, + 0x65, 0x61, 0x64, 0x6d, 0x65, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, + 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x42, + 0x16, 0x0a, 0x14, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, + 0x68, 0x6f, 0x6f, 0x6b, 0x55, 0x52, 0x4c, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x61, 0x64, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x53, 0x65, 0x63, 0x72, + 0x65, 0x74, 0x22, 0x55, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x6f, + 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, + 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, + 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x75, 0x0a, 0x1a, 0x43, 0x68, 0x65, + 0x63, 0x6b, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, + 0x72, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x22, 0xc9, 0x02, 0x0a, 0x1b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, @@ -25320,1306 +25477,1213 @@ var file_wg_cosmo_platform_v1_platform_proto_rawDesc = []byte{ 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x73, 0x12, 0x51, 0x0a, 0x10, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x77, - 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x52, 0x10, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, - 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x5a, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x13, 0x63, 0x6f, - 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x73, 0x22, 0xb6, 0x03, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x64, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, - 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x6f, 0x75, 0x74, - 0x69, 0x6e, 0x67, 0x55, 0x72, 0x6c, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x12, 0x1b, 0x0a, - 0x06, 0x72, 0x65, 0x61, 0x64, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x06, 0x72, 0x65, 0x61, 0x64, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, - 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x35, 0x0a, 0x14, 0x75, 0x6e, 0x73, 0x65, - 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x12, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x4c, - 0x61, 0x62, 0x65, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x88, 0x01, 0x01, 0x12, - 0x35, 0x0a, 0x13, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, - 0x6f, 0x6f, 0x6b, 0x55, 0x52, 0x4c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x13, - 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, - 0x55, 0x52, 0x4c, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x16, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x16, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, - 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x6d, 0x65, 0x42, 0x17, - 0x0a, 0x15, 0x5f, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x61, 0x64, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x55, 0x52, 0x4c, 0x42, - 0x19, 0x0a, 0x17, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, - 0x68, 0x6f, 0x6f, 0x6b, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0xdf, 0x02, 0x0a, 0x1c, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, - 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x51, 0x0a, - 0x10, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x10, - 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, + 0x72, 0x73, 0x12, 0x3c, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, + 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x09, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x12, 0x5a, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x22, 0xa0, 0x05, 0x0a, - 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x6f, 0x75, - 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x55, 0x72, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x72, - 0x61, 0x70, 0x68, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, - 0x72, 0x61, 0x70, 0x68, 0x55, 0x72, 0x6c, 0x12, 0x66, 0x0a, 0x15, 0x73, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, - 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x63, 0x6f, 0x6c, 0x48, 0x00, 0x52, 0x14, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x12, - 0x2e, 0x0a, 0x10, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0f, 0x73, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, - 0x1b, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x64, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x02, 0x52, 0x06, 0x72, 0x65, 0x61, 0x64, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x66, 0x0a, 0x15, - 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x77, 0x67, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x47, 0x72, - 0x61, 0x70, 0x68, 0x51, 0x4c, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x75, - 0x62, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x48, 0x03, 0x52, 0x14, 0x77, 0x65, 0x62, - 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, - 0x6c, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x13, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x55, 0x52, 0x4c, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x04, 0x52, 0x13, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x65, - 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x55, 0x52, 0x4c, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x16, 0x61, - 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x53, - 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x16, 0x61, - 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x53, - 0x65, 0x63, 0x72, 0x65, 0x74, 0x88, 0x01, 0x01, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x73, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, - 0x6f, 0x6c, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x61, 0x64, - 0x6d, 0x65, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, - 0x5f, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x42, 0x16, 0x0a, 0x14, - 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, - 0x6b, 0x55, 0x52, 0x4c, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, - 0x55, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x6f, 0x67, 0x72, 0x61, - 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, - 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x75, 0x0a, 0x1a, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, - 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x61, 0x62, 0x65, - 0x6c, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0d, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x12, - 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xc9, 0x02, - 0x0a, 0x1b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, - 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, - 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, - 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x11, 0x63, 0x6f, 0x6d, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x11, 0x63, 0x6f, - 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, - 0x3c, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, - 0x70, 0x68, 0x52, 0x09, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x12, 0x5a, 0x0a, - 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x77, 0x67, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x3a, 0x0a, 0x0a, 0x50, 0x61, 0x67, - 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, - 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, - 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x2a, 0x0a, 0x04, 0x53, 0x6f, 0x72, 0x74, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, - 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x64, 0x65, 0x73, - 0x63, 0x22, 0xb6, 0x02, 0x0a, 0x0f, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, - 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, - 0x44, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x09, 0x64, 0x61, 0x74, 0x65, 0x52, - 0x61, 0x6e, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x3f, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x25, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, - 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, - 0x12, 0x40, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x48, 0x01, 0x52, 0x04, - 0x73, 0x6f, 0x72, 0x74, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x72, 0x61, 0x6e, 0x67, - 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x73, 0x6f, 0x72, 0x74, 0x22, 0x8c, 0x01, 0x0a, 0x0f, 0x41, - 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x14, - 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x4d, 0x0a, 0x08, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x77, - 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, - 0x77, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, - 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x33, 0x0a, 0x09, 0x44, 0x61, 0x74, - 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, - 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0xe8, - 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, - 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x66, 0x65, - 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, - 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x06, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x77, - 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xf7, 0x01, 0x0a, 0x13, 0x41, 0x6e, - 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x12, 0x43, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, - 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x07, 0x63, - 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x3a, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, - 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x52, 0x6f, 0x77, 0x52, 0x04, 0x72, 0x6f, - 0x77, 0x73, 0x12, 0x49, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, - 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x14, 0x0a, - 0x05, 0x70, 0x61, 0x67, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x70, 0x61, - 0x67, 0x65, 0x73, 0x22, 0xe8, 0x01, 0x0a, 0x13, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, - 0x73, 0x56, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x33, 0x0a, 0x04, 0x75, 0x6e, 0x69, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, - 0x6e, 0x69, 0x74, 0x48, 0x00, 0x52, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x20, - 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x08, 0x48, 0x01, 0x52, 0x08, 0x69, 0x73, 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x88, 0x01, 0x01, - 0x12, 0x1a, 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x63, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, - 0x48, 0x02, 0x52, 0x05, 0x69, 0x73, 0x43, 0x74, 0x61, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x69, 0x73, 0x5f, 0x68, 0x69, 0x64, - 0x64, 0x65, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x69, 0x73, 0x5f, 0x63, 0x74, 0x61, 0x22, 0x86, - 0x02, 0x0a, 0x19, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, - 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, - 0x6c, 0x65, 0x12, 0x4f, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x3a, 0x0a, 0x0a, + 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x2a, 0x0a, 0x04, 0x53, 0x6f, 0x72, 0x74, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, + 0x64, 0x65, 0x73, 0x63, 0x22, 0xb6, 0x02, 0x0a, 0x0f, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, + 0x63, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x65, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x77, 0x67, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x09, 0x64, 0x61, + 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, - 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x4f, 0x0a, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x77, 0x67, + 0x74, 0x69, 0x63, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x73, 0x12, 0x40, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, + 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x48, + 0x01, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x72, + 0x61, 0x6e, 0x67, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x73, 0x6f, 0x72, 0x74, 0x22, 0x8c, 0x01, + 0x0a, 0x0f, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x4d, 0x0a, + 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x31, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, + 0x56, 0x69, 0x65, 0x77, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x33, 0x0a, 0x09, + 0x44, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, + 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x65, 0x6e, + 0x64, 0x22, 0xe8, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, + 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, + 0x12, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x66, 0x65, 0x64, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, - 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x48, 0x00, 0x52, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x88, 0x01, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xab, 0x01, 0x0a, 0x1f, 0x41, 0x6e, 0x61, 0x6c, - 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x46, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, - 0x6c, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x12, 0x4d, 0x0a, 0x08, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, + 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x3d, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x25, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1c, + 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xf7, 0x01, 0x0a, + 0x13, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x12, 0x43, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, + 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x3a, 0x0a, 0x04, 0x72, 0x6f, 0x77, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, + 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x52, 0x6f, 0x77, 0x52, + 0x04, 0x72, 0x6f, 0x77, 0x73, 0x12, 0x49, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, + 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, + 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x67, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x05, 0x70, 0x61, 0x67, 0x65, 0x73, 0x22, 0xe8, 0x01, 0x0a, 0x13, 0x41, 0x6e, 0x61, 0x6c, 0x79, + 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x33, 0x0a, 0x04, + 0x75, 0x6e, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x77, 0x67, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x55, 0x6e, 0x69, 0x74, 0x48, 0x00, 0x52, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x88, 0x01, + 0x01, 0x12, 0x20, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x08, 0x69, 0x73, 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, + 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x63, 0x74, 0x61, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x05, 0x69, 0x73, 0x43, 0x74, 0x61, 0x88, 0x01, 0x01, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x69, 0x73, 0x5f, + 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x69, 0x73, 0x5f, 0x63, 0x74, + 0x61, 0x22, 0x86, 0x02, 0x0a, 0x19, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, + 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, + 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x4f, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, + 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4f, 0x0a, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, - 0x69, 0x65, 0x77, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x42, 0x08, 0x0a, 0x06, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xc2, 0x01, 0x0a, 0x10, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, - 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x52, 0x6f, 0x77, 0x12, 0x47, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xab, 0x01, 0x0a, 0x1f, 0x41, + 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, + 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x4d, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x31, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, + 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x42, 0x08, + 0x0a, 0x06, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xc2, 0x01, 0x0a, 0x10, 0x41, 0x6e, 0x61, + 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x52, 0x6f, 0x77, 0x12, 0x47, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x77, + 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, + 0x77, 0x52, 0x6f, 0x77, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x65, 0x0a, 0x0a, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x41, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, + 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x52, 0x6f, 0x77, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8a, 0x01, + 0x0a, 0x15, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x52, + 0x6f, 0x77, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, + 0x0b, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0x95, 0x01, 0x0a, 0x18, 0x47, + 0x65, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, - 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x52, 0x6f, - 0x77, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x1a, 0x65, 0x0a, 0x0a, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x41, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, - 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x52, 0x6f, 0x77, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8a, 0x01, 0x0a, 0x15, 0x41, - 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x52, 0x6f, 0x77, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x6e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, - 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, - 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0x95, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x41, - 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x3d, 0x0a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, - 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, - 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x04, 0x76, 0x69, 0x65, 0x77, 0x22, - 0xbe, 0x01, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, - 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x12, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, - 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x72, 0x61, 0x6e, - 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x22, 0x81, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x69, - 0x65, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x12, 0x24, 0x0a, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x73, 0x22, 0x89, 0x01, 0x0a, 0x15, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, - 0x0a, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x48, 0x61, 0x73, 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, - 0x22, 0x9d, 0x01, 0x0a, 0x15, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, - 0x61, 0x70, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x66, 0x65, - 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x49, 0x44, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, - 0x72, 0x61, 0x70, 0x68, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x52, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x52, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x52, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, - 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, - 0x22, 0x8b, 0x01, 0x0a, 0x0f, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, - 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, - 0x70, 0x68, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, - 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x52, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x52, - 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x52, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x22, 0xc9, - 0x03, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x41, - 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x4d, 0x0a, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x69, 0x65, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x49, 0x74, 0x65, 0x6d, - 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, - 0x65, 0x0a, 0x17, 0x6d, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x2b, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x17, 0x6d, - 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4f, 0x0a, 0x0f, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, - 0x70, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x25, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x0f, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, - 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x61, 0x0a, 0x15, 0x66, 0x65, 0x64, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, + 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x29, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, + 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x04, 0x76, 0x69, + 0x65, 0x77, 0x22, 0xbe, 0x01, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, + 0x61, 0x72, 0x64, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x66, 0x65, 0x64, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x12, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, + 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x44, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, + 0x72, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x22, 0x81, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, + 0x65, 0x72, 0x69, 0x65, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x24, 0x0a, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x28, 0x0a, + 0x0f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x65, 0x64, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, 0x89, 0x01, 0x0a, 0x15, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x61, + 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, + 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x73, 0x22, 0x9d, 0x01, 0x0a, 0x15, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x2a, 0x0a, + 0x10, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x49, + 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x52, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x61, 0x74, + 0x65, 0x6e, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x6c, 0x61, 0x74, 0x65, + 0x6e, 0x63, 0x79, 0x22, 0x8b, 0x01, 0x0a, 0x0f, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, + 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x62, + 0x67, 0x72, 0x61, 0x70, 0x68, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x52, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x6e, + 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, + 0x79, 0x22, 0xc9, 0x03, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, + 0x72, 0x64, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x65, + 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x77, 0x67, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x49, + 0x74, 0x65, 0x6d, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x69, + 0x65, 0x73, 0x12, 0x65, 0x0a, 0x17, 0x6d, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x52, 0x17, 0x6d, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4f, 0x0a, 0x0f, 0x73, 0x75, 0x62, + 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, + 0x70, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x0f, 0x73, 0x75, 0x62, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x61, 0x0a, 0x15, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x74, 0x72, - 0x69, 0x63, 0x73, 0x52, 0x15, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, - 0x61, 0x70, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0x7c, 0x0a, 0x20, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, - 0x70, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, - 0x0a, 0x09, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, - 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x75, 0x0a, 0x21, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, - 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, - 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, - 0x89, 0x01, 0x0a, 0x09, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x16, 0x0a, - 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, - 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x72, - 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, - 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x44, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x22, 0x44, 0x0a, 0x14, 0x50, - 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x72, 0x67, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x05, 0x65, - 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, - 0x6c, 0x22, 0x90, 0x01, 0x0a, 0x24, 0x47, 0x65, 0x74, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, - 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x0a, 0x70, 0x61, - 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, - 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x06, - 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, - 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x22, 0xe0, 0x01, 0x0a, 0x25, 0x47, 0x65, 0x74, 0x50, 0x65, 0x6e, 0x64, + 0x69, 0x63, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x15, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0x7c, 0x0a, + 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, + 0x47, 0x72, 0x61, 0x70, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x75, 0x0a, 0x21, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, + 0x61, 0x70, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x22, 0x89, 0x01, 0x0a, 0x09, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, + 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x14, + 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, + 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x72, 0x67, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x22, 0x44, + 0x0a, 0x14, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x72, 0x67, 0x49, 0x6e, 0x76, 0x69, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x14, + 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, + 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x90, 0x01, 0x0a, 0x24, 0x47, 0x65, 0x74, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, - 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x12, 0x70, 0x65, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x72, 0x67, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x12, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x76, 0x69, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x89, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x4f, - 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x0a, 0x70, 0x61, 0x67, - 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x73, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x73, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x22, 0xb8, 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, + 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x1b, 0x0a, 0x06, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x06, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, + 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x22, 0xe0, 0x01, 0x0a, 0x25, 0x47, 0x65, 0x74, 0x50, + 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, + 0x12, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x72, 0x67, 0x49, 0x6e, 0x76, 0x69, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6e, + 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x89, 0x01, 0x0a, 0x1d, 0x47, + 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x0a, + 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, + 0x0a, 0x06, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x06, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, + 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x22, 0xb8, 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x4f, 0x72, + 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, + 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x22, 0x29, 0x0a, 0x11, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x50, 0x0a, 0x12, + 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa6, + 0x01, 0x0a, 0x06, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x61, 0x73, + 0x74, 0x55, 0x73, 0x65, 0x64, 0x41, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, + 0x61, 0x73, 0x74, 0x55, 0x73, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x78, 0x70, + 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x78, + 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x22, 0x13, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, 0x50, + 0x49, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x88, 0x01, 0x0a, + 0x12, 0x47, 0x65, 0x74, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x36, 0x0a, 0x07, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x07, + 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x73, 0x22, 0xb4, 0x02, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x39, 0x0a, 0x07, 0x65, + 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x77, + 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x52, 0x07, 0x65, + 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x17, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x17, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x73, + 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x49, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x73, 0x75, 0x62, + 0x67, 0x72, 0x61, 0x70, 0x68, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x20, + 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x2c, 0x0a, 0x11, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x61, 0x6c, 0x6c, + 0x6f, 0x77, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0x6a, + 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x22, 0x29, 0x0a, 0x13, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x52, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, + 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, + 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, + 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x37, 0x0a, 0x1f, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, + 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, + 0x69, 0x6c, 0x22, 0x5e, 0x0a, 0x20, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x72, 0x67, 0x61, + 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x39, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x1f, 0x0a, - 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x29, - 0x0a, 0x11, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x50, 0x0a, 0x12, 0x49, 0x6e, 0x76, - 0x69, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x73, 0x65, 0x22, 0x2f, 0x0a, 0x17, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x76, 0x69, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, + 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, + 0x61, 0x69, 0x6c, 0x22, 0x56, 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x76, + 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa6, 0x01, 0x0a, 0x06, - 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x73, - 0x65, 0x64, 0x41, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, - 0x55, 0x73, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, - 0x73, 0x41, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, - 0x65, 0x73, 0x41, 0x74, 0x22, 0x13, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, 0x50, 0x49, 0x4b, 0x65, - 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x88, 0x01, 0x0a, 0x12, 0x47, 0x65, - 0x74, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x07, - 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x07, 0x61, 0x70, 0x69, - 0x4b, 0x65, 0x79, 0x73, 0x22, 0xb4, 0x02, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, - 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x39, 0x0a, 0x07, 0x65, 0x78, 0x70, 0x69, - 0x72, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x72, 0x0a, 0x18, 0x4d, + 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x41, 0x70, 0x6f, 0x6c, 0x6c, 0x6f, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x70, 0x69, 0x4b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x12, + 0x20, 0x0a, 0x0b, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, + 0x6d, 0x0a, 0x19, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x41, 0x70, + 0x6f, 0x6c, 0x6c, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xdf, + 0x03, 0x0a, 0x04, 0x53, 0x70, 0x61, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x63, 0x65, 0x49, 0x44, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x65, 0x49, 0x44, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x70, 0x61, 0x6e, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, + 0x70, 0x61, 0x6e, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x53, + 0x70, 0x61, 0x6e, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x53, 0x70, 0x61, 0x6e, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x70, 0x61, + 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x70, 0x61, + 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x70, 0x61, 0x6e, 0x4b, 0x69, 0x6e, + 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x70, 0x61, 0x6e, 0x4b, 0x69, 0x6e, + 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, + 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12, + 0x24, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x4a, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, - 0x2e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x52, 0x07, 0x65, 0x78, 0x70, 0x69, - 0x72, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x17, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, - 0x47, 0x72, 0x61, 0x70, 0x68, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x73, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x17, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, - 0x72, 0x61, 0x70, 0x68, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x2c, 0x0a, - 0x11, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, - 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, - 0x70, 0x68, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x70, - 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2c, 0x0a, - 0x11, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x41, - 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0x6a, 0x0a, 0x14, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x22, 0x29, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x22, 0x52, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4b, - 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, + 0x2e, 0x53, 0x70, 0x61, 0x6e, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x22, 0x68, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x70, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x70, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, + 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x49, 0x64, 0x22, 0x80, 0x01, 0x0a, 0x10, 0x47, + 0x65, 0x74, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x73, + 0x70, 0x61, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x77, 0x67, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x70, 0x61, 0x6e, 0x52, 0x05, 0x73, 0x70, 0x61, 0x6e, 0x73, 0x22, 0x0f, 0x0a, + 0x0d, 0x57, 0x68, 0x6f, 0x41, 0x6d, 0x49, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xd5, + 0x01, 0x0a, 0x0e, 0x57, 0x68, 0x6f, 0x41, 0x6d, 0x49, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, + 0x10, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x09, 0x75, 0x73, 0x65, + 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, + 0x75, 0x73, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x10, + 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x75, 0x67, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x75, 0x67, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x75, 0x73, 0x65, + 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x73, 0x0a, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x5e, 0x0a, 0x1a, 0x47, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x65, 0x64, + 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x66, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x6f, 0x0a, 0x1b, 0x47, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x37, 0x0a, 0x1f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, - 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, - 0x5e, 0x0a, 0x20, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x2f, 0x0a, 0x17, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, - 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, - 0x22, 0x56, 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x72, 0x0a, 0x18, 0x4d, 0x69, 0x67, 0x72, - 0x61, 0x74, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x41, 0x70, 0x6f, 0x6c, 0x6c, 0x6f, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x0b, - 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, - 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x6d, 0x0a, 0x19, - 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x41, 0x70, 0x6f, 0x6c, 0x6c, - 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, - 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xdf, 0x03, 0x0a, 0x04, - 0x53, 0x70, 0x61, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x63, 0x65, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x65, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x70, - 0x61, 0x6e, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x70, 0x61, 0x6e, - 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x61, 0x6e, - 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, - 0x53, 0x70, 0x61, 0x6e, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x70, 0x61, 0x6e, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x70, 0x61, 0x6e, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x70, 0x61, 0x6e, 0x4b, 0x69, 0x6e, 0x64, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x70, 0x61, 0x6e, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x1a, - 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0d, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x12, 0x4a, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, - 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x70, - 0x61, 0x6e, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x1a, 0x3d, - 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x68, 0x0a, - 0x0f, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x17, 0x0a, 0x07, 0x73, 0x70, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x73, 0x70, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x65, 0x64, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, - 0x47, 0x72, 0x61, 0x70, 0x68, 0x49, 0x64, 0x22, 0x80, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x54, - 0x72, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x73, 0x70, 0x61, 0x6e, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x70, 0x61, 0x6e, 0x52, 0x05, 0x73, 0x70, 0x61, 0x6e, 0x73, 0x22, 0x0f, 0x0a, 0x0d, 0x57, 0x68, - 0x6f, 0x41, 0x6d, 0x49, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xd5, 0x01, 0x0a, 0x0e, - 0x57, 0x68, 0x6f, 0x41, 0x6d, 0x49, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, - 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x6f, 0x72, - 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x45, 0x6d, - 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x75, 0x73, 0x65, - 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x10, 0x6f, 0x72, 0x67, - 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x75, 0x67, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x6c, 0x75, 0x67, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x45, 0x6d, - 0x61, 0x69, 0x6c, 0x22, 0x73, 0x0a, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x41, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x45, - 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x5e, 0x0a, 0x1a, 0x47, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x5a, 0x0a, 0x16, + 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x6f, 0x0a, 0x1b, 0x47, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x90, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x39, 0x0a, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x21, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x22, 0x7a, 0x0a, 0x18, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, + 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x64, + 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x57, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x40, 0x0a, 0x12, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x73, 0x22, 0xcf, 0x01, 0x0a, 0x21, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x50, 0x65, + 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x65, 0x64, 0x47, + 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x66, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x0a, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x28, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, + 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x22, 0xa8, 0x01, 0x0a, 0x12, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, + 0x65, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x68, + 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, + 0x46, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x2e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x22, + 0xaa, 0x01, 0x0a, 0x22, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x50, 0x65, 0x72, 0x73, 0x69, + 0x73, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x48, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, + 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x8c, 0x01, 0x0a, + 0x1d, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, + 0x0a, 0x14, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x67, 0x72, 0x61, 0x70, + 0x68, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x66, 0x65, + 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, + 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xe6, 0x02, 0x0a, 0x1e, + 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, + 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x0a, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, + 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, + 0x65, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xa7, 0x01, 0x0a, 0x09, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x61, + 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x05, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, + 0x61, 0x6d, 0x65, 0x73, 0x22, 0x30, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xb2, 0x01, 0x0a, 0x26, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, + 0x68, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x16, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x77, + 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, + 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x22, 0x91, 0x01, 0x0a, 0x27, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x5a, 0x0a, 0x16, 0x47, 0x65, 0x74, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x64, 0x47, 0x72, - 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x90, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x22, + 0x26, 0x0a, 0x24, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x8f, 0x02, 0x0a, 0x25, 0x47, 0x65, 0x74, 0x4f, + 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, + 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, - 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, - 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x22, 0x7a, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x64, 0x47, 0x72, 0x61, - 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x22, 0x57, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, - 0x75, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, + 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, + 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x1a, 0x4c, 0x0a, 0x06, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x33, 0x0a, 0x21, 0x47, 0x65, 0x74, + 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, + 0x6f, 0x6f, 0x6b, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0xa4, + 0x01, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x42, 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x61, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x2e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x4d, 0x65, 0x74, 0x61, 0x22, 0xee, 0x01, 0x0a, 0x26, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, + 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x16, + 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x77, 0x67, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x0a, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x68, + 0x6f, 0x75, 0x6c, 0x64, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x22, 0x65, 0x0a, 0x27, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, + 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x0a, - 0x12, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x22, - 0xcf, 0x01, 0x0a, 0x21, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x50, 0x65, 0x72, 0x73, 0x69, - 0x73, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, - 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x64, - 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x0a, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, - 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x22, 0xa8, 0x01, 0x0a, 0x12, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x46, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x77, - 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0xaa, 0x01, 0x0a, - 0x22, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, - 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x48, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, - 0x73, 0x68, 0x65, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x8c, 0x01, 0x0a, 0x1d, 0x47, 0x65, - 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x66, - 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x66, 0x65, 0x64, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, - 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, - 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xe6, 0x02, 0x0a, 0x1e, 0x47, 0x65, 0x74, - 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x77, 0x67, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xa7, 0x01, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, - 0x73, 0x22, 0x30, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x22, 0xb2, 0x01, 0x0a, 0x26, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, - 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, - 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, - 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x6d, - 0x65, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x77, 0x67, 0x2e, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x0a, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x22, 0x91, 0x01, 0x0a, 0x27, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, - 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x2a, 0x0a, 0x11, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x77, 0x65, 0x62, - 0x68, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x22, 0x26, 0x0a, 0x24, - 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, - 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x22, 0x8f, 0x02, 0x0a, 0x25, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, - 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, - 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x07, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x77, 0x67, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, - 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x1a, 0x4c, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x16, - 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x33, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, - 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, - 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0xa4, 0x01, 0x0a, 0x22, - 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, - 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x0a, + 0x26, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x65, 0x0a, 0x27, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, + 0x68, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, - 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x02, 0x20, + 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb1, + 0x01, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, + 0x41, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x4d, 0x65, - 0x74, 0x61, 0x22, 0xee, 0x01, 0x0a, 0x26, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, - 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, - 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x6d, 0x65, - 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x2e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x0a, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x68, 0x6f, 0x75, 0x6c, - 0x64, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0f, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x4b, 0x65, 0x79, 0x22, 0x65, 0x0a, 0x27, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, - 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, - 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x0a, 0x26, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x64, 0x22, 0x65, 0x0a, 0x27, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, - 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, - 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x74, 0x61, 0x22, 0x57, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, + 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb1, 0x01, 0x0a, 0x18, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x63, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x41, 0x0a, 0x0a, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x21, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x6e, 0x6f, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, - 0x65, 0x74, 0x61, 0x52, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x22, - 0x57, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, + 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x0a, 0x22, 0x47, + 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, + 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x22, 0x34, 0x0a, 0x16, 0x53, 0x6c, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0xc0, 0x01, 0x0a, 0x11, 0x49, 0x6e, 0x74, 0x65, + 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x77, 0x67, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x66, 0x0a, 0x16, 0x73, 0x6c, 0x61, 0x63, + 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, + 0x53, 0x6c, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x16, 0x73, 0x6c, 0x61, 0x63, 0x6b, 0x49, + 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x42, 0x08, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xf7, 0x01, 0x0a, 0x0b, 0x49, + 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x55, 0x0a, 0x11, 0x69, 0x6e, + 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, + 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, + 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x41, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x18, + 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x2e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x4d, 0x65, 0x74, 0x61, 0x22, 0xa8, 0x01, 0x0a, 0x23, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, + 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x4f, - 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x34, - 0x0a, 0x16, 0x53, 0x6c, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x22, 0xc0, 0x01, 0x0a, 0x11, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, - 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x66, 0x0a, 0x16, 0x73, 0x6c, 0x61, 0x63, 0x6b, 0x49, 0x6e, - 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6c, 0x61, - 0x63, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x16, 0x73, 0x6c, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x74, 0x65, - 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0x0a, - 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xf7, 0x01, 0x0a, 0x0b, 0x49, 0x6e, 0x74, 0x65, - 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x55, 0x0a, 0x11, 0x69, 0x6e, 0x74, 0x65, 0x67, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x69, 0x6e, 0x74, - 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x41, - 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x18, 0x06, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x6e, 0x6f, - 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x4d, 0x65, 0x74, - 0x61, 0x22, 0xa8, 0x01, 0x0a, 0x23, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, - 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x77, 0x67, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, - 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, - 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xa8, 0x01, 0x0a, - 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x6d, 0x65, - 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x2e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x0a, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x22, 0x5d, 0x0a, 0x1f, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, - 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x65, + 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, + 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, + 0xa8, 0x01, 0x0a, 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x22, 0x57, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, - 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x33, 0x0a, 0x19, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, - 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, - 0x22, 0x58, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, + 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x77, 0x67, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x0a, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x22, 0x5d, 0x0a, 0x1f, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, + 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, + 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x0a, 0x18, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x57, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, + 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x33, + 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, + 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, + 0x72, 0x49, 0x44, 0x22, 0x58, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x67, + 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0x0a, + 0x18, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, + 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, + 0x44, 0x22, 0x57, 0x0a, 0x19, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0x0a, 0x18, 0x4c, 0x65, - 0x61, 0x76, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, 0x57, - 0x0a, 0x19, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x92, 0x01, 0x0a, 0x20, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, - 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, - 0x65, 0x72, 0x49, 0x44, 0x12, 0x2a, 0x0a, 0x10, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, - 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x2a, 0x0a, 0x10, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x6c, 0x75, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x72, 0x67, 0x61, - 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x75, 0x67, 0x22, 0x5f, 0x0a, 0x21, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x72, 0x0a, - 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, - 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, - 0x72, 0x49, 0x44, 0x12, 0x28, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6f, 0x72, - 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x12, 0x0a, - 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, - 0x65, 0x22, 0x59, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x57, 0x0a, 0x19, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x73, 0x6c, 0x75, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x6c, 0x75, - 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x22, 0xf9, 0x01, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x92, 0x01, 0x0a, 0x20, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x2a, 0x0a, 0x10, 0x6f, 0x72, 0x67, 0x61, 0x6e, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x10, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x75, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6f, + 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x75, 0x67, 0x22, + 0x5f, 0x0a, 0x21, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x4b, 0x0a, 0x0c, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, - 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0c, 0x6f, 0x72, - 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, - 0x0f, 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0f, 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, - 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, - 0x5f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x12, 0x0a, - 0x10, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x22, 0xa1, 0x01, 0x0a, 0x0c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x12, 0x29, 0x0a, 0x0d, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, - 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x41, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x55, - 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x18, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x42, 0x69, 0x6c, 0x6c, - 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, - 0xbb, 0x03, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6c, - 0x61, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, + 0x22, 0x72, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x28, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0f, 0x6f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, + 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x72, 0x6f, 0x6c, 0x65, 0x22, 0x59, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, + 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x57, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x73, 0x6c, 0x75, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x22, 0xf9, 0x01, 0x0a, 0x1a, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0c, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, + 0x0c, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x2d, 0x0a, 0x0f, 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0f, 0x73, 0x74, 0x72, + 0x69, 0x70, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, + 0x0f, 0x0a, 0x0d, 0x5f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xa1, 0x01, 0x0a, 0x0c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x75, + 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x12, 0x29, 0x0a, + 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x55, + 0x73, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x18, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x42, + 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x22, 0xbb, 0x03, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, + 0x67, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, + 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x05, 0x70, 0x6c, + 0x61, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x6e, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, + 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x05, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x1a, 0x6b, 0x0a, 0x12, 0x42, + 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x6e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x05, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x42, 0x08, + 0x0a, 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x1a, 0xa5, 0x01, 0x0a, 0x0b, 0x42, 0x69, 0x6c, + 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x70, 0x72, 0x69, + 0x63, 0x65, 0x12, 0x5c, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, + 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x6e, 0x46, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, + 0x22, 0x32, 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, + 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x70, 0x6c, 0x61, 0x6e, 0x22, 0x79, 0x0a, 0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, + 0x23, 0x0a, 0x21, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, + 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x22, 0x90, 0x01, 0x0a, 0x22, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, + 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x53, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x05, 0x70, 0x6c, 0x61, 0x6e, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, - 0x6e, 0x52, 0x05, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x1a, 0x6b, 0x0a, 0x12, 0x42, 0x69, 0x6c, 0x6c, - 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x6e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x20, - 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x48, - 0x00, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x1a, 0xa5, 0x01, 0x0a, 0x0b, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, - 0x67, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, - 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, - 0x5c, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x40, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x69, 0x6c, 0x6c, - 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x6e, 0x46, 0x65, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, 0x32, 0x0a, - 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0x28, 0x0a, 0x12, 0x55, 0x70, 0x67, 0x72, 0x61, + 0x64, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x6c, 0x61, - 0x6e, 0x22, 0x79, 0x0a, 0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, - 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, - 0x0a, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x23, 0x0a, 0x21, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x72, - 0x74, 0x61, 0x6c, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x22, 0x90, 0x01, 0x0a, 0x22, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x69, 0x6c, 0x6c, - 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x6e, 0x22, 0x51, 0x0a, 0x13, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x75, 0x72, 0x6c, 0x22, 0x28, 0x0a, 0x12, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x50, - 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6c, - 0x61, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x22, 0x51, - 0x0a, 0x13, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0xfc, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, - 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x12, - 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x72, 0x61, 0x6e, - 0x67, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, - 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x09, 0x64, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, - 0x65, 0x12, 0x3f, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, - 0x69, 0x63, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x22, 0xac, 0x03, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x77, 0x67, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, - 0x72, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x73, 0x12, 0x46, 0x0a, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x73, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x52, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x44, 0x0a, 0x06, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x77, 0x67, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, - 0x72, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, - 0x12, 0x49, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, - 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x46, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x23, 0x0a, 0x0a, 0x72, - 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0xe4, 0x01, 0x0a, 0x16, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x73, 0x68, 0x62, - 0x6f, 0x61, 0x72, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x12, 0x29, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x76, 0x69, - 0x6f, 0x75, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x03, 0x74, - 0x6f, 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xfc, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x47, 0x72, 0x61, 0x70, + 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x2e, 0x0a, 0x12, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, + 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x66, 0x65, 0x64, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, + 0x72, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, + 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, - 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x54, 0x6f, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x03, - 0x74, 0x6f, 0x70, 0x12, 0x3f, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x06, 0x73, 0x65, - 0x72, 0x69, 0x65, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, - 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x70, 0x0a, 0x0e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x73, 0x54, 0x6f, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x73, 0x50, 0x65, 0x72, 0x73, - 0x69, 0x73, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x50, - 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x22, 0x84, 0x01, 0x0a, 0x11, 0x4d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1c, - 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x12, 0x29, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x70, 0x72, 0x65, - 0x76, 0x69, 0x6f, 0x75, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, - 0x0e, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, - 0xe5, 0x01, 0x0a, 0x10, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x73, 0x68, 0x62, - 0x6f, 0x61, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x12, 0x33, 0x0a, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x1a, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x69, 0x74, 0x48, 0x00, 0x52, 0x04, - 0x75, 0x6e, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x68, 0x69, - 0x64, 0x64, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x08, 0x69, 0x73, - 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x06, 0x69, 0x73, 0x5f, - 0x63, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x05, 0x69, 0x73, 0x43, - 0x74, 0x61, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x42, 0x0c, - 0x0a, 0x0a, 0x5f, 0x69, 0x73, 0x5f, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x42, 0x09, 0x0a, 0x07, - 0x5f, 0x69, 0x73, 0x5f, 0x63, 0x74, 0x61, 0x22, 0x80, 0x02, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x4d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x12, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, - 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x3d, 0x0a, 0x09, - 0x64, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, - 0x52, 0x09, 0x64, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x3f, 0x0a, 0x07, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x77, - 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x46, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1c, 0x0a, 0x09, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xd7, 0x01, 0x0a, 0x1b, 0x47, + 0x44, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x09, 0x64, 0x61, 0x74, 0x65, 0x52, + 0x61, 0x6e, 0x67, 0x65, 0x12, 0x3f, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, + 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x22, 0xac, 0x03, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x47, 0x72, 0x61, 0x70, 0x68, + 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x08, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, + 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x73, 0x68, + 0x62, 0x6f, 0x61, 0x72, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x08, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x46, 0x0a, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x4d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x52, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x44, 0x0a, + 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, + 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x73, 0x68, + 0x62, 0x6f, 0x61, 0x72, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x06, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x73, 0x12, 0x49, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x05, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, + 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x46, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x23, + 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0xe4, 0x01, 0x0a, 0x16, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, + 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x29, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x70, 0x72, + 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x12, 0x36, + 0x0a, 0x03, 0x74, 0x6f, 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x77, 0x67, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x54, 0x6f, 0x70, 0x49, 0x74, 0x65, + 0x6d, 0x52, 0x03, 0x74, 0x6f, 0x70, 0x12, 0x3f, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x52, + 0x06, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x70, 0x72, 0x65, 0x76, + 0x69, 0x6f, 0x75, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x70, 0x0a, 0x0e, 0x4d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x73, 0x54, 0x6f, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x68, + 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x73, 0x50, + 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, + 0x69, 0x73, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x22, 0x84, 0x01, 0x0a, 0x11, + 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x49, 0x74, 0x65, + 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x29, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, + 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, + 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, + 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x22, 0xe5, 0x01, 0x0a, 0x10, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, + 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, + 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x33, 0x0a, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x69, 0x74, 0x48, + 0x00, 0x52, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x69, 0x73, + 0x5f, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, + 0x08, 0x69, 0x73, 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x06, + 0x69, 0x73, 0x5f, 0x63, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x05, + 0x69, 0x73, 0x43, 0x74, 0x61, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x75, 0x6e, 0x69, + 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x69, 0x73, 0x5f, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x42, + 0x09, 0x0a, 0x07, 0x5f, 0x69, 0x73, 0x5f, 0x63, 0x74, 0x61, 0x22, 0x80, 0x02, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, + 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x66, 0x65, 0x64, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, + 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x61, 0x6e, + 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x12, + 0x3d, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x52, 0x09, 0x64, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x3f, + 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x25, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, + 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, + 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xd7, 0x01, + 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x52, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, + 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, + 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x06, 0x73, 0x65, 0x72, + 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, + 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x06, 0x73, 0x65, 0x72, + 0x69, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x6c, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7a, 0x0a, 0x1a, 0x4d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, + 0x73, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x61, + 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x52, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, + 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x52, + 0x61, 0x74, 0x65, 0x22, 0xf3, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, + 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x64, 0x61, 0x74, + 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x09, 0x64, + 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x3f, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x22, 0xaf, 0x03, 0x0a, 0x1a, 0x47, 0x65, + 0x74, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, - 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x53, 0x65, - 0x72, 0x69, 0x65, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x06, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, - 0x12, 0x23, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7a, 0x0a, 0x1a, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, - 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x49, 0x74, - 0x65, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x61, 0x74, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x61, - 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, - 0x22, 0xf3, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, - 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, - 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, + 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x4d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x46, + 0x0a, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, + 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x07, 0x6c, + 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x44, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x4d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x49, 0x0a, 0x07, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, + 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, + 0x65, 0x77, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x23, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x6c, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x72, + 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xfc, 0x01, 0x0a, 0x22, + 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, + 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x64, 0x61, + 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, + 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x09, + 0x64, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x3f, 0x0a, 0x07, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x77, 0x67, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x22, 0xdf, 0x01, 0x0a, 0x23, 0x47, + 0x65, 0x74, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, + 0x0a, 0x06, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, + 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x49, 0x74, 0x65, 0x6d, + 0x52, 0x06, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x6f, + 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, + 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, + 0x0b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x72, 0x0a, 0x18, + 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x65, 0x52, 0x61, - 0x6e, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x77, 0x67, 0x2e, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, - 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x09, 0x64, 0x61, 0x74, 0x65, - 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x3f, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, - 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, - 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x22, 0xaf, 0x03, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x53, 0x75, - 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x22, 0x57, 0x0a, 0x19, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, + 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, + 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9f, 0x01, 0x0a, 0x2c, 0x54, 0x6f, + 0x67, 0x67, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, + 0x64, 0x65, 0x73, 0x46, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x73, 0x61, 0x66, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x53, 0x61, 0x66, 0x65, 0x12, 0x1d, + 0x0a, 0x0a, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x6b, 0x0a, 0x2d, 0x54, + 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, + 0x69, 0x64, 0x65, 0x73, 0x46, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x86, 0x01, 0x0a, 0x2c, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, + 0x65, 0x73, 0x46, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x65, + 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x65, + 0x63, 0x6b, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x22, 0x6b, 0x0a, 0x2d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x67, 0x6e, 0x6f, 0x72, + 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x46, 0x6f, 0x72, 0x41, 0x6c, 0x6c, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, + 0x0a, 0x0e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x17, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, + 0x74, 0x68, 0x22, 0xec, 0x01, 0x0a, 0x1f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x72, 0x61, 0x70, + 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x3e, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, + 0x64, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x73, 0x22, 0x5e, 0x0a, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x48, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x73, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x46, 0x0a, 0x07, 0x6c, - 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x77, - 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x73, 0x68, 0x62, - 0x6f, 0x61, 0x72, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x07, 0x6c, 0x61, 0x74, 0x65, - 0x6e, 0x63, 0x79, 0x12, 0x44, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x73, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x49, 0x0a, 0x07, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x77, 0x67, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, - 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x73, 0x12, 0x23, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, - 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xfc, 0x01, 0x0a, 0x22, 0x47, 0x65, 0x74, - 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, - 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, + 0x65, 0x22, 0xb4, 0x01, 0x0a, 0x27, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x41, 0x6c, 0x6c, 0x4f, 0x76, + 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, + 0x0a, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, + 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x61, 0x73, + 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x66, 0x0a, 0x28, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x67, 0x6e, 0x6f, 0x72, + 0x65, 0x41, 0x6c, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0xc5, 0x01, 0x0a, 0x1f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x65, 0x52, - 0x61, 0x6e, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x77, 0x67, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, - 0x31, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x09, 0x64, 0x61, 0x74, - 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x3f, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, - 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x22, 0xdf, 0x01, 0x0a, 0x23, 0x47, 0x65, 0x74, 0x53, - 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x06, 0x73, - 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x77, 0x67, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, - 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, - 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x06, 0x73, - 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x65, 0x73, - 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x72, 0x0a, 0x18, 0x46, 0x6f, 0x72, - 0x63, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x64, - 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x57, 0x0a, - 0x19, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, - 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9f, 0x01, 0x0a, 0x2c, 0x54, 0x6f, 0x67, 0x67, 0x6c, - 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, - 0x46, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x65, 0x63, 0x6b, - 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x73, 0x61, 0x66, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x53, 0x61, 0x66, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x67, - 0x72, 0x61, 0x70, 0x68, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, - 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x6b, 0x0a, 0x2d, 0x54, 0x6f, 0x67, 0x67, - 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, - 0x73, 0x46, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, - 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x86, 0x01, 0x0a, 0x2c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x46, - 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x49, - 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x6b, - 0x0a, 0x2d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x4f, 0x76, - 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x46, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, 0x0a, 0x0e, 0x4f, - 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1e, 0x0a, - 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, - 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x70, - 0x61, 0x74, 0x68, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x22, - 0xec, 0x01, 0x0a, 0x1f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x61, - 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3e, - 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x43, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0x5e, - 0x0a, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb4, - 0x01, 0x0a, 0x27, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x41, 0x6c, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x72, - 0x69, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x72, - 0x61, 0x70, 0x68, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, - 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x12, 0x25, - 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x66, 0x0a, 0x28, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x41, 0x6c, - 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc5, 0x01, - 0x0a, 0x1f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, + 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x12, 0x3e, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, + 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0x5e, 0x0a, 0x20, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, + 0x69, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8d, 0x01, 0x0a, 0x27, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x67, 0x6e, 0x6f, + 0x72, 0x65, 0x41, 0x6c, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, + 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x22, 0x66, 0x0a, 0x28, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x67, 0x6e, 0x6f, 0x72, + 0x65, 0x41, 0x6c, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x82, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, @@ -26627,292 +26691,348 @@ var file_wg_cosmo_platform_v1_platform_proto_rawDesc = []byte{ 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x48, 0x61, 0x73, 0x68, 0x12, 0x3e, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x76, - 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x07, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0x5e, 0x0a, 0x20, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, - 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8d, 0x01, 0x0a, 0x27, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x41, - 0x6c, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x25, - 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x61, 0x73, 0x68, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x48, 0x61, 0x73, 0x68, 0x22, 0x66, 0x0a, 0x28, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x41, 0x6c, - 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x82, 0x01, - 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x76, - 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, - 0x0a, 0x0a, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, - 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x61, - 0x73, 0x68, 0x22, 0xba, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6e, 0x48, 0x61, 0x73, 0x68, 0x22, 0xba, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x76, 0x65, 0x72, + 0x72, 0x69, 0x64, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x6c, + 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x41, + 0x6c, 0x6c, 0x22, 0x55, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x4f, 0x76, 0x65, 0x72, + 0x72, 0x69, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, + 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xe7, 0x02, 0x0a, 0x17, 0x47, 0x65, + 0x74, 0x41, 0x6c, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x54, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, + 0x6c, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x09, 0x6f, 0x76, + 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x1a, 0xb9, 0x01, 0x0a, 0x08, 0x4f, 0x76, 0x65, 0x72, + 0x72, 0x69, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x14, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x73, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x32, 0x0a, 0x14, 0x68, 0x61, 0x73, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x41, 0x6c, 0x6c, + 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, + 0x68, 0x61, 0x73, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x41, 0x6c, 0x6c, 0x4f, 0x76, 0x65, 0x72, + 0x72, 0x69, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x22, 0x57, 0x0a, 0x1b, 0x49, 0x73, 0x47, 0x69, 0x74, 0x48, 0x75, 0x62, 0x41, + 0x70, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x38, 0x0a, 0x08, 0x67, 0x69, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x69, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x67, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x7d, 0x0a, 0x1c, + 0x49, 0x73, 0x47, 0x69, 0x74, 0x48, 0x75, 0x62, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, + 0x69, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x22, 0x3d, 0x0a, 0x0b, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, + 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x73, 0x73, 0x6f, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x73, 0x73, 0x6f, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0xdc, 0x01, 0x0a, 0x19, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x49, 0x44, 0x43, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x11, + 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, + 0x72, 0x79, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x53, 0x65, 0x63, 0x72, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x63, 0x74, 0x12, 0x3b, 0x0a, 0x07, + 0x6d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, 0x70, 0x65, 0x72, + 0x52, 0x07, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x22, 0xb2, 0x01, 0x0a, 0x1a, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4f, 0x49, 0x44, 0x43, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x55, 0x52, + 0x4c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x55, + 0x52, 0x4c, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x55, 0x52, 0x4c, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x55, + 0x52, 0x4c, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x55, 0x52, 0x4c, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x55, 0x52, 0x4c, 0x22, 0x18, + 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4f, 0x49, 0x44, 0x43, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xbc, 0x02, 0x0a, 0x17, 0x47, 0x65, 0x74, + 0x4f, 0x49, 0x44, 0x43, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x3e, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x24, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, - 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, - 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x41, 0x6c, 0x6c, 0x22, - 0x55, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x72, 0x61, - 0x70, 0x68, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, - 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xe7, 0x02, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x41, 0x6c, - 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x55, 0x52, 0x4c, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x55, 0x52, 0x4c, 0x12, 0x2c, 0x0a, 0x11, + 0x73, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x55, 0x52, + 0x4c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x52, + 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x55, 0x52, 0x4c, 0x12, 0x2e, 0x0a, 0x12, 0x73, 0x69, + 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x55, 0x52, 0x4c, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x52, + 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x55, 0x52, 0x4c, 0x12, 0x3b, 0x0a, 0x07, 0x6d, 0x61, + 0x70, 0x70, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x77, 0x67, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x52, 0x07, + 0x6d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x22, 0x1b, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x4f, 0x49, 0x44, 0x43, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x22, 0x58, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x49, + 0x44, 0x43, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, - 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x36, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x4f, - 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x72, - 0x69, 0x64, 0x65, 0x73, 0x1a, 0xb9, 0x01, 0x0a, 0x08, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x73, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, - 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, - 0x14, 0x68, 0x61, 0x73, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x41, 0x6c, 0x6c, 0x4f, 0x76, 0x65, - 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x68, 0x61, 0x73, - 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x41, 0x6c, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, - 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x22, 0x57, 0x0a, 0x1b, 0x49, 0x73, 0x47, 0x69, 0x74, 0x48, 0x75, 0x62, 0x41, 0x70, 0x70, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x38, 0x0a, 0x08, 0x67, 0x69, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x07, 0x67, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x7d, 0x0a, 0x1c, 0x49, 0x73, 0x47, - 0x69, 0x74, 0x48, 0x75, 0x62, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, - 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, - 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x22, 0x3d, 0x0a, 0x0b, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x4d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, - 0x73, 0x6f, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, - 0x73, 0x6f, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0xdc, 0x01, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x4f, 0x49, 0x44, 0x43, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x69, 0x73, - 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x45, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x49, 0x44, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, - 0x72, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x63, 0x74, 0x12, 0x3b, 0x0a, 0x07, 0x6d, 0x61, 0x70, - 0x70, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x77, 0x67, 0x2e, + 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, + 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x44, 0x50, 0x4d, 0x61, 0x70, 0x70, 0x65, + 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x07, 0x6d, 0x61, 0x70, + 0x70, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x52, 0x07, 0x6d, - 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x22, 0xb2, 0x01, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x4f, 0x49, 0x44, 0x43, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x55, 0x52, 0x4c, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x55, 0x52, 0x4c, 0x12, - 0x1e, 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x55, 0x52, 0x4c, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x55, 0x52, 0x4c, 0x12, - 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x55, 0x52, 0x4c, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x55, 0x52, 0x4c, 0x22, 0x18, 0x0a, 0x16, 0x47, - 0x65, 0x74, 0x4f, 0x49, 0x44, 0x43, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xbc, 0x02, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x4f, 0x49, 0x44, - 0x43, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1a, 0x0a, - 0x08, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x55, 0x52, 0x4c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x55, 0x52, 0x4c, 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x69, 0x67, - 0x6e, 0x49, 0x6e, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x55, 0x52, 0x4c, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x52, 0x65, 0x64, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x55, 0x52, 0x4c, 0x12, 0x2e, 0x0a, 0x12, 0x73, 0x69, 0x67, 0x6e, 0x4f, - 0x75, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x55, 0x52, 0x4c, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x64, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x55, 0x52, 0x4c, 0x12, 0x3b, 0x0a, 0x07, 0x6d, 0x61, 0x70, 0x70, 0x65, - 0x72, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x52, 0x07, 0x6d, 0x61, 0x70, - 0x70, 0x65, 0x72, 0x73, 0x22, 0x1b, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x49, - 0x44, 0x43, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x22, 0x58, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x49, 0x44, 0x43, 0x50, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0x0a, 0x17, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x44, 0x50, 0x4d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x07, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x72, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x52, 0x07, 0x6d, 0x61, 0x70, 0x70, - 0x65, 0x72, 0x73, 0x22, 0x56, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x44, 0x50, - 0x4d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x22, 0x56, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x49, 0x44, 0x50, 0x4d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, + 0x0a, 0x23, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x78, 0x0a, 0x24, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, + 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, + 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, + 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, + 0xd8, 0x01, 0x0a, 0x12, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, + 0x75, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x12, 0x29, + 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x21, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x69, 0x74, + 0x65, 0x64, 0x42, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x69, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x64, 0x42, 0x79, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x42, 0x0c, 0x0a, 0x0a, + 0x5f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x42, 0x79, 0x22, 0x7b, 0x0a, 0x13, 0x47, 0x65, + 0x74, 0x41, 0x75, 0x64, 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, + 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x22, 0xac, 0x03, 0x0a, 0x08, 0x41, 0x75, 0x64, 0x69, + 0x74, 0x4c, 0x6f, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, + 0x61, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x6f, + 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x74, + 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x75, 0x64, + 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x14, 0x61, 0x75, 0x64, 0x69, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x61, 0x75, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x11, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x44, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x1a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1a, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x9c, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x75, + 0x64, 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x0a, 0x23, 0x47, - 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x22, 0x78, 0x0a, 0x24, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, + 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x04, 0x6c, + 0x6f, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x12, + 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x17, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x69, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xa0, + 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x77, 0x67, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x22, 0x62, 0x0a, 0x20, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x4f, 0x72, 0x44, 0x65, 0x63, + 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, + 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, + 0x06, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, + 0x63, 0x63, 0x65, 0x70, 0x74, 0x22, 0x5f, 0x0a, 0x21, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x4f, + 0x72, 0x44, 0x65, 0x63, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xd8, 0x01, 0x0a, - 0x12, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, - 0x69, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x12, 0x29, 0x0a, 0x0d, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x73, 0x65, - 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x41, 0x74, 0x12, 0x21, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x42, - 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x69, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x64, 0x42, 0x79, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x69, 0x6e, - 0x76, 0x69, 0x74, 0x65, 0x64, 0x42, 0x79, 0x22, 0x7b, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x75, - 0x64, 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, - 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, - 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, - 0x64, 0x44, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, - 0x44, 0x61, 0x74, 0x65, 0x22, 0xac, 0x03, 0x0a, 0x08, 0x41, 0x75, 0x64, 0x69, 0x74, 0x4c, 0x6f, - 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x63, 0x74, - 0x6f, 0x72, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x54, 0x79, - 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x14, 0x61, 0x75, 0x64, 0x69, 0x74, 0x61, 0x62, - 0x6c, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x14, 0x61, 0x75, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x44, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x41, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x1a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, - 0x61, 0x6d, 0x65, 0x22, 0x9c, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x75, 0x64, 0x69, 0x74, - 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, - 0x64, 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x12, 0x14, 0x0a, 0x05, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x22, 0x17, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xa0, 0x01, 0x0a, 0x16, - 0x47, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x62, - 0x0a, 0x20, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x4f, 0x72, 0x44, 0x65, 0x63, 0x6c, 0x69, 0x6e, - 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, - 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, - 0x63, 0x65, 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x63, 0x63, 0x65, - 0x70, 0x74, 0x22, 0x5f, 0x0a, 0x21, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x4f, 0x72, 0x44, 0x65, - 0x63, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x97, 0x06, 0x0a, 0x10, 0x47, 0x72, 0x61, 0x70, 0x68, 0x43, 0x6f, 0x6d, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x61, 0x62, 0x6c, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, - 0x61, 0x62, 0x6c, 0x65, 0x12, 0x31, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x42, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x73, - 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0d, 0x69, 0x73, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, - 0x12, 0x39, 0x0a, 0x15, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x02, 0x52, 0x15, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, - 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0e, 0x61, - 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0e, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x45, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0f, 0x64, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x04, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, - 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, 0x1b, 0x68, 0x61, 0x73, 0x4d, 0x75, - 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x53, 0x75, 0x62, - 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x1b, - 0x68, 0x61, 0x73, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x64, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, - 0x0a, 0x17, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x65, 0x64, 0x42, 0x79, 0x53, 0x75, 0x62, - 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x06, 0x52, 0x17, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x65, 0x64, 0x42, 0x79, 0x53, 0x75, - 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x97, 0x06, 0x0a, 0x10, 0x47, 0x72, 0x61, 0x70, 0x68, + 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x73, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x43, 0x6f, 0x6d, + 0x70, 0x6f, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x31, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, + 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, + 0x0d, 0x69, 0x73, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x12, 0x39, 0x0a, 0x15, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x02, 0x52, 0x15, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2b, + 0x0a, 0x0e, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0e, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0f, 0x64, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, 0x1b, 0x68, 0x61, + 0x73, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, + 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x05, 0x52, 0x1b, 0x68, 0x61, 0x73, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x43, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x64, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x3d, 0x0a, 0x17, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x65, 0x64, 0x42, 0x79, + 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x06, 0x52, 0x17, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x65, 0x64, 0x42, + 0x79, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x35, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x57, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, + 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x73, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x63, 0x6f, 0x6d, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x42, 0x0c, 0x0a, + 0x0a, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x42, 0x18, 0x0a, 0x16, 0x5f, + 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x69, 0x67, 0x6e, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x1e, 0x0a, 0x1c, + 0x5f, 0x68, 0x61, 0x73, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x64, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x42, 0x1a, 0x0a, 0x18, + 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x65, 0x64, 0x42, 0x79, 0x53, 0x75, 0x62, 0x67, + 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x63, 0x6f, 0x6d, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, + 0x22, 0xd3, 0x01, 0x0a, 0x18, 0x47, 0x72, 0x61, 0x70, 0x68, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x28, 0x0a, + 0x0f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x69, 0x73, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x73, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x75, + 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x88, 0x02, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x43, 0x6f, + 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, + 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, + 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x66, 0x66, + 0x73, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x46, 0x0a, 0x1e, 0x65, 0x78, 0x63, + 0x6c, 0x75, 0x64, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x43, + 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x1e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x46, 0x6c, 0x61, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x22, 0xb7, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, + 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, + 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x26, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x43, 0x6f, 0x6d, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x62, 0x0a, 0x1c, 0x47, + 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x63, + 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, + 0xdf, 0x04, 0x0a, 0x16, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x43, + 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x43, 0x6f, 0x6d, 0x70, + 0x6f, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x31, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x15, + 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x69, 0x67, 0x6e, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x15, 0x72, + 0x6f, 0x75, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0e, 0x61, 0x64, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x03, 0x52, 0x0e, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, + 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, + 0x61, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x66, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x13, 0x63, 0x6f, + 0x69, 0x6e, 0x67, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x63, @@ -26920,898 +27040,723 @@ var file_wg_cosmo_platform_v1_platform_proto_rawDesc = []byte{ 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x68, 0x61, - 0x73, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, - 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x65, 0x64, 0x42, 0x79, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, - 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x22, 0xd3, 0x01, - 0x0a, 0x18, 0x47, 0x72, 0x61, 0x70, 0x68, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x69, 0x73, 0x46, 0x65, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x11, 0x69, 0x73, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, - 0x61, 0x70, 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x22, 0x88, 0x02, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, - 0x0a, 0x0c, 0x66, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, - 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, - 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x46, 0x0a, 0x1e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, - 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x43, 0x6f, 0x6d, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1e, - 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, - 0x61, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xb7, - 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, - 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x77, - 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x62, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x43, - 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1c, - 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xdf, 0x04, 0x0a, - 0x16, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x43, 0x6f, 0x6d, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, - 0x22, 0x0a, 0x0c, 0x69, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x61, - 0x62, 0x6c, 0x65, 0x12, 0x31, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x42, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x15, 0x72, 0x6f, 0x75, - 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x15, 0x72, 0x6f, 0x75, 0x74, - 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0e, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0e, - 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, - 0x01, 0x12, 0x2d, 0x0a, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, - 0x72, 0x72, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0f, 0x64, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, - 0x12, 0x28, 0x0a, 0x0f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x66, 0x65, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x13, 0x63, 0x6f, + 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x88, 0x01, - 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x42, 0x79, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, - 0x11, 0x0a, 0x0f, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x22, 0xb9, - 0x03, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x0b, - 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x26, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x43, 0x6f, - 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x62, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x61, 0x70, - 0x68, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x67, - 0x72, 0x61, 0x70, 0x68, 0x52, 0x14, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x12, 0x46, 0x0a, 0x0c, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x22, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x73, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x73, 0x12, 0x66, 0x0a, 0x17, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, - 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x17, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x43, 0x6f, - 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x65, 0x0a, 0x1c, 0x47, 0x65, - 0x74, 0x53, 0x64, 0x6c, 0x42, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, - 0x64, 0x22, 0x92, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x53, 0x64, 0x6c, 0x42, 0x79, 0x53, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x73, 0x22, 0xb9, 0x03, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x10, 0x0a, 0x03, 0x73, 0x64, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x64, - 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x4e, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x42, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x0f, - 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xb4, 0x01, 0x0a, 0x23, 0x47, 0x65, 0x74, 0x43, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x42, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, - 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x09, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, - 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, - 0x61, 0x70, 0x68, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x4f, 0x75, 0x74, 0x70, - 0x75, 0x74, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x22, 0x23, 0x0a, - 0x21, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, - 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x22, 0xff, 0x02, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, - 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0f, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, - 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x0f, - 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x73, 0x12, - 0x5c, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, + 0x48, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x61, 0x70, + 0x68, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x63, 0x6f, + 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x62, 0x0a, 0x14, 0x63, 0x6f, 0x6d, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x72, 0x61, 0x70, 0x68, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x14, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x12, 0x46, 0x0a, + 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x66, 0x0a, 0x17, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x46, 0x6c, 0x61, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x17, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, + 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x65, 0x0a, + 0x1c, 0x47, 0x65, 0x74, 0x53, 0x64, 0x6c, 0x42, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, + 0x0f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x49, 0x64, 0x22, 0x92, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x53, 0x64, 0x6c, 0x42, + 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x64, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x73, 0x64, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x4e, 0x0a, 0x22, 0x47, 0x65, 0x74, + 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x42, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x28, 0x0a, 0x0f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xb4, 0x01, 0x0a, 0x23, 0x47, 0x65, + 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x42, 0x79, 0x53, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, + 0x09, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x33, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x4f, + 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, + 0x22, 0x23, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x69, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xff, 0x02, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x47, 0x72, 0x61, - 0x70, 0x68, 0x52, 0x09, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x1a, 0x55, 0x0a, - 0x05, 0x47, 0x72, 0x61, 0x70, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x22, 0x73, 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x3b, 0x0a, 0x09, - 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x1d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x09, - 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x22, 0x5b, 0x0a, 0x1d, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, - 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7a, 0x0a, 0x18, 0x41, 0x64, 0x64, 0x53, 0x75, 0x62, - 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, - 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x45, 0x6d, - 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x45, - 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x22, 0x57, 0x0a, 0x19, 0x41, 0x64, 0x64, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, - 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8b, 0x01, 0x0a, 0x1b, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x73, - 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x2a, 0x0a, 0x10, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x75, 0x62, 0x67, 0x72, - 0x61, 0x70, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x5a, 0x0a, 0x1c, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, - 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5d, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x67, - 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, - 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x22, 0x6a, 0x0a, 0x0e, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, - 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, - 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, - 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, - 0x22, 0x98, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x07, 0x6d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x77, - 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x22, 0x68, 0x0a, 0x10, 0x41, - 0x64, 0x64, 0x52, 0x65, 0x61, 0x64, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1e, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x64, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x72, 0x65, 0x61, 0x64, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0f, 0x66, 0x65, 0x64, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x3e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x47, 0x72, 0x61, 0x70, + 0x68, 0x52, 0x0f, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, + 0x68, 0x73, 0x12, 0x5c, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, + 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x09, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, + 0x1a, 0x55, 0x0a, 0x05, 0x47, 0x72, 0x61, 0x70, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x73, 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, + 0x3b, 0x0a, 0x09, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x52, 0x09, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x22, 0x5b, 0x0a, 0x1d, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, + 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, + 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7a, 0x0a, 0x18, 0x41, 0x64, 0x64, + 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, + 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, + 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x73, 0x65, + 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, + 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x4f, 0x0a, 0x11, 0x41, 0x64, 0x64, 0x52, 0x65, 0x61, 0x64, - 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, - 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xce, 0x04, 0x0a, 0x06, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, - 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x75, 0x70, 0x74, 0x69, 0x6d, - 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x30, 0x0a, - 0x13, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x55, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x63, - 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x55, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, - 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x13, 0x6f, 0x6e, 0x4c, 0x61, 0x74, 0x65, 0x73, - 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x13, 0x6f, 0x6e, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, - 0x73, 0x73, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x63, - 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x55, - 0x73, 0x61, 0x67, 0x65, 0x4d, 0x62, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x6d, 0x65, - 0x6d, 0x6f, 0x72, 0x79, 0x55, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x62, 0x12, 0x3a, 0x0a, 0x18, 0x6d, - 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x55, 0x73, 0x61, 0x67, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x18, 0x6d, - 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x55, 0x73, 0x61, 0x67, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x70, 0x75, 0x55, 0x73, - 0x61, 0x67, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x0f, 0x63, 0x70, 0x75, 0x55, 0x73, 0x61, 0x67, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, - 0x74, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x70, 0x75, 0x55, 0x73, 0x61, 0x67, 0x65, 0x43, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x15, 0x63, 0x70, 0x75, 0x55, 0x73, 0x61, 0x67, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x22, 0x55, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x52, 0x6f, - 0x75, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, - 0x66, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x88, - 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x36, 0x0a, 0x07, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, - 0x52, 0x07, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x22, 0xb8, 0x01, 0x0a, 0x0a, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6c, 0x61, - 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x12, 0x24, - 0x0a, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x42, 0x79, 0x22, 0x55, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x65, 0x64, - 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x66, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, - 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x8c, 0x01, 0x0a, 0x12, - 0x47, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x57, 0x0a, 0x19, 0x41, 0x64, 0x64, 0x53, 0x75, 0x62, 0x67, + 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, - 0x0a, 0x07, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x07, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x82, 0x03, 0x0a, 0x14, 0x47, - 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x54, 0x79, - 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x6e, - 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x19, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, - 0x48, 0x03, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x09, - 0x64, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, - 0x52, 0x09, 0x64, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x2f, 0x0a, 0x11, 0x66, 0x65, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, - 0x6c, 0x61, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, - 0x08, 0x0a, 0x06, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x66, 0x65, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, - 0xe5, 0x01, 0x0a, 0x14, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x57, 0x69, 0x74, 0x68, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x54, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x77, 0x67, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x57, 0x69, 0x74, 0x68, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x49, 0x0a, 0x09, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, - 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x95, 0x01, 0x0a, 0x0e, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x55, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x75, - 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0b, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x49, 0x64, 0x73, 0x12, 0x2e, 0x0a, - 0x12, 0x66, 0x69, 0x72, 0x73, 0x74, 0x53, 0x65, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x66, 0x69, 0x72, 0x73, 0x74, - 0x53, 0x65, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x30, 0x0a, - 0x13, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x65, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6c, 0x61, 0x74, 0x65, - 0x73, 0x74, 0x53, 0x65, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, - 0xa3, 0x02, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x55, 0x73, 0x61, 0x67, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, - 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, - 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x69, - 0x65, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, - 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x07, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x57, 0x69, 0x74, 0x68, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x07, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x38, 0x0a, 0x04, 0x6d, - 0x65, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x77, 0x67, 0x2e, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, - 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x55, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x52, - 0x04, 0x6d, 0x65, 0x74, 0x61, 0x22, 0xd7, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x12, 0x29, - 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x64, 0x6f, - 0x77, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x11, - 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, - 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0d, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x65, 0x22, - 0x56, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb2, 0x01, 0x0a, 0x1e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, - 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, - 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x29, - 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x64, 0x6f, - 0x77, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4a, 0x73, 0x6f, 0x6e, 0x22, 0x5d, 0x0a, 0x1f, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x0a, 0x1e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, - 0x0d, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, - 0x64, 0x22, 0x5d, 0x0a, 0x1f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x69, 0x73, 0x63, 0x75, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x8d, 0x01, 0x0a, 0x18, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x44, 0x69, 0x73, 0x63, - 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, - 0x0d, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x61, - 0x72, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x21, 0x0a, - 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4a, 0x73, 0x6f, 0x6e, - 0x22, 0x57, 0x0a, 0x19, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x44, 0x69, 0x73, 0x63, 0x75, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, + 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8b, + 0x01, 0x0a, 0x1b, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, + 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, + 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x75, + 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, + 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x5a, 0x0a, 0x1c, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5d, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x53, + 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, + 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, + 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x6a, 0x0a, 0x0e, 0x53, 0x75, 0x62, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, + 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x75, 0x62, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x10, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x49, 0x64, 0x22, 0x98, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, + 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x22, 0x68, + 0x0a, 0x10, 0x41, 0x64, 0x64, 0x52, 0x65, 0x61, 0x64, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x64, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x64, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x4f, 0x0a, 0x11, 0x41, 0x64, 0x64, 0x52, + 0x65, 0x61, 0x64, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, - 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7e, 0x0a, 0x18, 0x47, 0x65, 0x74, - 0x41, 0x6c, 0x6c, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x11, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x0f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x22, 0xfe, 0x01, 0x0a, 0x0a, 0x44, 0x69, - 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, - 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6c, - 0x69, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x72, 0x65, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x4f, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x6e, - 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x27, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x6f, 0x70, 0x65, 0x6e, 0x69, - 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, - 0x69, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x22, 0xea, 0x01, 0x0a, 0x11, 0x44, - 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4a, - 0x73, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, - 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, - 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, - 0x69, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x22, 0x9b, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, - 0x6c, 0x6c, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, + 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xce, 0x04, 0x0a, 0x06, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x11, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x75, 0x70, + 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, + 0x12, 0x30, 0x0a, 0x13, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x55, 0x70, 0x74, 0x69, 0x6d, 0x65, + 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x55, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, + 0x64, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x13, 0x6f, 0x6e, 0x4c, 0x61, + 0x74, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x6f, 0x6e, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x43, + 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, + 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, + 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x65, 0x6d, 0x6f, + 0x72, 0x79, 0x55, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x62, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x0d, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x55, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x62, 0x12, 0x3a, + 0x0a, 0x18, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x55, 0x73, 0x61, 0x67, 0x65, 0x43, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x18, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x55, 0x73, 0x61, 0x67, 0x65, 0x43, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x70, + 0x75, 0x55, 0x73, 0x61, 0x67, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x0f, 0x63, 0x70, 0x75, 0x55, 0x73, 0x61, 0x67, 0x65, 0x50, 0x65, 0x72, + 0x63, 0x65, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x70, 0x75, 0x55, 0x73, 0x61, 0x67, 0x65, + 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x0e, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x15, 0x63, 0x70, 0x75, 0x55, 0x73, 0x61, 0x67, 0x65, 0x43, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x22, 0x55, 0x0a, 0x11, 0x47, 0x65, + 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x22, 0x0a, 0x0c, 0x66, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x22, 0x88, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x72, 0x52, 0x07, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x22, 0xb8, 0x01, 0x0a, + 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x24, 0x0a, + 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, + 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, + 0x42, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x22, 0x55, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, + 0x66, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x8c, + 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x42, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, - 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x3b, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, - 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, - 0x0d, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x22, 0xda, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, + 0x65, 0x12, 0x3a, 0x0a, 0x07, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x82, 0x03, + 0x0a, 0x14, 0x47, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x72, 0x61, 0x70, + 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x54, 0x79, + 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, + 0x64, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x74, 0x79, + 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x66, 0x69, 0x65, + 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x05, 0x48, 0x03, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x3d, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x52, 0x09, 0x64, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x2f, 0x0a, 0x11, + 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0f, 0x66, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, + 0x0a, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x66, 0x69, 0x65, + 0x6c, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x14, 0x0a, 0x12, + 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x22, 0xe5, 0x01, 0x0a, 0x14, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x57, 0x69, 0x74, + 0x68, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x54, 0x0a, 0x0a, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, + 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x57, 0x69, 0x74, 0x68, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, + 0x49, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, + 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x95, 0x01, 0x0a, 0x0e, 0x46, + 0x69, 0x65, 0x6c, 0x64, 0x55, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x21, 0x0a, + 0x0c, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x49, 0x64, 0x73, + 0x12, 0x2e, 0x0a, 0x12, 0x66, 0x69, 0x72, 0x73, 0x74, 0x53, 0x65, 0x65, 0x6e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x66, 0x69, + 0x72, 0x73, 0x74, 0x53, 0x65, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x12, 0x30, 0x0a, 0x13, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x65, 0x65, 0x6e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6c, + 0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x65, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x22, 0xa3, 0x02, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x55, + 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x0a, 0x64, 0x69, 0x73, 0x63, - 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x77, - 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, - 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x08, 0x63, 0x6f, - 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x77, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x27, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, + 0x65, 0x72, 0x69, 0x65, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x07, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x57, 0x69, 0x74, 0x68, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x38, + 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, - 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, - 0x42, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, - 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x22, 0xf1, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x75, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x54, 0x0a, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x3a, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, - 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x07, 0x73, - 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x1a, 0x3f, 0x0a, 0x07, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x22, 0x66, 0x0a, 0x1e, 0x53, 0x65, 0x74, 0x44, 0x69, - 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x73, - 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1f, - 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x22, - 0x5d, 0x0a, 0x1f, 0x53, 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x55, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, + 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x22, 0xd7, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, + 0x64, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x72, + 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x21, 0x0a, 0x0c, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4a, 0x73, 0x6f, 0x6e, 0x12, + 0x2a, 0x0a, 0x11, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0d, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4c, 0x69, + 0x6e, 0x65, 0x22, 0x56, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, 0x63, + 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, + 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb2, 0x01, 0x0a, 0x1e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, + 0x0d, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, + 0x64, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x72, + 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x21, 0x0a, 0x0c, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4a, 0x73, 0x6f, 0x6e, 0x22, + 0x5d, 0x0a, 0x1f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, - 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x55, 0x0a, 0x17, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, + 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, + 0x0a, 0x1e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x74, 0x49, 0x64, 0x22, 0x5d, 0x0a, 0x1f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x69, + 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x22, 0x55, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x0a, 0x16, 0x52, 0x65, 0x6e, 0x61, - 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x65, 0x77, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x4e, 0x61, 0x6d, - 0x65, 0x22, 0x55, 0x0a, 0x17, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0x0a, 0x09, 0x4e, 0x61, 0x6d, 0x65, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x16, 0x0a, 0x14, 0x47, 0x65, 0x74, - 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x22, 0x94, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x77, 0x67, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, - 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x0a, 0x6e, 0x61, - 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x22, 0x69, 0x0a, 0x10, 0x4d, 0x6f, 0x76, 0x65, - 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x23, - 0x0a, 0x0d, 0x6e, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x65, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x22, 0xd4, 0x02, 0x0a, 0x11, 0x4d, 0x6f, 0x76, 0x65, 0x47, 0x72, 0x61, 0x70, - 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, - 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x26, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x51, 0x0a, 0x10, 0x64, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x10, 0x64, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x5a, - 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x77, 0x67, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, - 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, - 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x3d, 0x0a, 0x1d, 0x47, 0x65, - 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x74, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xbe, 0x01, 0x0a, 0x1e, 0x47, 0x65, - 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x74, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x6c, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0d, 0x6c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x3a, - 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x22, 0x69, 0x0a, 0x23, 0x45, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x54, 0x68, - 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, - 0x24, 0x0a, 0x0d, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x6e, 0x74, 0x69, 0x6e, 0x67, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x69, - 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x62, 0x0a, 0x24, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4c, - 0x69, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x54, 0x68, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, - 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, - 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x72, 0x0a, 0x0a, 0x4c, 0x69, 0x6e, - 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x75, 0x6c, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x75, 0x6c, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x0d, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x4c, - 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x77, 0x67, 0x2e, + 0x6e, 0x73, 0x65, 0x22, 0x8d, 0x01, 0x0a, 0x18, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x44, + 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x64, 0x6f, 0x77, 0x6e, + 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4a, + 0x73, 0x6f, 0x6e, 0x22, 0x57, 0x0a, 0x19, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x44, 0x69, + 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7e, 0x0a, 0x18, + 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x11, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x0f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x22, 0xfe, 0x01, 0x0a, + 0x0a, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x73, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x4f, 0x0a, 0x0e, 0x6f, + 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x75, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x6f, 0x70, + 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, + 0x69, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x22, 0xea, 0x01, + 0x0a, 0x11, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6a, + 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x62, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, + 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, + 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x22, 0x9b, 0x01, 0x0a, 0x19, 0x47, + 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, - 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x74, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x52, 0x0d, - 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x7f, 0x0a, - 0x23, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x12, 0x3a, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x74, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x22, 0x62, - 0x0a, 0x24, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x69, 0x0a, 0x19, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x47, 0x72, 0x61, 0x70, - 0x68, 0x50, 0x72, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x2e, 0x0a, - 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x50, 0x72, 0x75, 0x6e, - 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x50, 0x72, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x58, 0x0a, - 0x1a, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x50, 0x72, 0x75, 0x6e, - 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x92, 0x02, 0x0a, 0x12, 0x47, 0x72, 0x61, 0x70, - 0x68, 0x50, 0x72, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, - 0x0a, 0x08, 0x72, 0x75, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x72, 0x75, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x0d, 0x73, 0x65, - 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x22, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x74, 0x53, 0x65, 0x76, - 0x65, 0x72, 0x69, 0x74, 0x79, 0x52, 0x0d, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x4c, - 0x65, 0x76, 0x65, 0x6c, 0x12, 0x2c, 0x0a, 0x11, 0x67, 0x72, 0x61, 0x63, 0x65, 0x50, 0x65, 0x72, - 0x69, 0x6f, 0x64, 0x49, 0x6e, 0x44, 0x61, 0x79, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x11, 0x67, 0x72, 0x61, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x49, 0x6e, 0x44, 0x61, - 0x79, 0x73, 0x12, 0x47, 0x0a, 0x1c, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x55, 0x73, 0x61, 0x67, - 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x49, 0x6e, 0x44, 0x61, - 0x79, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x1c, 0x73, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x55, 0x73, 0x61, 0x67, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x69, - 0x6f, 0x64, 0x49, 0x6e, 0x44, 0x61, 0x79, 0x73, 0x88, 0x01, 0x01, 0x42, 0x1f, 0x0a, 0x1d, 0x5f, - 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x55, 0x73, 0x61, 0x67, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, - 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x49, 0x6e, 0x44, 0x61, 0x79, 0x73, 0x22, 0x8f, 0x01, 0x0a, - 0x2b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x50, 0x72, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x42, 0x0a, 0x07, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x77, 0x67, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x50, 0x72, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x22, 0x6a, - 0x0a, 0x2c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x50, 0x72, 0x75, 0x6e, 0x69, 0x6e, 0x67, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, + 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x64, 0x69, 0x73, + 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x3b, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x44, + 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xda, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, + 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x0a, 0x64, + 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, + 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x22, 0x42, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xf1, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x44, 0x69, + 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, + 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, + 0x52, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x1a, 0x3f, 0x0a, 0x07, 0x53, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x22, 0x66, 0x0a, 0x1e, 0x53, 0x65, + 0x74, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x6c, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, + 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, + 0x65, 0x64, 0x22, 0x5d, 0x0a, 0x1f, 0x53, 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x2c, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, + 0x55, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, + 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x55, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x0a, 0x16, 0x52, + 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x65, 0x77, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x77, + 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x55, 0x0a, 0x17, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0x0a, 0x09, 0x4e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x16, 0x0a, 0x14, + 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x22, 0x94, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0x0a, 0x25, 0x47, 0x65, - 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x50, - 0x72, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x22, 0xd8, 0x01, 0x0a, 0x26, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x50, 0x72, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, + 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, + 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, + 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x22, 0x69, 0x0a, 0x10, 0x4d, + 0x6f, 0x76, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x65, 0x77, 0x4e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xd4, 0x02, 0x0a, 0x11, 0x4d, 0x6f, 0x76, 0x65, 0x47, + 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x67, 0x72, 0x61, 0x70, - 0x68, 0x50, 0x72, 0x75, 0x6e, 0x65, 0x72, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x67, 0x72, 0x61, 0x70, 0x68, 0x50, 0x72, 0x75, 0x6e, 0x65, - 0x72, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x42, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x77, 0x67, 0x2e, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, - 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x50, 0x72, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x22, 0x4b, 0x0a, 0x17, - 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x56, 0x0a, 0x18, 0x4d, 0x69, 0x67, - 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x25, 0x0a, 0x23, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x44, 0x0a, 0x0a, 0x50, 0x65, 0x72, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xa6, - 0x01, 0x0a, 0x24, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x11, 0x63, 0x6f, 0x6d, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x51, + 0x0a, 0x10, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x94, 0x03, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x72, - 0x61, 0x70, 0x68, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x1f, 0x0a, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x55, 0x72, 0x6c, - 0x12, 0x32, 0x0a, 0x15, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x77, 0x65, - 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x13, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, - 0x6b, 0x55, 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, - 0x74, 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x78, 0x63, 0x6c, - 0x75, 0x64, 0x65, 0x54, 0x61, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x64, 0x6d, - 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x61, 0x64, 0x6d, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x18, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x5f, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x16, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, - 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, - 0x61, 0x67, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x63, 0x6c, 0x75, - 0x64, 0x65, 0x54, 0x61, 0x67, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x6d, - 0x65, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, - 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0xd9, - 0x02, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, + 0x10, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x73, 0x12, 0x5a, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x3d, 0x0a, + 0x1d, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4c, 0x69, 0x6e, + 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, + 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xbe, 0x01, 0x0a, + 0x1e, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4c, 0x69, 0x6e, + 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x6c, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0d, 0x6c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x12, 0x3a, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x74, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x22, 0x69, 0x0a, + 0x23, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x46, 0x6f, + 0x72, 0x54, 0x68, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x6e, 0x74, + 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x4c, 0x69, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x62, 0x0a, 0x24, 0x45, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x4c, 0x69, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x54, 0x68, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x72, 0x0a, 0x0a, + 0x4c, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x75, + 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x75, + 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x0d, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, + 0x74, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, + 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x74, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, + 0x79, 0x52, 0x0d, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, + 0x22, 0x7f, 0x0a, 0x23, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x3a, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x73, 0x22, 0x62, 0x0a, 0x24, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x26, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x51, 0x0a, 0x10, 0x64, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x10, 0x64, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x5a, - 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x77, 0x67, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, - 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, - 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x8f, 0x01, 0x0a, 0x15, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, - 0x65, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x78, - 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x61, 0x67, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x63, - 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0b, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x61, 0x67, 0x73, 0x22, 0xd9, 0x02, 0x0a, - 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x69, 0x0a, 0x19, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x47, + 0x72, 0x61, 0x70, 0x68, 0x50, 0x72, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x12, 0x2e, 0x0a, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x50, + 0x72, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x50, 0x72, 0x75, 0x6e, 0x69, 0x6e, 0x67, + 0x22, 0x58, 0x0a, 0x1a, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x50, + 0x72, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, + 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x92, 0x02, 0x0a, 0x12, 0x47, + 0x72, 0x61, 0x70, 0x68, 0x50, 0x72, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x75, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x75, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x48, 0x0a, + 0x0d, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x74, + 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x52, 0x0d, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, + 0x74, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x2c, 0x0a, 0x11, 0x67, 0x72, 0x61, 0x63, 0x65, + 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x49, 0x6e, 0x44, 0x61, 0x79, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x11, 0x67, 0x72, 0x61, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x49, + 0x6e, 0x44, 0x61, 0x79, 0x73, 0x12, 0x47, 0x0a, 0x1c, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x55, + 0x73, 0x61, 0x67, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x49, + 0x6e, 0x44, 0x61, 0x79, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x1c, 0x73, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x55, 0x73, 0x61, 0x67, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, + 0x65, 0x72, 0x69, 0x6f, 0x64, 0x49, 0x6e, 0x44, 0x61, 0x79, 0x73, 0x88, 0x01, 0x01, 0x42, 0x1f, + 0x0a, 0x1d, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x55, 0x73, 0x61, 0x67, 0x65, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x49, 0x6e, 0x44, 0x61, 0x79, 0x73, 0x22, + 0x8f, 0x01, 0x0a, 0x2b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x50, 0x72, 0x75, 0x6e, 0x69, + 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x42, 0x0a, + 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x51, 0x0a, 0x10, 0x64, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x10, 0x64, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x5a, 0x0a, 0x13, - 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x77, 0x67, 0x2e, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, - 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x1d, 0x0a, 0x1b, 0x49, 0x73, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xa2, 0x01, 0x0a, 0x1c, 0x49, 0x73, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x50, 0x72, 0x75, 0x6e, 0x69, + 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x73, 0x22, 0x6a, 0x0a, 0x2c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x50, 0x72, 0x75, 0x6e, + 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0x0a, + 0x25, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x47, 0x72, 0x61, + 0x70, 0x68, 0x50, 0x72, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x22, 0xd8, 0x01, 0x0a, 0x26, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x50, 0x72, 0x75, 0x6e, 0x69, 0x6e, + 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x67, + 0x72, 0x61, 0x70, 0x68, 0x50, 0x72, 0x75, 0x6e, 0x65, 0x72, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x67, 0x72, 0x61, 0x70, 0x68, 0x50, 0x72, + 0x75, 0x6e, 0x65, 0x72, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x42, 0x0a, 0x07, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x77, + 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x50, 0x72, 0x75, 0x6e, 0x69, 0x6e, 0x67, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x22, + 0x4b, 0x0a, 0x17, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x6f, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x56, 0x0a, 0x18, + 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x72, 0x65, - 0x61, 0x63, 0x68, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x52, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x13, 0x0a, 0x11, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x22, 0x50, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0xd6, 0x01, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, - 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x66, 0x65, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1d, 0x0a, - 0x0a, 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x09, 0x69, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xde, 0x02, 0x0a, - 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, - 0x61, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x0a, 0x23, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x44, 0x0a, 0x0a, 0x50, + 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x22, 0xa6, 0x01, 0x0a, 0x24, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x52, 0x0a, - 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x72, 0x72, 0x6f, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x77, 0x67, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, + 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x94, 0x03, 0x0a, 0x15, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x75, 0x72, + 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, + 0x55, 0x72, 0x6c, 0x12, 0x32, 0x0a, 0x15, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x5f, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x13, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, + 0x68, 0x6f, 0x6f, 0x6b, 0x55, 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x78, 0x63, 0x6c, 0x75, + 0x64, 0x65, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x65, + 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x61, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x06, 0x72, 0x65, + 0x61, 0x64, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, + 0x61, 0x64, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x18, 0x61, 0x64, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x5f, 0x73, 0x65, 0x63, + 0x72, 0x65, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x16, 0x61, 0x64, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x53, 0x65, 0x63, + 0x72, 0x65, 0x74, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, + 0x65, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, + 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x61, 0x67, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, + 0x61, 0x64, 0x6d, 0x65, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x5f, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, + 0x74, 0x22, 0xd9, 0x02, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x11, 0x63, 0x6f, 0x6d, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x51, + 0x0a, 0x10, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, @@ -27821,33 +27766,28 @@ var file_wg_cosmo_platform_v1_platform_proto_rawDesc = []byte{ 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x22, 0xda, 0x01, - 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, - 0x6c, 0x61, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, - 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x33, 0x0a, 0x06, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x77, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x8f, 0x01, + 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x78, 0x63, + 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0b, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x61, 0x67, 0x73, 0x12, 0x21, 0x0a, 0x0c, + 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x61, 0x67, 0x73, 0x22, + 0xd9, 0x02, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, - 0x73, 0x12, 0x34, 0x0a, 0x16, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x75, 0x62, - 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x14, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, - 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x6e, 0x73, 0x65, 0x74, - 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x75, - 0x6e, 0x73, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x22, 0xde, 0x02, 0x0a, 0x19, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x26, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x52, 0x0a, 0x11, 0x64, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x26, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x51, 0x0a, 0x10, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x10, 0x64, @@ -27857,1565 +27797,1655 @@ var file_wg_cosmo_platform_v1_platform_proto_rawDesc = []byte{ 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x66, 0x0a, 0x18, 0x45, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x22, 0x94, 0x03, 0x0a, 0x19, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x65, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, - 0x12, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x1d, 0x0a, 0x1b, 0x49, + 0x73, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x61, 0x63, + 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xa2, 0x01, 0x0a, 0x1c, 0x49, + 0x73, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x61, 0x63, + 0x68, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x5f, 0x72, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, + 0x13, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x22, 0x50, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, + 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd6, 0x01, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x66, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x73, + 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, + 0xde, 0x02, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, + 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, + 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x12, 0x63, 0x6f, 0x6d, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x11, 0x63, + 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, + 0x12, 0x52, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x77, 0x67, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x52, 0x10, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x73, 0x12, 0x5a, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x28, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x13, 0x63, 0x6f, 0x6d, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, + 0x22, 0xda, 0x01, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, + 0x33, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x06, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, + 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x75, 0x62, + 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x6e, + 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0b, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x22, 0xde, 0x02, + 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, + 0x6c, 0x61, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x11, 0x63, 0x6f, 0x6d, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x52, + 0x0a, 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, - 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x73, 0x12, 0x52, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x25, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x10, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x24, 0x0a, 0x0b, 0x68, 0x61, 0x73, 0x5f, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, - 0x0a, 0x68, 0x61, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x5a, - 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x77, 0x67, + 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x52, 0x10, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x73, 0x12, 0x5a, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x28, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x66, + 0x0a, 0x18, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, + 0x6c, 0x61, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x94, 0x03, 0x0a, 0x19, 0x45, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x55, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x77, + 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, + 0x72, 0x72, 0x6f, 0x72, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x52, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x10, 0x64, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x24, 0x0a, 0x0b, 0x68, + 0x61, 0x73, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x00, 0x52, 0x0a, 0x68, 0x61, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x5a, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x0e, 0x0a, + 0x0c, 0x5f, 0x68, 0x61, 0x73, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x22, 0x4c, 0x0a, + 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, + 0x61, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xde, 0x02, 0x0a, 0x19, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, + 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, - 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, - 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x68, - 0x61, 0x73, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x22, 0x4c, 0x0a, 0x18, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, - 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xde, 0x02, 0x0a, 0x19, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x65, + 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x26, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x52, 0x0a, 0x11, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x10, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, + 0x12, 0x5a, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x57, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, + 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x80, 0x02, 0x0a, + 0x0b, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x33, + 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, + 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x06, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, + 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, + 0x89, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, + 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x88, 0x01, + 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0xbe, 0x01, 0x0a, 0x17, + 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0d, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x66, + 0x6c, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x77, 0x67, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x0c, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x4f, 0x0a, 0x1b, + 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x42, 0x79, + 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xe4, 0x03, + 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, + 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, + 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0c, 0x66, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x21, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, + 0x6c, 0x61, 0x67, 0x52, 0x0b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, + 0x12, 0x6e, 0x0a, 0x10, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x77, 0x67, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, + 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x46, + 0x66, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, + 0x0f, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x73, + 0x12, 0x4b, 0x0a, 0x11, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x67, + 0x72, 0x61, 0x70, 0x68, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x10, 0x66, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x1a, 0x84, 0x01, + 0x0a, 0x10, 0x46, 0x66, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, + 0x70, 0x68, 0x12, 0x4d, 0x0a, 0x0f, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x67, 0x72, 0x61, 0x70, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x77, 0x67, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, + 0x68, 0x52, 0x0e, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, + 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x22, 0x73, 0x0a, 0x27, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x42, 0x79, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x2a, 0x0a, 0x11, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xb3, 0x01, 0x0a, 0x28, 0x47, 0x65, + 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, + 0x73, 0x42, 0x79, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x55, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, - 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x52, 0x0a, 0x11, 0x64, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x10, 0x64, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x5a, 0x0a, - 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x77, 0x67, 0x2e, + 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x11, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x75, + 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x10, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x22, + 0x8d, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x75, + 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, + 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, + 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, + 0xbc, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x75, + 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x11, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, + 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x10, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, + 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xcb, + 0x01, 0x0a, 0x26, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, + 0x67, 0x73, 0x42, 0x79, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, + 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x66, 0x65, 0x64, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x88, + 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0xce, 0x01, 0x0a, + 0x27, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, + 0x42, 0x79, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x80, 0x02, 0x0a, 0x0b, 0x46, 0x65, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, - 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x77, 0x67, + 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0d, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, + 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, - 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x12, 0x1d, - 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, - 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x89, 0x01, 0x0a, - 0x16, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, - 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, - 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x88, 0x01, 0x01, 0x42, 0x08, - 0x0a, 0x06, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0xbe, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, - 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x0c, + 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1f, 0x0a, 0x0b, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xe6, 0x01, + 0x0a, 0x24, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x77, 0x67, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x61, + 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x65, + 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x77, + 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x09, 0x64, + 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x29, 0x0a, 0x0e, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x5f, 0x62, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x0c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x79, 0x54, 0x79, 0x70, 0x65, + 0x88, 0x01, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x62, + 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xc1, 0x05, 0x0a, 0x0f, 0x57, 0x65, 0x62, 0x68, 0x6f, + 0x6f, 0x6b, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x12, 0x0a, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1d, 0x0a, + 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, + 0x2e, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0f, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x35, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, + 0x12, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, + 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x13, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x11, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, + 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x04, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0c, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x88, 0x01, 0x01, 0x12, + 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x65, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, + 0x69, 0x73, 0x5f, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x18, 0x10, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, + 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, + 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x73, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x16, + 0x0a, 0x14, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x22, 0xcb, 0x01, 0x0a, 0x25, 0x47, + 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x65, + 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x46, 0x0a, 0x0d, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x66, 0x6c, 0x61, 0x67, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x0c, 0x66, 0x65, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x4f, 0x0a, 0x1b, 0x47, 0x65, 0x74, - 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x42, 0x79, 0x4e, 0x61, 0x6d, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xe4, 0x03, 0x0a, 0x1c, 0x47, - 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x42, 0x79, 0x4e, - 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, - 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, - 0x52, 0x0b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x6e, 0x0a, - 0x10, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x67, 0x72, 0x61, 0x70, 0x68, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x42, 0x79, 0x4e, - 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x46, 0x66, 0x46, 0x65, - 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x0f, 0x66, 0x65, - 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x73, 0x12, 0x4b, 0x0a, - 0x11, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, - 0x68, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x10, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x1a, 0x84, 0x01, 0x0a, 0x10, 0x46, - 0x66, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x12, - 0x4d, 0x0a, 0x0f, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x67, 0x72, 0x61, - 0x70, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, - 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x0e, - 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x12, 0x21, - 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, - 0x64, 0x22, 0x73, 0x0a, 0x27, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, - 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x42, 0x79, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x11, - 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x46, 0x6c, 0x61, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xb3, 0x01, 0x0a, 0x28, 0x47, 0x65, 0x74, 0x46, 0x65, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x42, 0x79, - 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x4b, 0x0a, 0x11, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x67, 0x72, - 0x61, 0x70, 0x68, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x10, 0x66, 0x65, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x22, 0x8d, 0x01, 0x0a, - 0x1a, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, - 0x61, 0x70, 0x68, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, - 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, - 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x88, - 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0xbc, 0x01, 0x0a, - 0x1b, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, - 0x61, 0x70, 0x68, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x11, 0x66, 0x65, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x67, 0x72, - 0x61, 0x70, 0x68, 0x52, 0x10, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x75, 0x62, 0x67, - 0x72, 0x61, 0x70, 0x68, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xcb, 0x01, 0x0a, 0x26, - 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x42, - 0x79, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, - 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, - 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, - 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x88, 0x01, 0x01, 0x42, - 0x08, 0x0a, 0x06, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0xce, 0x01, 0x0a, 0x27, 0x47, 0x65, - 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x42, 0x79, 0x46, - 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, + 0x12, 0x45, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x68, + 0x6f, 0x6f, 0x6b, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x52, 0x0a, 0x64, 0x65, 0x6c, + 0x69, 0x76, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x29, 0x0a, 0x17, 0x52, 0x65, 0x64, 0x65, + 0x6c, 0x69, 0x76, 0x65, 0x72, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x22, 0x56, 0x0a, 0x18, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, + 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0x0a, 0x20, 0x47, + 0x65, 0x74, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, + 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, + 0xa2, 0x01, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x44, 0x65, + 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x46, 0x0a, 0x0d, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x66, 0x6c, 0x61, - 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, - 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x0c, 0x66, 0x65, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xe6, 0x01, 0x0a, 0x24, 0x47, - 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x65, - 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x61, - 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x77, 0x67, 0x2e, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, - 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x09, 0x64, 0x61, 0x74, 0x65, - 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x29, 0x0a, 0x0e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, - 0x62, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x0c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x79, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, - 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x22, 0xc1, 0x05, 0x0a, 0x0f, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x44, - 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x62, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, - 0x6f, 0x61, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x10, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x14, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, - 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x12, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, - 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x13, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x03, 0x52, 0x11, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x43, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x04, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x62, - 0x6f, 0x64, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0c, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x0b, - 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0a, 0x72, 0x65, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, - 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x5f, - 0x72, 0x65, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0c, 0x69, 0x73, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x42, 0x13, 0x0a, - 0x11, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x73, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x5f, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, - 0x6f, 0x64, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x22, 0xcb, 0x01, 0x0a, 0x25, 0x47, 0x65, 0x74, 0x4f, - 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, - 0x6f, 0x6b, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, - 0x0a, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x25, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, - 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, - 0x72, 0x69, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x29, 0x0a, 0x17, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x69, 0x76, - 0x65, 0x72, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, - 0x22, 0x56, 0x0a, 0x18, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x57, 0x65, 0x62, - 0x68, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x57, - 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0xa2, 0x01, 0x0a, - 0x21, 0x47, 0x65, 0x74, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x44, 0x65, 0x6c, 0x69, 0x76, - 0x65, 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, - 0x0a, 0x08, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x25, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x44, - 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x52, 0x08, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, - 0x79, 0x22, 0x63, 0x0a, 0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x67, - 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x5c, 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x50, 0x6c, 0x61, 0x79, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6c, - 0x61, 0x79, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x5c, 0x0a, 0x1e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, - 0x6c, 0x61, 0x79, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x5f, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, - 0x79, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x22, 0x5c, 0x0a, 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6c, + 0x65, 0x12, 0x41, 0x0a, 0x08, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x68, 0x6f, + 0x6f, 0x6b, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x52, 0x08, 0x64, 0x65, 0x6c, 0x69, + 0x76, 0x65, 0x72, 0x79, 0x22, 0x63, 0x0a, 0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x31, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x67, 0x72, 0x6f, - 0x75, 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x66, 0x0a, 0x10, 0x50, 0x6c, 0x61, 0x79, 0x67, 0x72, 0x6f, - 0x75, 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, - 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x9c, 0x01, - 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x53, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, - 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x07, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x77, 0x67, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x52, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x2a, 0x23, 0x0a, 0x0c, - 0x4c, 0x69, 0x6e, 0x74, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x08, 0x0a, 0x04, - 0x77, 0x61, 0x72, 0x6e, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x10, - 0x01, 0x2a, 0x55, 0x0a, 0x16, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, - 0x65, 0x77, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4e, - 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x48, 0x74, 0x74, 0x70, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x10, 0x03, 0x2a, 0x24, 0x0a, 0x0d, 0x43, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x65, 0x78, - 0x74, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x10, 0x01, 0x2a, 0x7e, - 0x0a, 0x04, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x61, 0x6e, 0x6f, 0x73, - 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x6e, 0x69, 0x78, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x42, - 0x79, 0x74, 0x65, 0x73, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, - 0x6f, 0x64, 0x65, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x72, 0x61, 0x63, 0x65, 0x49, 0x44, - 0x10, 0x06, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x70, 0x61, 0x6e, 0x49, 0x44, 0x10, 0x07, 0x2a, 0xfd, - 0x01, 0x0a, 0x1b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, - 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x0a, - 0x0a, 0x06, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x4f, - 0x54, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x47, 0x52, - 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, - 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x47, - 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x4f, 0x52, 0x5f, 0x45, - 0x51, 0x55, 0x41, 0x4c, 0x10, 0x04, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, - 0x48, 0x41, 0x4e, 0x5f, 0x4f, 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, 0x05, 0x12, 0x0c, - 0x0a, 0x08, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x53, 0x10, 0x06, 0x12, 0x10, 0x0a, 0x0c, - 0x4e, 0x4f, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x53, 0x10, 0x07, 0x12, 0x06, - 0x0a, 0x02, 0x49, 0x4e, 0x10, 0x08, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, - 0x10, 0x09, 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x45, 0x54, 0x57, 0x45, 0x45, 0x4e, 0x10, 0x0a, 0x12, - 0x0f, 0x0a, 0x0b, 0x4e, 0x4f, 0x54, 0x5f, 0x42, 0x45, 0x54, 0x57, 0x45, 0x45, 0x4e, 0x10, 0x0b, - 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x53, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x10, 0x0c, 0x12, 0x0f, 0x0a, - 0x0b, 0x49, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x10, 0x0d, 0x2a, 0x45, - 0x0a, 0x09, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x12, 0x09, 0x0a, 0x05, 0x4e, - 0x45, 0x56, 0x45, 0x52, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x48, 0x49, 0x52, 0x54, 0x59, - 0x5f, 0x44, 0x41, 0x59, 0x53, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x49, 0x58, 0x5f, 0x4d, - 0x4f, 0x4e, 0x54, 0x48, 0x53, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x4e, 0x45, 0x5f, 0x59, - 0x45, 0x41, 0x52, 0x10, 0x03, 0x2a, 0x45, 0x0a, 0x18, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, - 0x65, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x0e, 0x0a, 0x0a, 0x55, 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x44, 0x41, 0x54, 0x45, 0x10, - 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0c, - 0x0a, 0x08, 0x43, 0x4f, 0x4e, 0x46, 0x4c, 0x49, 0x43, 0x54, 0x10, 0x02, 0x2a, 0x1c, 0x0a, 0x0f, - 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x09, 0x0a, 0x05, 0x53, 0x4c, 0x41, 0x43, 0x4b, 0x10, 0x00, 0x2a, 0x25, 0x0a, 0x07, 0x46, 0x65, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x72, 0x62, 0x61, 0x63, 0x10, 0x00, 0x12, - 0x06, 0x0a, 0x02, 0x61, 0x69, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x73, 0x63, 0x69, 0x6d, 0x10, - 0x02, 0x32, 0xfa, 0x8f, 0x01, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x85, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x5c, 0x0a, 0x1e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x12, 0x33, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, - 0x6c, 0x61, 0x79, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x5c, 0x0a, 0x1e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, + 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5f, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x50, 0x6c, 0x61, 0x79, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x5c, 0x0a, 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x50, 0x6c, 0x61, 0x79, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, + 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x66, 0x0a, 0x10, 0x50, 0x6c, 0x61, 0x79, + 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x22, 0x9c, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x67, 0x72, 0x6f, 0x75, + 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, + 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, + 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, + 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x2a, + 0x23, 0x0a, 0x0c, 0x4c, 0x69, 0x6e, 0x74, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, + 0x08, 0x0a, 0x04, 0x77, 0x61, 0x72, 0x6e, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x10, 0x01, 0x2a, 0x55, 0x0a, 0x16, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, + 0x73, 0x56, 0x69, 0x65, 0x77, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x08, + 0x0a, 0x04, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x48, 0x74, 0x74, 0x70, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x10, 0x03, 0x2a, 0x24, 0x0a, 0x0d, 0x43, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x08, 0x0a, 0x04, + 0x54, 0x65, 0x78, 0x74, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x10, + 0x01, 0x2a, 0x7e, 0x0a, 0x04, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x6e, 0x73, + 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x61, + 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x55, + 0x6e, 0x69, 0x78, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x10, 0x02, 0x12, 0x09, + 0x0a, 0x05, 0x42, 0x79, 0x74, 0x65, 0x73, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x6f, 0x64, + 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x72, 0x61, 0x63, + 0x65, 0x49, 0x44, 0x10, 0x06, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x70, 0x61, 0x6e, 0x49, 0x44, 0x10, + 0x07, 0x2a, 0xfd, 0x01, 0x0a, 0x1b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, + 0x69, 0x65, 0x77, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x12, 0x0a, 0x0a, 0x06, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x10, 0x00, 0x12, 0x0e, 0x0a, + 0x0a, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x10, 0x01, 0x12, 0x10, 0x0a, + 0x0c, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x02, 0x12, + 0x0d, 0x0a, 0x09, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x03, 0x12, 0x19, + 0x0a, 0x15, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x4f, + 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, 0x04, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x45, 0x53, + 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x4f, 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, + 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x53, 0x10, 0x06, 0x12, + 0x10, 0x0a, 0x0c, 0x4e, 0x4f, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x53, 0x10, + 0x07, 0x12, 0x06, 0x0a, 0x02, 0x49, 0x4e, 0x10, 0x08, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x4f, 0x54, + 0x5f, 0x49, 0x4e, 0x10, 0x09, 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x45, 0x54, 0x57, 0x45, 0x45, 0x4e, + 0x10, 0x0a, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x4f, 0x54, 0x5f, 0x42, 0x45, 0x54, 0x57, 0x45, 0x45, + 0x4e, 0x10, 0x0b, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x53, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x10, 0x0c, + 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x10, + 0x0d, 0x2a, 0x45, 0x0a, 0x09, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x12, 0x09, + 0x0a, 0x05, 0x4e, 0x45, 0x56, 0x45, 0x52, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x48, 0x49, + 0x52, 0x54, 0x59, 0x5f, 0x44, 0x41, 0x59, 0x53, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x49, + 0x58, 0x5f, 0x4d, 0x4f, 0x4e, 0x54, 0x48, 0x53, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x4e, + 0x45, 0x5f, 0x59, 0x45, 0x41, 0x52, 0x10, 0x03, 0x2a, 0x45, 0x0a, 0x18, 0x50, 0x75, 0x62, 0x6c, + 0x69, 0x73, 0x68, 0x65, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x0a, 0x55, 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x44, 0x41, + 0x54, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, + 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x4f, 0x4e, 0x46, 0x4c, 0x49, 0x43, 0x54, 0x10, 0x02, 0x2a, + 0x1c, 0x0a, 0x0f, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x4c, 0x41, 0x43, 0x4b, 0x10, 0x00, 0x2a, 0x25, 0x0a, + 0x07, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x72, 0x62, 0x61, 0x63, + 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x61, 0x69, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x73, 0x63, + 0x69, 0x6d, 0x10, 0x02, 0x32, 0xfa, 0x8f, 0x01, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x85, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x85, - 0x01, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x67, 0x72, 0x6f, - 0x75, 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x33, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x12, 0x33, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x67, 0x72, 0x6f, 0x75, 0x6e, - 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, - 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, - 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x85, 0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x50, 0x6c, 0x61, 0x79, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x12, 0x33, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x67, 0x72, 0x6f, 0x75, 0x6e, + 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x85, 0x01, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, + 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x33, 0x2e, 0x77, + 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x67, 0x72, + 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x34, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x85, 0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7f, - 0x0a, 0x14, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x53, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x12, 0x31, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x50, 0x6c, 0x61, 0x79, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x12, 0x33, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x67, 0x72, 0x6f, 0x75, 0x6e, + 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x7f, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x67, 0x72, 0x6f, 0x75, + 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x12, 0x31, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x70, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x12, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x70, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x12, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x70, 0x0a, 0x0f, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, - 0x6e, 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6e, 0x61, - 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6a, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x2a, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x6d, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x12, 0x2b, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, + 0x72, 0x69, 0x70, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x77, + 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x67, 0x72, 0x6f, 0x75, 0x6e, + 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x70, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x70, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x70, 0x0a, 0x0f, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6a, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x2a, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x2b, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x6d, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x12, 0x2b, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, + 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x2b, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x67, 0x0a, 0x12, 0x4d, 0x6f, 0x76, 0x65, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, - 0x47, 0x72, 0x61, 0x70, 0x68, 0x12, 0x26, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x76, - 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, - 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x61, 0x0a, 0x0c, 0x4d, 0x6f, 0x76, 0x65, - 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x12, 0x26, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x67, 0x0a, 0x12, 0x4d, 0x6f, 0x76, 0x65, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x12, 0x26, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x47, 0x72, 0x61, 0x70, - 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x62, 0x0a, 0x0d, 0x4d, - 0x6f, 0x76, 0x65, 0x4d, 0x6f, 0x6e, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x12, 0x26, 0x2e, 0x77, - 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x76, 0x65, - 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x70, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x6f, 0x67, 0x72, 0x61, - 0x70, 0x68, 0x12, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x4d, 0x6f, 0x6e, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, - 0x6e, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x73, 0x0a, 0x10, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4d, 0x6f, 0x6e, 0x6f, - 0x67, 0x72, 0x61, 0x70, 0x68, 0x12, 0x2d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, - 0x6c, 0x69, 0x73, 0x68, 0x4d, 0x6f, 0x6e, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, - 0x69, 0x73, 0x68, 0x4d, 0x6f, 0x6e, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x70, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x4d, 0x6f, 0x6e, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x12, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x70, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x12, 0x2c, 0x2e, 0x77, 0x67, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, - 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x6f, 0x67, 0x72, 0x61, - 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x77, 0x67, 0x2e, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x73, 0x0a, 0x10, 0x4d, 0x69, - 0x67, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x12, 0x2d, - 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, - 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, - 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x6f, - 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x88, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x64, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x12, 0x34, 0x2e, 0x77, 0x67, + 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x61, 0x0a, 0x0c, 0x4d, + 0x6f, 0x76, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x12, 0x26, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, - 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x64, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x35, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, - 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8b, 0x01, 0x0a, 0x18, 0x50, - 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x53, - 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x12, 0x35, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x53, - 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, - 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x46, 0x65, 0x64, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7f, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, - 0x12, 0x31, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, - 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, + 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x47, + 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x62, + 0x0a, 0x0d, 0x4d, 0x6f, 0x76, 0x65, 0x4d, 0x6f, 0x6e, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x12, + 0x26, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, + 0x6f, 0x76, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x70, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x6f, + 0x67, 0x72, 0x61, 0x70, 0x68, 0x12, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7f, 0x0a, 0x14, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, - 0x68, 0x12, 0x31, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, - 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x88, 0x01, 0x0a, 0x17, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x53, 0x75, - 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x12, 0x34, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x53, 0x75, 0x62, - 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x77, + 0x65, 0x4d, 0x6f, 0x6e, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x73, 0x0a, 0x10, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4d, + 0x6f, 0x6e, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x12, 0x2d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, + 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4d, 0x6f, 0x6e, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, + 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4d, 0x6f, 0x6e, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x70, 0x0a, 0x0f, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x12, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x64, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7c, 0x0a, 0x13, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x75, - 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x30, 0x2e, 0x77, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x6f, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x77, 0x67, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x6f, 0x67, 0x72, 0x61, 0x70, + 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x70, 0x0a, 0x0f, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x12, 0x2c, + 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x6f, + 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, - 0x68, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, + 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x6f, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x73, 0x0a, + 0x10, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x6f, 0x67, 0x72, 0x61, 0x70, + 0x68, 0x12, 0x2d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, + 0x4d, 0x6f, 0x6e, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4d, + 0x6f, 0x6e, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x88, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x64, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x12, 0x34, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x75, 0x62, 0x67, 0x72, - 0x61, 0x70, 0x68, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x11, 0x46, 0x69, 0x78, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, - 0x70, 0x68, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x2e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, - 0x46, 0x69, 0x78, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, - 0x46, 0x69, 0x78, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7f, 0x0a, 0x14, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x64, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x64, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x53, 0x75, 0x62, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8b, 0x01, + 0x0a, 0x18, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x64, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x12, 0x35, 0x2e, 0x77, 0x67, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x64, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x36, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, + 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, + 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7f, 0x0a, 0x14, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x12, 0x31, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, + 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7f, 0x0a, 0x14, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, + 0x72, 0x61, 0x70, 0x68, 0x12, 0x31, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, + 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x88, 0x01, + 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x64, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x12, 0x34, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, + 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x35, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x64, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7c, 0x0a, 0x13, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, + 0x30, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x75, 0x62, 0x67, + 0x72, 0x61, 0x70, 0x68, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x31, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x75, + 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x11, 0x46, 0x69, 0x78, 0x53, 0x75, 0x62, + 0x67, 0x72, 0x61, 0x70, 0x68, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x2e, 0x2e, 0x77, 0x67, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x46, 0x69, 0x78, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x53, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x77, 0x67, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x46, 0x69, 0x78, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x53, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7f, + 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x12, 0x31, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, - 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x0e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x12, 0x2b, + 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, + 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x6d, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, + 0x68, 0x12, 0x2b, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, + 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x67, - 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x77, 0x67, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, - 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, - 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7c, 0x0a, 0x13, 0x43, + 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7c, + 0x0a, 0x13, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, + 0x47, 0x72, 0x61, 0x70, 0x68, 0x12, 0x30, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, + 0x63, 0x6b, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, - 0x70, 0x68, 0x12, 0x30, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, - 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, - 0x6b, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x06, 0x57, 0x68, 0x6f, - 0x41, 0x6d, 0x49, 0x12, 0x23, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x68, 0x6f, 0x41, 0x6d, - 0x49, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, + 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x06, + 0x57, 0x68, 0x6f, 0x41, 0x6d, 0x49, 0x12, 0x23, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x68, + 0x6f, 0x41, 0x6d, 0x49, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x77, 0x67, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x57, 0x68, 0x6f, 0x41, 0x6d, 0x49, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x7c, 0x0a, 0x13, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x30, 0x2e, 0x77, 0x67, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x77, + 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x70, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, - 0x57, 0x68, 0x6f, 0x41, 0x6d, 0x49, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x7c, 0x0a, 0x13, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, - 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x30, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x77, 0x67, 0x2e, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, - 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x70, - 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x73, 0x12, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, - 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x76, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x91, 0x01, 0x0a, 0x1a, 0x50, 0x75, 0x62, - 0x6c, 0x69, 0x73, 0x68, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x37, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x38, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x50, - 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x85, 0x01, 0x0a, - 0x16, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x33, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x91, 0x01, 0x0a, 0x1a, + 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x37, 0x2e, 0x77, 0x67, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, + 0x65, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, + 0x73, 0x68, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x85, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x33, 0x2e, 0x77, 0x67, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x34, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, + 0x74, 0x65, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x41, 0x75, + 0x64, 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x29, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x77, - 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x41, 0x75, 0x64, 0x69, 0x74, - 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x29, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, - 0x75, 0x64, 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2a, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x75, 0x64, 0x69, 0x74, 0x4c, - 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x79, 0x0a, - 0x12, 0x47, 0x65, 0x74, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, - 0x70, 0x68, 0x73, 0x12, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, - 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, - 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xa9, 0x01, 0x0a, 0x22, 0x47, 0x65, 0x74, - 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x73, 0x42, - 0x79, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, - 0x3f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x73, 0x42, 0x79, 0x53, 0x75, 0x62, 0x67, 0x72, - 0x61, 0x70, 0x68, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x40, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x64, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x73, 0x42, 0x79, 0x53, 0x75, 0x62, 0x67, - 0x72, 0x61, 0x70, 0x68, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x88, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x46, 0x65, 0x64, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x34, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x64, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x65, 0x74, 0x41, 0x75, 0x64, 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x75, 0x64, + 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x79, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, + 0x47, 0x72, 0x61, 0x70, 0x68, 0x73, 0x12, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x42, - 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x91, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, - 0x47, 0x72, 0x61, 0x70, 0x68, 0x53, 0x44, 0x4c, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x37, - 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x53, 0x44, 0x4c, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, + 0x74, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, - 0x53, 0x44, 0x4c, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, - 0x70, 0x68, 0x73, 0x12, 0x29, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x75, - 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, - 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, - 0x68, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x11, - 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x42, 0x79, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x2e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xa9, 0x01, 0x0a, 0x22, + 0x47, 0x65, 0x74, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, + 0x68, 0x73, 0x42, 0x79, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x12, 0x3f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x64, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x73, 0x42, 0x79, 0x53, 0x75, + 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, + 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x73, 0x42, 0x79, 0x53, + 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x88, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x46, + 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x42, 0x79, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x34, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, + 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x42, 0x79, 0x4e, 0x61, + 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, + 0x70, 0x68, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x91, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x53, 0x44, 0x4c, 0x42, 0x79, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x37, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x64, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x53, 0x44, 0x4c, 0x42, 0x79, 0x4e, + 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x77, 0x67, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, + 0x61, 0x70, 0x68, 0x53, 0x44, 0x4c, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, + 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x12, 0x29, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2a, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x67, - 0x72, 0x61, 0x70, 0x68, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, + 0x72, 0x61, 0x70, 0x68, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x76, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x42, 0x79, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, + 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, + 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xac, 0x01, 0x0a, 0x23, 0x47, 0x65, 0x74, 0x53, + 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x53, 0x44, 0x4c, 0x46, 0x72, 0x6f, 0x6d, 0x4c, 0x61, + 0x74, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x40, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, + 0x70, 0x68, 0x53, 0x44, 0x4c, 0x46, 0x72, 0x6f, 0x6d, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x43, + 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x41, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x67, - 0x72, 0x61, 0x70, 0x68, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0xac, 0x01, 0x0a, 0x23, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x53, 0x44, 0x4c, 0x46, 0x72, 0x6f, 0x6d, 0x4c, 0x61, 0x74, 0x65, 0x73, - 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x2e, 0x77, - 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x53, - 0x44, 0x4c, 0x46, 0x72, 0x6f, 0x6d, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, - 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, - 0x68, 0x53, 0x44, 0x4c, 0x46, 0x72, 0x6f, 0x6d, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6f, - 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x7f, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, - 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x53, 0x44, 0x4c, 0x12, 0x31, 0x2e, 0x77, 0x67, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x75, 0x62, 0x67, - 0x72, 0x61, 0x70, 0x68, 0x53, 0x44, 0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, + 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7f, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, + 0x65, 0x73, 0x74, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x53, 0x44, 0x4c, 0x12, 0x31, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x53, - 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x53, 0x44, 0x4c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x9a, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x43, 0x68, 0x65, 0x63, - 0x6b, 0x73, 0x42, 0x79, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, - 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3a, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x42, 0x79, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x65, - 0x63, 0x6b, 0x73, 0x42, 0x79, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, - 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x70, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x75, 0x6d, - 0x6d, 0x61, 0x72, 0x79, 0x12, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, - 0x68, 0x65, 0x63, 0x6b, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x65, - 0x63, 0x6b, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x79, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x53, 0x44, 0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x32, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, + 0x73, 0x74, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x53, 0x44, 0x4c, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x9a, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x73, 0x42, 0x79, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, + 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3a, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x77, 0x67, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x76, - 0x0a, 0x11, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x12, 0x2e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x63, 0x65, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x63, 0x65, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8b, 0x01, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, - 0x64, 0x65, 0x73, 0x12, 0x35, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, - 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x77, 0x67, 0x2e, + 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x42, 0x79, 0x46, 0x65, 0x64, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x42, 0x79, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x70, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x79, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, 0x68, 0x65, + 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2f, 0x2e, 0x77, + 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, + 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x76, 0x0a, 0x11, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x2e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, + 0x72, 0x63, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, + 0x72, 0x63, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8b, 0x01, 0x0a, 0x18, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, + 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x12, 0x35, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, + 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, + 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8b, 0x01, 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, + 0x69, 0x64, 0x65, 0x73, 0x12, 0x35, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, + 0x69, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x77, 0x67, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xa3, 0x01, 0x0a, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x41, + 0x6c, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x3d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x8b, 0x01, 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, - 0x73, 0x12, 0x35, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, - 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0xa3, 0x01, 0x0a, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x65, + 0x6e, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x41, 0x6c, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, + 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x41, 0x6c, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xa3, 0x01, 0x0a, 0x20, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x41, 0x6c, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, + 0x12, 0x3d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x41, 0x6c, 0x6c, + 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x3e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x41, 0x6c, 0x6c, 0x4f, - 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x3d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x67, - 0x6e, 0x6f, 0x72, 0x65, 0x41, 0x6c, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x67, 0x6e, - 0x6f, 0x72, 0x65, 0x41, 0x6c, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xa3, 0x01, 0x0a, 0x20, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x67, 0x6e, 0x6f, - 0x72, 0x65, 0x41, 0x6c, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x3d, 0x2e, - 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x41, 0x6c, 0x6c, 0x4f, 0x76, 0x65, - 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x77, - 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x41, 0x6c, 0x6c, 0x4f, 0x76, 0x65, 0x72, - 0x72, 0x69, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x82, - 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, - 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x12, 0x32, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, - 0x72, 0x69, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x77, - 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x70, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x4f, 0x76, 0x65, - 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x12, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x41, 0x6c, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, - 0x6c, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xb2, 0x01, 0x0a, 0x25, 0x54, 0x6f, 0x67, 0x67, 0x6c, 0x65, + 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x82, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x12, 0x32, 0x2e, 0x77, 0x67, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, + 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x33, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x70, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, + 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x12, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xb2, 0x01, 0x0a, 0x25, 0x54, 0x6f, 0x67, + 0x67, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, + 0x65, 0x73, 0x46, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x42, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x46, - 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x42, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x43, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x46, 0x6f, 0x72, 0x41, - 0x6c, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x43, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x67, 0x67, 0x6c, - 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, - 0x46, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xb2, 0x01, 0x0a, 0x25, 0x43, + 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x43, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, + 0x67, 0x67, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, + 0x64, 0x65, 0x73, 0x46, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xb2, 0x01, + 0x0a, 0x25, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x4f, 0x76, + 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x46, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x42, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x46, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x42, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, - 0x73, 0x46, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x43, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x4f, 0x76, 0x65, 0x72, - 0x72, 0x69, 0x64, 0x65, 0x73, 0x46, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x7c, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x30, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x43, 0x2e, 0x77, 0x67, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x4f, + 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x46, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x7c, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x30, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x77, 0x67, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x91, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x12, + 0x37, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, + 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x91, 0x01, - 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, - 0x61, 0x70, 0x68, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x12, 0x37, 0x2e, 0x77, - 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, - 0x47, 0x72, 0x61, 0x70, 0x68, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x47, 0x65, 0x74, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, + 0x68, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x8e, 0x01, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, + 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x12, 0x36, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x77, 0x67, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x85, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, + 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x12, 0x33, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x43, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x8e, 0x01, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x64, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, - 0x36, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x64, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, - 0x61, 0x70, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x85, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x33, 0x2e, - 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, + 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x9a, 0x01, + 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x72, 0x67, 0x61, + 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, + 0x3a, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x77, 0x67, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x9a, 0x01, 0x0a, 0x1d, 0x47, - 0x65, 0x74, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x3a, 0x2e, 0x77, - 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x72, - 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7f, 0x0a, 0x14, 0x49, 0x73, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64, 0x12, - 0x31, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, - 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7f, 0x0a, 0x14, 0x49, 0x73, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x61, 0x63, 0x68, + 0x65, 0x64, 0x12, 0x31, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x61, 0x0a, 0x0a, 0x49, 0x6e, 0x76, 0x69, - 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, - 0x76, 0x69, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x28, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x55, 0x73, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x61, 0x0a, 0x0a, 0x47, - 0x65, 0x74, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x27, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x61, 0x63, 0x68, 0x65, + 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x61, 0x0a, 0x0a, 0x49, + 0x6e, 0x76, 0x69, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x50, 0x49, - 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x67, - 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x12, 0x29, - 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4b, - 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x77, 0x67, 0x2e, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x12, 0x29, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x8b, 0x01, 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x35, 0x2e, - 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x73, - 0x0a, 0x10, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x2d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, - 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x11, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x46, 0x72, - 0x6f, 0x6d, 0x41, 0x70, 0x6f, 0x6c, 0x6c, 0x6f, 0x12, 0x2e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, - 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x41, 0x70, 0x6f, 0x6c, 0x6c, - 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, - 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x41, 0x70, 0x6f, 0x6c, 0x6c, - 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xa0, 0x01, 0x0a, 0x1f, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, - 0x3c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, - 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, - 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x9a, - 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, - 0x12, 0x3a, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x77, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x61, + 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x27, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x91, 0x01, 0x0a, 0x1a, - 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, - 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x37, 0x2e, 0x77, 0x67, 0x2e, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x67, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, + 0x79, 0x12, 0x29, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, + 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x77, + 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x0c, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x12, 0x29, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, + 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x8b, 0x01, 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x72, + 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x12, 0x35, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x72, + 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x73, 0x0a, 0x10, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x11, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, + 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x41, 0x70, 0x6f, 0x6c, 0x6c, 0x6f, 0x12, 0x2e, 0x2e, 0x77, 0x67, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x41, 0x70, + 0x6f, 0x6c, 0x6c, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x77, 0x67, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x41, 0x70, + 0x6f, 0x6c, 0x6c, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xa0, + 0x01, 0x0a, 0x1f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x3c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, + 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x3d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, + 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, + 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x9a, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x73, 0x12, 0x3a, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, - 0x6b, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0xa0, 0x01, 0x0a, 0x1f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, + 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x3b, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x3c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, - 0x68, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x3d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, - 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, - 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0xa0, 0x01, 0x0a, 0x1f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x67, + 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x91, + 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x37, 0x2e, + 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x4d, 0x65, 0x74, 0x61, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, + 0x68, 0x6f, 0x6f, 0x6b, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0xa0, 0x01, 0x0a, 0x1f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x9a, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, - 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, - 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x3a, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x65, - 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, - 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, - 0x6b, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x8e, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, - 0x6b, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x12, 0x36, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x65, 0x62, 0x68, 0x6f, - 0x6f, 0x6b, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, - 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x73, 0x0a, 0x10, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, - 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x12, 0x2d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, - 0x65, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, - 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x2e, - 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, - 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x94, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x38, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x77, 0x67, 0x2e, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xa0, 0x01, 0x0a, 0x1f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, + 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3c, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x9a, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, + 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, + 0x6f, 0x6f, 0x6b, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x3a, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x88, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x34, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x65, 0x62, + 0x68, 0x6f, 0x6f, 0x6b, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8e, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x57, 0x65, 0x62, + 0x68, 0x6f, 0x6f, 0x6b, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x12, 0x36, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x65, + 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x77, 0x67, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x44, 0x65, 0x6c, + 0x69, 0x76, 0x65, 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x73, 0x0a, 0x10, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x69, + 0x76, 0x65, 0x72, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x12, 0x2d, 0x2e, 0x77, 0x67, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x57, 0x65, 0x62, 0x68, 0x6f, + 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x76, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, - 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x61, 0x0a, 0x0a, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x28, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, - 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x79, 0x0a, - 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x11, 0x4c, 0x65, 0x61, 0x76, - 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x2e, - 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, + 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, + 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x11, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x2e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, + 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, + 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x94, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x38, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, + 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x8e, 0x01, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x36, - 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, - 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x88, 0x01, 0x0a, 0x17, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x34, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x7c, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x30, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, - 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x77, 0x67, 0x2e, + 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x77, + 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, + 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x2e, 0x77, 0x67, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, - 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x7f, 0x0a, 0x14, 0x49, 0x73, 0x47, 0x69, 0x74, 0x48, 0x75, 0x62, 0x41, 0x70, 0x70, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x31, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x49, - 0x73, 0x47, 0x69, 0x74, 0x48, 0x75, 0x62, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x77, 0x67, 0x2e, + 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x61, 0x0a, + 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x77, 0x67, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x79, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x11, 0x4c, + 0x65, 0x61, 0x76, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x2e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x4f, 0x72, 0x67, + 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x4f, 0x72, 0x67, + 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x8e, 0x01, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, + 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x12, 0x36, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, + 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x7c, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, + 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x30, 0x2e, 0x77, 0x67, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, + 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x7f, 0x0a, 0x14, 0x49, 0x73, 0x47, 0x69, 0x74, 0x48, 0x75, 0x62, 0x41, 0x70, + 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x31, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x47, 0x69, 0x74, 0x48, 0x75, 0x62, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x79, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x49, 0x44, 0x43, 0x50, 0x72, + 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, + 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x47, 0x69, 0x74, 0x48, 0x75, 0x62, 0x41, 0x70, 0x70, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x79, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x49, 0x44, + 0x43, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x49, 0x44, 0x43, 0x50, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x77, 0x67, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x49, 0x44, 0x43, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x70, + 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4f, 0x49, 0x44, 0x43, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x12, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x49, 0x44, 0x43, + 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x49, 0x44, 0x43, 0x50, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x79, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x49, 0x44, 0x43, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x4f, 0x49, 0x44, 0x43, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x49, 0x44, 0x43, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x49, 0x44, 0x43, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x70, 0x0a, 0x0f, 0x47, - 0x65, 0x74, 0x4f, 0x49, 0x44, 0x43, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x2c, + 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x49, 0x44, 0x43, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x73, 0x0a, 0x10, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x44, 0x50, 0x4d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x12, + 0x2d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x44, 0x50, + 0x4d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x49, 0x44, 0x43, 0x50, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x77, - 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x49, 0x44, 0x43, 0x50, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x79, 0x0a, - 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x49, 0x44, 0x43, 0x50, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x72, 0x12, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x4f, 0x49, 0x44, 0x43, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x4f, 0x49, 0x44, 0x43, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x73, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x49, 0x44, 0x50, 0x4d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x12, 0x2d, 0x2e, 0x77, - 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x44, 0x50, 0x4d, 0x61, 0x70, - 0x70, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x77, 0x67, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, - 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x44, 0x50, 0x4d, 0x61, 0x70, 0x70, - 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x61, 0x0a, - 0x0a, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x27, 0x2e, 0x77, 0x67, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x61, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x12, 0x27, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x44, 0x50, 0x4d, + 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x61, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x27, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x76, - 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x8e, 0x01, 0x0a, 0x19, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x4f, 0x72, 0x44, - 0x65, 0x63, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x36, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x4f, 0x72, - 0x44, 0x65, 0x63, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, + 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x61, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, + 0x73, 0x12, 0x27, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x77, 0x67, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x76, + 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, - 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x4f, 0x72, 0x44, 0x65, 0x63, 0x6c, 0x69, 0x6e, 0x65, 0x49, - 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x70, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x47, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8e, 0x01, 0x0a, 0x19, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, + 0x4f, 0x72, 0x44, 0x65, 0x63, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x70, + 0x74, 0x4f, 0x72, 0x44, 0x65, 0x63, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x77, 0x67, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x4f, 0x72, 0x44, 0x65, 0x63, 0x6c, 0x69, + 0x6e, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x70, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x82, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, + 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x12, 0x32, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, - 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x82, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, - 0x32, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, - 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x82, 0x01, 0x0a, 0x15, 0x47, + 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x82, 0x01, + 0x0a, 0x15, 0x47, 0x65, 0x74, 0x53, 0x64, 0x6c, 0x42, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x64, 0x6c, 0x42, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, - 0x64, 0x6c, 0x42, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x53, 0x64, 0x6c, 0x42, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x94, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, - 0x42, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x38, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x77, 0x67, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x64, 0x6c, 0x42, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x94, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x42, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x77, 0x67, 0x2e, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x42, 0x79, 0x53, - 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x91, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x37, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, - 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x82, 0x01, 0x0a, 0x15, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x12, 0x32, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, + 0x6f, 0x6e, 0x12, 0x38, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x42, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x77, + 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, + 0x42, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x91, 0x01, 0x0a, 0x1a, 0x47, 0x65, + 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x37, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x76, 0x0a, 0x11, 0x41, 0x64, 0x64, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x53, - 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x53, - 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7f, 0x0a, 0x14, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, - 0x31, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x75, 0x62, - 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, + 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, + 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x38, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x82, 0x01, + 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x32, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x77, 0x67, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x76, 0x0a, 0x11, 0x41, 0x64, 0x64, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, + 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, + 0x64, 0x64, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, + 0x64, 0x64, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7f, 0x0a, 0x14, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x12, 0x31, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x79, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, - 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x2f, - 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, - 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x30, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, - 0x70, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x73, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, - 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x11, 0x52, 0x65, 0x70, 0x6c, - 0x79, 0x54, 0x6f, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x2e, - 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x44, 0x69, 0x73, 0x63, - 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, - 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x44, 0x69, 0x73, 0x63, - 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x76, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x41, 0x6c, 0x6c, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x41, 0x6c, 0x6c, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x88, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, - 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x34, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x77, 0x67, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, - 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x88, 0x01, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x69, - 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, - 0x34, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x69, 0x73, - 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, - 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6a, - 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x2a, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x77, 0x67, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7f, 0x0a, 0x14, 0x47, 0x65, - 0x74, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x73, 0x12, 0x31, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, - 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x79, 0x0a, 0x12, 0x47, + 0x65, 0x74, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x12, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x67, + 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, + 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x73, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x2e, 0x77, 0x67, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x11, 0x52, + 0x65, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x2e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x44, + 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x44, + 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x44, 0x69, 0x73, + 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, + 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, + 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x88, 0x01, 0x0a, 0x17, - 0x53, 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, - 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, - 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5e, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x52, 0x65, 0x61, - 0x64, 0x6d, 0x65, 0x12, 0x26, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x52, 0x65, - 0x61, 0x64, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x77, 0x67, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, - 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x52, 0x65, 0x61, 0x64, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x97, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x39, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, - 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, - 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x76, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x2e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x2e, 0x2e, - 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, - 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x76, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x2e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x11, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x2e, 0x2e, - 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x34, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x76, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, - 0x56, 0x69, 0x65, 0x77, 0x12, 0x2d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, - 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6e, - 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x91, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, - 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, - 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x12, 0x36, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, - 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, 0x63, 0x75, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x88, 0x01, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x74, 0x12, 0x34, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x6a, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x2a, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, + 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, - 0x72, 0x64, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x5b, 0x0a, 0x08, - 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x63, 0x65, 0x12, 0x25, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7f, 0x0a, + 0x14, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x73, 0x12, 0x31, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x26, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x73, 0x0a, 0x0f, 0x47, 0x65, 0x74, - 0x47, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x2c, 0x2e, 0x77, - 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x74, 0x72, - 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x77, 0x67, 0x2e, + 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x88, + 0x01, 0x0a, 0x17, 0x53, 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x7f, - 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x52, 0x61, 0x74, 0x65, 0x12, 0x30, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x31, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x35, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x75, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5e, 0x0a, 0x09, 0x41, 0x64, 0x64, + 0x52, 0x65, 0x61, 0x64, 0x6d, 0x65, 0x12, 0x26, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, + 0x64, 0x52, 0x65, 0x61, 0x64, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, + 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x52, 0x65, 0x61, 0x64, 0x6d, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x97, 0x01, 0x0a, 0x1c, 0x47, 0x65, + 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, + 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x39, 0x2e, 0x77, 0x67, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, + 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, + 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x2e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, + 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, + 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x11, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, + 0x12, 0x2e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x2e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, + 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, + 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x11, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, + 0x12, 0x2e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, + 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x12, 0x2d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, - 0x7c, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, - 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x65, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x97, 0x01, - 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x12, 0x38, 0x2e, + 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x91, 0x01, 0x0a, 0x19, + 0x47, 0x65, 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x41, 0x6e, 0x61, 0x6c, + 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x12, 0x36, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x41, 0x6e, 0x61, + 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x37, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x73, 0x68, + 0x62, 0x6f, 0x61, 0x72, 0x64, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x56, 0x69, + 0x65, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, + 0x5b, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x63, 0x65, 0x12, 0x25, 0x2e, 0x77, 0x67, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, + 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x73, 0x0a, 0x0f, + 0x47, 0x65, 0x74, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, + 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, - 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x6d, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2a, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, + 0x01, 0x12, 0x7f, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, + 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x12, 0x30, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x97, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x4f, 0x72, - 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x39, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, + 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x77, 0x67, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x52, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, + 0x02, 0x01, 0x12, 0x7c, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, + 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, + 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, + 0x12, 0x97, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, + 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, + 0x12, 0x38, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x77, 0x67, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x6d, 0x0a, 0x0d, 0x47, 0x65, + 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2a, 0x2e, 0x77, 0x67, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x55, 0x73, 0x61, 0x67, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, - 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x79, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x97, 0x01, 0x0a, 0x1c, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, - 0x54, 0x68, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x39, 0x2e, 0x77, - 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x6e, 0x74, 0x69, 0x6e, - 0x67, 0x46, 0x6f, 0x72, 0x54, 0x68, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x54, - 0x68, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x97, 0x01, 0x0a, 0x1c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x75, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x74, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x4c, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x3a, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, - 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x74, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x85, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x4c, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x33, 0x2e, 0x77, 0x67, 0x2e, + 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x97, 0x01, 0x0a, 0x1c, 0x47, 0x65, + 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x39, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4c, 0x69, - 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x34, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x79, 0x0a, 0x12, 0x45, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x50, 0x72, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x2f, 0x2e, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x79, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, + 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x77, 0x67, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x97, + 0x01, 0x0a, 0x1c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x6e, 0x74, 0x69, 0x6e, 0x67, + 0x46, 0x6f, 0x72, 0x54, 0x68, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, + 0x39, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x6e, + 0x74, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x54, 0x68, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x77, 0x67, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x46, + 0x6f, 0x72, 0x54, 0x68, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x97, 0x01, 0x0a, 0x1c, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4c, + 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x75, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4c, 0x69, + 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x85, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x33, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, - 0x50, 0x72, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, - 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x47, 0x72, 0x61, 0x70, - 0x68, 0x50, 0x72, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0xaf, 0x01, 0x0a, 0x24, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, - 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x50, 0x72, - 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x41, 0x2e, 0x77, 0x67, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, - 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x50, 0x72, 0x75, 0x6e, 0x69, 0x6e, - 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x42, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x4c, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x79, 0x0a, 0x12, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x50, 0x72, 0x75, 0x6e, 0x69, 0x6e, 0x67, + 0x12, 0x2f, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x47, 0x72, + 0x61, 0x70, 0x68, 0x50, 0x72, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x30, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x47, + 0x72, 0x61, 0x70, 0x68, 0x50, 0x72, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xaf, 0x01, 0x0a, 0x24, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x75, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x47, 0x72, 0x61, 0x70, + 0x68, 0x50, 0x72, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x41, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x50, 0x72, 0x75, - 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x9d, 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x50, 0x72, 0x75, 0x6e, 0x69, 0x6e, - 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3b, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, - 0x50, 0x72, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, + 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x42, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, + 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, + 0x50, 0x72, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x9d, 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x50, 0x72, 0x75, - 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x70, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, + 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3b, 0x2e, 0x77, 0x67, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x47, 0x72, + 0x61, 0x70, 0x68, 0x50, 0x72, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7f, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x31, - 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x46, 0x6c, 0x61, 0x67, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x32, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, + 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, + 0x50, 0x72, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x70, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x2c, 0x2e, 0x77, 0x67, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, + 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7f, 0x0a, 0x14, 0x47, 0x65, 0x74, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x42, 0x79, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x31, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xa3, 0x01, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x46, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x42, - 0x79, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x3d, 0x2e, 0x77, - 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x75, - 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x42, 0x79, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x46, 0x6c, 0x61, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x77, 0x67, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x75, 0x62, - 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x42, 0x79, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, - 0x6c, 0x61, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7c, 0x0a, - 0x13, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, - 0x61, 0x70, 0x68, 0x73, 0x12, 0x30, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, + 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xa0, 0x01, 0x0a, 0x1f, - 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x42, - 0x79, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x12, - 0x3c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xa3, 0x01, 0x0a, 0x20, 0x47, + 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, + 0x68, 0x73, 0x42, 0x79, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x12, + 0x3d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x42, 0x79, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, - 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, - 0x6c, 0x61, 0x67, 0x73, 0x42, 0x79, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, - 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x70, - 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x6e, - 0x73, 0x12, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x69, 0x6c, 0x6c, - 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, - 0x67, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x82, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, - 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x2e, 0x77, 0x67, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, - 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, + 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x42, 0x79, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x65, 0x63, - 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x91, 0x01, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x53, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x53, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x42, 0x79, 0x46, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x7c, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x75, + 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x12, 0x30, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, + 0x68, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x77, 0x67, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xa0, + 0x01, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, + 0x67, 0x73, 0x42, 0x79, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, + 0x70, 0x68, 0x12, 0x3c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x42, 0x79, 0x46, 0x65, 0x64, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x3d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x42, 0x79, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x70, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, + 0x6c, 0x61, 0x6e, 0x73, 0x12, 0x2c, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, + 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x69, 0x6c, + 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x82, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x69, 0x6c, 0x6c, 0x69, - 0x6e, 0x67, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, 0x0b, 0x55, 0x70, 0x67, - 0x72, 0x61, 0x64, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x28, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, - 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, - 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, - 0xef, 0x01, 0x0a, 0x18, 0x63, 0x6f, 0x6d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x42, 0x0d, 0x50, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x51, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x75, 0x6e, 0x64, 0x65, 0x72, - 0x67, 0x72, 0x61, 0x70, 0x68, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x2d, 0x67, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2f, 0x77, 0x67, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x3b, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x76, 0x31, - 0xa2, 0x02, 0x03, 0x57, 0x43, 0x50, 0xaa, 0x02, 0x14, 0x57, 0x67, 0x2e, 0x43, 0x6f, 0x73, 0x6d, - 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x14, - 0x57, 0x67, 0x5c, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x5c, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x20, 0x57, 0x67, 0x5c, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x5c, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x17, 0x57, 0x67, 0x3a, 0x3a, 0x43, 0x6f, - 0x73, 0x6d, 0x6f, 0x3a, 0x3a, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, - 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x33, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x91, 0x01, 0x0a, 0x1a, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, + 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x72, 0x74, + 0x61, 0x6c, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x38, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x69, + 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x53, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, 0x0b, + 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x28, 0x2e, 0x77, 0x67, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x67, + 0x72, 0x61, 0x64, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x42, 0xef, 0x01, 0x0a, 0x18, 0x63, 0x6f, 0x6d, 0x2e, 0x77, 0x67, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x42, + 0x0d, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, + 0x5a, 0x51, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x75, 0x6e, + 0x64, 0x65, 0x72, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2f, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2d, 0x67, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2f, 0x77, 0x67, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x2f, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x3b, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x57, 0x43, 0x50, 0xaa, 0x02, 0x14, 0x57, 0x67, 0x2e, 0x43, + 0x6f, 0x73, 0x6d, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, + 0xca, 0x02, 0x14, 0x57, 0x67, 0x5c, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x5c, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x20, 0x57, 0x67, 0x5c, 0x43, 0x6f, 0x73, + 0x6d, 0x6f, 0x5c, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x5c, 0x47, + 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x17, 0x57, 0x67, 0x3a, + 0x3a, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x3a, 0x3a, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/connect/CHANGELOG.md b/connect/CHANGELOG.md index 4e312572f4..77711b5545 100644 --- a/connect/CHANGELOG.md +++ b/connect/CHANGELOG.md @@ -4,6 +4,12 @@ Binaries are attached to the github release otherwise all images can be found [h All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.88.0](https://github.com/wundergraph/cosmo/compare/@wundergraph/cosmo-connect@0.87.0...@wundergraph/cosmo-connect@0.88.0) (2024-11-18) + +### Features + +* add pagination to operations page in check summary ([#1377](https://github.com/wundergraph/cosmo/issues/1377)) ([e61d4f1](https://github.com/wundergraph/cosmo/commit/e61d4f12873fe434d89c9069b8a1b1e3da225ebf)) (@JivusAyrus) + # [0.87.0](https://github.com/wundergraph/cosmo/compare/@wundergraph/cosmo-connect@0.86.0...@wundergraph/cosmo-connect@0.87.0) (2024-10-31) ### Features diff --git a/connect/package.json b/connect/package.json index 558d863cb8..dc412a603a 100644 --- a/connect/package.json +++ b/connect/package.json @@ -1,6 +1,6 @@ { "name": "@wundergraph/cosmo-connect", - "version": "0.87.0", + "version": "0.88.0", "description": "TypeScript Connect client for WunderGraph Cosmo", "scripts": { "build": "del dist && tsc" diff --git a/connect/src/wg/cosmo/platform/v1/platform_pb.ts b/connect/src/wg/cosmo/platform/v1/platform_pb.ts index b3ec058c85..7d9d006bf4 100644 --- a/connect/src/wg/cosmo/platform/v1/platform_pb.ts +++ b/connect/src/wg/cosmo/platform/v1/platform_pb.ts @@ -3969,6 +3969,16 @@ export class GetCheckOperationsRequest extends Message) { super(); proto3.util.initPartial(data, this); @@ -3980,6 +3990,8 @@ export class GetCheckOperationsRequest extends Message): GetCheckOperationsRequest { @@ -4028,6 +4040,11 @@ export class GetCheckOperationsResponse extends Message) { super(); proto3.util.initPartial(data, this); @@ -4041,6 +4058,7 @@ export class GetCheckOperationsResponse extends Message): GetCheckOperationsResponse { diff --git a/controlplane/CHANGELOG.md b/controlplane/CHANGELOG.md index 6f94dd0b10..12230d967a 100644 --- a/controlplane/CHANGELOG.md +++ b/controlplane/CHANGELOG.md @@ -4,6 +4,28 @@ Binaries are attached to the github release otherwise all images can be found [h All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.116.0](https://github.com/wundergraph/cosmo/compare/controlplane@0.115.2...controlplane@0.116.0) (2024-11-18) + +### Features + +* add pagination to operations page in check summary ([#1377](https://github.com/wundergraph/cosmo/issues/1377)) ([e61d4f1](https://github.com/wundergraph/cosmo/commit/e61d4f12873fe434d89c9069b8a1b1e3da225ebf)) (@JivusAyrus) + +## [0.115.2](https://github.com/wundergraph/cosmo/compare/controlplane@0.115.1...controlplane@0.115.2) (2024-11-16) + +### Bug Fixes + +* increase the batch size of operation usage insertion ([#1378](https://github.com/wundergraph/cosmo/issues/1378)) ([44ac8a8](https://github.com/wundergraph/cosmo/commit/44ac8a83782556f3d30c868d7942781ae47edf1b)) (@JivusAyrus) + +## [0.115.1](https://github.com/wundergraph/cosmo/compare/controlplane@0.115.0...controlplane@0.115.1) (2024-11-14) + +**Note:** Version bump only for package controlplane + +# [0.115.0](https://github.com/wundergraph/cosmo/compare/controlplane@0.114.3...controlplane@0.115.0) (2024-11-13) + +### Features + +* add subgraph property to Warnings ([#1355](https://github.com/wundergraph/cosmo/issues/1355)) ([cacc0f3](https://github.com/wundergraph/cosmo/commit/cacc0f3c01673b7bf1ea8d20305d04939ca3351e)) (@Aenimus) + ## [0.114.3](https://github.com/wundergraph/cosmo/compare/controlplane@0.114.2...controlplane@0.114.3) (2024-11-07) ### Bug Fixes diff --git a/controlplane/package.json b/controlplane/package.json index 2de26916a3..a7a251faa2 100644 --- a/controlplane/package.json +++ b/controlplane/package.json @@ -1,6 +1,6 @@ { "name": "controlplane", - "version": "0.114.3", + "version": "0.116.0", "private": true, "description": "WunderGraph Cosmo Controlplane", "type": "module", diff --git a/controlplane/src/core/bufservices/check/createIgnoreOverridesForAllOperations.ts b/controlplane/src/core/bufservices/check/createIgnoreOverridesForAllOperations.ts index 05dcce85c6..c3c0cd1345 100644 --- a/controlplane/src/core/bufservices/check/createIgnoreOverridesForAllOperations.ts +++ b/controlplane/src/core/bufservices/check/createIgnoreOverridesForAllOperations.ts @@ -50,7 +50,9 @@ export function createIgnoreOverridesForAllOperations( return await opts.db.transaction(async (tx) => { const auditLogRepo = new AuditLogRepository(tx); const operationsRepo = new OperationsRepository(tx, graph.id); - const affectedOperations = await schemaCheckRepo.getAffectedOperationsByCheckId(req.checkId); + const affectedOperations = await schemaCheckRepo.getAffectedOperationsByCheckId({ + checkId: req.checkId, + }); for (const affectedOperation of affectedOperations) { const affectedChanges = await operationsRepo.createIgnoreAllOverride({ diff --git a/controlplane/src/core/bufservices/check/getCheckOperations.ts b/controlplane/src/core/bufservices/check/getCheckOperations.ts index bd93e710d3..60e733538d 100644 --- a/controlplane/src/core/bufservices/check/getCheckOperations.ts +++ b/controlplane/src/core/bufservices/check/getCheckOperations.ts @@ -39,6 +39,7 @@ export function getCheckOperations( trafficCheckDays: 0, createdAt: '', clientTrafficCheckSkipped: false, + totalOperationsCount: 0, }; } @@ -55,10 +56,30 @@ export function getCheckOperations( trafficCheckDays: 0, createdAt: '', clientTrafficCheckSkipped: false, + totalOperationsCount: 0, }; } - const affectedOperations = await schemaCheckRepo.getAffectedOperationsByCheckId(req.checkId); + // check that the limit is less than the max option provided in the ui + if (req.limit > 200) { + return { + response: { + code: EnumStatusCode.ERR, + details: 'Invalid limit', + }, + operations: [], + trafficCheckDays: 0, + createdAt: '', + clientTrafficCheckSkipped: false, + totalOperationsCount: 0, + }; + } + + const affectedOperations = await schemaCheckRepo.getAffectedOperationsByCheckId({ + checkId: req.checkId, + limit: req.limit, + offset: req.offset, + }); const { trafficCheckDays } = await schemaCheckRepo.getFederatedGraphConfigForCheckId(req.checkId, graph.id); @@ -72,6 +93,10 @@ export function getCheckOperations( namespaceId: graph.namespaceId, }); + const affectedOperationsCount = await schemaCheckRepo.getAffectedOperationsCountByCheckId({ + checkId: req.checkId, + }); + return { response: { code: EnumStatusCode.OK, @@ -91,6 +116,7 @@ export function getCheckOperations( trafficCheckDays, createdAt: check.timestamp, clientTrafficCheckSkipped: check.clientTrafficCheckSkipped || false, + totalOperationsCount: affectedOperationsCount, }; }); } diff --git a/controlplane/src/core/bufservices/check/toggleChangeOverridesForAllOperations.ts b/controlplane/src/core/bufservices/check/toggleChangeOverridesForAllOperations.ts index 8c1c156f14..2e2eaf5d0c 100644 --- a/controlplane/src/core/bufservices/check/toggleChangeOverridesForAllOperations.ts +++ b/controlplane/src/core/bufservices/check/toggleChangeOverridesForAllOperations.ts @@ -53,7 +53,9 @@ export function toggleChangeOverridesForAllOperations( const auditLogRepo = new AuditLogRepository(tx); const operationsRepo = new OperationsRepository(tx, graph.id); - const affectedOperations = await schemaCheckRepo.getAffectedOperationsByCheckId(req.checkId); + const affectedOperations = await schemaCheckRepo.getAffectedOperationsByCheckId({ + checkId: req.checkId, + }); const checkDetails = await subgraphRepo.checkDetails(req.checkId, graph.targetId); if (!checkDetails) { diff --git a/controlplane/src/core/repositories/SchemaCheckRepository.ts b/controlplane/src/core/repositories/SchemaCheckRepository.ts index 8f882c5dd0..61423b4ae1 100644 --- a/controlplane/src/core/repositories/SchemaCheckRepository.ts +++ b/controlplane/src/core/repositories/SchemaCheckRepository.ts @@ -1,7 +1,8 @@ -import { and, eq, inArray, or, sql } from 'drizzle-orm'; -import _ from 'lodash'; -import { PostgresJsDatabase } from 'drizzle-orm/postgres-js'; import { VCSContext } from '@wundergraph/cosmo-connect/dist/platform/v1/platform_pb'; +import { and, eq, inArray, sql } from 'drizzle-orm'; +import { PostgresJsDatabase } from 'drizzle-orm/postgres-js'; +import _ from 'lodash'; +import pLimit from 'p-limit'; import { NewSchemaChangeOperationUsage } from '../../db/models.js'; import * as schema from '../../db/schema.js'; import { @@ -98,6 +99,7 @@ export class SchemaCheckRepository { federatedGraphId: string, ) { const values: NewSchemaChangeOperationUsage[] = []; + const limit = pLimit(10); for (const [schemaCheckChangeActionId, operations] of schemaCheckActionOperations.entries()) { values.push( @@ -121,11 +123,14 @@ export class SchemaCheckRepository { return; } - const arrayOfValues: NewSchemaChangeOperationUsage[][] = createBatches(values, 500); + const arrayOfValues: NewSchemaChangeOperationUsage[][] = createBatches(values, 1000); + const promises = []; for (const values of arrayOfValues) { - await this.db.insert(schemaCheckChangeActionOperationUsage).values(values).execute(); + promises.push(limit(() => this.db.insert(schemaCheckChangeActionOperationUsage).values(values).execute())); } + + await Promise.all(promises); } private mapChangesFromDriverValue = (val: any) => { @@ -242,7 +247,15 @@ export class SchemaCheckRepository { .execute(); } - public async getAffectedOperationsByCheckId(checkId: string) { + public async getAffectedOperationsByCheckId({ + checkId, + limit, + offset, + }: { + checkId: string; + limit?: number; + offset?: number; + }) { const changeActionIds = ( await this.db.query.schemaCheckChangeAction.findMany({ where: and( @@ -256,7 +269,7 @@ export class SchemaCheckRepository { ).map((r) => r.id); if (changeActionIds.length > 0) { - return await this.db + const dbQuery = this.db .selectDistinctOn([schema.schemaCheckChangeActionOperationUsage.hash], { hash: schema.schemaCheckChangeActionOperationUsage.hash, name: schema.schemaCheckChangeActionOperationUsage.name, @@ -275,11 +288,52 @@ export class SchemaCheckRepository { .from(schema.schemaCheckChangeActionOperationUsage) .where(inArray(schema.schemaCheckChangeActionOperationUsage.schemaCheckChangeActionId, changeActionIds)) .groupBy(({ hash, name, type }) => [hash, name, type]); + + if (limit) { + dbQuery.limit(limit); + } + + if (offset) { + dbQuery.offset(offset); + } + + return await dbQuery.execute(); } return []; } + public async getAffectedOperationsCountByCheckId({ checkId }: { checkId: string }) { + const changeActionIds = ( + await this.db.query.schemaCheckChangeAction.findMany({ + where: and( + eq(schema.schemaCheckChangeAction.schemaCheckId, checkId), + eq(schema.schemaCheckChangeAction.isBreaking, true), + ), + columns: { + id: true, + }, + }) + ).map((r) => r.id); + + if (changeActionIds.length > 0) { + const result = await this.db + .selectDistinctOn([schema.schemaCheckChangeActionOperationUsage.hash], { + hash: schema.schemaCheckChangeActionOperationUsage.hash, + name: schema.schemaCheckChangeActionOperationUsage.name, + type: schema.schemaCheckChangeActionOperationUsage.type, + }) + .from(schema.schemaCheckChangeActionOperationUsage) + .where(inArray(schema.schemaCheckChangeActionOperationUsage.schemaCheckChangeActionId, changeActionIds)) + .groupBy(({ hash, name, type }) => [hash, name, type]) + .execute(); + + return result.length; + } + + return 0; + } + public createSchemaCheckCompositions(data: { schemaCheckID: string; compositions: ComposedFederatedGraph[] }) { if (data.compositions.length === 0) { return; diff --git a/controlplane/test/check-subgraph-schema.test.ts b/controlplane/test/check-subgraph-schema.test.ts index f1b6f64ac6..379eb86b73 100644 --- a/controlplane/test/check-subgraph-schema.test.ts +++ b/controlplane/test/check-subgraph-schema.test.ts @@ -171,7 +171,7 @@ describe('CheckSubgraphSchema', (ctx) => { }); expect(checkResp.response?.code).toBe(EnumStatusCode.OK); expect(checkResp.compositionWarnings).toHaveLength(1); - expect(checkResp.compositionWarnings[0].message).toBe(invalidOverrideTargetSubgraphNameWarning('employees', 'Query', ['hello']).message); + expect(checkResp.compositionWarnings[0].message).toBe(invalidOverrideTargetSubgraphNameWarning('employees', 'Query', ['hello'], subgraphName).message); await server.close(); }); diff --git a/controlplane/test/composition-warnings.test.ts b/controlplane/test/composition-warnings.test.ts index 9a09e91581..a01142575e 100644 --- a/controlplane/test/composition-warnings.test.ts +++ b/controlplane/test/composition-warnings.test.ts @@ -21,7 +21,7 @@ describe('Composition warning tests', (ctx) => { await afterAllSetup(dbname); }); - test('that an warnings is returned if a field is override from a subgraph that doesnt exist', async () => { + test(`that a warning is returned if the target subgraph of an override does not exist`, async () => { const { client, server } = await SetupTest({ dbname }); const federatedGraphName = genID('fedGraph'); @@ -51,7 +51,7 @@ describe('Composition warning tests', (ctx) => { expect(publishFederatedSubgraphResp.response?.code).toBe(EnumStatusCode.OK); expect(publishFederatedSubgraphResp.compositionWarnings).toHaveLength(1); expect(publishFederatedSubgraphResp.compositionWarnings[0].message).toBe( - invalidOverrideTargetSubgraphNameWarning('employees', 'Query', ['hello']).message, + invalidOverrideTargetSubgraphNameWarning('employees', 'Query', ['hello'], 'pandas').message, ); await server.close(); diff --git a/demo/bump-deps.sh b/demo/bump-deps.sh index c5808ccbf5..5a3cf949d5 100755 --- a/demo/bump-deps.sh +++ b/demo/bump-deps.sh @@ -6,4 +6,3 @@ echo "Updating dependencies to $GIT_REV" go get "github.com/wundergraph/cosmo/router@${GIT_REV}" go mod tidy -cd .. && go work sync diff --git a/demo/go.mod b/demo/go.mod index 5a4c523a30..506dd066b0 100644 --- a/demo/go.mod +++ b/demo/go.mod @@ -13,9 +13,9 @@ require ( github.com/rs/cors v1.11.0 github.com/vektah/gqlparser/v2 v2.5.16 github.com/wundergraph/cosmo/composition-go v0.0.0-20240124120900-5effe48a4a1d - github.com/wundergraph/cosmo/router v0.0.0-20241108155000-9f371059ec96 + github.com/wundergraph/cosmo/router v0.0.0-20241118164309-37af7e49ffff github.com/wundergraph/cosmo/router-tests v0.0.0-20241024215101-0c757faf23de - github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.121 + github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.125 go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1 go.opentelemetry.io/otel v1.28.0 go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.23.1 diff --git a/demo/go.sum b/demo/go.sum index f668f9021d..83cfc29b92 100644 --- a/demo/go.sum +++ b/demo/go.sum @@ -296,13 +296,15 @@ github.com/urfave/cli/v2 v2.27.2/go.mod h1:g0+79LmHHATl7DAcHO99smiR/T7uGLw84w8Y4 github.com/vektah/gqlparser/v2 v2.5.16 h1:1gcmLTvs3JLKXckwCwlUagVn/IlV2bwqle0vJ0vy5p8= github.com/vektah/gqlparser/v2 v2.5.16/go.mod h1:1lz1OeCqgQbQepsGxPVywrjdBHW2T08PUS3pJqepRww= github.com/wundergraph/astjson v0.0.0-20241108124845-44485579ffa5 h1:rc+IQxG3rrAXEjBywirkzhKkyCKvXLGQXABVD8GiUtU= +github.com/wundergraph/astjson v0.0.0-20241108124845-44485579ffa5/go.mod h1:eOTL6acwctsN4F3b7YE+eE2t8zcJ/doLm9sZzsxxxrE= github.com/wundergraph/cosmo/composition-go v0.0.0-20240124120900-5effe48a4a1d h1:NEUrhuqOaTO1dpW8pz2tu6dKbQAqFvgiF/m4NXdzZm0= github.com/wundergraph/cosmo/composition-go v0.0.0-20240124120900-5effe48a4a1d/go.mod h1:9I3gPMAlAY+m1/cFL20iN7XHTyuZd3VT5ijccdU/FsI= -github.com/wundergraph/cosmo/router v0.0.0-20241108155000-9f371059ec96 h1:F1n+3lSwxX5kkT9GLoZ1HWpr65oFdZrM0k3h9NI3z/Q= -github.com/wundergraph/cosmo/router v0.0.0-20241108155000-9f371059ec96/go.mod h1:xSraMjn2YsV+yGHKmzBu7g5Z1UV96OFAhCm+9S7T1iA= +github.com/wundergraph/cosmo/router v0.0.0-20241118164309-37af7e49ffff h1:aT/yBn6/BaxSlPwHcZn4/fx5EXWp0sNjoAytU+RAV2g= +github.com/wundergraph/cosmo/router v0.0.0-20241118164309-37af7e49ffff/go.mod h1:tg8IjlJ9C48KqA+uX/FmibnLJmia9F575m2eyXkToxg= github.com/wundergraph/cosmo/router-tests v0.0.0-20241024215101-0c757faf23de h1:kEiNUGYSxHaT1I5GKre0GqHFCHVabpC/N33Chfue/rs= github.com/wundergraph/cosmo/router-tests v0.0.0-20241024215101-0c757faf23de/go.mod h1:7WvZF+cOkfV4GaXka1qZfCqf/9GmOcksbPoMmJXtja4= -github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.121 h1:VsrSvBsOcQNiTwESJg55tecBzHfZPUdII/zDstHyBuc= +github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.125 h1:IgKf6dQ3cjKGpICuflNFrlNY9m7EeDwpQxS7T+ljM04= +github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.125/go.mod h1:s4r/lhVEU5s0c6tCgpR0hK6FHEmX0cbrKcMU1pMc/ZI= github.com/xrash/smetrics v0.0.0-20240312152122-5f08fbb34913 h1:+qGGcbkzsfDQNPPe9UDgpxAWQrhbbBXOYJFQDq/dtJw= github.com/xrash/smetrics v0.0.0-20240312152122-5f08fbb34913/go.mod h1:4aEEwZQutDLsQv2Deui4iYQ6DWTxR14g6m8Wv88+Xqk= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= diff --git a/demo/pkg/subgraphs/employeeupdated/subgraph/schema.graphqls b/demo/pkg/subgraphs/employeeupdated/subgraph/schema.graphqls index d49bead4b3..5d1e005033 100644 --- a/demo/pkg/subgraphs/employeeupdated/subgraph/schema.graphqls +++ b/demo/pkg/subgraphs/employeeupdated/subgraph/schema.graphqls @@ -36,7 +36,7 @@ input UpdateEmployeeInput { type Mutation { updateEmployeeMyKafka(employeeID: Int!, update: UpdateEmployeeInput!): edfs__PublishResult! @edfs__kafkaPublish(topic: "employeeUpdated", providerId: "my-kafka") - updateEmployeeMyNats(employeeID: Int!, update: UpdateEmployeeInput!): edfs__PublishResult! @edfs__natsPublish(subject: "employeeUpdatedMyNats.{{ args.employeeID }}", providerId: "my-nats") + updateEmployeeMyNats(id: Int!, update: UpdateEmployeeInput!): edfs__PublishResult! @edfs__natsPublish(subject: "employeeUpdatedMyNats.{{ args.id }}", providerId: "my-nats") } type Subscription { @@ -78,4 +78,4 @@ type edfs__PublishResult { input edfs__StreamConfiguration { consumerName: String! streamName: String! -} \ No newline at end of file +} diff --git a/go.work b/go.work deleted file mode 100644 index a5a9bf4698..0000000000 --- a/go.work +++ /dev/null @@ -1,20 +0,0 @@ -go 1.21.5 - -toolchain go1.22.0 - -use ( - ./aws-lambda-router - ./composition-go - ./demo - ./graphqlmetrics - ./router - ./router-tests -) - -// Two dirs up -// replace github.com/wundergraph/graphql-go-tools/v2 => ../../graphql-go-tools/v2 - -// One dir up -//replace github.com/wundergraph/graphql-go-tools/v2 => ../graphql-go-tools/v2 - -//replace github.com/wundergraph/astjson => ../astjson diff --git a/go.work.sum b/go.work.sum deleted file mode 100644 index a54de13c84..0000000000 --- a/go.work.sum +++ /dev/null @@ -1,632 +0,0 @@ -cloud.google.com/go v0.112.1 h1:uJSeirPke5UNZHIb4SxfZklVSiWWVqW4oXlETwZziwM= -cloud.google.com/go v0.112.1/go.mod h1:+Vbu+Y1UU+I1rjmzeMOb/8RfkKJK2Gyxi1X6jJCZLo4= -cloud.google.com/go/compute v1.23.3 h1:6sVlXXBmbd7jNX0Ipq0trII3e4n1/MsADLK6a+aiVlk= -cloud.google.com/go/compute v1.23.3/go.mod h1:VCgBUoMnIVIR0CscqQiPJLAG25E3ZRZMzcFZeQ+h8CI= -cloud.google.com/go/compute v1.25.1 h1:ZRpHJedLtTpKgr3RV1Fx23NuaAEN1Zfx9hw1u4aJdjU= -cloud.google.com/go/compute v1.25.1/go.mod h1:oopOIR53ly6viBYxaDhBfJwzUAxf1zE//uf3IB011ls= -cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= -cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= -cloud.google.com/go/compute/metadata v0.3.0 h1:Tz+eQXMEqDIKRsmY3cHTL6FVaynIjX2QxYC4trgAKZc= -cloud.google.com/go/compute/metadata v0.3.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= -connectrpc.com/connect v1.1.0/go.mod h1:MQ74fcYQrMuuTcC2FaWLP8QNjYrlQlXwqirOQ4aRJns= -git.sr.ht/~sbinet/gg v0.3.1 h1:LNhjNn8DerC8f9DHLz6lS0YYul/b602DUxDgGkd/Aik= -git.sr.ht/~sbinet/gg v0.3.1/go.mod h1:KGYtlADtqsqANL9ueOFkWymvzUvLMQllU5Ixo+8v3pc= -github.com/99designs/gqlgen v0.17.39/go.mod h1:b62q1USk82GYIVjC60h02YguAZLqYZtvWml8KkhJps4= -github.com/99designs/gqlgen v0.17.45/go.mod h1:Bas0XQ+Jiu/Xm5E33jC8sES3G+iC2esHBMXcq0fUPs0= -github.com/AdamKorcz/go-118-fuzz-build v0.0.0-20230306123547-8075edf89bb0 h1:59MxjQVfjXsBpLy+dbd2/ELV5ofnUkUZBvWSC85sheA= -github.com/AdamKorcz/go-118-fuzz-build v0.0.0-20230306123547-8075edf89bb0/go.mod h1:OahwfttHWG6eJ0clwcfBAHoDI6X/LV/15hx/wlMZSrU= -github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8= -github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= -github.com/ClickHouse/clickhouse-go v1.5.4 h1:cKjXeYLNWVJIx2J1K6H2CqyRmfwVJVY1OV1coaaFcI0= -github.com/ClickHouse/clickhouse-go v1.5.4/go.mod h1:EaI/sW7Azgz9UATzd5ZdZHRUhHgv5+JMS9NSr2smCJI= -github.com/OneOfOne/xxhash v1.2.8 h1:31czK/TI9sNkxIKfaUfGlU47BAxQ0ztGgd9vPyqimf8= -github.com/OneOfOne/xxhash v1.2.8/go.mod h1:eZbhyaAYD41SGSSsnmcpxVoRiQ/MPUTjUdIIOT9Um7Q= -github.com/RyanCarrier/dijkstra v1.1.0 h1:/NDihjfJA3CxFaZz8EdzTwdFKFZDvvB881OVLdakRcI= -github.com/RyanCarrier/dijkstra v1.1.0/go.mod h1:5agGUBNEtUAGIANmbw09fuO3a2htPEkc1jNH01qxCWA= -github.com/ajg/form v1.5.2-0.20200323032839-9aeb3cf462e1 h1:8Qzi+0Uch1VJvdrOhJ8U8FqoPLbUdETPgMqGJ6DSMSQ= -github.com/ajg/form v1.5.2-0.20200323032839-9aeb3cf462e1/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY= -github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b h1:slYM766cy2nI3BwyRiyQj/Ud48djTMtMebDqepE95rw= -github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b/go.mod h1:1KcenG0jGWcpt8ov532z81sp/kMMUG485J2InIOyADM= -github.com/akavel/rsrc v0.10.2 h1:Zxm8V5eI1hW4gGaYsJQUhxpjkENuG91ki8B4zCrvEsw= -github.com/akavel/rsrc v0.10.2/go.mod h1:uLoCtb9J+EyAqh+26kdrTgmzRBFPGOolLWKpdxkKq+c= -github.com/alecthomas/kingpin/v2 v2.3.2 h1:H0aULhgmSzN8xQ3nX1uxtdlTHYoPLu5AhHxWrKI6ocU= -github.com/alecthomas/kingpin/v2 v2.3.2/go.mod h1:0gyi0zQnjuFk8xrkNKamJoyUo382HRL7ATRpFZCw6tE= -github.com/alecthomas/kingpin/v2 v2.4.0 h1:f48lwail6p8zpO1bC4TxtqACaGqHYA22qkHjHpqDjYY= -github.com/alecthomas/kingpin/v2 v2.4.0/go.mod h1:0gyi0zQnjuFk8xrkNKamJoyUo382HRL7ATRpFZCw6tE= -github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 h1:s6gZFSlWYmbqAuRjVTiNNhvNRfY2Wxp9nhfyel4rklc= -github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= -github.com/alitto/pond v1.8.3 h1:ydIqygCLVPqIX/USe5EaV/aSRXTRXDEI9JwuDdu+/xs= -github.com/alitto/pond v1.8.3/go.mod h1:CmvIIGd5jKLasGI3D87qDkQxjzChdKMmnXMg3fG6M6Q= -github.com/antihax/optional v1.0.0 h1:xK2lYat7ZLaVVcIuj82J8kIro4V6kDe0AUDFboUCwcg= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/aybabtme/rgbterm v0.0.0-20170906152045-cc83f3b3ce59 h1:WWB576BN5zNSZc/M9d/10pqEx5VHNhaQ/yOVAkmj5Yo= -github.com/aybabtme/rgbterm v0.0.0-20170906152045-cc83f3b3ce59/go.mod h1:q/89r3U2H7sSsE2t6Kca0lfwTK8JdoNGS/yzM/4iH5I= -github.com/barkyq/fastjson v0.0.0-20230118153732-bb1076612fd9 h1:gsI0tqI5IvQ3xIH4oXttNu0EMcBEUR+1RmfgayyGjVE= -github.com/barkyq/fastjson v0.0.0-20230118153732-bb1076612fd9/go.mod h1:CLCAqky6SMuOcxStkYQvblddUtoRxhYMGLrsQns1aXY= -github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM= -github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= -github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM= -github.com/bytedance/sonic v1.10.0-rc h1:3S5HeWxjX08CUqNrXtEittExpJsEKBNzrV5UnrzHxVQ= -github.com/bytedance/sonic v1.10.0-rc/go.mod h1:ElCzW+ufi8qKqNW0FY314xriJhyJhuoJ3gFZdAHF7NM= -github.com/bytedance/sonic v1.11.6 h1:oUp34TzMlL+OY1OUWxHqsdkgC/Zfc85zGqw9siXjrc0= -github.com/bytedance/sonic v1.11.6/go.mod h1:LysEHSvpvDySVdC2f87zGWf6CIKJcAvqab1ZaiQtds4= -github.com/bytedance/sonic/loader v0.1.1 h1:c+e5Pt1k/cy5wMveRDyk2X4B9hF4g7an8N3zCYjJFNM= -github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= -github.com/census-instrumentation/opencensus-proto v0.4.1 h1:iKLQ0xPNFxR/2hzXZMrBo8f1j86j5WHzznCCQxV/b8g= -github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= -github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= -github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/chenzhuoyu/base64x v0.0.0-20211019084208-fb5309c8db06/go.mod h1:DH46F32mSOjUmXrMHnKwZdA8wcEefY7UVqBKYGjpdQY= -github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311/go.mod h1:b583jCggY9gE99b6G5LEC39OIiVsWj+R97kbl5odCEk= -github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d h1:77cEq6EriyTZ0g/qfRdp61a3Uu/AWrgIq2s0ClJV1g0= -github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d/go.mod h1:8EPpVsBuRksnlj1mLy4AWzRNQYxauNi62uWcE3to6eA= -github.com/chenzhuoyu/iasm v0.9.0/go.mod h1:Xjy2NpN3h7aUqeqM+woSuuvxmIe6+DDsiNLIrkAmYog= -github.com/chenzhuoyu/iasm v0.9.1 h1:tUHQJXo3NhBqw6s33wkGn9SP3bvrWLdlVIJ3hQBL7P0= -github.com/chenzhuoyu/iasm v0.9.1/go.mod h1:Xjy2NpN3h7aUqeqM+woSuuvxmIe6+DDsiNLIrkAmYog= -github.com/chzyer/logex v1.2.0 h1:+eqR0HfOetur4tgnC8ftU5imRnhi4te+BadWS95c5AM= -github.com/chzyer/readline v1.5.0 h1:lSwwFrbNviGePhkewF1az4oLmcwqCZijQ2/Wi3BGHAI= -github.com/chzyer/test v0.0.0-20210722231415-061457976a23 h1:dZ0/VyGgQdVGAss6Ju0dt5P0QltE0SFY5Woh6hbIfiQ= -github.com/cloudflare/golz4 v0.0.0-20150217214814-ef862a3cdc58 h1:F1EaeKL/ta07PY/k9Os/UFtwERei2/XzGemhpGnBKNg= -github.com/cloudflare/golz4 v0.0.0-20150217214814-ef862a3cdc58/go.mod h1:EOBUe0h4xcZ5GoxqC5SDxFQ8gwyZPKQoEzownBlhI80= -github.com/cloudwego/base64x v0.1.4 h1:jwCgWpFanWmN8xoIUHa2rtzmkd5J2plF/dnLS6Xd/0Y= -github.com/cloudwego/base64x v0.1.4/go.mod h1:0zlkT4Wn5C6NdauXdJRhSKRlJvmclQ1hhJgA0rcu/8w= -github.com/cloudwego/iasm v0.2.0 h1:1KNIy1I1H9hNNFEEH3DVnI4UujN+1zjpuk6gwHLTssg= -github.com/cloudwego/iasm v0.2.0/go.mod h1:8rXZaNYT2n95jn+zTI1sDr+IgcD2GVs0nlbbQPiEFhY= -github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe h1:QQ3GSy+MqSHxm/d8nCtnAiZdYFd45cYZPs8vOOIYKfk= -github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= -github.com/cncf/xds/go v0.0.0-20231109132714-523115ebc101 h1:7To3pQ+pZo0i3dsWEbinPNFs5gPSBOsJtx3wTT94VBY= -github.com/cncf/xds/go v0.0.0-20231109132714-523115ebc101/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20240318125728-8a4994d93e50 h1:DBmgJDC9dTfkVyGgipamEh2BpGYxScCH1TOF1LL1cXc= -github.com/cncf/xds/go v0.0.0-20240318125728-8a4994d93e50/go.mod h1:5e1+Vvlzido69INQaVO6d87Qn543Xr6nooe9Kz7oBFM= -github.com/container-orchestrated-devices/container-device-interface v0.6.1 h1:mz77uJoP8im/4Zins+mPqt677ZMaflhoGaYrRAl5jvA= -github.com/container-orchestrated-devices/container-device-interface v0.6.1/go.mod h1:40T6oW59rFrL/ksiSs7q45GzjGlbvxnA4xaK6cyq+kA= -github.com/containerd/aufs v1.0.0 h1:2oeJiwX5HstO7shSrPZjrohJZLzK36wvpdmzDRkL/LY= -github.com/containerd/aufs v1.0.0/go.mod h1:kL5kd6KM5TzQjR79jljyi4olc1Vrx6XBlcyj3gNv2PU= -github.com/containerd/btrfs/v2 v2.0.0 h1:FN4wsx7KQrYoLXN7uLP0vBV4oVWHOIKDRQ1G2Z0oL5M= -github.com/containerd/btrfs/v2 v2.0.0/go.mod h1:swkD/7j9HApWpzl8OHfrHNxppPd9l44DFZdF94BUj9k= -github.com/containerd/cgroups v1.1.0 h1:v8rEWFl6EoqHB+swVNjVoCJE8o3jX7e8nqBGPLaDFBM= -github.com/containerd/cgroups v1.1.0/go.mod h1:6ppBcbh/NOOUU+dMKrykgaBnK9lCIBxHqJDGwsa1mIw= -github.com/containerd/console v1.0.3 h1:lIr7SlA5PxZyMV30bDW0MGbiOPXwc63yRuCP0ARubLw= -github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U= -github.com/containerd/continuity v0.4.2 h1:v3y/4Yz5jwnvqPKJJ+7Wf93fyWoCB3F5EclWG023MDM= -github.com/containerd/continuity v0.4.2/go.mod h1:F6PTNCKepoxEaXLQp3wDAjygEnImnZ/7o4JzpodfroQ= -github.com/containerd/fifo v1.1.0 h1:4I2mbh5stb1u6ycIABlBw9zgtlK8viPI9QkQNRQEEmY= -github.com/containerd/fifo v1.1.0/go.mod h1:bmC4NWMbXlt2EZ0Hc7Fx7QzTFxgPID13eH0Qu+MAb2o= -github.com/containerd/go-cni v1.1.9 h1:ORi7P1dYzCwVM6XPN4n3CbkuOx/NZ2DOqy+SHRdo9rU= -github.com/containerd/go-cni v1.1.9/go.mod h1:XYrZJ1d5W6E2VOvjffL3IZq0Dz6bsVlERHbekNK90PM= -github.com/containerd/go-runc v1.0.0 h1:oU+lLv1ULm5taqgV/CJivypVODI4SUz1znWjv3nNYS0= -github.com/containerd/go-runc v1.0.0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDXPpoJhDR+Ok= -github.com/containerd/imgcrypt v1.1.7 h1:WSf9o9EQ0KGHiUx2ESFZ+PKf4nxK9BcvV/nJDX8RkB4= -github.com/containerd/imgcrypt v1.1.7/go.mod h1:FD8gqIcX5aTotCtOmjeCsi3A1dHmTZpnMISGKSczt4k= -github.com/containerd/nri v0.4.0 h1:PjgIBm0RtUiFyEO6JqPBQZRQicbsIz41Fz/5VSC0zgw= -github.com/containerd/nri v0.4.0/go.mod h1:Zw9q2lP16sdg0zYybemZ9yTDy8g7fPCIB3KXOGlggXI= -github.com/containerd/stargz-snapshotter/estargz v0.14.3 h1:OqlDCK3ZVUO6C3B/5FSkDwbkEETK84kQgEeFwDC+62k= -github.com/containerd/stargz-snapshotter/estargz v0.14.3/go.mod h1:KY//uOCIkSuNAHhJogcZtrNHdKrA99/FCCRjE3HD36o= -github.com/containerd/ttrpc v1.2.2 h1:9vqZr0pxwOF5koz6N0N3kJ0zDHokrcPxIR/ZR2YFtOs= -github.com/containerd/ttrpc v1.2.2/go.mod h1:sIT6l32Ph/H9cvnJsfXM5drIVzTr5A2flTf1G5tYZak= -github.com/containerd/typeurl v1.0.2 h1:Chlt8zIieDbzQFzXzAeBEF92KhExuE4p9p92/QmY7aY= -github.com/containerd/typeurl v1.0.2/go.mod h1:9trJWW2sRlGub4wZJRTW83VtbOLS6hwcDZXTn6oPz9s= -github.com/containerd/typeurl/v2 v2.1.1 h1:3Q4Pt7i8nYwy2KmQWIw2+1hTvwTE/6w9FqcttATPO/4= -github.com/containerd/typeurl/v2 v2.1.1/go.mod h1:IDp2JFvbwZ31H8dQbEIY7sDl2L3o3HZj1hsSQlywkQ0= -github.com/containerd/zfs v1.1.0 h1:n7OZ7jZumLIqNJqXrEc/paBM840mORnmGdJDmAmJZHM= -github.com/containerd/zfs v1.1.0/go.mod h1:oZF9wBnrnQjpWLaPKEinrx3TQ9a+W/RJO7Zb41d8YLE= -github.com/containernetworking/cni v1.1.2 h1:wtRGZVv7olUHMOqouPpn3cXJWpJgM6+EUl31EQbXALQ= -github.com/containernetworking/cni v1.1.2/go.mod h1:sDpYKmGVENF3s6uvMvGgldDWeG8dMxakj/u+i9ht9vw= -github.com/containernetworking/plugins v1.2.0 h1:SWgg3dQG1yzUo4d9iD8cwSVh1VqI+bP7mkPDoSfP9VU= -github.com/containernetworking/plugins v1.2.0/go.mod h1:/VjX4uHecW5vVimFa1wkG4s+r/s9qIfPdqlLF4TW8c4= -github.com/containers/ocicrypt v1.1.6 h1:uoG52u2e91RE4UqmBICZY8dNshgfvkdl3BW6jnxiFaI= -github.com/containers/ocicrypt v1.1.6/go.mod h1:WgjxPWdTJMqYMjf3M6cuIFFA1/MpyyhIM99YInA+Rvc= -github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.0-20210816181553-5444fa50b93d h1:1iy2qD6JEhHKKhUOA9IWs7mjco7lnw2qx8FsRI2wirE= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.0-20210816181553-5444fa50b93d/go.mod h1:tmAIfUFEirG/Y8jhZ9M+h36obRZAk/1fcSpXwAVlfqE= -github.com/dmarkham/enumer v1.5.9 h1:NM/1ma/AUNieHZg74w67GkHFBNB15muOt3sj486QVZk= -github.com/dmarkham/enumer v1.5.9/go.mod h1:e4VILe2b1nYK3JKJpRmNdl5xbDQvELc6tQ8b+GsGk6E= -github.com/docker/cli v23.0.3+incompatible h1:Zcse1DuDqBdgI7OQDV8Go7b83xLgfhW1eza4HfEdxpY= -github.com/docker/cli v23.0.3+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= -github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= -github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker-credential-helpers v0.7.0 h1:xtCHsjxogADNZcdv1pKUHXryefjlVRqWqIhk/uXJp0A= -github.com/docker/docker-credential-helpers v0.7.0/go.mod h1:rETQfLdHNT3foU5kuNkFR1R1V12OJRRO5lzt2D1b5X0= -github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c h1:+pKlWGMw7gf6bQ+oDZB4KHQFypsfjYlq/C4rfL7D3g8= -github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= -github.com/docker/go-metrics v0.0.1 h1:AgB/0SvBxihN0X8OR4SjsblXkbMvalQ8cjmtKQ2rQV8= -github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw= -github.com/dop251/goja_nodejs v0.0.0-20211022123610-8dd9abb0616d h1:W1n4DvpzZGOISgp7wWNtraLcHtnmnTwBlJidqtMIuwQ= -github.com/emicklei/go-restful/v3 v3.10.1 h1:rc42Y5YTp7Am7CS630D7JmhRjq4UlEUuEKfrDac4bSQ= -github.com/emicklei/go-restful/v3 v3.10.1/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/envoyproxy/go-control-plane v0.11.1 h1:wSUXTlLfiAQRWs2F+p+EKOY9rUyis1MyGqJ2DIk5HpM= -github.com/envoyproxy/go-control-plane v0.11.1/go.mod h1:uhMcXKCQMEJHiAb0w+YGefQLaTEw+YhGluxZkrTmD0g= -github.com/envoyproxy/go-control-plane v0.12.0 h1:4X+VP1GHd1Mhj6IB5mMeGbLCleqxjletLK6K0rbxyZI= -github.com/envoyproxy/go-control-plane v0.12.0/go.mod h1:ZBTaoJ23lqITozF0M6G4/IragXCQKCnYbmlmtHvwRG0= -github.com/envoyproxy/protoc-gen-validate v1.0.2 h1:QkIBuU5k+x7/QXPvPPnWXWlCdaBFApVqftFV6k087DA= -github.com/envoyproxy/protoc-gen-validate v1.0.2/go.mod h1:GpiZQP3dDbg4JouG/NNS7QWXpgx6x8QiMKdmN72jogE= -github.com/envoyproxy/protoc-gen-validate v1.0.4 h1:gVPz/FMfvh57HdSJQyvBtF00j8JU4zdyUgIUNhlgg0A= -github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZH4Blx/1gTIZ2UKVY1M+Yew= -github.com/evanw/esbuild v0.14.11 h1:bw50N4v70Dqf/B6Wn+3BM6BVttz4A6tHn8m8Ydj9vxk= -github.com/evanw/esbuild v0.14.11/go.mod h1:GG+zjdi59yh3ehDn4ZWfPcATxjPDUH53iU4ZJbp7dkY= -github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= -github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= -github.com/fatih/structtag v1.2.0 h1:/OdNE99OxoI/PqaW/SuSK9uxxT3f/tcSZgon/ssNSx4= -github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94= -github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= -github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= -github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= -github.com/fxamacker/cbor/v2 v2.4.0 h1:ri0ArlOR+5XunOP8CRUowT0pSJOwhW098ZCUyskZD88= -github.com/fxamacker/cbor/v2 v2.4.0/go.mod h1:TA1xS00nchWmaBnEIxPSE5oHLuJBAVvqrtAnWBwBCVo= -github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813 h1:Uc+IZ7gYqAf/rSGFplbWBSHaGolEQlNLgMgSE3ccnIQ= -github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813/go.mod h1:P+oSoE9yhSRvsmYyZsshflcR6ePWYLql6UU1amW13IM= -github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= -github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= -github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= -github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg= -github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU= -github.com/gin-gonic/gin v1.10.0 h1:nTuyha1TYqgedzytsKYqna+DfLos46nTv2ygFy86HFU= -github.com/gin-gonic/gin v1.10.0/go.mod h1:4PMNQiOhvDRa013RKVbsiNwoyezlm2rm0uX/T7kzp5Y= -github.com/gitchander/permutation v0.0.0-20201214100618-1f3e7285f953 h1:+rJDfq6waeB1BncyEfuFL1N3U7t3aahrAjPqcKLpMys= -github.com/gitchander/permutation v0.0.0-20201214100618-1f3e7285f953/go.mod h1:lP+DW8LR6Rw3ru9Vo2/y/3iiLaLWmofYql/va+7zJOk= -github.com/go-fonts/liberation v0.3.0 h1:3BI2iaE7R/s6uUUtzNCjo3QijJu3aS4wmrMgfSpYQ+8= -github.com/go-fonts/liberation v0.3.0/go.mod h1:jdJ+cqF+F4SUL2V+qxBth8fvBpBDS7yloUL5Fi8GTGY= -github.com/go-kit/log v0.2.1 h1:MRVx0/zhvdseW+Gza6N9rVzU/IVzaeE1SFI4raAhmBU= -github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= -github.com/go-latex/latex v0.0.0-20230307184459-12ec69307ad9 h1:NxXI5pTAtpEaU49bpLpQoDsu1zrteW/vxzTz8Cd2UAs= -github.com/go-latex/latex v0.0.0-20230307184459-12ec69307ad9/go.mod h1:gWuR/CrFDDeVRFQwHPvsv9soJVB/iqymhuZQuJ3a9OM= -github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA= -github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= -github.com/go-pdf/fpdf v0.6.0 h1:MlgtGIfsdMEEQJr2le6b/HNr1ZlQwxyWr77r2aj2U/8= -github.com/go-pdf/fpdf v0.6.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= -github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= -github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= -github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= -github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= -github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4= -github.com/go-playground/validator/v10 v10.15.5/go.mod h1:9iXMNT7sEkjXb0I+enO7QXmzG6QCsPWY4zveKFVRSyU= -github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= -github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= -github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= -github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= -github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= -github.com/goccmack/gocc v0.0.0-20230228185258-2292f9e40198 h1:FSii2UQeSLngl3jFoR4tUKZLprO7qUlh/TKKticc0BM= -github.com/goccmack/gocc v0.0.0-20230228185258-2292f9e40198/go.mod h1:DTh/Y2+NbnOVVoypCCQrovMPDKUGp4yZpSbWg5D0XIM= -github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= -github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g= -github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= -github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= -github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= -github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-containerregistry v0.14.0 h1:z58vMqHxuwvAsVwvKEkmVBz2TlgBgH5k6koEXBtlYkw= -github.com/google/go-containerregistry v0.14.0/go.mod h1:aiJ2fp/SXvkWgmYHioXnbMdlgB8eXiiYOY55gfN91Wk= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/renameio v0.1.0 h1:GOZbcHa3HfsPKPlmyPyN2KEohoMXOhdMbHrvbpl2QaA= -github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o= -github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= -github.com/googleapis/enterprise-certificate-proxy v0.3.2 h1:Vie5ybvEvT75RniqhfFxPRy3Bf7vr3h0cechB90XaQs= -github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= -github.com/googleapis/gax-go/v2 v2.12.2 h1:mhN09QQW1jEWeMF74zGR81R30z4VJzjZsfkUhuHF+DA= -github.com/googleapis/gax-go/v2 v2.12.2/go.mod h1:61M8vcyyXR2kqKFxKrfA22jaA8JGF7Dc8App1U3H6jc= -github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw= -github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= -github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho= -github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= -github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= -github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/golang-lru/v2 v2.0.3/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= -github.com/hexops/valast v1.4.1 h1:vlB+usah+MLacCyDDqACn2yhAoCDlpHYkpEKtej+RXE= -github.com/hexops/valast v1.4.1/go.mod h1:G+D6TExWuKs5he+hYlPMfYyhQ8w8qbc2vm4gDWwLdDg= -github.com/iancoleman/strcase v0.3.0 h1:nTXanmYxhfFAMjZL34Ov6gkzEsSJZ5DbhxWjvSASxEI= -github.com/iancoleman/strcase v0.3.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= -github.com/ianlancetaylor/demangle v0.0.0-20220319035150-800ac71e25c2 h1:rcanfLhLDA8nozr/K289V1zcntHr3V+SHlXwzz1ZI2g= -github.com/intel/goresctrl v0.3.0 h1:K2D3GOzihV7xSBedGxONSlaw/un1LZgWsc9IfqipN4c= -github.com/intel/goresctrl v0.3.0/go.mod h1:fdz3mD85cmP9sHD8JUlrNWAxvwM86CrbmVXltEKd7zk= -github.com/jackc/puddle/v2 v2.2.1 h1:RhxXJtFG022u4ibrCSMSiu5aOq1i77R3OHKNJj77OAk= -github.com/jackc/puddle/v2 v2.2.1/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4= -github.com/jensneuse/byte-template v0.0.0-20200214152254-4f3cf06e5c68/go.mod h1:0D5r/VSW6D/o65rKLL9xk7sZxL2+oku2HvFPYeIMFr4= -github.com/josephspurrier/goversioninfo v1.4.0 h1:Puhl12NSHUSALHSuzYwPYQkqa2E1+7SrtAPJorKK0C8= -github.com/josephspurrier/goversioninfo v1.4.0/go.mod h1:JWzv5rKQr+MmW+LvM412ToT/IkYDZjaclF2pKDss8IY= -github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA= -github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= -github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/julienschmidt/httprouter v1.3.0 h1:U0609e9tgbseu3rBINet9P48AI/D3oJs4dN7jwJOQ1U= -github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= -github.com/keegancsmith/rpc v1.3.0 h1:wGWOpjcNrZaY8GDYZJfvyxmlLljm3YQWF+p918DXtDk= -github.com/keegancsmith/rpc v1.3.0/go.mod h1:6O2xnOGjPyvIPbvp0MdrOe5r6cu1GZ4JoTzpzDhWeo0= -github.com/kevinmbeaulieu/eq-go v1.0.0 h1:AQgYHURDOmnVJ62jnEk0W/7yFKEn+Lv8RHN6t7mB0Zo= -github.com/kevinmbeaulieu/eq-go v1.0.0/go.mod h1:G3S8ajA56gKBZm4UB9AOyoOS37JO3roToPzKNM8dtdM= -github.com/kisielk/errcheck v1.5.0 h1:e8esj/e4R+SAOwFwN+n3zr0nYeCyeweozKfO23MvHzY= -github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg= -github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/compress v1.17.2/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= -github.com/klauspost/compress v1.17.6/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= -github.com/klauspost/cpuid/v2 v2.0.4 h1:g0I61F2K2DjRHz1cnxlkNSBIaePVoJIjjnHui8QHbiw= -github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.5 h1:0E5MSMDEoAulmXNFquVs//DdoomxaoTY1kUhbc/qbZg= -github.com/klauspost/cpuid/v2 v2.2.5/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= -github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= -github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= -github.com/knz/go-libedit v1.10.1 h1:0pHpWtx9vcvC0xGZqEQlQdfSQs7WRlAjuPvk3fOZDCo= -github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= -github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk= -github.com/kr/pty v1.1.1 h1:VkoXIwSboBpnk99O/KFauAEILuNHv5DVFKZMBN/gUgw= -github.com/labstack/echo/v4 v4.12.0 h1:IKpw49IMryVB2p1a4dzwlhP1O2Tf2E0Ir/450lH+kI0= -github.com/labstack/echo/v4 v4.12.0/go.mod h1:UP9Cr2DJXbOK3Kr9ONYzNowSh7HP0aG0ShAyycHSJvM= -github.com/labstack/gommon v0.4.2 h1:F8qTUNXgG1+6WQmqoUWnz8WiEU60mXVVw0P4ht1WRA0= -github.com/labstack/gommon v0.4.2/go.mod h1:QlUFxVM+SNXhDL/Z7YhocGIBYOiwB0mXm1+1bAPHPyU= -github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= -github.com/lestrrat-go/backoff/v2 v2.0.8 h1:oNb5E5isby2kiro9AgdHLv5N5tint1AnDVVf2E2un5A= -github.com/lestrrat-go/backoff/v2 v2.0.8/go.mod h1:rHP/q/r9aT27n24JQLa7JhSQZCKBBOiM/uP402WwN8Y= -github.com/lestrrat-go/blackmagic v1.0.0 h1:XzdxDbuQTz0RZZEmdU7cnQxUtFUzgCSPq8RCz4BxIi4= -github.com/lestrrat-go/blackmagic v1.0.0/go.mod h1:TNgH//0vYSs8VXDCfkZLgIrVTTXQELZffUV0tz3MtdQ= -github.com/lestrrat-go/httpcc v1.0.1 h1:ydWCStUeJLkpYyjLDHihupbn2tYmZ7m22BGkcvZZrIE= -github.com/lestrrat-go/httpcc v1.0.1/go.mod h1:qiltp3Mt56+55GPVCbTdM9MlqhvzyuL6W/NMDA8vA5E= -github.com/lestrrat-go/iter v1.0.1 h1:q8faalr2dY6o8bV45uwrxq12bRa1ezKrB6oM9FUgN4A= -github.com/lestrrat-go/iter v1.0.1/go.mod h1:zIdgO1mRKhn8l9vrZJZz9TUMMFbQbLeTsbqPDrJ/OJc= -github.com/lestrrat-go/jwx v1.2.25 h1:tAx93jN2SdPvFn08fHNAhqFJazn5mBBOB8Zli0g0otA= -github.com/lestrrat-go/jwx v1.2.25/go.mod h1:zoNuZymNl5lgdcu6P7K6ie2QRll5HVfF4xwxBBK1NxY= -github.com/lestrrat-go/option v1.0.0 h1:WqAWL8kh8VcSoD6xjSH34/1m8yxluXQbDeKNfvFeEO4= -github.com/lestrrat-go/option v1.0.0/go.mod h1:5ZHFbivi4xwXxhxY9XHDe2FHo6/Z7WWmtT7T5nBBp3I= -github.com/linuxkit/virtsock v0.0.0-20201010232012-f8cee7dfc7a3 h1:jUp75lepDg0phMUJBCmvaeFDldD2N3S1lBuPwUTszio= -github.com/linuxkit/virtsock v0.0.0-20201010232012-f8cee7dfc7a3/go.mod h1:3r6x7q95whyfWQpmGZTu3gk3v2YkMi05HEzl7Tf7YEo= -github.com/lithammer/dedent v1.1.0 h1:VNzHMVCBNG1j0fh3OrsFRkVUwStdDArbgBWoPAffktY= -github.com/lithammer/dedent v1.1.0/go.mod h1:jrXYCQtgg0nJiN+StA2KgR7w6CiQNv9Fd/Z9BP0jIOc= -github.com/livebud/bud-test-nested-plugin v0.0.5 h1:MpPp20Gng0F+Kvl+L9kttu6nsJIYkIUfvuFMCGe/BeA= -github.com/livebud/bud-test-nested-plugin v0.0.5/go.mod h1:M3QujkGG4ggZ6h75t5zF8MEJFrLTwa2USeIYHQdO2YQ= -github.com/livebud/bud-test-plugin v0.0.9 h1:JmS4aj+NV52RUroteLs+ld6rcbkBwio7p9qPNutTsqM= -github.com/livebud/bud-test-plugin v0.0.9/go.mod h1:GTxMZ8W4BIyGIOgAA4hvPHMDDTkaZtfcuhnOcSu3y8M= -github.com/livebud/transpiler v0.0.1 h1:raG4W8qMq534VYrWv5sFQieQCa4McrJhQOy0YXk63kk= -github.com/livebud/transpiler v0.0.1/go.mod h1:vQYMN//Y2cnM55tw0lOmLGbEETugP7alxTyhQHzNdTI= -github.com/lyft/protoc-gen-star/v2 v2.0.3 h1:/3+/2sWyXeMLzKd1bX+ixWKgEMsULrIivpDsuaF441o= -github.com/lyft/protoc-gen-star/v2 v2.0.3/go.mod h1:amey7yeodaJhXSbf/TlLvWiqQfLOSpEk//mLlc+axEk= -github.com/matryer/moq v0.3.4 h1:czCFIos9rI2tyOehN9ktc/6bQ76N9J4xQ2n3dk063ac= -github.com/matryer/moq v0.3.4/go.mod h1:wqm9QObyoMuUtH81zFfs3EK6mXEcByy+TjvSROOXJ2U= -github.com/matthewmueller/diff v0.0.0-20220104030700-cb2fe910d90c h1:yjGBNrCIE7IghJAwrFcyDzwzwJKf0oRPeOHx60wfkmA= -github.com/matthewmueller/diff v0.0.0-20220104030700-cb2fe910d90c/go.mod h1:xIxeV0n2W+WNB3ik/j9lUkcrQAk71VrvT9ch8u4pcvM= -github.com/matthewmueller/gotext v0.0.0-20210424201144-265ed61725ac h1:SjopLdUF96kdJU8ynYmGVHoJmngpwFHRvR5p2plBXG4= -github.com/matthewmueller/gotext v0.0.0-20210424201144-265ed61725ac/go.mod h1:0mnotoJNdO4NPxld/GcrLppxwGWuMqgroWyu413oOvw= -github.com/matthewmueller/text v0.0.0-20210424201111-ec1e4af8dfe8 h1:XTmVlF7P9bpSNkLFlxpNlhig0kaVJ5mO4D3yK2CYjmM= -github.com/matthewmueller/text v0.0.0-20210424201111-ec1e4af8dfe8/go.mod h1:vtPaEU72VzARd4tSSzHIX7DddCEamoO2X4ozlrdmtNY= -github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= -github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/mattn/go-shellwords v1.0.12 h1:M2zGm7EW6UQJvDeQxo4T51eKPurbeFbe8WtebGE2xrk= -github.com/mattn/go-shellwords v1.0.12/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= -github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= -github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= -github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 h1:jWpvCLoY8Z/e3VKvlsiIGKtc+UG6U5vzxaoagmhXfyg= -github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0/go.mod h1:QUyp042oQthUoa9bqDv0ER0wrtXnBruoNd7aNjkbP+k= -github.com/miekg/pkcs11 v1.1.1 h1:Ugu9pdy6vAYku5DEpVWVFPYnzV+bxB+iRdbuFSu7TvU= -github.com/miekg/pkcs11 v1.1.1/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= -github.com/minio/sha256-simd v1.0.0 h1:v1ta+49hkWZyvaKwrQB8elexRqm6Y0aMLjCNsrYxo6g= -github.com/minio/sha256-simd v1.0.0/go.mod h1:OuYzVNI5vcoYIAmbIvHPl3N3jUzVedXbKy5RFepssQM= -github.com/mistifyio/go-zfs/v3 v3.0.1 h1:YaoXgBePoMA12+S1u/ddkv+QqxcfiZK4prI6HPnkFiU= -github.com/mistifyio/go-zfs/v3 v3.0.1/go.mod h1:CzVgeB0RvF2EGzQnytKVvVSDwmKJXxkOTUGbNrTja/k= -github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= -github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mkevac/debugcharts v0.0.0-20191222103121-ae1c48aa8615 h1:/mD+ABZyXD39BzJI2XyRJlqdZG11gXFo0SSynL+OFeU= -github.com/mkevac/debugcharts v0.0.0-20191222103121-ae1c48aa8615/go.mod h1:Ad7oeElCZqA1Ufj0U9/liOF4BtVepxRcTvr2ey7zTvM= -github.com/moby/locker v1.0.1 h1:fOXqR41zeveg4fFODix+1Ch4mj/gT0NE1XJbp/epuBg= -github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= -github.com/moby/spdystream v0.2.0 h1:cjW1zVyyoiM0T7b6UoySUFqzXMoqRckQtXwGPiBhOM8= -github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= -github.com/moby/sys/mountinfo v0.6.2 h1:BzJjoreD5BMFNmD9Rus6gdd1pLuecOFPt8wC+Vygl78= -github.com/moby/sys/mountinfo v0.6.2/go.mod h1:IJb6JQeOklcdMU9F5xQ8ZALD+CUr5VlGpwtX+VE0rpI= -github.com/moby/sys/signal v0.7.0 h1:25RW3d5TnQEoKvRbEKUGay6DCQ46IxAVTT9CUMgmsSI= -github.com/moby/sys/signal v0.7.0/go.mod h1:GQ6ObYZfqacOwTtlXvcmh9A26dVRul/hbOZn88Kg8Tg= -github.com/moby/sys/symlink v0.2.0 h1:tk1rOM+Ljp0nFmfOIBtlV3rTDlWOwFRhjEeAhZB0nZc= -github.com/moby/sys/symlink v0.2.0/go.mod h1:7uZVF2dqJjG/NsClqul95CqKOBRQyYSNnJ6BMgR/gFs= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe h1:iruDEfMl2E6fbMZ9s0scYfZQ84/6SPL6zC8ACM2oIL0= -github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU= -github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/open-policy-agent/opa v0.42.2 h1:qocVAKyjrqMjCqsU02S/gHyLr4AQQ9xMtuV1kKnnyhM= -github.com/open-policy-agent/opa v0.42.2/go.mod h1:MrmoTi/BsKWT58kXlVayBb+rYVeaMwuBm3nYAN3923s= -github.com/opencontainers/runc v1.1.5 h1:L44KXEpKmfWDcS02aeGm8QNTFXTo2D+8MYGDIJ/GDEs= -github.com/opencontainers/runc v1.1.5/go.mod h1:1J5XiS+vdZ3wCyZybsuxXZWGrgSr8fFJHLXuG2PsnNg= -github.com/opencontainers/runtime-tools v0.9.1-0.20221107090550-2e043c6bd626 h1:DmNGcqH3WDbV5k8OJ+esPWbqUOX5rMLR2PMvziDMJi0= -github.com/opencontainers/runtime-tools v0.9.1-0.20221107090550-2e043c6bd626/go.mod h1:BRHJJd0E+cx42OybVYSgUvZmU0B8P9gZuRXlZUP7TKI= -github.com/opencontainers/selinux v1.11.0 h1:+5Zbo97w3Lbmb3PeqQtpmTkMwsW5nRI3YaLpt7tQ7oU= -github.com/opencontainers/selinux v1.11.0/go.mod h1:E5dMC3VPuVvVHDYmi78qvhJp8+M586T4DlDRYpFkyec= -github.com/otiai10/copy v1.7.0 h1:hVoPiN+t+7d2nzzwMiDHPSOogsWAStewq3TwU05+clE= -github.com/otiai10/copy v1.7.0/go.mod h1:rmRl6QPdJj6EiUqXQ/4Nn2lLXoNQjFCQbbNrxgc/t3U= -github.com/panjf2000/ants/v2 v2.10.0 h1:zhRg1pQUtkyRiOFo2Sbqwjp0GfBNo9cUY2/Grpx1p+8= -github.com/panjf2000/ants/v2 v2.10.0/go.mod h1:7ZxyxsqE4vvW0M7LSD8aI3cKwgFhBHbxnlN8mDqHa1I= -github.com/pascaldekloe/name v1.0.1 h1:9lnXOHeqeHHnWLbKfH6X98+4+ETVqFqxN09UXSjcMb0= -github.com/pascaldekloe/name v1.0.1/go.mod h1:Z//MfYJnH4jVpQ9wkclwu2I2MkHmXTlT9wR5UZScttM= -github.com/paulmach/protoscan v0.2.1 h1:rM0FpcTjUMvPUNk2BhPJrreDKetq43ChnL+x1sRg8O8= -github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= -github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= -github.com/pelletier/go-toml/v2 v2.0.9 h1:uH2qQXheeefCCkuBBSLi7jCiSmj3VRh2+Goq2N7Xxu0= -github.com/pelletier/go-toml/v2 v2.0.9/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= -github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM= -github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs= -github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e h1:aoZm08cpOy4WuID//EZDgcC4zIxODThtZNPirFr42+A= -github.com/pointlander/compress v1.1.1-0.20190518213731-ff44bd196cc3 h1:hUmXhbljNFtrH5hzV9kiRoddZ5nfPTq3K0Sb2hYYiqE= -github.com/pointlander/compress v1.1.1-0.20190518213731-ff44bd196cc3/go.mod h1:q5NXNGzqj5uPnVuhGkZfmgHqNUhf15VLi6L9kW0VEc0= -github.com/pointlander/jetset v1.0.1-0.20190518214125-eee7eff80bd4 h1:RHHRCZeaNyBXdYPMjZNH8/XHDBH38TZzw8izrW7dmBE= -github.com/pointlander/jetset v1.0.1-0.20190518214125-eee7eff80bd4/go.mod h1:RdR1j20Aj5pB6+fw6Y9Ur7lMHpegTEjY1vc19hEZL40= -github.com/pointlander/peg v1.0.1 h1:mgA/GQE8TeS9MdkU6Xn6iEzBmQUQCNuWD7rHCK6Mjs0= -github.com/pointlander/peg v1.0.1/go.mod h1:5hsGDQR2oZI4QoWz0/Kdg3VSVEC31iJw/b7WjqCBGRI= -github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI= -github.com/prometheus/common v0.48.0/go.mod h1:0/KsvlIEfPQCQ5I2iNSAWKPZziNCvRs5EC6ILDTlAPc= -github.com/rogpeppe/fastuuid v1.2.0 h1:Ppwyp6VYCF1nvBTXL3trRso7mXMlRrw9ooo375wvi2s= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww= -github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY= -github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 h1:lZUw3E0/J3roVtGQ+SCrUrg3ON6NgVqpn3+iol9aGu4= -github.com/santhosh-tekuri/jsonschema/v5 v5.3.1/go.mod h1:uToXkOrWAZ6/Oc07xWQrPOhJotwFIyu2bBVN41fcDUY= -github.com/shirou/gopsutil v3.21.11+incompatible h1:+1+c1VGhc88SSonWP6foOcLhvnKlUeu/erjjvaPEYiI= -github.com/shirou/gopsutil v3.21.11+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= -github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041 h1:llrF3Fs4018ePo4+G/HV/uQUqEI1HMDjCeOf2V6puPc= -github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= -github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= -github.com/sosodev/duration v1.1.0/go.mod h1:RQIBBX0+fMLc/D9+Jb/fwvVmo0eZvDDEERAikUR6SDg= -github.com/sosodev/duration v1.2.0/go.mod h1:RQIBBX0+fMLc/D9+Jb/fwvVmo0eZvDDEERAikUR6SDg= -github.com/spf13/afero v1.10.0 h1:EaGW2JJh15aKOejeuJ+wpFSHnbd7GE6Wvp3TsNhb6LY= -github.com/spf13/afero v1.10.0/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980 h1:lIOOHPEbXzO3vnmx2gok1Tfs31Q8GQqKLc8vVqyQq/I= -github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980/go.mod h1:AO3tvPzVZ/ayst6UlUKUv6rcPQInYe3IknH3jYhAKu8= -github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= -github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635 h1:kdXcSzyDtseVEc4yCz2qF8ZrQvIDBJLl4S1c3GCXmoI= -github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= -github.com/tchap/go-patricia/v2 v2.3.1 h1:6rQp39lgIYZ+MHmdEq4xzuk1t7OdC35z/xm0BGhTkes= -github.com/tchap/go-patricia/v2 v2.3.1/go.mod h1:VZRHKAb53DLaG+nA9EaYYiaEx6YztwDlLElMsnSHD4k= -github.com/tidwall/gjson v1.17.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= -github.com/timewasted/go-accept-headers v0.0.0-20130320203746-c78f304b1b09 h1:QVxbx5l/0pzciWYOynixQMtUhPYC3YKD6EcUlOsgGqw= -github.com/timewasted/go-accept-headers v0.0.0-20130320203746-c78f304b1b09/go.mod h1:Uy/Rnv5WKuOO+PuDhuYLEpUiiKIZtss3z519uk67aF0= -github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI= -github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= -github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo= -github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= -github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= -github.com/ugorji/go/codec v1.2.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4dU= -github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= -github.com/ugorji/go/codec v1.2.12 h1:9LC83zGrHhuUA9l16C9AHXAqEV/2wBQ4nkvumAE65EE= -github.com/ugorji/go/codec v1.2.12/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= -github.com/urfave/cli v1.22.12 h1:igJgVw1JdKH+trcLWLeLwZjU9fEfPesQ+9/e4MQ44S8= -github.com/urfave/cli v1.22.12/go.mod h1:sSBEIC79qR6OvcmsD4U3KABeOTxDqQtdDnaFuUN30b8= -github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= -github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= -github.com/valyala/fasttemplate v1.2.2 h1:lxLXG0uE3Qnshl9QyaK6XJxMXlQZELvChBOCmQD0Loo= -github.com/valyala/fasttemplate v1.2.2/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= -github.com/vbatts/tar-split v0.11.2 h1:Via6XqJr0hceW4wff3QRzD5gAk/tatMw/4ZA7cTlIME= -github.com/vbatts/tar-split v0.11.2/go.mod h1:vV3ZuO2yWSVsz+pfFzDG/upWH1JhjOiEaWq6kXyQ3VI= -github.com/vektah/gqlparser/v2 v2.5.10/go.mod h1:1rCcfwB2ekJofmluGWXMSEnPMZgbxzwj6FaZ/4OT8Cc= -github.com/vektah/gqlparser/v2 v2.5.11/go.mod h1:1rCcfwB2ekJofmluGWXMSEnPMZgbxzwj6FaZ/4OT8Cc= -github.com/vektah/gqlparser/v2 v2.5.14/go.mod h1:WQQjFc+I1YIzoPvZBhUQX7waZgg3pMLi0r8KymvAE2w= -github.com/veraison/go-cose v1.0.0-rc.1 h1:4qA7dbFJGvt7gcqv5MCIyCQvN+NpHFPkW7do3EeDLb8= -github.com/veraison/go-cose v1.0.0-rc.1/go.mod h1:7ziE85vSq4ScFTg6wyoMXjucIGOf4JkFEZi/an96Ct4= -github.com/vishvananda/netlink v1.2.1-beta.2 h1:Llsql0lnQEbHj0I1OuKyp8otXp0r3q0mPkuhwHfStVs= -github.com/vishvananda/netlink v1.2.1-beta.2/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= -github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f h1:p4VB7kIXpOQvVn1ZaTIVp+3vuYAXFe3OJEvjbUYJLaA= -github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= -github.com/wundergraph/astjson v0.0.0-20241029194815-849566801950/go.mod h1:eOTL6acwctsN4F3b7YE+eE2t8zcJ/doLm9sZzsxxxrE= -github.com/wundergraph/astjson v0.0.0-20241108124845-44485579ffa5 h1:rc+IQxG3rrAXEjBywirkzhKkyCKvXLGQXABVD8GiUtU= -github.com/wundergraph/astjson v0.0.0-20241108124845-44485579ffa5/go.mod h1:eOTL6acwctsN4F3b7YE+eE2t8zcJ/doLm9sZzsxxxrE= -github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.44 h1:X4xrx6RwfdTL88JwfclczftIbBR7IQIhZ9umcEvJTao= -github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.44/go.mod h1:hNR2C7S1M+c9Ap24tHCEMe9gFY9K3smX46x5E1U1NQw= -github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.48 h1:181I6TqMBORu0JEb0ObISRjC7RxqK8r5jccgOAc22xo= -github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.48/go.mod h1:YCJyt5TSr4luj4YWFGk93ayC/0KwHVEJmhgcNhcfLBc= -github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.49 h1:MJiSz5RhRH4MvYS6Y597RasRtrcMYQ4TpM/hvRtRJLo= -github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.49/go.mod h1:YCJyt5TSr4luj4YWFGk93ayC/0KwHVEJmhgcNhcfLBc= -github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.56/go.mod h1:YCJyt5TSr4luj4YWFGk93ayC/0KwHVEJmhgcNhcfLBc= -github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.76 h1:lwQGp7vnchd2ubaVnN4ipfTQtZL4zWk78thm28owdt8= -github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.76/go.mod h1:OOXfCcPh4nO6rwmaDtmngfbClfr8Wg0TIEmmuBUHJAk= -github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.83 h1:h55NpJRtcYqLZ6VwQcXWs4XU6+imjOmN1naQWpji/1Y= -github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.83/go.mod h1:zkPVYJu1iQd0y1fBNj+oXe9uMI/33TSoiXEsKSAESZY= -github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.87 h1:YImj5ke1rmFk/d68jv2PRjCerTpHZgX2Y2qcUvZY4Uw= -github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.87/go.mod h1:zkPVYJu1iQd0y1fBNj+oXe9uMI/33TSoiXEsKSAESZY= -github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.90/go.mod h1:zkPVYJu1iQd0y1fBNj+oXe9uMI/33TSoiXEsKSAESZY= -github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.95/go.mod h1:zkPVYJu1iQd0y1fBNj+oXe9uMI/33TSoiXEsKSAESZY= -github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.102 h1:UUT6mLcUH1sGepg+GFZr6TfC+mkZWF3YLdnQruBvIZA= -github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.102/go.mod h1:zkPVYJu1iQd0y1fBNj+oXe9uMI/33TSoiXEsKSAESZY= -github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.121 h1:VsrSvBsOcQNiTwESJg55tecBzHfZPUdII/zDstHyBuc= -github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.121/go.mod h1:s4r/lhVEU5s0c6tCgpR0hK6FHEmX0cbrKcMU1pMc/ZI= -github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= -github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= -github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c= -github.com/xdg-go/scram v1.1.1 h1:VOMT+81stJgXW3CpHyqHN3AXDYIMsx56mEFrB37Mb/E= -github.com/xdg-go/stringprep v1.0.3 h1:kdwGpVNwPFtjs98xCGkHjQtGKh86rDcRZN17QEMCOIs= -github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb h1:zGWFAtiMcyryUHoUjUJX0/lt1H2+i2Ka2n+D3DImSNo= -github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= -github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= -github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= -github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74= -github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= -github.com/xhit/go-str2duration/v2 v2.1.0 h1:lxklc02Drh6ynqX+DdPyp5pCKLUQpRT8bp8Ydu2Bstc= -github.com/xhit/go-str2duration/v2 v2.1.0/go.mod h1:ohY8p+0f07DiV6Em5LKB0s2YpLtXVyJfNt1+BlmyAsU= -github.com/xlab/treeprint v1.1.0 h1:G/1DjNkPpfZCFt9CSh6b5/nY4VimlbHF3Rh4obvtzDk= -github.com/xlab/treeprint v1.1.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0= -github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8= -github.com/yashtewari/glob-intersection v0.1.0 h1:6gJvMYQlTDOL3dMsPF6J0+26vwX9MB8/1q3uAdhmTrg= -github.com/yashtewari/glob-intersection v0.1.0/go.mod h1:LK7pIC3piUjovexikBbJ26Yml7g8xa5bsjfx2v1fwok= -github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d h1:splanxYIlg+5LfHAM6xpdFEAYOk8iySO56hMFq6uLyA= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.13 h1:fVcFKWvrslecOb/tg+Cc05dkeYx540o0FuFt3nUVDoE= -go.etcd.io/bbolt v1.3.7 h1:j+zJOnnEjF/kyHlDDgGnVL/AIqIJPq8UoB2GSNfkUfQ= -go.etcd.io/bbolt v1.3.7/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw= -go.kuoruan.net/v8go-polyfills v0.5.1-0.20220727011656-c74c5b408ebd h1:lMfOO39WTD+CxBPmqZvLdISrLVsEjgNfWoV4viBt15M= -go.kuoruan.net/v8go-polyfills v0.5.1-0.20220727011656-c74c5b408ebd/go.mod h1:egHzK8RIHR7dPOYzhnRsomClFTVmYCtvhTWqec4JXaY= -go.mongodb.org/mongo-driver v1.11.4 h1:4ayjakA013OdpGyL2K3ZqylTac/rMjrJOMZ1EHizXas= -go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1 h1:A/5uWzF44DlIgdm/PQFwfMkW0JX+cIcQi/SwLAmZP5M= -go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1/go.mod h1:SNgMg+EgDFwmvSmLRTNKC5fegJjB7v23qTQ0XLGUNHk= -go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= -go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.45.0 h1:RsQi0qJ2imFfCvZabqzM9cNXBG8k6gXMv1A0cXRmH6A= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.45.0/go.mod h1:vsh3ySueQCiKPxFLvjWC4Z135gIa34TQ/NSqkDTZYUM= -go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= -go.uber.org/multierr v1.10.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= -go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee h1:0mgffUl7nfd+FpvXMVz4IDEaUSmT1ysygQC7qYo7sG4= -go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so= -golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= -golang.org/x/arch v0.4.0 h1:A8WCeEWhLwPBKNbFi5Wv5UTCBx5zzubnXDlMOFAzFMc= -golang.org/x/arch v0.4.0/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= -golang.org/x/arch v0.8.0 h1:3wRIsP3pM4yUptoR96otTUOXI367OS0+c9eeRi9doIc= -golang.org/x/arch v0.8.0/go.mod h1:FEVrYAQjsQXMVJ1nsMoVVXPZg6p2JE2mx8psSWTDQys= -golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= -golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= -golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= -golang.org/x/exp/typeparams v0.0.0-20220218215828-6cf2b201936e h1:qyrTQ++p1afMkO4DPEeLGq/3oTsdlvdH4vqZUBWzUKM= -golang.org/x/exp/typeparams v0.0.0-20220218215828-6cf2b201936e/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= -golang.org/x/image v0.6.0 h1:bR8b5okrPI3g/gyZakLZHeWxAR8Dn5CyxXv1hLH5g/4= -golang.org/x/image v0.6.0/go.mod h1:MXLdDR43H7cDJq5GEGXEVeeNhPgi+YYEQ2pC1byI1x0= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de h1:5hukYrvBGR8/eNkX5mdUezrA6JiaEZDtJb9Ei+1LlBs= -golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= -golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= -golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= -golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= -golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= -golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= -golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= -golang.org/x/oauth2 v0.15.0 h1:s8pnnxNVzjWyrvYdFUQq5llS1PX2zhPXmccZv99h7uQ= -golang.org/x/oauth2 v0.15.0/go.mod h1:q48ptWNTY5XWf+JNten23lcvHpLJ0ZSxF5ttTHKVCAM= -golang.org/x/oauth2 v0.16.0/go.mod h1:hqZ+0LWXsiVoZpeld6jVt06P3adbS2Uu911W1SsJv2o= -golang.org/x/oauth2 v0.18.0/go.mod h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8= -golang.org/x/oauth2 v0.20.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= -golang.org/x/oauth2 v0.21.0 h1:tsimM75w1tF/uws5rbeHzIWxEqElMehnc+iW793zsZs= -golang.org/x/oauth2 v0.21.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2 h1:IRJeR9r1pYWsHKTRe/IInb7lYvbBVIqOgsX/u0mbOWY= -golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= -golang.org/x/telemetry v0.0.0-20240521205824-bda55230c457 h1:zf5N6UOrA487eEFacMePxjXAJctxKmyjKUsjA11Uzuk= -golang.org/x/telemetry v0.0.0-20240521205824-bda55230c457/go.mod h1:pRgIJT+bRLFKnoM1ldnzKoxTIn14Yxz928LQRYYgIN0= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= -golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= -golang.org/x/term v0.19.0 h1:+ThwsDv+tYfnJFhF4L8jITxu1tdTWRTZpdsWgEgjL6Q= -golang.org/x/term v0.19.0/go.mod h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= -golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= -golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= -golang.org/x/term v0.25.0 h1:WtHI/ltw4NvSUig5KARz9h521QvRC8RmF/cuYqifU24= -golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= -golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= -golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= -golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= -gonum.org/v1/plot v0.10.1 h1:dnifSs43YJuNMDzB7v8wV64O4ABBHReuAVAoBxqBqS4= -gonum.org/v1/plot v0.10.1/go.mod h1:VZW5OlhkL1mysU9vaqNHnsy86inf6Ot+jB3r+BczCEo= -google.golang.org/api v0.169.0 h1:QwWPy71FgMWqJN/l6jVlFHUa29a7dcUy02I8o799nPY= -google.golang.org/api v0.169.0/go.mod h1:gpNOiMA2tZ4mf5R9Iwf4rK/Dcz0fbdIgWYWVoxmsyLg= -google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= -google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= -google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9 h1:9+tzLLstTlPTRyJTh+ah5wIMsBW5c4tQwGTN3thOW9Y= -google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9/go.mod h1:mqHbVIp48Muh7Ywss/AD6I5kNVKZMmAa/QEW58Gxp2s= -google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237/go.mod h1:Z5Iiy3jtmioajWHDGFk7CeugTyHtPvMHA4UTmUkyalE= -google.golang.org/genproto/googleapis/api v0.0.0-20240513163218-0867130af1f8/go.mod h1:vPrPUTsDCYxXWjP7clS81mZ6/803D8K4iM9Ma27VKas= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240513163218-0867130af1f8/go.mod h1:I7Y+G38R2bu5j1aLzfFmQfTcU/WnFuqDwLZAbvKTKpM= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240624140628-dc46fd24d27d/go.mod h1:Ue6ibwXGpU+dqIcODieyLOcgj7z8+IcskoNIgZxtrFY= -google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= -google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= -google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= -gopkg.in/errgo.v2 v2.1.0 h1:0vLT13EuvQ0hNvakwLuFZ/jYrLp5F3kcWHXdRggjCE8= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/square/go-jose.v2 v2.5.1 h1:7odma5RETjNHWJnR32wx8t+Io4djHE1PqxCFx3iiZ2w= -gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -honnef.co/go/tools v0.0.1-2019.2.3 h1:3JgtbtFHMiCmsznwGVTUWbgGov+pVqnlf1dEJTNAXeM= -honnef.co/go/tools v0.3.3 h1:oDx7VAwstgpYpb3wv0oxiZlxY+foCpRAwY7Vk6XpAgA= -honnef.co/go/tools v0.3.3/go.mod h1:jzwdWgg7Jdq75wlfblQxO4neNaFFSvgc1tD5Wv8U0Yw= -k8s.io/api v0.26.2 h1:dM3cinp3PGB6asOySalOZxEG4CZ0IAdJsrYZXE/ovGQ= -k8s.io/api v0.26.2/go.mod h1:1kjMQsFE+QHPfskEcVNgL3+Hp88B80uj0QtSOlj8itU= -k8s.io/apimachinery v0.26.2 h1:da1u3D5wfR5u2RpLhE/ZtZS2P7QvDgLZTi9wrNZl/tQ= -k8s.io/apimachinery v0.26.2/go.mod h1:ats7nN1LExKHvJ9TmwootT00Yz05MuYqPXEXaVeOy5I= -k8s.io/apiserver v0.26.2 h1:Pk8lmX4G14hYqJd1poHGC08G03nIHVqdJMR0SD3IH3o= -k8s.io/apiserver v0.26.2/go.mod h1:GHcozwXgXsPuOJ28EnQ/jXEM9QeG6HT22YxSNmpYNh8= -k8s.io/client-go v0.26.2 h1:s1WkVujHX3kTp4Zn4yGNFK+dlDXy1bAAkIl+cFAiuYI= -k8s.io/client-go v0.26.2/go.mod h1:u5EjOuSyBa09yqqyY7m3abZeovO/7D/WehVVlZ2qcqU= -k8s.io/component-base v0.26.2 h1:IfWgCGUDzrD6wLLgXEstJKYZKAFS2kO+rBRi0p3LqcI= -k8s.io/component-base v0.26.2/go.mod h1:DxbuIe9M3IZPRxPIzhch2m1eT7uFrSBJUBuVCQEBivs= -k8s.io/cri-api v0.27.1 h1:KWO+U8MfI9drXB/P4oU9VchaWYOlwDglJZVHWMpTT3Q= -k8s.io/cri-api v0.27.1/go.mod h1:+Ts/AVYbIo04S86XbTD73UPp/DkTiYxtsFeOFEu32L0= -k8s.io/klog/v2 v2.90.1 h1:m4bYOKall2MmOiRaR1J+We67Do7vm9KiQVlT96lnHUw= -k8s.io/klog/v2 v2.90.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/utils v0.0.0-20230220204549-a5ecb0141aa5 h1:kmDqav+P+/5e1i9tFfHq1qcF3sOrDp+YEkVDAHu7Jwk= -k8s.io/utils v0.0.0-20230220204549-a5ecb0141aa5/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -mvdan.cc/gofumpt v0.2.0 h1:AInyCTHfhp4bFrP2VYC5kR2wPwgWj7eGSb+7437zn7I= -mvdan.cc/gofumpt v0.2.0/go.mod h1:TiGmrf914DAuT6+hDIxOqoDb4QXIzAuEUSXqEf9hGKY= -nhooyr.io/websocket v1.8.7/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= -nullprogram.com/x/optparse v1.0.0 h1:xGFgVi5ZaWOnYdac2foDT3vg0ZZC9ErXFV57mr4OHrI= -nullprogram.com/x/optparse v1.0.0/go.mod h1:KdyPE+Igbe0jQUrVfMqDMeJQIJZEuyV7pjYmp6pbG50= -rsc.io/pdf v0.1.1 h1:k1MczvYDUvJBe93bYd7wrZLLUEcLZAuF824/I4e5Xr4= -rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= -sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 h1:iXTIw73aPyC+oRdyqqvVJuloN1p0AC/kzH07hu3NE+k= -sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= -src.techknowlogick.com/xgo v1.4.1-0.20220413212431-091a0a22b814 h1:/oIyHjKnlyQ3yFzxq7uin83l6h0sHXT7Z+9TpP9wr8s= -src.techknowlogick.com/xgo v1.4.1-0.20220413212431-091a0a22b814/go.mod h1:31CE1YKtDOrKTk9PSnjTpe6YbO6W/0LTYZ1VskL09oU= diff --git a/graphqlmetrics/CHANGELOG.md b/graphqlmetrics/CHANGELOG.md index 442833da42..65da51458e 100644 --- a/graphqlmetrics/CHANGELOG.md +++ b/graphqlmetrics/CHANGELOG.md @@ -4,6 +4,22 @@ Binaries are attached to the github release otherwise all images can be found [h All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.30.1](https://github.com/wundergraph/cosmo/compare/graphqlmetrics@0.30.0...graphqlmetrics@0.30.1) (2024-11-18) + +**Note:** Version bump only for package graphqlmetrics + +# [0.30.0](https://github.com/wundergraph/cosmo/compare/graphqlmetrics@0.29.4...graphqlmetrics@0.30.0) (2024-11-15) + +### Features + +* **graphqlmetrics:** allow measurement of total request count per day ([#1369](https://github.com/wundergraph/cosmo/issues/1369)) ([d29b462](https://github.com/wundergraph/cosmo/commit/d29b462a863202ff8fe01d231b0a7c427c981680)) (@Noroth) + +## [0.29.4](https://github.com/wundergraph/cosmo/compare/graphqlmetrics@0.29.3...graphqlmetrics@0.29.4) (2024-11-12) + +### Performance Improvements + +* **graphqlmetrics:** reduce allocated memory ([#1356](https://github.com/wundergraph/cosmo/issues/1356)) ([ff4874b](https://github.com/wundergraph/cosmo/commit/ff4874b3346b0398f46c96b0244989ace7b2c1ba)) (@Noroth) + ## [0.29.3](https://github.com/wundergraph/cosmo/compare/graphqlmetrics@0.29.2...graphqlmetrics@0.29.3) (2024-11-08) **Note:** Version bump only for package graphqlmetrics diff --git a/graphqlmetrics/cmd/main.go b/graphqlmetrics/cmd/main.go index 7fbe2c70bb..dba4c4e5c6 100644 --- a/graphqlmetrics/cmd/main.go +++ b/graphqlmetrics/cmd/main.go @@ -118,7 +118,7 @@ func main() { Interval: cfg.BatchProcessingInterval, } - ms := core.NewMetricsService(ctx, logger, conn, procConfig) + ms := core.NewMetricsService(logger, conn, procConfig) metricsConfig := telemetry.NewTelemetryConfig( core.Version, diff --git a/graphqlmetrics/core/metrics_service.go b/graphqlmetrics/core/metrics_service.go index ec931d5a54..5c27e45398 100644 --- a/graphqlmetrics/core/metrics_service.go +++ b/graphqlmetrics/core/metrics_service.go @@ -4,8 +4,6 @@ import ( "context" "errors" "fmt" - "github.com/dgraph-io/ristretto" - "github.com/wundergraph/cosmo/graphqlmetrics/pkg/batchprocessor" "sort" "strconv" "strings" @@ -16,7 +14,9 @@ import ( "github.com/ClickHouse/clickhouse-go/v2" "github.com/ClickHouse/clickhouse-go/v2/lib/driver" "github.com/avast/retry-go" + "github.com/dgraph-io/ristretto" graphqlmetricsv1 "github.com/wundergraph/cosmo/graphqlmetrics/gen/proto/wg/cosmo/graphqlmetrics/v1" + "github.com/wundergraph/cosmo/graphqlmetrics/pkg/batchprocessor" utils "github.com/wundergraph/cosmo/graphqlmetrics/pkg/utils" "go.uber.org/zap" ) @@ -28,8 +28,9 @@ var ( // SchemaUsageRequestItem is a struct which holds information about the schema usage // and the JWT claims of a request. type SchemaUsageRequestItem struct { - SchemaUsage []*graphqlmetricsv1.SchemaUsageInfo - Claims *utils.GraphAPITokenClaims + SchemaUsage []*graphqlmetricsv1.SchemaUsageInfo + Claims *utils.GraphAPITokenClaims + TotalRequestCount uint64 } type ProcessorConfig struct { @@ -52,7 +53,7 @@ type MetricsService struct { } // NewMetricsService creates a new metrics service -func NewMetricsService(ctx context.Context, logger *zap.Logger, chConn clickhouse.Conn, processorConfig ProcessorConfig) *MetricsService { +func NewMetricsService(logger *zap.Logger, chConn clickhouse.Conn, processorConfig ProcessorConfig) *MetricsService { cacheConfig := &ristretto.Config[string, struct{}]{ MaxCost: 50_000, NumCounters: 50_000 * 10, @@ -100,8 +101,9 @@ func (s *MetricsService) PublishGraphQLMetrics( } s.processor.Push(SchemaUsageRequestItem{ - SchemaUsage: req.Msg.SchemaUsage, - Claims: claims, + SchemaUsage: req.Msg.SchemaUsage, + Claims: claims, + TotalRequestCount: 1, }) return res, nil @@ -119,8 +121,11 @@ func (s *MetricsService) PublishAggregatedGraphQLMetrics(ctx context.Context, re return res, nil } + var totalRequestCount uint64 + schemaUsage := make([]*graphqlmetricsv1.SchemaUsageInfo, len(req.Msg.Aggregation)) for i, agg := range req.Msg.Aggregation { + totalRequestCount += agg.RequestCount for j := range agg.SchemaUsage.ArgumentMetrics { agg.SchemaUsage.ArgumentMetrics[j].Count = agg.RequestCount } @@ -134,8 +139,9 @@ func (s *MetricsService) PublishAggregatedGraphQLMetrics(ctx context.Context, re } s.processor.Push(SchemaUsageRequestItem{ - SchemaUsage: schemaUsage, - Claims: claims, + SchemaUsage: schemaUsage, + Claims: claims, + TotalRequestCount: totalRequestCount, }) return res, nil @@ -152,89 +158,113 @@ func (s *MetricsService) Shutdown(timeout time.Duration) { } } -// prepareClickhouseBatches prepares the operation and metric batches for the given schema usage. +// prepareClickhouseBatches prepares the clickhouse batches for the given batch +// of schema usage items. It returns the operation, metric and request count batches. +// If there is nothing to be processed, the corresponding batch will be nil. func (s *MetricsService) prepareClickhouseBatches( ctx context.Context, insertTime time.Time, batch []SchemaUsageRequestItem, -) (driver.Batch, driver.Batch, error) { +) (driver.Batch, driver.Batch, driver.Batch) { var ( - err error - operationBatch, metricBatch driver.Batch + err error + operationBatch driver.Batch + metricBatch driver.Batch + requestCountBatch driver.Batch + + hasMetrics = false ) - processableOperationItems := make([]*graphqlmetricsv1.SchemaUsageInfo, 0) + if len(batch) == 0 { + return nil, nil, nil + } + + if requestCountBatch, err = s.conn.PrepareBatch(ctx, `INSERT INTO gql_metrics_router_requests`); err != nil { + s.logger.Error("Failed to prepare request count batch", zap.Error(err)) + } for _, item := range batch { - for _, schemaUsage := range item.SchemaUsage { - // Skip if there are no request document - if schemaUsage.RequestDocument == "" { - continue + if requestCountBatch != nil { + err = requestCountBatch.Append( + insertTime, + item.Claims.OrganizationID, + item.Claims.FederatedGraphID, + item.TotalRequestCount, + ) + if err != nil { + s.logger.Error("Failed to append request count to batch", zap.Error(err)) + } + } + + for _, su := range item.SchemaUsage { + // We will take care of metrics later, but we can already check if there are any + // metrics to process to save some time later. + if getSchemaUsageMetricCount(su) > 0 { + hasMetrics = true } - // If the operation is already in the cache, we can skip it and don't write it again - if _, exists := s.opGuardCache.Get(schemaUsage.OperationInfo.Hash); exists { + + if _, exists := s.opGuardCache.Get(su.OperationInfo.Hash); su.RequestDocument == "" || exists { continue } - // If the operation is not in the cache, we need to write it - processableOperationItems = append(processableOperationItems, schemaUsage) - } - } + // At this point we know that we have at least one operation to write. + // Therefore, we need to ensure the operation batch is prepared. + if operationBatch == nil { + // We only prepare the operation batch if there are operations to write + // Aborting the operation will log an error in clickhouse + operationBatch, err = s.conn.PrepareBatch(ctx, `INSERT INTO gql_metrics_operations`) - if len(processableOperationItems) > 0 { - // We only prepare the operation batch if there are operations to write - // Aborting the operation will log an error in clickhouse - operationBatch, err = s.conn.PrepareBatch(ctx, `INSERT INTO gql_metrics_operations`) - if err != nil { - return nil, nil, fmt.Errorf("failed to prepare operation batch for metrics: %w", err) - } + if err != nil { + s.logger.Error("Failed to prepare operation batch", zap.Error(err)) + continue + } + } - for _, schemaUsage := range processableOperationItems { - err := operationBatch.Append( + err = operationBatch.Append( insertTime, - schemaUsage.OperationInfo.Name, - schemaUsage.OperationInfo.Hash, - strings.ToLower(schemaUsage.OperationInfo.Type.String()), - schemaUsage.RequestDocument, + su.OperationInfo.Name, + su.OperationInfo.Hash, + strings.ToLower(su.OperationInfo.Type.String()), + su.RequestDocument, ) + if err != nil { - return nil, nil, fmt.Errorf("failed to append operation to batch: %w", err) + s.logger.Error("Failed to append operation to batch", zap.Error(err)) + continue } } } - if !hasProcessableMetricsItems(batch) { - return operationBatch, nil, nil - } - - metricBatch, err = s.conn.PrepareBatch(ctx, `INSERT INTO gql_metrics_schema_usage`) - if err != nil { - return nil, nil, fmt.Errorf("failed to prepare metric batch for metrics: %w", err) + // If we do not have any metrics to process, we can return early. + if !hasMetrics { + return operationBatch, nil, requestCountBatch } for _, item := range batch { - for _, schemaUsage := range item.SchemaUsage { - err := s.appendUsageMetrics(metricBatch, insertTime, item.Claims, schemaUsage) - if err != nil { - return nil, nil, err + for _, su := range item.SchemaUsage { + if getSchemaUsageMetricCount(su) == 0 { + // Skip schema usage items without metrics + continue } - } - } - return operationBatch, metricBatch, err -} + if metricBatch == nil { + // If any of the schema usage items has metrics to process, we need to ensure the metric batch is prepared once. + metricBatch, err = s.conn.PrepareBatch(ctx, `INSERT INTO gql_metrics_schema_usage`) + if err != nil { + s.logger.Error("Failed to prepare metric batch", zap.Error(err)) + continue + } + } -func hasProcessableMetricsItems(batch []SchemaUsageRequestItem) bool { - for _, item := range batch { - for _, schemaUsage := range item.SchemaUsage { - if len(schemaUsage.ArgumentMetrics) > 0 || len(schemaUsage.InputMetrics) > 0 || len(schemaUsage.TypeFieldMetrics) > 0 { - return true + err := s.appendUsageMetrics(metricBatch, insertTime, item.Claims, su) + if err != nil { + s.logger.Error("Failed to append usage metrics", zap.Error(err)) } } } - return false + return operationBatch, metricBatch, requestCountBatch } -func (*MetricsService) appendUsageMetrics( +func (s *MetricsService) appendUsageMetrics( metricBatch driver.Batch, insertTime time.Time, claims *utils.GraphAPITokenClaims, @@ -341,78 +371,91 @@ func (*MetricsService) appendUsageMetrics( return nil } -func (s *MetricsService) processBatch(ctx context.Context, batch []SchemaUsageRequestItem) { - var ( - storedOperations, storedMetrics int - ) +func (s *MetricsService) processBatch(_ context.Context, batch []SchemaUsageRequestItem) { + var storedOperations, storedMetrics int + insertTime := time.Now() insertCtx := context.Background() - aggregated := make([]*graphqlmetricsv1.SchemaUsageInfo, 0, len(batch)) - for _, item := range batch { - aggregated = append(aggregated, item.SchemaUsage...) - } - - operationsBatch, metricsBatch, err := s.prepareClickhouseBatches(insertCtx, insertTime, batch) - if err != nil { - s.logger.Error("Failed to prepare or abort metrics batches", zap.Error(err)) - return - } + operationsBatch, metricsBatch, requestCountBatch := s.prepareClickhouseBatches(insertCtx, insertTime, batch) var wg sync.WaitGroup - if operationsBatch != nil { - wg.Add(1) - go func() { - defer wg.Done() + wg.Add(1) + go func() { + defer wg.Done() - err := retryOnError(insertCtx, s.logger.With(zap.String("component", "operations")), func(ctx context.Context) error { - if err := operationsBatch.Send(); err != nil { - return fmt.Errorf("failed to send operation batch: %w", err) - } + if operationsBatch == nil { + return + } - for _, su := range aggregated { + err := retryOnError(insertCtx, s.logger.With(zap.String("component", "operations")), func(ctx context.Context) error { + if err := operationsBatch.Send(); err != nil { + return fmt.Errorf("failed to send operation batch: %w", err) + } + + for _, item := range batch { + for _, su := range item.SchemaUsage { // Add the operation to the cache once it has been written // We use a TTL of 30 days to prevent caching of operations that are no in our database // due to storage retention policies s.opGuardCache.SetWithTTL(su.OperationInfo.Hash, struct{}{}, 1, 30*24*time.Hour) } + } - s.opGuardCache.Wait() + s.opGuardCache.Wait() - storedOperations += operationsBatch.Rows() - return nil - }) + storedOperations += operationsBatch.Rows() + return nil + }) - if err != nil { - s.logger.Error("Failed to write operations", zap.Error(err)) - } - }() - } + if err != nil { + s.logger.Error("Failed to write operations", zap.Error(err)) + } + }() - if metricsBatch != nil { - wg.Add(1) - go func() { - defer wg.Done() + wg.Add(1) + go func() { + defer wg.Done() - if metricsBatch == nil { - return + if metricsBatch == nil { + return + } + + err := retryOnError(insertCtx, s.logger.With(zap.String("component", "metrics")), func(ctx context.Context) error { + if err := metricsBatch.Send(); err != nil { + return fmt.Errorf("failed to send metrics batch: %w", err) } - err := retryOnError(insertCtx, s.logger.With(zap.String("component", "metrics")), func(ctx context.Context) error { - if err := metricsBatch.Send(); err != nil { - return fmt.Errorf("failed to send metrics batch: %w", err) - } + storedMetrics += metricsBatch.Rows() + return nil + }) - storedMetrics += metricsBatch.Rows() - return nil - }) + if err != nil { + s.logger.Error("Failed to write metrics", zap.Error(err)) + } + }() - if err != nil { - s.logger.Error("Failed to write metrics", zap.Error(err)) + wg.Add(1) + go func() { + defer wg.Done() + + if requestCountBatch == nil { + return + } + + err := retryOnError(insertCtx, s.logger.With(zap.String("component", "total_requests")), func(ctx context.Context) error { + if err := requestCountBatch.Send(); err != nil { + return fmt.Errorf("failed to send total request batch: %w", err) } - }() - } + + return nil + }) + + if err != nil { + s.logger.Error("Failed to write total requests", zap.Error(err)) + } + }() wg.Wait() @@ -423,12 +466,17 @@ func (s *MetricsService) processBatch(ctx context.Context, batch []SchemaUsageRe ) } +// getSchemaUsageMetricCount returns the total number of entries of a schema usage. +func getSchemaUsageMetricCount(schemaUsage *graphqlmetricsv1.SchemaUsageInfo) int { + return len(schemaUsage.ArgumentMetrics) + len(schemaUsage.InputMetrics) + len(schemaUsage.TypeFieldMetrics) +} + // calculateRequestCost the total number of entries of metrics batch. func calculateRequestCost(items []SchemaUsageRequestItem) int { total := 0 for _, item := range items { for _, schemaUsage := range item.SchemaUsage { - total += len(schemaUsage.ArgumentMetrics) + len(schemaUsage.InputMetrics) + len(schemaUsage.TypeFieldMetrics) + total += getSchemaUsageMetricCount(schemaUsage) } } return total diff --git a/graphqlmetrics/core/metrics_service_test.go b/graphqlmetrics/core/metrics_service_test.go index c7e923936c..430e53a382 100644 --- a/graphqlmetrics/core/metrics_service_test.go +++ b/graphqlmetrics/core/metrics_service_test.go @@ -2,8 +2,10 @@ package core import ( "context" + "errors" "os" "runtime" + "strings" "testing" "time" @@ -26,7 +28,7 @@ func TestPublishGraphQLMetrics(t *testing.T) { db := test.GetTestDatabase(t) - msvc := NewMetricsService(context.Background(), zap.NewNop(), db, defaultConfig()) + msvc := NewMetricsService(zap.NewNop(), db, defaultConfig()) req := &graphqlmetricsv1.PublishGraphQLRequestMetricsRequest{ SchemaUsage: []*graphqlmetricsv1.SchemaUsageInfo{ @@ -102,66 +104,143 @@ func TestPublishGraphQLMetrics(t *testing.T) { GROUP BY OperationHash LIMIT 1 `).Scan(&opCount)) - assert.Greater(t, opCount, uint64(0)) + assert.Equal(t, uint64(1), opCount) - // Validate insert + // Validate materialized view - var fieldUsageCount uint64 + var fieldUsageCountMv uint64 require.NoError(t, db.QueryRow(ctx, ` - SELECT COUNT(*) FROM gql_metrics_schema_usage + SELECT COUNT(*) FROM gql_metrics_schema_usage_5m_90d WHERE OperationHash = 'hash123' AND OrganizationID = 'org123' AND FederatedGraphID = 'fed123' AND RouterConfigVersion = 'v1' AND - Attributes['test'] = 'test123' AND - HttpStatusCode = '200' AND - HasError = true AND + TotalErrors = 1 AND + TotalUsages = 1 AND + TotalClientErrors = 0 AND ClientName = 'wundergraph' AND ClientVersion = '1.0.0' AND hasAny(TypeNames, ['Query']) AND - startsWith(Path, ['hello']) - `).Scan(&fieldUsageCount)) + startsWith(Path, ['hi']) + `).Scan(&fieldUsageCountMv)) - assert.Greater(t, fieldUsageCount, uint64(0)) + assert.Equal(t, uint64(1), fieldUsageCountMv) - var indirectFieldUsageCount uint64 + var fieldUsageCount2Mv uint64 require.NoError(t, db.QueryRow(ctx, ` - SELECT COUNT(*) FROM gql_metrics_schema_usage + SELECT COUNT(*) FROM gql_metrics_schema_usage_5m_90d WHERE OperationHash = 'hash123' AND OrganizationID = 'org123' AND FederatedGraphID = 'fed123' AND RouterConfigVersion = 'v1' AND - Attributes['test'] = 'test123' AND - HttpStatusCode = '200' AND - HasError = true AND + TotalErrors = 1 AND + TotalUsages = 1 AND + TotalClientErrors = 0 AND ClientName = 'wundergraph' AND ClientVersion = '1.0.0' AND hasAny(TypeNames, ['Query']) AND - startsWith(Path, ['hello']) AND - IsIndirectFieldUsage = true - `).Scan(&indirectFieldUsageCount)) + startsWith(Path, ['hello']) + `).Scan(&fieldUsageCount2Mv)) + + assert.Equal(t, uint64(1), fieldUsageCount2Mv) + + var fieldUsageLiteCount uint64 + require.NoError(t, db.QueryRow(ctx, ` + SELECT COUNT(*) FROM gql_metrics_schema_usage_lite_1d_90d + WHERE OrganizationID = 'org123' AND + FederatedGraphID = 'fed123' + `).Scan(&fieldUsageLiteCount)) + + assert.Equal(t, 2, int(fieldUsageLiteCount)) + + var requestCount uint64 + require.NoError(t, db.QueryRow(ctx, ` + SELECT SUM(RequestCount) + FROM gql_metrics_router_requests + WHERE FederatedGraphID = 'fed123' AND + OrganizationID = 'org123' + `).Scan(&requestCount)) + + require.Equal(t, uint64(1), requestCount) +} + +func TestPublishGraphQLMetricsSendEmptyAndFilledMetrics(t *testing.T) { + if os.Getenv("INT_TESTS") != "true" { + t.Skip("Skipping integration tests") + } + + db := test.GetTestDatabase(t) + + msvc := NewMetricsService(zap.NewNop(), db, defaultConfig()) + + su1 := buildSchemaUsageInfoItem("Hash1", "query Hello { hello }", 0, 0, 0) + su2 := buildSchemaUsageInfoItem("Hash2", "query Hello { hello }", 1, 2, 0) + + req := &graphqlmetricsv1.PublishGraphQLRequestMetricsRequest{ + SchemaUsage: []*graphqlmetricsv1.SchemaUsageInfo{su1, su2}, + } + + pReq := connect.NewRequest[graphqlmetricsv1.PublishGraphQLRequestMetricsRequest](req) - assert.Greater(t, fieldUsageCount, uint64(0)) + ctx := utils.SetClaims(context.Background(), &utils.GraphAPITokenClaims{ + FederatedGraphID: "fed123", + OrganizationID: "org123", + }) + + _, err := msvc.PublishGraphQLMetrics( + ctx, + pReq, + ) + require.NoError(t, err) + + // Wait until all requests are dispatched + time.Sleep(time.Millisecond * 100) + + // Wait for batch to be processed + msvc.Shutdown(time.Second * 10) + + // Validate insert + + var opCount uint64 + + require.NoError(t, db.QueryRow(ctx, ` + SELECT COUNT(*) FROM gql_metrics_operations + WHERE OperationName = 'Hello' AND + OperationType = 'query' AND + OperationContent = 'query Hello { hello }' + `).Scan(&opCount)) + + assert.Equal(t, uint64(2), opCount) // Validate materialized view - var fieldUsageCountMv uint64 + var fieldUsageCount uint64 require.NoError(t, db.QueryRow(ctx, ` - SELECT COUNT(*) FROM gql_metrics_schema_usage_5m_90d_mv - WHERE OperationHash = 'hash123' AND - OrganizationID = 'org123' AND - FederatedGraphID = 'fed123' AND - RouterConfigVersion = 'v1' AND - TotalErrors = 1 AND - TotalUsages = 1 AND - TotalClientErrors = 0 AND - ClientName = 'wundergraph' AND - ClientVersion = '1.0.0' AND - hasAny(TypeNames, ['Query']) AND - startsWith(Path, ['hello']) - `).Scan(&fieldUsageCountMv)) + SELECT COUNT(*) FROM gql_metrics_schema_usage_5m_90d + WHERE OrganizationID = 'org123' AND + FederatedGraphID = 'fed123' + `).Scan(&fieldUsageCount)) + + assert.Equal(t, 2, int(fieldUsageCount)) - assert.Greater(t, fieldUsageCountMv, uint64(0)) + var fieldUsageLiteCount uint64 + require.NoError(t, db.QueryRow(ctx, ` + SELECT COUNT(*) FROM gql_metrics_schema_usage_lite_1d_90d + WHERE OrganizationID = 'org123' AND + FederatedGraphID = 'fed123' + `).Scan(&fieldUsageLiteCount)) + + assert.Equal(t, 2, int(fieldUsageLiteCount)) + + var requestCount uint64 + require.NoError(t, db.QueryRow(ctx, ` + SELECT SUM(RequestCount) + FROM gql_metrics_router_requests + WHERE FederatedGraphID = 'fed123' AND + OrganizationID = 'org123' + `).Scan(&requestCount)) + + require.Equal(t, uint64(1), requestCount) } func TestPublishGraphQLMetricsSmallBatches(t *testing.T) { @@ -171,7 +250,7 @@ func TestPublishGraphQLMetricsSmallBatches(t *testing.T) { db := test.GetTestDatabase(t) - msvc := NewMetricsService(context.Background(), zap.NewNop(), db, defaultConfig()) + msvc := NewMetricsService(zap.NewNop(), db, defaultConfig()) // High number slows down race mode significantly count := 20_000 @@ -258,47 +337,11 @@ func TestPublishGraphQLMetricsSmallBatches(t *testing.T) { assert.Equal(t, opCount, uint64(count)) - // Validate insert - - var fieldUsageCount uint64 - require.NoError(t, db.QueryRow(ctx, ` - SELECT COUNT(*) FROM gql_metrics_schema_usage - WHERE OrganizationID = 'org123' AND - FederatedGraphID = 'fed123' AND - RouterConfigVersion = 'v1' AND - Attributes['test'] = 'test123' AND - HttpStatusCode = '200' AND - HasError = true AND - ClientName = 'wundergraph' AND - ClientVersion = '1.0.0' AND - hasAny(TypeNames, ['Query']) AND - startsWith(Path, ['hello']) - `).Scan(&fieldUsageCount)) - - assert.Greater(t, fieldUsageCount, uint64(0)) - - var allHelloEntries uint64 - require.NoError(t, db.QueryRow(ctx, ` - SELECT COUNT(*) FROM gql_metrics_schema_usage - WHERE OrganizationID = 'org123' AND - FederatedGraphID = 'fed123' AND - RouterConfigVersion = 'v1' AND - Attributes['test'] = 'test123' AND - HttpStatusCode = '200' AND - HasError = true AND - ClientName = 'wundergraph' AND - ClientVersion = '1.0.0' AND - hasAny(TypeNames, ['Query']) AND - has(Path, 'hello') - `).Scan(&allHelloEntries)) - - assert.Equal(t, int(fieldUsageCount), count) - // Validate materialized view var fieldUsageCountMv uint64 require.NoError(t, db.QueryRow(ctx, ` - SELECT COUNT(*) FROM gql_metrics_schema_usage_5m_90d_mv + SELECT COUNT(*) FROM gql_metrics_schema_usage_5m_90d WHERE OrganizationID = 'org123' AND FederatedGraphID = 'fed123' AND RouterConfigVersion = 'v1' AND @@ -311,7 +354,17 @@ func TestPublishGraphQLMetricsSmallBatches(t *testing.T) { startsWith(Path, ['hello']) `).Scan(&fieldUsageCountMv)) - assert.Greater(t, fieldUsageCountMv, uint64(0)) + assert.Equal(t, uint64(20_000), fieldUsageCountMv) + + var requestCount uint64 + require.NoError(t, db.QueryRow(ctx, ` + SELECT SUM(RequestCount) + FROM gql_metrics_router_requests + WHERE FederatedGraphID = 'fed123' AND + OrganizationID = 'org123' + `).Scan(&requestCount)) + + require.Equal(t, uint64(count), requestCount) } func TestPublishAggregatedGraphQLMetrics(t *testing.T) { @@ -321,7 +374,7 @@ func TestPublishAggregatedGraphQLMetrics(t *testing.T) { db := test.GetTestDatabase(t) - msvc := NewMetricsService(context.Background(), zap.NewNop(), db, defaultConfig()) + msvc := NewMetricsService(zap.NewNop(), db, defaultConfig()) req := &graphqlmetricsv1.PublishAggregatedGraphQLRequestMetricsRequest{ Aggregation: []*graphqlmetricsv1.SchemaUsageInfoAggregation{ @@ -334,12 +387,14 @@ func TestPublishAggregatedGraphQLMetrics(t *testing.T) { TypeNames: []string{"Query"}, SubgraphIDs: []string{"sub123"}, IndirectInterfaceField: false, + Count: 1, }, { Path: []string{"hi"}, TypeNames: []string{"Query"}, SubgraphIDs: []string{"sub123"}, IndirectInterfaceField: true, + Count: 1, }, }, OperationInfo: &graphqlmetricsv1.OperationInfo{ @@ -398,66 +453,99 @@ func TestPublishAggregatedGraphQLMetrics(t *testing.T) { GROUP BY OperationHash LIMIT 1 `).Scan(&opCount)) - assert.Greater(t, opCount, uint64(0)) + assert.Equal(t, uint64(1), opCount) - // Validate insert + // Validate materialized view - var fieldUsageCount uint64 + var fieldUsageCountMv uint64 require.NoError(t, db.QueryRow(ctx, ` - SELECT COUNT(*) FROM gql_metrics_schema_usage + SELECT COUNT(*) FROM gql_metrics_schema_usage_5m_90d WHERE OperationHash = 'hash123' AND OrganizationID = 'org123' AND FederatedGraphID = 'fed123' AND RouterConfigVersion = 'v1' AND - Attributes['test'] = 'test123' AND - HttpStatusCode = '200' AND - HasError = true AND + TotalErrors = 1 AND + TotalUsages = 1 AND + TotalClientErrors = 0 AND ClientName = 'wundergraph' AND ClientVersion = '1.0.0' AND hasAny(TypeNames, ['Query']) AND startsWith(Path, ['hello']) - `).Scan(&fieldUsageCount)) + `).Scan(&fieldUsageCountMv)) - assert.Greater(t, fieldUsageCount, uint64(0)) + assert.Equal(t, uint64(1), fieldUsageCountMv) - var indirectFieldUsageCount uint64 + var requestCount uint64 require.NoError(t, db.QueryRow(ctx, ` - SELECT COUNT(*) FROM gql_metrics_schema_usage - WHERE OperationHash = 'hash123' AND - OrganizationID = 'org123' AND - FederatedGraphID = 'fed123' AND - RouterConfigVersion = 'v1' AND - Attributes['test'] = 'test123' AND - HttpStatusCode = '200' AND - HasError = true AND - ClientName = 'wundergraph' AND - ClientVersion = '1.0.0' AND - hasAny(TypeNames, ['Query']) AND - startsWith(Path, ['hello']) AND - IsIndirectFieldUsage = true - `).Scan(&indirectFieldUsageCount)) + SELECT SUM(RequestCount) + FROM gql_metrics_router_requests + WHERE FederatedGraphID = 'fed123' AND + OrganizationID = 'org123' + `).Scan(&requestCount)) - assert.Greater(t, fieldUsageCount, uint64(0)) + require.Equal(t, uint64(1), requestCount) +} - // Validate materialized view +func TestPublishAggregatedGraphQLMetricsDifferentRequestCounts(t *testing.T) { + if os.Getenv("INT_TESTS") != "true" { + t.Skip("Skipping integration tests") + } - var fieldUsageCountMv uint64 + db := test.GetTestDatabase(t) + + msvc := NewMetricsService(zap.NewNop(), db, defaultConfig()) + + req := &graphqlmetricsv1.PublishAggregatedGraphQLRequestMetricsRequest{ + Aggregation: []*graphqlmetricsv1.SchemaUsageInfoAggregation{ + { + RequestCount: 10, + SchemaUsage: buildSchemaUsageInfoItem("hash1", "query Hello1 { hello1 }", 1, 1, 1), + }, + { + RequestCount: 20, + SchemaUsage: buildSchemaUsageInfoItem("hash2", "query Hello2 { hello2 }", 2, 2, 2), + }, + { + RequestCount: 5, + SchemaUsage: buildSchemaUsageInfoItem("hash3", "query Hello3 { hello3 }", 3, 3, 3), + }, + }, + } + + totalCount := uint64(0) + + for _, item := range req.Aggregation { + totalCount += item.RequestCount + } + + pReq := connect.NewRequest[graphqlmetricsv1.PublishAggregatedGraphQLRequestMetricsRequest](req) + + ctx := utils.SetClaims(context.Background(), &utils.GraphAPITokenClaims{ + FederatedGraphID: "fed123", + OrganizationID: "org123", + }) + + _, err := msvc.PublishAggregatedGraphQLMetrics( + ctx, + pReq, + ) + require.NoError(t, err) + + // Wait until all requests are dispatched + time.Sleep(time.Millisecond * 100) + + // Wait for batch to be processed + msvc.Shutdown(time.Second * 10) + + var requestCount uint64 require.NoError(t, db.QueryRow(ctx, ` - SELECT COUNT(*) FROM gql_metrics_schema_usage_5m_90d_mv - WHERE OperationHash = 'hash123' AND - OrganizationID = 'org123' AND - FederatedGraphID = 'fed123' AND - RouterConfigVersion = 'v1' AND - TotalErrors = 1 AND - TotalUsages = 1 AND - TotalClientErrors = 0 AND - ClientName = 'wundergraph' AND - ClientVersion = '1.0.0' AND - hasAny(TypeNames, ['Query']) AND - startsWith(Path, ['hello']) - `).Scan(&fieldUsageCountMv)) + SELECT SUM(RequestCount) + FROM gql_metrics_router_requests + WHERE FederatedGraphID = 'fed123' AND + OrganizationID = 'org123' + `).Scan(&requestCount)) - assert.Greater(t, fieldUsageCountMv, uint64(0)) + require.Equal(t, totalCount, requestCount) } func TestAuthentication(t *testing.T) { @@ -467,7 +555,7 @@ func TestAuthentication(t *testing.T) { db := test.GetTestDatabase(t) - msvc := NewMetricsService(context.Background(), zap.NewNop(), db, defaultConfig()) + msvc := NewMetricsService(zap.NewNop(), db, defaultConfig()) req := &graphqlmetricsv1.PublishGraphQLRequestMetricsRequest{ SchemaUsage: nil, @@ -581,25 +669,30 @@ func (m *mockBatch) Append(v ...any) error { func TestPrepareClickhouseBatches(t *testing.T) { type input struct { - batch []SchemaUsageRequestItem + batch []SchemaUsageRequestItem + preCachedHashes []string + metricsBatchAppendFunc func(v ...any) error + operationBatchAppendFunc func(v ...any) error + requestBatchAppendFunc func(v ...any) error } type expected struct { expectedPrepareBatchCalls int operationBatchCreated bool metricsBatchCreated bool + requestCountBatchCreated bool } tests := []struct { - name string - preCachedHashes []string - input input - expected expected + name string + input input + expected expected }{ { - name: "should call prepare batch once", + name: "should call prepare operation and request count batch", input: input{ batch: []SchemaUsageRequestItem{ { + TotalRequestCount: 1, Claims: &utils.GraphAPITokenClaims{ OrganizationID: "TestOrg", FederatedGraphID: "TestGraph", @@ -611,16 +704,18 @@ func TestPrepareClickhouseBatches(t *testing.T) { }, }, expected: expected{ - expectedPrepareBatchCalls: 1, + expectedPrepareBatchCalls: 2, operationBatchCreated: true, metricsBatchCreated: false, + requestCountBatchCreated: true, }, }, { - name: "should call prepare batch twice", + name: "should prepare all batches", input: input{ batch: []SchemaUsageRequestItem{ { + TotalRequestCount: 1, Claims: &utils.GraphAPITokenClaims{ OrganizationID: "TestOrg", FederatedGraphID: "TestGraph", @@ -632,16 +727,18 @@ func TestPrepareClickhouseBatches(t *testing.T) { }, }, expected: expected{ - expectedPrepareBatchCalls: 2, + expectedPrepareBatchCalls: 3, operationBatchCreated: true, metricsBatchCreated: true, + requestCountBatchCreated: true, }, }, { - name: "should not call prepare batch", + name: "should only prepare request count batch", input: input{ batch: []SchemaUsageRequestItem{ { + TotalRequestCount: 1, Claims: &utils.GraphAPITokenClaims{ OrganizationID: "TestOrg", FederatedGraphID: "TestGraph", @@ -652,15 +749,29 @@ func TestPrepareClickhouseBatches(t *testing.T) { }, }, }, + expected: expected{ + expectedPrepareBatchCalls: 1, + operationBatchCreated: false, + metricsBatchCreated: false, + requestCountBatchCreated: true, + }, + }, + { + name: "should not call prepare batch with no data", + input: input{ + batch: nil, + }, expected: expected{ expectedPrepareBatchCalls: 0, operationBatchCreated: false, metricsBatchCreated: false, + requestCountBatchCreated: false, }, }, { name: "should not call prepare batch if hash is in the cache", input: input{ + preCachedHashes: []string{"hash123", "hash234"}, batch: []SchemaUsageRequestItem{ { Claims: &utils.GraphAPITokenClaims{ @@ -691,16 +802,17 @@ func TestPrepareClickhouseBatches(t *testing.T) { }, }, }, - preCachedHashes: []string{"hash123", "hash234"}, expected: expected{ - expectedPrepareBatchCalls: 0, + expectedPrepareBatchCalls: 1, operationBatchCreated: false, metricsBatchCreated: false, + requestCountBatchCreated: true, }, }, { name: "should not call prepare batch if hash is in the cache but still send metrics", input: input{ + preCachedHashes: []string{"hash123"}, batch: []SchemaUsageRequestItem{ { Claims: &utils.GraphAPITokenClaims{ @@ -713,11 +825,110 @@ func TestPrepareClickhouseBatches(t *testing.T) { }, }, }, - preCachedHashes: []string{"hash123"}, + expected: expected{ + expectedPrepareBatchCalls: 2, + operationBatchCreated: false, + metricsBatchCreated: true, + requestCountBatchCreated: true, + }, + }, + { + name: "should prepare all batches even if appendUsageMetrics fails", + input: input{ + metricsBatchAppendFunc: func(v ...any) error { + return errors.New("error while appending metrics") + }, + batch: []SchemaUsageRequestItem{ + { + Claims: &utils.GraphAPITokenClaims{ + OrganizationID: "TestOrg", + FederatedGraphID: "TestGraph", + }, + SchemaUsage: []*graphqlmetricsv1.SchemaUsageInfo{ + buildSchemaUsageInfoItem("hash123", "query Hello { hello }", 1, 2, 0), + }, + }, + }, + }, + expected: expected{ + expectedPrepareBatchCalls: 3, + operationBatchCreated: true, + metricsBatchCreated: true, + requestCountBatchCreated: true, + }, + }, + { + name: "should prepare request, operation and metrics batch even if appending to operations batch fails", + input: input{ + operationBatchAppendFunc: func(v ...any) error { return errors.New("error while appending metrics") }, + batch: []SchemaUsageRequestItem{ + { + Claims: &utils.GraphAPITokenClaims{ + OrganizationID: "TestOrg", + FederatedGraphID: "TestGraph", + }, + SchemaUsage: []*graphqlmetricsv1.SchemaUsageInfo{ + buildSchemaUsageInfoItem("hash123", "query Hello { hello }", 1, 2, 0), + buildSchemaUsageInfoItem("hash123", "query Hello { hello }", 1, 2, 0), + buildSchemaUsageInfoItem("hash123", "query Hello { hello }", 1, 2, 0), + }, + }, + }, + }, + expected: expected{ + expectedPrepareBatchCalls: 3, + operationBatchCreated: true, + metricsBatchCreated: true, + requestCountBatchCreated: true, + }, + }, + { + name: "should return empty request count batch even if appending to request count batch fails", + input: input{ + requestBatchAppendFunc: func(v ...any) error { return errors.New("error while appending metrics") }, + batch: []SchemaUsageRequestItem{ + { + TotalRequestCount: 10, + Claims: &utils.GraphAPITokenClaims{ + OrganizationID: "TestOrg", + FederatedGraphID: "TestGraph", + }, + SchemaUsage: []*graphqlmetricsv1.SchemaUsageInfo{}, + }, + }, + }, expected: expected{ expectedPrepareBatchCalls: 1, operationBatchCreated: false, + metricsBatchCreated: false, + requestCountBatchCreated: true, + }, + }, + { + name: "should return empty batches if both append functions fail", + input: input{ + operationBatchAppendFunc: func(v ...any) error { return errors.New("error while appending metrics") }, + metricsBatchAppendFunc: func(v ...any) error { return errors.New("error while appending metrics") }, + requestBatchAppendFunc: func(v ...any) error { return errors.New("error while appending metrics") }, + batch: []SchemaUsageRequestItem{ + { + Claims: &utils.GraphAPITokenClaims{ + OrganizationID: "TestOrg", + FederatedGraphID: "TestGraph", + }, + SchemaUsage: []*graphqlmetricsv1.SchemaUsageInfo{ + buildSchemaUsageInfoItem("hash1", "query Hello { hello }", 1, 2, 0), + buildSchemaUsageInfoItem("hash2", "query Hello { hello }", 1, 2, 0), + buildSchemaUsageInfoItem("hash3", "query Hello { hello }", 1, 2, 0), + }, + }, + }, + }, + expected: expected{ + expectedPrepareBatchCalls: 3, + operationBatchCreated: true, metricsBatchCreated: true, + requestCountBatchCreated: true, }, }, } @@ -726,23 +937,56 @@ func TestPrepareClickhouseBatches(t *testing.T) { t.Run(tt.name, func(t *testing.T) { numPrepareBatchCalls := 0 - batch := &mockBatch{mockAppendFunc: func(v ...any) error { - return nil - }} + operationMockBatch := &mockBatch{ + mockAppendFunc: func(v ...any) error { + if tt.input.operationBatchAppendFunc != nil { + return tt.input.operationBatchAppendFunc(v...) + } + + return nil + }, + } + + metricsMockBatch := &mockBatch{ + mockAppendFunc: func(v ...any) error { + if tt.input.metricsBatchAppendFunc != nil { + return tt.input.metricsBatchAppendFunc(v...) + } + + return nil + }, + } + + requestCountMockBatch := &mockBatch{ + mockAppendFunc: func(v ...any) error { + if tt.input.requestBatchAppendFunc != nil { + return tt.input.requestBatchAppendFunc(v...) + } + return nil + }, + } db := &mockDriver{mockPrepareBatch: func(ctx context.Context, query string, opts ...driver.PrepareBatchOption) (driver.Batch, error) { numPrepareBatchCalls++ - return batch, nil + + if strings.Contains(query, `gql_metrics_operations`) { + return operationMockBatch, nil + } + + if strings.Contains(query, `gql_metrics_schema_usage`) { + return metricsMockBatch, nil + } + + return requestCountMockBatch, nil }} - msvc := NewMetricsService(context.Background(), zap.NewNop(), db, defaultConfig()) + msvc := NewMetricsService(zap.NewNop(), db, defaultConfig()) - for _, hash := range tt.preCachedHashes { + for _, hash := range tt.input.preCachedHashes { msvc.opGuardCache.Set(hash, struct{}{}, 1) } - opBatch, metricsBatch, err := msvc.prepareClickhouseBatches(context.Background(), time.Now(), tt.input.batch) - require.NoError(t, err) + opBatch, metricsBatch, _ := msvc.prepareClickhouseBatches(context.Background(), time.Now(), tt.input.batch) require.Equal(t, tt.expected.expectedPrepareBatchCalls, numPrepareBatchCalls) if tt.expected.operationBatchCreated { @@ -778,6 +1022,7 @@ func buildSchemaUsageInfoItem(hash, reqDoc string, numArgMetrics, numTypeMetrics argMetrics = append(argMetrics, &graphqlmetricsv1.ArgumentUsageInfo{ Path: []string{"hello"}, TypeName: "testType", + Count: 1, }) } @@ -787,6 +1032,7 @@ func buildSchemaUsageInfoItem(hash, reqDoc string, numArgMetrics, numTypeMetrics TypeNames: []string{"Query"}, SubgraphIDs: []string{"sub123"}, IndirectInterfaceField: false, + Count: 1, }) } @@ -795,6 +1041,7 @@ func buildSchemaUsageInfoItem(hash, reqDoc string, numArgMetrics, numTypeMetrics Path: []string{"hello"}, TypeName: "testType", EnumValues: []string{"test"}, + Count: 1, }) } diff --git a/graphqlmetrics/core/telemetry_test.go b/graphqlmetrics/core/telemetry_test.go index b1dc36c27c..1b3dc2f895 100644 --- a/graphqlmetrics/core/telemetry_test.go +++ b/graphqlmetrics/core/telemetry_test.go @@ -82,7 +82,7 @@ func TestExposingPrometheusMetrics(t *testing.T) { } db := test.GetTestDatabase(t) - msvc := NewMetricsService(context.Background(), zap.NewNop(), db, defaultConfig()) + msvc := NewMetricsService(zap.NewNop(), db, defaultConfig()) ctx, stop := newServerCtx() defer stop() @@ -154,7 +154,7 @@ func TestValidateExposedMetrics(t *testing.T) { defer stop() db := test.GetTestDatabase(t) - msvc := NewMetricsService(context.Background(), zap.NewNop(), db, defaultConfig()) + msvc := NewMetricsService(zap.NewNop(), db, defaultConfig()) svr := NewServer(ctx, msvc, WithListenAddr(mainListenAddr), @@ -320,7 +320,7 @@ func TestValidateExposedMetrics(t *testing.T) { }) } -func TestValidateExposedAttirbutesWithoutClaims(t *testing.T) { +func TestValidateExposedAttributesWithoutClaims(t *testing.T) { if os.Getenv("INT_TESTS") != "true" { t.Skip("Skipping integration tests") } @@ -345,7 +345,7 @@ func TestValidateExposedAttirbutesWithoutClaims(t *testing.T) { defer stop() db := test.GetTestDatabase(t) - msvc := NewMetricsService(context.Background(), zap.NewNop(), db, defaultConfig()) + msvc := NewMetricsService(zap.NewNop(), db, defaultConfig()) svr := NewServer(ctx, msvc, WithListenAddr(mainListenAddr), diff --git a/graphqlmetrics/go.mod b/graphqlmetrics/go.mod index dd5ebcc5fe..5438da17da 100644 --- a/graphqlmetrics/go.mod +++ b/graphqlmetrics/go.mod @@ -4,7 +4,7 @@ go 1.21.0 require ( connectrpc.com/connect v1.16.2 - github.com/ClickHouse/clickhouse-go/v2 v2.18.0 + github.com/ClickHouse/clickhouse-go/v2 v2.30.0 github.com/amacneil/dbmate/v2 v2.12.0 github.com/avast/retry-go v3.0.0+incompatible github.com/dgraph-io/ristretto v0.1.2-0.20240723054643-f5997484152c @@ -30,8 +30,8 @@ require ( ) require ( - github.com/ClickHouse/ch-go v0.61.2 // indirect - github.com/andybalholm/brotli v1.1.0 // indirect + github.com/ClickHouse/ch-go v0.61.5 // indirect + github.com/andybalholm/brotli v1.1.1 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect @@ -54,7 +54,7 @@ require ( github.com/prometheus/procfs v0.15.1 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect github.com/segmentio/asm v1.2.0 // indirect - github.com/shopspring/decimal v1.3.1 // indirect + github.com/shopspring/decimal v1.4.0 // indirect go.opentelemetry.io/otel/trace v1.28.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/crypto v0.28.0 // indirect diff --git a/graphqlmetrics/go.sum b/graphqlmetrics/go.sum index 0e102f3976..a299fadebe 100644 --- a/graphqlmetrics/go.sum +++ b/graphqlmetrics/go.sum @@ -1,13 +1,13 @@ connectrpc.com/connect v1.16.2 h1:ybd6y+ls7GOlb7Bh5C8+ghA6SvCBajHwxssO2CGFjqE= connectrpc.com/connect v1.16.2/go.mod h1:n2kgwskMHXC+lVqb18wngEpF95ldBHXjZYJussz5FRc= -github.com/ClickHouse/ch-go v0.61.2 h1:8+8eKO2VgxoRa0yLJpWwkqJxi/jrtP5Z+J6eZdPfwdc= -github.com/ClickHouse/ch-go v0.61.2/go.mod h1:ZSVIE1A7mGJNcJeBvVF1v5bo12n0Wmnw30RhnPCpLzg= -github.com/ClickHouse/clickhouse-go/v2 v2.18.0 h1:O1LicIeg2JS2V29fKRH4+yT3f6jvvcJBm506dpVQ4mQ= -github.com/ClickHouse/clickhouse-go/v2 v2.18.0/go.mod h1:ztQvX6wm7kAbhJslS87EXEhOVNY/TObXwyURnGju5FQ= +github.com/ClickHouse/ch-go v0.61.5 h1:zwR8QbYI0tsMiEcze/uIMK+Tz1D3XZXLdNrlaOpeEI4= +github.com/ClickHouse/ch-go v0.61.5/go.mod h1:s1LJW/F/LcFs5HJnuogFMta50kKDO0lf9zzfrbl0RQg= +github.com/ClickHouse/clickhouse-go/v2 v2.30.0 h1:AG4D/hW39qa58+JHQIFOSnxyL46H6h2lrmGGk17dhFo= +github.com/ClickHouse/clickhouse-go/v2 v2.30.0/go.mod h1:i9ZQAojcayW3RsdCb3YR+n+wC2h65eJsZCscZ1Z1wyo= github.com/amacneil/dbmate/v2 v2.12.0 h1:2F/Fu/lScBhsQ8UgPg/UPM4QtBBpieZWntDJYaAkGHo= github.com/amacneil/dbmate/v2 v2.12.0/go.mod h1:D+FLHuUDma3qQyyh691Y/80tiNdoobe0kqaY7TqF0FM= -github.com/andybalholm/brotli v1.1.0 h1:eLKJA0d02Lf0mVpIDgYnqXcUn0GqVmEFny3VuID1U3M= -github.com/andybalholm/brotli v1.1.0/go.mod h1:sms7XGricyQI9K10gOSf56VKKWS4oLer58Q+mhRPtnY= +github.com/andybalholm/brotli v1.1.1 h1:PR2pgnyFznKEugtsUo0xLdDop5SKXd5Qf5ysW+7XdTA= +github.com/andybalholm/brotli v1.1.1/go.mod h1:05ib4cKhjx3OQYUY22hTVd34Bc8upXjOLL2rKwwZBoA= github.com/avast/retry-go v3.0.0+incompatible h1:4SOWQ7Qs+oroOTQOYnAHqelpCO0biHSxpiH9JdtuBj0= github.com/avast/retry-go v3.0.0+incompatible/go.mod h1:XtSnn+n/sHqQIpZ10K1qAevBhOOCWBLXXy3hyiqqBrY= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= @@ -107,8 +107,8 @@ github.com/rs/xid v1.5.0 h1:mKX4bl4iPYJtEIxp6CYiUuLQ/8DYMoz0PUdtGgMFRVc= github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= github.com/segmentio/asm v1.2.0 h1:9BQrFxC+YOHJlTlHGkTrFWf59nbL3XnCoFLTwDCI7ys= github.com/segmentio/asm v1.2.0/go.mod h1:BqMnlJP91P8d+4ibuonYZw9mfnzI9HfxselHZr5aAcs= -github.com/shopspring/decimal v1.3.1 h1:2Usl1nmF/WZucqkFZhnfFYxxxu8LG21F6nPQBE5gKV8= -github.com/shopspring/decimal v1.3.1/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= +github.com/shopspring/decimal v1.4.0 h1:bxl37RwXBklmTi0C79JfXCEBD1cqqHt0bbgBAGFp81k= +github.com/shopspring/decimal v1.4.0/go.mod h1:gawqmDU56v4yIKSwfBSFip1HdCCXN8/+DMd9qYNcwME= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= @@ -117,6 +117,8 @@ github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhV github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= github.com/xdg-go/scram v1.1.1/go.mod h1:RaEWvsqvNKKvBPvcKeFjrG2cJqOkHTiyTpzz23ni57g= github.com/xdg-go/stringprep v1.0.3/go.mod h1:W3f5j4i+9rC0kuIEJL0ky1VpHXQU3ocBgklLGvcBnW8= +github.com/xyproto/randomstring v1.0.5 h1:YtlWPoRdgMu3NZtP45drfy1GKoojuR7hmRcnhZqKjWU= +github.com/xyproto/randomstring v1.0.5/go.mod h1:rgmS5DeNXLivK7YprL0pY+lTuhNQW3iGxZ18UQApw/E= github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= diff --git a/graphqlmetrics/migrations/20241113104046_add_gql_metrics_router_requests.sql b/graphqlmetrics/migrations/20241113104046_add_gql_metrics_router_requests.sql new file mode 100644 index 0000000000..d2a0021594 --- /dev/null +++ b/graphqlmetrics/migrations/20241113104046_add_gql_metrics_router_requests.sql @@ -0,0 +1,25 @@ +-- migrate:up + +CREATE TABLE IF NOT EXISTS gql_metrics_router_requests +( + -- See https://github.com/PostHog/posthog/issues/10616 why ZSTD(3) is used + Timestamp DateTime('UTC') CODEC(Delta, ZSTD(3)), + + -- Organization + OrganizationID LowCardinality(String) CODEC(ZSTD(3)), + + -- Router configuration + FederatedGraphID LowCardinality(String) CODEC(ZSTD(3)), + + -- Count the number of requests made to the federated graph and organization over time + RequestCount UInt64 CODEC(Delta, ZSTD(3)) +) + engine = SummingMergeTree PARTITION BY toDate(Timestamp) + ORDER BY (FederatedGraphID, OrganizationID) + -- keep the data for 90 days + TTL toDateTime(Timestamp) + toIntervalDay(90) + SETTINGS index_granularity = 8192, ttl_only_drop_parts = 1; + +-- migrate:down + +DROP TABLE IF EXISTS gql_metrics_router_requests; \ No newline at end of file diff --git a/graphqlmetrics/migrations/20241115112140_drop_gql_metrics_schema_usage_table.sql b/graphqlmetrics/migrations/20241115112140_drop_gql_metrics_schema_usage_table.sql new file mode 100644 index 0000000000..49a8b89c57 --- /dev/null +++ b/graphqlmetrics/migrations/20241115112140_drop_gql_metrics_schema_usage_table.sql @@ -0,0 +1,42 @@ +-- migrate:up + +DROP TABLE IF EXISTS gql_metrics_schema_usage; + +-- migrate:down + +CREATE TABLE IF NOT EXISTS gql_metrics_schema_usage +( + `Timestamp` DateTime('UTC') CODEC(Delta(4), ZSTD(3)), + `OrganizationID` LowCardinality(String) CODEC(ZSTD(3)), + `FederatedGraphID` LowCardinality(String) CODEC(ZSTD(3)), + `RouterConfigVersion` LowCardinality(String) CODEC(ZSTD(3)), + `OperationHash` LowCardinality(String) CODEC(ZSTD(3)), + `OperationName` LowCardinality(String) CODEC(ZSTD(3)), + `OperationType` LowCardinality(String) CODEC(ZSTD(3)), + `Count` UInt64 CODEC(Delta(8), ZSTD(3)), + `Path` Array(String) CODEC(ZSTD(3)), + `TypeNames` Array(String) CODEC(ZSTD(3)), + `NamedType` String CODEC(ZSTD(3)), + `ClientName` LowCardinality(String) CODEC(ZSTD(3)), + `ClientVersion` LowCardinality(String) CODEC(ZSTD(3)), + `HttpStatusCode` String CODEC(ZSTD(3)), + `HasError` Bool CODEC(ZSTD(3)), + `SubgraphIDs` Array(LowCardinality(String)) CODEC(ZSTD(3)), + `IsArgument` Bool CODEC(ZSTD(3)), + `IsInput` Bool CODEC(ZSTD(3)), + `Attributes` Map(LowCardinality(String), String) CODEC(ZSTD(3)), + `IsIndirectFieldUsage` Bool DEFAULT false CODEC(ZSTD(3)), + INDEX idx_operation_hash OperationHash TYPE bloom_filter(0.001) GRANULARITY 1, + INDEX idx_path Path TYPE bloom_filter(0.01) GRANULARITY 1, + INDEX idx_source_ids SubgraphIDs TYPE bloom_filter(0.01) GRANULARITY 1, + INDEX idx_type_names TypeNames TYPE bloom_filter(0.01) GRANULARITY 1, + INDEX idx_attr_key mapKeys(Attributes) TYPE bloom_filter(0.01) GRANULARITY 1, + INDEX idx_attr_value mapValues(Attributes) TYPE bloom_filter(0.01) GRANULARITY 1, + INDEX idx_count Count TYPE minmax GRANULARITY 1 +) + ENGINE = MergeTree + PARTITION BY toDate(Timestamp) + ORDER BY (OrganizationID, FederatedGraphID, ClientName, ClientVersion, RouterConfigVersion, OperationHash, HttpStatusCode, HasError, toUnixTimestamp(Timestamp)) + TTL toDateTime(Timestamp) + toIntervalDay(7) + SETTINGS index_granularity = 8192, ttl_only_drop_parts = 1 + diff --git a/graphqlmetrics/migrations/20241115112150_use_null_table_for_raw_schema_usage_data.sql b/graphqlmetrics/migrations/20241115112150_use_null_table_for_raw_schema_usage_data.sql new file mode 100644 index 0000000000..88becd3c8d --- /dev/null +++ b/graphqlmetrics/migrations/20241115112150_use_null_table_for_raw_schema_usage_data.sql @@ -0,0 +1,58 @@ +-- migrate:up + +CREATE TABLE IF NOT EXISTS gql_metrics_schema_usage +( + -- See https://github.com/PostHog/posthog/issues/10616 why ZSTD(3) is used + Timestamp DateTime('UTC') CODEC(Delta, ZSTD(3)), + + -- Organization + OrganizationID LowCardinality(String) CODEC(ZSTD(3)), + + -- Router configuration + FederatedGraphID LowCardinality(String) CODEC(ZSTD(3)), + RouterConfigVersion LowCardinality(String) CODEC(ZSTD(3)), -- running schema version + + -- Operation + OperationHash LowCardinality(String) CODEC(ZSTD(3)), + OperationName LowCardinality(String) CODEC(ZSTD(3)), + OperationType LowCardinality(String) CODEC(ZSTD(3)), -- query, mutation, subscription + + -- Define how often a field is used. Useful for batching at the collection layer. + Count UInt64 CODEC(Delta, ZSTD(3)), + + -- Schema usage + Path Array(String) CODEC(ZSTD(3)), + TypeNames Array(String) CODEC(ZSTD(3)), -- Sorted before insertion + NamedType String CODEC(ZSTD(3)), + + -- Client information + ClientName LowCardinality(String) CODEC(ZSTD(3)), + ClientVersion LowCardinality(String) CODEC(ZSTD(3)), + + --- Request information + HttpStatusCode String CODEC (ZSTD(3)), + HasError bool CODEC(ZSTD(3)), -- Whether the operation has an error of any kind + + -- SubgraphIDs identify the subgraphs that were used to resolve the field + SubgraphIDs Array(LowCardinality(String)) CODEC(ZSTD(3)), -- Sorted before insertion + + -- Indicates if the usage was from an argument or a field + IsArgument bool CODEC(ZSTD(3)), + + -- Indicates if the usage was from an input field + IsInput bool CODEC(ZSTD(3)), + + -- Additional information + Attributes Map(LowCardinality(String), String) CODEC(ZSTD(3)), + + IsIndirectFieldUsage bool DEFAULT false +) + -- The Null table engine is a powerful optimization - think of it as /dev/null. + -- When data is inserted into the Null table, it is immediately discarded but materialized views are still updated. + -- This is useful for cases where you want to track metrics but don't need to store the raw data. + engine = Null; + +-- migrate:down + +DROP TABLE IF EXISTS gql_metrics_schema_usage; + diff --git a/graphqlmetrics/package.json b/graphqlmetrics/package.json index a052b1c8ed..a49c45e2c4 100644 --- a/graphqlmetrics/package.json +++ b/graphqlmetrics/package.json @@ -1,6 +1,6 @@ { "name": "graphqlmetrics", - "version": "0.29.3", + "version": "0.30.1", "private": true, "description": "Placeholder package to simplify versioning and releasing with lerna.", "keywords": [ diff --git a/proto/wg/cosmo/platform/v1/platform.proto b/proto/wg/cosmo/platform/v1/platform.proto index 1515a4d186..768c1ed950 100644 --- a/proto/wg/cosmo/platform/v1/platform.proto +++ b/proto/wg/cosmo/platform/v1/platform.proto @@ -507,6 +507,8 @@ message GetCheckOperationsRequest { string check_id = 1; string graph_name = 2; string namespace = 3; + int32 limit = 4; + int32 offset = 5; } message GetCheckOperationsResponse { @@ -526,6 +528,7 @@ message GetCheckOperationsResponse { int32 traffic_check_days = 3; string created_at = 4; bool client_traffic_check_skipped = 5; + int32 totalOperationsCount = 6; } message GetOperationContentRequest { diff --git a/router-tests/automatic_persisted_queries_test.go b/router-tests/automatic_persisted_queries_test.go index a896208be7..f02926b034 100644 --- a/router-tests/automatic_persisted_queries_test.go +++ b/router-tests/automatic_persisted_queries_test.go @@ -63,6 +63,14 @@ func TestAutomaticPersistedQueries(t *testing.T) { Header: header, }) require.Equal(t, `{"data":{"__typename":"Query"}}`, res2.Body) + + header2 := make(http.Header) + header2.Add("graphql-client-name", "not-my-client") + res3 := xEnv.MakeGraphQLRequestOK(testenv.GraphQLRequest{ + Extensions: []byte(`{"persistedQuery": {"version": 1, "sha256Hash": "ecf4edb46db40b5132295c0291d62fb65d6759a9eedfa4d5d612dd5ec54a6b38"}}`), + Header: header2, + }) + require.Equal(t, `{"data":{"__typename":"Query"}}`, res3.Body) }) }) @@ -220,6 +228,14 @@ func TestAutomaticPersistedQueries(t *testing.T) { Header: header, }) require.Equal(t, `{"data":{"__typename":"Query"}}`, res2.Body) + + header2 := make(http.Header) + header2.Add("graphql-client-name", "not-my-client") + res3 := xEnv.MakeGraphQLRequestOK(testenv.GraphQLRequest{ + Extensions: []byte(`{"persistedQuery": {"version": 1, "sha256Hash": "ecf4edb46db40b5132295c0291d62fb65d6759a9eedfa4d5d612dd5ec54a6b38"}}`), + Header: header2, + }) + require.Equal(t, `{"data":{"__typename":"Query"}}`, res3.Body) }) }) diff --git a/router-tests/bump-deps.sh b/router-tests/bump-deps.sh index 0b1977d05f..40bb73ee8c 100755 --- a/router-tests/bump-deps.sh +++ b/router-tests/bump-deps.sh @@ -7,4 +7,3 @@ echo "Updating dependencies to $GIT_REV" go get "github.com/wundergraph/cosmo/router@${GIT_REV}" go get "github.com/wundergraph/cosmo/demo@${GIT_REV}" go mod tidy -cd .. && go work sync diff --git a/router-tests/complexity_limits_test.go b/router-tests/complexity_limits_test.go new file mode 100644 index 0000000000..78448d593f --- /dev/null +++ b/router-tests/complexity_limits_test.go @@ -0,0 +1,395 @@ +package integration + +import ( + "github.com/stretchr/testify/require" + "github.com/wundergraph/cosmo/router-tests/testenv" + "github.com/wundergraph/cosmo/router/pkg/config" + "github.com/wundergraph/cosmo/router/pkg/otel" + "github.com/wundergraph/cosmo/router/pkg/trace/tracetest" + "go.opentelemetry.io/otel/sdk/metric" + "go.opentelemetry.io/otel/sdk/trace" + tracetest2 "go.opentelemetry.io/otel/sdk/trace/tracetest" + "net/http" + "testing" +) + +func TestComplexityLimits(t *testing.T) { + t.Parallel() + t.Run("old max query depth configuration still works", func(t *testing.T) { + t.Run("max query depth of 0 doesn't block", func(t *testing.T) { + t.Parallel() + testenv.Run(t, &testenv.Config{ + ModifySecurityConfiguration: func(securityConfiguration *config.SecurityConfiguration) { + if securityConfiguration.DepthLimit == nil { + securityConfiguration.DepthLimit = &config.QueryDepthConfiguration{} + } + securityConfiguration.DepthLimit.Enabled = true + securityConfiguration.DepthLimit.Limit = 0 + securityConfiguration.DepthLimit.CacheSize = 1024 + }, + }, func(t *testing.T, xEnv *testenv.Environment) { + res := xEnv.MakeGraphQLRequestOK(testenv.GraphQLRequest{ + Query: `{ employee(id:1) { id details { forename surname } } }`, + }) + require.JSONEq(t, `{"data":{"employee":{"id":1,"details":{"forename":"Jens","surname":"Neuse"}}}}`, res.Body) + }) + }) + + t.Run("allows queries up to the max depth", func(t *testing.T) { + t.Parallel() + testenv.Run(t, &testenv.Config{ + ModifySecurityConfiguration: func(securityConfiguration *config.SecurityConfiguration) { + if securityConfiguration.DepthLimit == nil { + securityConfiguration.DepthLimit = &config.QueryDepthConfiguration{} + } + securityConfiguration.DepthLimit.Enabled = true + securityConfiguration.DepthLimit.Limit = 3 + securityConfiguration.DepthLimit.CacheSize = 1024 + }, + }, func(t *testing.T, xEnv *testenv.Environment) { + res := xEnv.MakeGraphQLRequestOK(testenv.GraphQLRequest{ + Query: `{ employee(id:1) { id details { forename surname } } }`, + }) + require.JSONEq(t, `{"data":{"employee":{"id":1,"details":{"forename":"Jens","surname":"Neuse"}}}}`, res.Body) + }) + }) + + t.Run("max query depth blocks queries over the limit", func(t *testing.T) { + t.Parallel() + testenv.Run(t, &testenv.Config{ + ModifySecurityConfiguration: func(securityConfiguration *config.SecurityConfiguration) { + if securityConfiguration.DepthLimit == nil { + securityConfiguration.DepthLimit = &config.QueryDepthConfiguration{} + } + securityConfiguration.DepthLimit.Enabled = true + securityConfiguration.DepthLimit.Limit = 2 + securityConfiguration.DepthLimit.CacheSize = 1024 + }, + }, func(t *testing.T, xEnv *testenv.Environment) { + res, _ := xEnv.MakeGraphQLRequest(testenv.GraphQLRequest{ + Query: `{ employee(id:1) { id details { forename surname } } }`, + }) + require.Equal(t, 400, res.Response.StatusCode) + require.Equal(t, `{"errors":[{"message":"The query depth 3 exceeds the max query depth allowed (2)"}]}`, res.Body) + }) + }) + + t.Run("max query depth blocks persisted queries over the limit", func(t *testing.T) { + t.Parallel() + testenv.Run(t, &testenv.Config{ + ModifySecurityConfiguration: func(securityConfiguration *config.SecurityConfiguration) { + if securityConfiguration.DepthLimit == nil { + securityConfiguration.DepthLimit = &config.QueryDepthConfiguration{} + } + securityConfiguration.DepthLimit.Enabled = true + securityConfiguration.DepthLimit.Limit = 2 + securityConfiguration.DepthLimit.CacheSize = 1024 + }, + }, func(t *testing.T, xEnv *testenv.Environment) { + header := make(http.Header) + header.Add("graphql-client-name", "my-client") + res, _ := xEnv.MakeGraphQLRequestOverGET(testenv.GraphQLRequest{ + OperationName: []byte(`Find`), + Variables: []byte(`{"criteria": {"nationality": "GERMAN" }}`), + Extensions: []byte(`{"persistedQuery": {"version": 1, "sha256Hash": "e33580cf6276de9a75fb3b1c4b7580fec2a1c8facd13f3487bf6c7c3f854f7e3"}}`), + Header: header, + }) + require.Equal(t, 400, res.Response.StatusCode) + require.Equal(t, `{"errors":[{"message":"The query depth 3 exceeds the max query depth allowed (2)"}]}`, res.Body) + }) + }) + + t.Run("max query depth doesn't block persisted queries if DisableDepthLimitPersistedOperations set", func(t *testing.T) { + t.Parallel() + testenv.Run(t, &testenv.Config{ + ModifySecurityConfiguration: func(securityConfiguration *config.SecurityConfiguration) { + if securityConfiguration.DepthLimit == nil { + securityConfiguration.DepthLimit = &config.QueryDepthConfiguration{} + } + securityConfiguration.DepthLimit.Enabled = true + securityConfiguration.DepthLimit.Limit = 2 + securityConfiguration.DepthLimit.CacheSize = 1024 + securityConfiguration.DepthLimit.IgnorePersistedOperations = true + }, + }, func(t *testing.T, xEnv *testenv.Environment) { + header := make(http.Header) + header.Add("graphql-client-name", "my-client") + res, _ := xEnv.MakeGraphQLRequestOverGET(testenv.GraphQLRequest{ + OperationName: []byte(`Find`), + Variables: []byte(`{"criteria": {"nationality": "GERMAN" }}`), + Extensions: []byte(`{"persistedQuery": {"version": 1, "sha256Hash": "e33580cf6276de9a75fb3b1c4b7580fec2a1c8facd13f3487bf6c7c3f854f7e3"}}`), + Header: header, + }) + require.Equal(t, 200, res.Response.StatusCode) + require.Equal(t, `{"data":{"findEmployees":[{"id":1,"details":{"forename":"Jens","surname":"Neuse"}},{"id":2,"details":{"forename":"Dustin","surname":"Deus"}},{"id":4,"details":{"forename":"Björn","surname":"Schwenzer"}},{"id":11,"details":{"forename":"Alexandra","surname":"Neuse"}}]}}`, res.Body) + }) + }) + + t.Run("query depth validation caches success and failure runs", func(t *testing.T) { + t.Parallel() + + metricReader := metric.NewManualReader() + exporter := tracetest.NewInMemoryExporter(t) + testenv.Run(t, &testenv.Config{ + TraceExporter: exporter, + MetricReader: metricReader, + ModifySecurityConfiguration: func(securityConfiguration *config.SecurityConfiguration) { + if securityConfiguration.DepthLimit == nil { + securityConfiguration.DepthLimit = &config.QueryDepthConfiguration{} + } + securityConfiguration.DepthLimit.Enabled = true + securityConfiguration.DepthLimit.Limit = 2 + securityConfiguration.DepthLimit.CacheSize = 1024 + }, + }, func(t *testing.T, xEnv *testenv.Environment) { + failedRes, _ := xEnv.MakeGraphQLRequest(testenv.GraphQLRequest{ + Query: `{ employee(id:1) { id details { forename surname } } }`, + }) + require.Equal(t, 400, failedRes.Response.StatusCode) + require.Equal(t, `{"errors":[{"message":"The query depth 3 exceeds the max query depth allowed (2)"}]}`, failedRes.Body) + + testSpan := requireSpanWithName(t, exporter, "Operation - Validate") + require.Contains(t, testSpan.Attributes(), otel.WgQueryDepth.Int(3)) + require.Contains(t, testSpan.Attributes(), otel.WgQueryDepthCacheHit.Bool(false)) + exporter.Reset() + + failedRes2, _ := xEnv.MakeGraphQLRequest(testenv.GraphQLRequest{ + Query: `{ employee(id:1) { id details { forename surname } } }`, + }) + require.Equal(t, 400, failedRes2.Response.StatusCode) + require.Equal(t, `{"errors":[{"message":"The query depth 3 exceeds the max query depth allowed (2)"}]}`, failedRes2.Body) + + testSpan2 := requireSpanWithName(t, exporter, "Operation - Validate") + require.Contains(t, testSpan2.Attributes(), otel.WgQueryDepth.Int(3)) + require.Contains(t, testSpan2.Attributes(), otel.WgQueryDepthCacheHit.Bool(true)) + exporter.Reset() + + successRes := xEnv.MakeGraphQLRequestOK(testenv.GraphQLRequest{ + Query: `query { employees { id } }`, + }) + require.JSONEq(t, employeesIDData, successRes.Body) + testSpan3 := requireSpanWithName(t, exporter, "Operation - Validate") + require.Contains(t, testSpan3.Attributes(), otel.WgQueryDepth.Int(2)) + require.Contains(t, testSpan3.Attributes(), otel.WgQueryDepthCacheHit.Bool(false)) + exporter.Reset() + + successRes2 := xEnv.MakeGraphQLRequestOK(testenv.GraphQLRequest{ + Query: `query { employees { id } }`, + }) + require.JSONEq(t, employeesIDData, successRes2.Body) + testSpan4 := requireSpanWithName(t, exporter, "Operation - Validate") + require.Contains(t, testSpan4.Attributes(), otel.WgQueryDepth.Int(2)) + require.Contains(t, testSpan4.Attributes(), otel.WgQueryDepthCacheHit.Bool(true)) + }) + }) + }) + + t.Run("depth limit", func(t *testing.T) { + t.Run("depth limit blocks queries over the limit", func(t *testing.T) { + t.Parallel() + testenv.Run(t, &testenv.Config{ + ModifySecurityConfiguration: func(securityConfiguration *config.SecurityConfiguration) { + securityConfiguration.ComplexityLimits = &config.ComplexityLimits{ + Depth: &config.ComplexityLimit{ + Enabled: true, + Limit: 2, + }, + } + }, + }, func(t *testing.T, xEnv *testenv.Environment) { + res, _ := xEnv.MakeGraphQLRequest(testenv.GraphQLRequest{ + Query: `{ employee(id:1) { id details { forename surname } } }`, + }) + require.Equal(t, 400, res.Response.StatusCode) + require.Equal(t, `{"errors":[{"message":"The query depth 3 exceeds the max query depth allowed (2)"}]}`, res.Body) + }) + }) + + t.Run("depth limit blocks persisted queries over the limit", func(t *testing.T) { + t.Parallel() + testenv.Run(t, &testenv.Config{ + ModifySecurityConfiguration: func(securityConfiguration *config.SecurityConfiguration) { + securityConfiguration.ComplexityLimits = &config.ComplexityLimits{ + Depth: &config.ComplexityLimit{ + Enabled: true, + Limit: 2, + }, + } + }, + }, func(t *testing.T, xEnv *testenv.Environment) { + header := make(http.Header) + header.Add("graphql-client-name", "my-client") + res, _ := xEnv.MakeGraphQLRequestOverGET(testenv.GraphQLRequest{ + OperationName: []byte(`Find`), + Variables: []byte(`{"criteria": {"nationality": "GERMAN" }}`), + Extensions: []byte(`{"persistedQuery": {"version": 1, "sha256Hash": "e33580cf6276de9a75fb3b1c4b7580fec2a1c8facd13f3487bf6c7c3f854f7e3"}}`), + Header: header, + }) + require.Equal(t, 400, res.Response.StatusCode) + require.Equal(t, `{"errors":[{"message":"The query depth 3 exceeds the max query depth allowed (2)"}]}`, res.Body) + }) + }) + + t.Run("depth limit doesn't block persisted queries if IgnorePersistedOperations set", func(t *testing.T) { + t.Parallel() + testenv.Run(t, &testenv.Config{ + ModifySecurityConfiguration: func(securityConfiguration *config.SecurityConfiguration) { + securityConfiguration.ComplexityLimits = &config.ComplexityLimits{ + Depth: &config.ComplexityLimit{ + Enabled: true, + Limit: 2, + IgnorePersistedOperations: true, + }, + } + }, + }, func(t *testing.T, xEnv *testenv.Environment) { + header := make(http.Header) + header.Add("graphql-client-name", "my-client") + res, _ := xEnv.MakeGraphQLRequestOverGET(testenv.GraphQLRequest{ + OperationName: []byte(`Find`), + Variables: []byte(`{"criteria": {"nationality": "GERMAN" }}`), + Extensions: []byte(`{"persistedQuery": {"version": 1, "sha256Hash": "e33580cf6276de9a75fb3b1c4b7580fec2a1c8facd13f3487bf6c7c3f854f7e3"}}`), + Header: header, + }) + require.Equal(t, 200, res.Response.StatusCode) + require.Equal(t, `{"data":{"findEmployees":[{"id":1,"details":{"forename":"Jens","surname":"Neuse"}},{"id":2,"details":{"forename":"Dustin","surname":"Deus"}},{"id":4,"details":{"forename":"Björn","surname":"Schwenzer"}},{"id":11,"details":{"forename":"Alexandra","surname":"Neuse"}}]}}`, res.Body) + }) + }) + }) + + t.Run("total fields limit", func(t *testing.T) { + t.Parallel() + + t.Run("total fields limit blocks queries over the limit", func(t *testing.T) { + testenv.Run(t, &testenv.Config{ + ModifySecurityConfiguration: func(securityConfiguration *config.SecurityConfiguration) { + securityConfiguration.ComplexityLimits = &config.ComplexityLimits{ + TotalFields: &config.ComplexityLimit{ + Enabled: true, + Limit: 1, + }, + } + }, + }, func(t *testing.T, xEnv *testenv.Environment) { + res, _ := xEnv.MakeGraphQLRequest(testenv.GraphQLRequest{ + Query: `{ employee(id:1) { id details { forename surname } } }`, + }) + require.Equal(t, 400, res.Response.StatusCode) + require.Equal(t, `{"errors":[{"message":"The total number of fields 2 exceeds the limit allowed (1)"}]}`, res.Body) + }) + }) + + t.Run("total fields allows queries under the limit", func(t *testing.T) { + testenv.Run(t, &testenv.Config{ + ModifySecurityConfiguration: func(securityConfiguration *config.SecurityConfiguration) { + securityConfiguration.ComplexityLimits = &config.ComplexityLimits{ + TotalFields: &config.ComplexityLimit{ + Enabled: true, + Limit: 3, + }, + } + }, + }, func(t *testing.T, xEnv *testenv.Environment) { + res := xEnv.MakeGraphQLRequestOK(testenv.GraphQLRequest{ + Query: `{ employee(id:1) { id details { forename surname } } }`, + }) + require.JSONEq(t, `{"data":{"employee":{"id":1,"details":{"forename":"Jens","surname":"Neuse"}}}}`, res.Body) + }) + }) + }) + + t.Run("root fields limit", func(t *testing.T) { + t.Parallel() + + t.Run("root fields limit blocks queries over the limit", func(t *testing.T) { + testenv.Run(t, &testenv.Config{ + ModifySecurityConfiguration: func(securityConfiguration *config.SecurityConfiguration) { + securityConfiguration.ComplexityLimits = &config.ComplexityLimits{ + RootFields: &config.ComplexityLimit{ + Enabled: true, + Limit: 2, + }, + } + }, + }, func(t *testing.T, xEnv *testenv.Environment) { + res, _ := xEnv.MakeGraphQLRequest(testenv.GraphQLRequest{ + Query: `query { initialPayload employee(id:1) { id } employees { id } }`, + }) + require.Equal(t, 400, res.Response.StatusCode) + require.Equal(t, `{"errors":[{"message":"The number of root fields 3 exceeds the root field limit allowed (2)"}]}`, res.Body) + }) + }) + + t.Run("root fields allows queries under the limit", func(t *testing.T) { + testenv.Run(t, &testenv.Config{ + ModifySecurityConfiguration: func(securityConfiguration *config.SecurityConfiguration) { + securityConfiguration.ComplexityLimits = &config.ComplexityLimits{ + RootFields: &config.ComplexityLimit{ + Enabled: true, + Limit: 2, + }, + } + }, + }, func(t *testing.T, xEnv *testenv.Environment) { + res := xEnv.MakeGraphQLRequestOK(testenv.GraphQLRequest{ + Query: `query { employee(id:1) { id } }`, + }) + require.JSONEq(t, `{"data":{"employee":{"id":1}}}`, res.Body) + }) + }) + }) + + t.Run("root field aliases limit", func(t *testing.T) { + t.Parallel() + + t.Run("root field aliases limit blocks queries over the limit", func(t *testing.T) { + testenv.Run(t, &testenv.Config{ + ModifySecurityConfiguration: func(securityConfiguration *config.SecurityConfiguration) { + securityConfiguration.ComplexityLimits = &config.ComplexityLimits{ + RootFieldAliases: &config.ComplexityLimit{ + Enabled: true, + Limit: 1, + }, + } + }, + }, func(t *testing.T, xEnv *testenv.Environment) { + res, _ := xEnv.MakeGraphQLRequest(testenv.GraphQLRequest{ + Query: `query { firstemployee: employee(id:1) { id } employee2: employee(id:2) { id } }`, + }) + require.Equal(t, 400, res.Response.StatusCode) + require.Equal(t, `{"errors":[{"message":"The number of root field aliases 2 exceeds the root field aliases limit allowed (1)"}]}`, res.Body) + }) + }) + + t.Run("root field aliases allows queries under the limit", func(t *testing.T) { + testenv.Run(t, &testenv.Config{ + ModifySecurityConfiguration: func(securityConfiguration *config.SecurityConfiguration) { + securityConfiguration.ComplexityLimits = &config.ComplexityLimits{ + RootFieldAliases: &config.ComplexityLimit{ + Enabled: true, + Limit: 2, + }, + } + }, + }, func(t *testing.T, xEnv *testenv.Environment) { + res := xEnv.MakeGraphQLRequestOK(testenv.GraphQLRequest{ + Query: `query { firstemployee: employee(id:1) { id } employee2: employee(id:2) { id } }`, + }) + require.Equal(t, `{"data":{"firstemployee":{"id":1},"employee2":{"id":2}}}`, res.Body) + }) + }) + }) +} + +func requireSpanWithName(t *testing.T, exporter *tracetest2.InMemoryExporter, name string) trace.ReadOnlySpan { + sn := exporter.GetSpans().Snapshots() + var testSpan trace.ReadOnlySpan + for _, span := range sn { + if span.Name() == name { + testSpan = span + break + } + } + require.NotNil(t, testSpan) + return testSpan +} diff --git a/router-tests/cors_test.go b/router-tests/cors_test.go new file mode 100644 index 0000000000..fc40835678 --- /dev/null +++ b/router-tests/cors_test.go @@ -0,0 +1,177 @@ +package integration + +import ( + "github.com/stretchr/testify/require" + "github.com/wundergraph/cosmo/router-tests/testenv" + "github.com/wundergraph/cosmo/router/core" + "github.com/wundergraph/cosmo/router/pkg/config" + "github.com/wundergraph/cosmo/router/pkg/cors" + "net/http" + "testing" + "time" +) + +func TestCors(t *testing.T) { + t.Parallel() + + t.Run("allow all origins allows requests", func(t *testing.T) { + t.Parallel() + + testenv.Run(t, &testenv.Config{ + ModifyEngineExecutionConfiguration: func(cfg *config.EngineExecutionConfiguration) { + cfg.WebSocketClientReadTimeout = time.Millisecond * 10 + }, + RouterOptions: []core.Option{ + core.WithCors(&cors.Config{ + Enabled: true, + AllowAllOrigins: true, + }), + }, + }, func(t *testing.T, xEnv *testenv.Environment) { + res, err := xEnv.MakeGraphQLRequestWithHeaders(testenv.GraphQLRequest{ + Query: `query { initialPayload }`, + Extensions: []byte(`{"token":"123"}`), + }, map[string]string{ + "Origin": "http://example.org", + }) + require.NoError(t, err) + require.Equal(t, `{"data":{"initialPayload":{"extensions":{"token":"123"},"query":"{initialPayload}"}}}`, res.Body) + }) + }) + + t.Run("disallowing origins blocks requests", func(t *testing.T) { + t.Parallel() + + testenv.Run(t, &testenv.Config{ + RouterOptions: []core.Option{ + core.WithCors(&cors.Config{ + Enabled: true, + AllowOrigins: []string{"http://example.com"}, + }), + }, + }, func(t *testing.T, xEnv *testenv.Environment) { + res, err := xEnv.MakeGraphQLRequestWithHeaders(testenv.GraphQLRequest{ + Query: `query { initialPayload }`, + Extensions: []byte(`{"token":"123"}`), + }, map[string]string{ + "Origin": "http://not-example.com", + }) + require.NoError(t, err) + require.Equal(t, "", res.Body) + require.Equal(t, http.StatusForbidden, res.Response.StatusCode) + }) + }) + + t.Run("matching origins succeeds requests", func(t *testing.T) { + t.Parallel() + + testenv.Run(t, &testenv.Config{ + RouterOptions: []core.Option{ + core.WithCors(&cors.Config{ + Enabled: true, + AllowOrigins: []string{"http://example.com"}, + }), + }, + }, func(t *testing.T, xEnv *testenv.Environment) { + res, err := xEnv.MakeGraphQLRequestWithHeaders(testenv.GraphQLRequest{ + Query: `query { initialPayload }`, + Extensions: []byte(`{"token":"123"}`), + }, map[string]string{ + "Origin": "http://example.com", + }) + require.NoError(t, err) + require.Equal(t, `{"data":{"initialPayload":{"extensions":{"token":"123"},"query":"{initialPayload}"}}}`, res.Body) + }) + }) + + t.Run("wildcard matching", func(t *testing.T) { + t.Run("matching single wildcard succeeds", func(t *testing.T) { + t.Parallel() + + testenv.Run(t, &testenv.Config{ + RouterOptions: []core.Option{ + core.WithCors(&cors.Config{ + Enabled: true, + AllowOrigins: []string{"http://example.com/*"}, + }), + }, + }, func(t *testing.T, xEnv *testenv.Environment) { + res, err := xEnv.MakeGraphQLRequestWithHeaders(testenv.GraphQLRequest{ + Query: `query { initialPayload }`, + Extensions: []byte(`{"token":"123"}`), + }, map[string]string{ + "Origin": "http://example.com/test", + }) + require.NoError(t, err) + require.Equal(t, `{"data":{"initialPayload":{"extensions":{"token":"123"},"query":"{initialPayload}"}}}`, res.Body) + }) + }) + + t.Run("matching multiple wildcard succeeds", func(t *testing.T) { + t.Parallel() + + testenv.Run(t, &testenv.Config{ + RouterOptions: []core.Option{ + core.WithCors(&cors.Config{ + Enabled: true, + AllowOrigins: []string{"http://*example.com:*"}, + }), + }, + }, func(t *testing.T, xEnv *testenv.Environment) { + res, err := xEnv.MakeGraphQLRequestWithHeaders(testenv.GraphQLRequest{ + Query: `query { initialPayload }`, + Extensions: []byte(`{"token":"123"}`), + }, map[string]string{ + "Origin": "http://matching.double.example.com:123/super-scary-extension", + }) + require.NoError(t, err) + require.Equal(t, `{"data":{"initialPayload":{"extensions":{"token":"123"},"query":"{initialPayload}"}}}`, res.Body) + }) + }) + + t.Run("matching multiple complex wildcards succeeds", func(t *testing.T) { + t.Parallel() + + testenv.Run(t, &testenv.Config{ + RouterOptions: []core.Option{ + core.WithCors(&cors.Config{ + Enabled: true, + AllowOrigins: []string{"http://*example.com:*"}, + }), + }, + }, func(t *testing.T, xEnv *testenv.Environment) { + res, err := xEnv.MakeGraphQLRequestWithHeaders(testenv.GraphQLRequest{ + Query: `query { initialPayload }`, + Extensions: []byte(`{"token":"123"}`), + }, map[string]string{ + "Origin": "http://matching.double.example.com:123/super-scary-extension", + }) + require.NoError(t, err) + require.Equal(t, `{"data":{"initialPayload":{"extensions":{"token":"123"},"query":"{initialPayload}"}}}`, res.Body) + }) + }) + + t.Run("matching multiple wildcard fails", func(t *testing.T) { + t.Parallel() + + testenv.Run(t, &testenv.Config{ + RouterOptions: []core.Option{ + core.WithCors(&cors.Config{ + Enabled: true, + AllowOrigins: []string{"http://*example.com:*"}, + }), + }, + }, func(t *testing.T, xEnv *testenv.Environment) { + res, err := xEnv.MakeGraphQLRequestWithHeaders(testenv.GraphQLRequest{ + Query: `query { initialPayload }`, + Extensions: []byte(`{"token":"123"}`), + }, map[string]string{ + "Origin": "http://not-matching.double.example.co:123/super-scary-extension", + }) + require.NoError(t, err) + require.Equal(t, "", res.Body) + require.Equal(t, http.StatusForbidden, res.Response.StatusCode) + }) + }) + }) +} diff --git a/router-tests/go.mod b/router-tests/go.mod index ac1282a03e..6e6449e44d 100644 --- a/router-tests/go.mod +++ b/router-tests/go.mod @@ -25,9 +25,9 @@ require ( github.com/tidwall/gjson v1.18.0 github.com/twmb/franz-go v1.16.1 github.com/twmb/franz-go/pkg/kadm v1.11.0 - github.com/wundergraph/cosmo/demo v0.0.0-20241108155000-9f371059ec96 - github.com/wundergraph/cosmo/router v0.0.0-20241108155000-9f371059ec96 - github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.121 + github.com/wundergraph/cosmo/demo v0.0.0-20241118164309-37af7e49ffff + github.com/wundergraph/cosmo/router v0.0.0-20241118164309-37af7e49ffff + github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.126 go.opentelemetry.io/otel v1.28.0 go.opentelemetry.io/otel/sdk v1.28.0 go.opentelemetry.io/otel/sdk/metric v1.28.0 @@ -169,3 +169,12 @@ require ( gopkg.in/cenkalti/backoff.v1 v1.1.0 // indirect nhooyr.io/websocket v1.8.11 // indirect ) + +// Remember you can use Go workspaces to avoid using replace directives in multiple go.mod files +// Use what is best for your personal workflow. See CONTRIBUTING.md for more information + +replace ( + github.com/wundergraph/cosmo/demo => ../demo + github.com/wundergraph/cosmo/router => ../router +// github.com/wundergraph/graphql-go-tools/v2 => ../../graphql-go-tools/v2 +) diff --git a/router-tests/go.sum b/router-tests/go.sum index 9970c695f4..6a6d190408 100644 --- a/router-tests/go.sum +++ b/router-tests/go.sum @@ -350,12 +350,8 @@ github.com/vektah/gqlparser/v2 v2.5.16 h1:1gcmLTvs3JLKXckwCwlUagVn/IlV2bwqle0vJ0 github.com/vektah/gqlparser/v2 v2.5.16/go.mod h1:1lz1OeCqgQbQepsGxPVywrjdBHW2T08PUS3pJqepRww= github.com/wundergraph/astjson v0.0.0-20241108124845-44485579ffa5 h1:rc+IQxG3rrAXEjBywirkzhKkyCKvXLGQXABVD8GiUtU= github.com/wundergraph/astjson v0.0.0-20241108124845-44485579ffa5/go.mod h1:eOTL6acwctsN4F3b7YE+eE2t8zcJ/doLm9sZzsxxxrE= -github.com/wundergraph/cosmo/demo v0.0.0-20241108155000-9f371059ec96 h1:29ImKoHfEcdhh891qiza800fYFhkdt5S+QITNFVV240= -github.com/wundergraph/cosmo/demo v0.0.0-20241108155000-9f371059ec96/go.mod h1:Qq3TmXO0uU9nrYRDevkAW8nAocOGJD5vDQI5TE44YVw= -github.com/wundergraph/cosmo/router v0.0.0-20241108155000-9f371059ec96 h1:F1n+3lSwxX5kkT9GLoZ1HWpr65oFdZrM0k3h9NI3z/Q= -github.com/wundergraph/cosmo/router v0.0.0-20241108155000-9f371059ec96/go.mod h1:xSraMjn2YsV+yGHKmzBu7g5Z1UV96OFAhCm+9S7T1iA= -github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.121 h1:VsrSvBsOcQNiTwESJg55tecBzHfZPUdII/zDstHyBuc= -github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.121/go.mod h1:s4r/lhVEU5s0c6tCgpR0hK6FHEmX0cbrKcMU1pMc/ZI= +github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.126 h1:Vt4/3Xkf0winIwfBuh0ja2zK4YeBY/6Q8SCON4I/ybg= +github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.126/go.mod h1:s4r/lhVEU5s0c6tCgpR0hK6FHEmX0cbrKcMU1pMc/ZI= github.com/xrash/smetrics v0.0.0-20240312152122-5f08fbb34913 h1:+qGGcbkzsfDQNPPe9UDgpxAWQrhbbBXOYJFQDq/dtJw= github.com/xrash/smetrics v0.0.0-20240312152122-5f08fbb34913/go.mod h1:4aEEwZQutDLsQv2Deui4iYQ6DWTxR14g6m8Wv88+Xqk= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= diff --git a/router-tests/headers_test.go b/router-tests/headers_test.go index bc58be58ee..d834b430f0 100644 --- a/router-tests/headers_test.go +++ b/router-tests/headers_test.go @@ -59,7 +59,7 @@ func TestForwardHeaders(t *testing.T) { } testenv.Run(t, &testenv.Config{ ModifyEngineExecutionConfiguration: func(cfg *config.EngineExecutionConfiguration) { - cfg.WebSocketReadTimeout = time.Millisecond * 10 + cfg.WebSocketClientReadTimeout = time.Millisecond * 10 }, RouterOptions: []core.Option{ core.WithHeaderRules(headerRules), @@ -81,12 +81,61 @@ func TestForwardHeaders(t *testing.T) { }) }) + t.Run("SetHeadersFromContext", func(t *testing.T) { + setRequestDynamicAttribute := func(headerName, contextField string) []core.Option { + return []core.Option{ + core.WithHeaderRules(config.HeaderRules{ + All: &config.GlobalHeaderRule{ + Request: []*config.RequestHeaderRule{ + { + Operation: config.HeaderRuleOperationSet, + Name: headerName, + ValueFrom: &config.CustomDynamicAttribute{ + ContextField: contextField, + }}}}})} + } + opNameHeader := "x-operation-info" + + t.Run("successfully sets operation name header", func(t *testing.T) { + t.Parallel() + + testenv.Run(t, &testenv.Config{ + RouterOptions: setRequestDynamicAttribute(opNameHeader, core.ContextFieldOperationName), + }, + func(t *testing.T, xEnv *testenv.Environment) { + res := xEnv.MakeGraphQLRequestOK(testenv.GraphQLRequest{ + Query: `query myQuery { headerValue(name:"` + opNameHeader + `") }`, + }) + headerVal := "myQuery" + require.Equal(t, `{"data":{"headerValue":"`+headerVal+`"}}`, res.Body) + }) + }) + + t.Run("set dynamic header overwrites explicit header", func(t *testing.T) { + t.Parallel() + + testenv.Run(t, &testenv.Config{ + RouterOptions: setRequestDynamicAttribute(opNameHeader, core.ContextFieldOperationName), + }, + func(t *testing.T, xEnv *testenv.Environment) { + res, err := xEnv.MakeGraphQLRequestWithHeaders(testenv.GraphQLRequest{ + Query: `query myQuery { headerValue(name:"` + opNameHeader + `") }`, + }, map[string]string{ + opNameHeader: "not-myQuery", + }) + require.NoError(t, err) + headerVal := "myQuery" + require.Equal(t, `{"data":{"headerValue":"`+headerVal+`"}}`, res.Body) + }) + }) + }) + t.Run("HTTP with client extension", func(t *testing.T) { t.Parallel() testenv.Run(t, &testenv.Config{ ModifyEngineExecutionConfiguration: func(cfg *config.EngineExecutionConfiguration) { - cfg.WebSocketReadTimeout = time.Millisecond * 10 + cfg.WebSocketClientReadTimeout = time.Millisecond * 10 }, RouterOptions: []core.Option{ core.WithHeaderRules(headerRules), @@ -112,7 +161,7 @@ func TestForwardHeaders(t *testing.T) { } testenv.Run(t, &testenv.Config{ ModifyEngineExecutionConfiguration: func(cfg *config.EngineExecutionConfiguration) { - cfg.WebSocketReadTimeout = time.Millisecond * 10 + cfg.WebSocketClientReadTimeout = time.Millisecond * 10 }, RouterOptions: []core.Option{ core.WithHeaderRules(headerRules), @@ -146,7 +195,7 @@ func TestForwardHeaders(t *testing.T) { testenv.Run(t, &testenv.Config{ ModifyEngineExecutionConfiguration: func(cfg *config.EngineExecutionConfiguration) { - cfg.WebSocketReadTimeout = time.Millisecond * 10 + cfg.WebSocketClientReadTimeout = time.Millisecond * 10 }, RouterOptions: []core.Option{ core.WithHeaderRules(headerRules), @@ -179,7 +228,7 @@ func TestForwardHeaders(t *testing.T) { } testenv.Run(t, &testenv.Config{ ModifyEngineExecutionConfiguration: func(cfg *config.EngineExecutionConfiguration) { - cfg.WebSocketReadTimeout = time.Millisecond * 10 + cfg.WebSocketClientReadTimeout = time.Millisecond * 10 }, RouterOptions: []core.Option{ core.WithHeaderRules(headerRules), @@ -281,7 +330,7 @@ func TestForwardRenamedHeaders(t *testing.T) { } testenv.Run(t, &testenv.Config{ ModifyEngineExecutionConfiguration: func(cfg *config.EngineExecutionConfiguration) { - cfg.WebSocketReadTimeout = time.Millisecond * 10 + cfg.WebSocketClientReadTimeout = time.Millisecond * 10 }, RouterOptions: []core.Option{ core.WithHeaderRules(headerRules), @@ -311,7 +360,7 @@ func TestForwardRenamedHeaders(t *testing.T) { testenv.Run(t, &testenv.Config{ ModifyEngineExecutionConfiguration: func(cfg *config.EngineExecutionConfiguration) { - cfg.WebSocketReadTimeout = time.Millisecond * 10 + cfg.WebSocketClientReadTimeout = time.Millisecond * 10 }, RouterOptions: []core.Option{ core.WithHeaderRules(headerRules), @@ -338,7 +387,7 @@ func TestForwardRenamedHeaders(t *testing.T) { } testenv.Run(t, &testenv.Config{ ModifyEngineExecutionConfiguration: func(cfg *config.EngineExecutionConfiguration) { - cfg.WebSocketReadTimeout = time.Millisecond * 10 + cfg.WebSocketClientReadTimeout = time.Millisecond * 10 }, RouterOptions: []core.Option{ core.WithHeaderRules(headerRules), @@ -372,7 +421,7 @@ func TestForwardRenamedHeaders(t *testing.T) { testenv.Run(t, &testenv.Config{ ModifyEngineExecutionConfiguration: func(cfg *config.EngineExecutionConfiguration) { - cfg.WebSocketReadTimeout = time.Millisecond * 10 + cfg.WebSocketClientReadTimeout = time.Millisecond * 10 }, RouterOptions: []core.Option{ core.WithHeaderRules(headerRules), @@ -406,7 +455,7 @@ func TestForwardRenamedHeaders(t *testing.T) { } testenv.Run(t, &testenv.Config{ ModifyEngineExecutionConfiguration: func(cfg *config.EngineExecutionConfiguration) { - cfg.WebSocketReadTimeout = time.Millisecond * 10 + cfg.WebSocketClientReadTimeout = time.Millisecond * 10 }, RouterOptions: []core.Option{ core.WithHeaderRules(headerRules), diff --git a/router-tests/integration_test.go b/router-tests/integration_test.go index 6e2835224c..043b9b2f96 100644 --- a/router-tests/integration_test.go +++ b/router-tests/integration_test.go @@ -19,13 +19,6 @@ import ( "testing" "time" - "go.opentelemetry.io/otel/sdk/metric" - "go.opentelemetry.io/otel/sdk/trace" - tracetest2 "go.opentelemetry.io/otel/sdk/trace/tracetest" - - "github.com/wundergraph/cosmo/router/pkg/otel" - "github.com/wundergraph/cosmo/router/pkg/trace/tracetest" - "github.com/buger/jsonparser" "github.com/sebdah/goldie/v2" "github.com/stretchr/testify/require" @@ -330,10 +323,33 @@ func TestAnonymousQuery(t *testing.T) { t.Parallel() testenv.Run(t, &testenv.Config{}, func(t *testing.T, xEnv *testenv.Environment) { - res := xEnv.MakeGraphQLRequestOK(testenv.GraphQLRequest{ - Query: `{ employees { id } }`, + t.Run("anonymous query", func(t *testing.T) { + res := xEnv.MakeGraphQLRequestOK(testenv.GraphQLRequest{ + Query: `{ employees { id } }`, + }) + require.JSONEq(t, employeesIDData, res.Body) + }) + + t.Run("sequence of queries with different count of variables", func(t *testing.T) { + res := xEnv.MakeGraphQLRequestOK(testenv.GraphQLRequest{ + Query: `query ($a: Float! = 1) { floatField(arg: $a) }`, + }) + require.JSONEq(t, `{"data":{"floatField":1}}`, res.Body) + + // we need to obtain more parse kits to reuse them + for i := 0; i < 10; i++ { + res = xEnv.MakeGraphQLRequestOK(testenv.GraphQLRequest{ + Query: `query ($a: String = "A", $b: Int = 1) { delay(response: $a, ms: $b ) }`, + }) + require.JSONEq(t, `{"data":{"delay":"A"}}`, res.Body) + } + + // this query should not fail with panic because of the reuse of variables normalizer + res = xEnv.MakeGraphQLRequestOK(testenv.GraphQLRequest{ + Query: `query ($a: Float! = 1) { floatField(arg: $a) }`, + }) + require.JSONEq(t, `{"data":{"floatField":1}}`, res.Body) }) - require.JSONEq(t, employeesIDData, res.Body) }) } @@ -1031,168 +1047,3 @@ func TestDataNotSetOnPreExecutionErrors(t *testing.T) { require.Equal(t, `{"errors":[{"message":"unexpected token - got: RBRACE want one of: [COLON]","locations":[{"line":1,"column":46}]}]}`, res.Body) }) } - -func TestQueryDepthLimit(t *testing.T) { - t.Parallel() - t.Run("max query depth of 0 doesn't block", func(t *testing.T) { - t.Parallel() - testenv.Run(t, &testenv.Config{ - ModifySecurityConfiguration: func(securityConfiguration *config.SecurityConfiguration) { - securityConfiguration.DepthLimit.Enabled = true - securityConfiguration.DepthLimit.Limit = 0 - securityConfiguration.DepthLimit.CacheSize = 1024 - }, - }, func(t *testing.T, xEnv *testenv.Environment) { - res := xEnv.MakeGraphQLRequestOK(testenv.GraphQLRequest{ - Query: `{ employee(id:1) { id details { forename surname } } }`, - }) - require.JSONEq(t, `{"data":{"employee":{"id":1,"details":{"forename":"Jens","surname":"Neuse"}}}}`, res.Body) - }) - }) - - t.Run("allows queries up to the max depth", func(t *testing.T) { - t.Parallel() - testenv.Run(t, &testenv.Config{ - ModifySecurityConfiguration: func(securityConfiguration *config.SecurityConfiguration) { - securityConfiguration.DepthLimit.Enabled = true - securityConfiguration.DepthLimit.Limit = 3 - securityConfiguration.DepthLimit.CacheSize = 1024 - }, - }, func(t *testing.T, xEnv *testenv.Environment) { - res := xEnv.MakeGraphQLRequestOK(testenv.GraphQLRequest{ - Query: `{ employee(id:1) { id details { forename surname } } }`, - }) - require.JSONEq(t, `{"data":{"employee":{"id":1,"details":{"forename":"Jens","surname":"Neuse"}}}}`, res.Body) - }) - }) - - t.Run("max query depth blocks queries over the limit", func(t *testing.T) { - t.Parallel() - testenv.Run(t, &testenv.Config{ - ModifySecurityConfiguration: func(securityConfiguration *config.SecurityConfiguration) { - securityConfiguration.DepthLimit.Enabled = true - securityConfiguration.DepthLimit.Limit = 2 - securityConfiguration.DepthLimit.CacheSize = 1024 - }, - }, func(t *testing.T, xEnv *testenv.Environment) { - res, _ := xEnv.MakeGraphQLRequest(testenv.GraphQLRequest{ - Query: `{ employee(id:1) { id details { forename surname } } }`, - }) - require.Equal(t, 400, res.Response.StatusCode) - require.Equal(t, `{"errors":[{"message":"The query depth 3 exceeds the max query depth allowed (2)"}]}`, res.Body) - }) - }) - - t.Run("max query depth blocks persisted queries over the limit", func(t *testing.T) { - t.Parallel() - testenv.Run(t, &testenv.Config{ - ModifySecurityConfiguration: func(securityConfiguration *config.SecurityConfiguration) { - securityConfiguration.DepthLimit.Enabled = true - securityConfiguration.DepthLimit.Limit = 2 - securityConfiguration.DepthLimit.CacheSize = 1024 - }, - }, func(t *testing.T, xEnv *testenv.Environment) { - header := make(http.Header) - header.Add("graphql-client-name", "my-client") - res, _ := xEnv.MakeGraphQLRequestOverGET(testenv.GraphQLRequest{ - OperationName: []byte(`Find`), - Variables: []byte(`{"criteria": {"nationality": "GERMAN" }}`), - Extensions: []byte(`{"persistedQuery": {"version": 1, "sha256Hash": "e33580cf6276de9a75fb3b1c4b7580fec2a1c8facd13f3487bf6c7c3f854f7e3"}}`), - Header: header, - }) - require.Equal(t, 400, res.Response.StatusCode) - require.Equal(t, `{"errors":[{"message":"The query depth 3 exceeds the max query depth allowed (2)"}]}`, res.Body) - }) - }) - - t.Run("max query depth doesn't block persisted queries if DisableDepthLimitPersistedOperations set", func(t *testing.T) { - t.Parallel() - testenv.Run(t, &testenv.Config{ - ModifySecurityConfiguration: func(securityConfiguration *config.SecurityConfiguration) { - securityConfiguration.DepthLimit.Enabled = true - securityConfiguration.DepthLimit.Limit = 2 - securityConfiguration.DepthLimit.CacheSize = 1024 - securityConfiguration.DepthLimit.IgnorePersistedOperations = true - }, - }, func(t *testing.T, xEnv *testenv.Environment) { - header := make(http.Header) - header.Add("graphql-client-name", "my-client") - res, _ := xEnv.MakeGraphQLRequestOverGET(testenv.GraphQLRequest{ - OperationName: []byte(`Find`), - Variables: []byte(`{"criteria": {"nationality": "GERMAN" }}`), - Extensions: []byte(`{"persistedQuery": {"version": 1, "sha256Hash": "e33580cf6276de9a75fb3b1c4b7580fec2a1c8facd13f3487bf6c7c3f854f7e3"}}`), - Header: header, - }) - require.Equal(t, 200, res.Response.StatusCode) - require.Equal(t, `{"data":{"findEmployees":[{"id":1,"details":{"forename":"Jens","surname":"Neuse"}},{"id":2,"details":{"forename":"Dustin","surname":"Deus"}},{"id":4,"details":{"forename":"Björn","surname":"Schwenzer"}},{"id":11,"details":{"forename":"Alexandra","surname":"Neuse"}}]}}`, res.Body) - }) - }) - - t.Run("query depth validation caches success and failure runs", func(t *testing.T) { - t.Parallel() - - metricReader := metric.NewManualReader() - exporter := tracetest.NewInMemoryExporter(t) - testenv.Run(t, &testenv.Config{ - TraceExporter: exporter, - MetricReader: metricReader, - ModifySecurityConfiguration: func(securityConfiguration *config.SecurityConfiguration) { - securityConfiguration.DepthLimit.Enabled = true - securityConfiguration.DepthLimit.Limit = 2 - securityConfiguration.DepthLimit.CacheSize = 1024 - }, - }, func(t *testing.T, xEnv *testenv.Environment) { - failedRes, _ := xEnv.MakeGraphQLRequest(testenv.GraphQLRequest{ - Query: `{ employee(id:1) { id details { forename surname } } }`, - }) - require.Equal(t, 400, failedRes.Response.StatusCode) - require.Equal(t, `{"errors":[{"message":"The query depth 3 exceeds the max query depth allowed (2)"}]}`, failedRes.Body) - - testSpan := requireSpanWithName(t, exporter, "Operation - Validate") - require.Contains(t, testSpan.Attributes(), otel.WgQueryDepth.Int(3)) - require.Contains(t, testSpan.Attributes(), otel.WgQueryDepthCacheHit.Bool(false)) - exporter.Reset() - - failedRes2, _ := xEnv.MakeGraphQLRequest(testenv.GraphQLRequest{ - Query: `{ employee(id:1) { id details { forename surname } } }`, - }) - require.Equal(t, 400, failedRes2.Response.StatusCode) - require.Equal(t, `{"errors":[{"message":"The query depth 3 exceeds the max query depth allowed (2)"}]}`, failedRes2.Body) - - testSpan2 := requireSpanWithName(t, exporter, "Operation - Validate") - require.Contains(t, testSpan2.Attributes(), otel.WgQueryDepth.Int(3)) - require.Contains(t, testSpan2.Attributes(), otel.WgQueryDepthCacheHit.Bool(true)) - exporter.Reset() - - successRes := xEnv.MakeGraphQLRequestOK(testenv.GraphQLRequest{ - Query: `query { employees { id } }`, - }) - require.JSONEq(t, employeesIDData, successRes.Body) - testSpan3 := requireSpanWithName(t, exporter, "Operation - Validate") - require.Contains(t, testSpan3.Attributes(), otel.WgQueryDepth.Int(2)) - require.Contains(t, testSpan3.Attributes(), otel.WgQueryDepthCacheHit.Bool(false)) - exporter.Reset() - - successRes2 := xEnv.MakeGraphQLRequestOK(testenv.GraphQLRequest{ - Query: `query { employees { id } }`, - }) - require.JSONEq(t, employeesIDData, successRes2.Body) - testSpan4 := requireSpanWithName(t, exporter, "Operation - Validate") - require.Contains(t, testSpan4.Attributes(), otel.WgQueryDepth.Int(2)) - require.Contains(t, testSpan4.Attributes(), otel.WgQueryDepthCacheHit.Bool(true)) - }) - }) -} - -func requireSpanWithName(t *testing.T, exporter *tracetest2.InMemoryExporter, name string) trace.ReadOnlySpan { - sn := exporter.GetSpans().Snapshots() - var testSpan trace.ReadOnlySpan - for _, span := range sn { - if span.Name() == name { - testSpan = span - break - } - } - require.NotNil(t, testSpan) - return testSpan -} diff --git a/router-tests/kafka_events_test.go b/router-tests/kafka_events_test.go index 8bec618e8b..864f3167d6 100644 --- a/router-tests/kafka_events_test.go +++ b/router-tests/kafka_events_test.go @@ -364,15 +364,15 @@ func TestKafkaEvents(t *testing.T) { }) }) - t.Run("subscribe async epoll/kqueue disabled", func(t *testing.T) { + t.Run("subscribe async netPoll disabled", func(t *testing.T) { topics := []string{"employeeUpdated", "employeeUpdatedTwo"} testenv.Run(t, &testenv.Config{ KafkaSeeds: seeds, ModifyEngineExecutionConfiguration: func(engineExecutionConfiguration *config.EngineExecutionConfiguration) { - engineExecutionConfiguration.EnableWebSocketEpollKqueue = false - engineExecutionConfiguration.WebSocketReadTimeout = time.Millisecond * 100 + engineExecutionConfiguration.EnableNetPoll = false + engineExecutionConfiguration.WebSocketClientReadTimeout = time.Millisecond * 100 }, }, func(t *testing.T, xEnv *testenv.Environment) { diff --git a/router-tests/nats_events_test.go b/router-tests/nats_events_test.go index f0e8e600d7..2930eebf42 100644 --- a/router-tests/nats_events_test.go +++ b/router-tests/nats_events_test.go @@ -188,13 +188,13 @@ func TestNatsEvents(t *testing.T) { }) }) - t.Run("subscribe async epoll/kqueue disabled", func(t *testing.T) { + t.Run("subscribe async netPoll disabled", func(t *testing.T) { t.Parallel() testenv.Run(t, &testenv.Config{ ModifyEngineExecutionConfiguration: func(engineExecutionConfiguration *config.EngineExecutionConfiguration) { - engineExecutionConfiguration.EnableWebSocketEpollKqueue = false - engineExecutionConfiguration.WebSocketReadTimeout = time.Millisecond * 100 + engineExecutionConfiguration.EnableNetPoll = false + engineExecutionConfiguration.WebSocketClientReadTimeout = time.Millisecond * 100 }, }, func(t *testing.T, xEnv *testenv.Environment) { @@ -807,7 +807,7 @@ func TestNatsEvents(t *testing.T) { testenv.Run(t, &testenv.Config{ ModifyEngineExecutionConfiguration: func(engineExecutionConfiguration *config.EngineExecutionConfiguration) { - engineExecutionConfiguration.WebSocketReadTimeout = time.Millisecond * 10 + engineExecutionConfiguration.WebSocketClientReadTimeout = time.Millisecond * 10 }, }, func(t *testing.T, xEnv *testenv.Environment) { type subscriptionPayload struct { @@ -872,7 +872,7 @@ func TestNatsEvents(t *testing.T) { testenv.Run(t, &testenv.Config{ ModifyEngineExecutionConfiguration: func(engineExecutionConfiguration *config.EngineExecutionConfiguration) { - engineExecutionConfiguration.WebSocketReadTimeout = time.Millisecond * 10 + engineExecutionConfiguration.WebSocketClientReadTimeout = time.Millisecond * 10 }, }, func(t *testing.T, xEnv *testenv.Environment) { type subscriptionPayload struct { @@ -1021,7 +1021,7 @@ func TestNatsEvents(t *testing.T) { testenv.Run(t, &testenv.Config{ ModifyEngineExecutionConfiguration: func(engineExecutionConfiguration *config.EngineExecutionConfiguration) { - engineExecutionConfiguration.WebSocketReadTimeout = time.Millisecond * 100 + engineExecutionConfiguration.WebSocketClientReadTimeout = time.Millisecond * 100 }, }, func(t *testing.T, xEnv *testenv.Environment) { type subscriptionPayload struct { diff --git a/router-tests/prometheus_test.go b/router-tests/prometheus_test.go index ad5bdf6ebf..6cee6ffd67 100644 --- a/router-tests/prometheus_test.go +++ b/router-tests/prometheus_test.go @@ -3,6 +3,7 @@ package integration import ( "github.com/wundergraph/cosmo/router/core" "net/http" + "regexp" "testing" "github.com/prometheus/client_golang/prometheus" @@ -2579,7 +2580,375 @@ func TestPrometheus(t *testing.T) { Value: PointerOf("employees"), }, }, responseContentLengthMetrics[1].Label) + }) + }) + + t.Run("Collect and export OTEL metrics to Prometheus with exclusion", func(t *testing.T) { + t.Parallel() + + var ( + err error + mfFull []*io_prometheus_client.MetricFamily + mfFiltered []*io_prometheus_client.MetricFamily + ) + + metricReaderFull := metric.NewManualReader() + promRegistryFull := prometheus.NewRegistry() + + testenv.Run(t, &testenv.Config{ + MetricReader: metricReaderFull, + PrometheusRegistry: promRegistryFull, + }, func(t *testing.T, xEnv *testenv.Environment) { + + res := xEnv.MakeGraphQLRequestOK(testenv.GraphQLRequest{ + Query: `query myQuery { employees { id } }`, + }) + require.JSONEq(t, employeesIDData, res.Body) + + mfFull, err = promRegistryFull.Gather() + require.NoError(t, err) + + requestTotal := findMetricFamilyByName(mfFull, "router_http_requests_total") + requestTotalMetrics := requestTotal.GetMetric() + + require.Len(t, requestTotalMetrics, 2) + require.Len(t, requestTotalMetrics[0].Label, 12) + require.Len(t, requestTotalMetrics[1].Label, 14) + + require.Equal(t, []*io_prometheus_client.LabelPair{ + { + Name: PointerOf("http_status_code"), + Value: PointerOf("200"), + }, + { + Name: PointerOf("otel_scope_name"), + Value: PointerOf("cosmo.router.prometheus"), + }, + { + Name: PointerOf("otel_scope_version"), + Value: PointerOf("0.0.1"), + }, + { + Name: PointerOf("wg_client_name"), + Value: PointerOf("unknown"), + }, + { + Name: PointerOf("wg_client_version"), + Value: PointerOf("missing"), + }, + { + Name: PointerOf("wg_federated_graph_id"), + Value: PointerOf("graph"), + }, + { + Name: PointerOf("wg_operation_name"), + Value: PointerOf("myQuery"), + }, + { + Name: PointerOf("wg_operation_protocol"), + Value: PointerOf("http"), + }, + { + Name: PointerOf("wg_operation_type"), + Value: PointerOf("query"), + }, + { + Name: PointerOf("wg_router_cluster_name"), + Value: PointerOf(""), + }, + { + Name: PointerOf("wg_router_config_version"), + Value: PointerOf(xEnv.RouterConfigVersionMain()), + }, + { + Name: PointerOf("wg_router_version"), + Value: PointerOf("dev"), + }, + }, requestTotalMetrics[0].Label) + + require.Equal(t, []*io_prometheus_client.LabelPair{ + { + Name: PointerOf("http_status_code"), + Value: PointerOf("200"), + }, + { + Name: PointerOf("otel_scope_name"), + Value: PointerOf("cosmo.router.prometheus"), + }, + { + Name: PointerOf("otel_scope_version"), + Value: PointerOf("0.0.1"), + }, + { + Name: PointerOf("wg_client_name"), + Value: PointerOf("unknown"), + }, + { + Name: PointerOf("wg_client_version"), + Value: PointerOf("missing"), + }, + { + Name: PointerOf("wg_federated_graph_id"), + Value: PointerOf("graph"), + }, + { + Name: PointerOf("wg_operation_name"), + Value: PointerOf("myQuery"), + }, + { + Name: PointerOf("wg_operation_protocol"), + Value: PointerOf("http"), + }, + { + Name: PointerOf("wg_operation_type"), + Value: PointerOf("query"), + }, + { + Name: PointerOf("wg_router_cluster_name"), + Value: PointerOf(""), + }, + { + Name: PointerOf("wg_router_config_version"), + Value: PointerOf(xEnv.RouterConfigVersionMain()), + }, + { + Name: PointerOf("wg_router_version"), + Value: PointerOf("dev"), + }, + { + Name: PointerOf("wg_subgraph_id"), + Value: PointerOf("0"), + }, + { + Name: PointerOf("wg_subgraph_name"), + Value: PointerOf("employees"), + }, + }, requestTotalMetrics[1].Label) + + requestsInFlight := findMetricFamilyByName(mfFull, "router_http_requests_in_flight") + requestsInFlightMetrics := requestsInFlight.GetMetric() + + require.Len(t, requestsInFlightMetrics, 2) + require.Len(t, requestsInFlightMetrics[0].Label, 9) + require.Len(t, requestsInFlightMetrics[1].Label, 13) + + require.Equal(t, []*io_prometheus_client.LabelPair{ + { + Name: PointerOf("otel_scope_name"), + Value: PointerOf("cosmo.router.prometheus"), + }, + { + Name: PointerOf("otel_scope_version"), + Value: PointerOf("0.0.1"), + }, + { + Name: PointerOf("wg_client_name"), + Value: PointerOf("unknown"), + }, + { + Name: PointerOf("wg_client_version"), + Value: PointerOf("missing"), + }, + { + Name: PointerOf("wg_federated_graph_id"), + Value: PointerOf("graph"), + }, + { + Name: PointerOf("wg_operation_protocol"), + Value: PointerOf("http"), + }, + { + Name: PointerOf("wg_router_cluster_name"), + Value: PointerOf(""), + }, + { + Name: PointerOf("wg_router_config_version"), + Value: PointerOf(xEnv.RouterConfigVersionMain()), + }, + { + Name: PointerOf("wg_router_version"), + Value: PointerOf("dev"), + }, + }, requestsInFlightMetrics[0].Label) + + require.Equal(t, []*io_prometheus_client.LabelPair{ + { + Name: PointerOf("otel_scope_name"), + Value: PointerOf("cosmo.router.prometheus"), + }, + { + Name: PointerOf("otel_scope_version"), + Value: PointerOf("0.0.1"), + }, + { + Name: PointerOf("wg_client_name"), + Value: PointerOf("unknown"), + }, + { + Name: PointerOf("wg_client_version"), + Value: PointerOf("missing"), + }, + { + Name: PointerOf("wg_federated_graph_id"), + Value: PointerOf("graph"), + }, + { + Name: PointerOf("wg_operation_name"), + Value: PointerOf("myQuery"), + }, + { + Name: PointerOf("wg_operation_protocol"), + Value: PointerOf("http"), + }, + { + Name: PointerOf("wg_operation_type"), + Value: PointerOf("query"), + }, + { + Name: PointerOf("wg_router_cluster_name"), + Value: PointerOf(""), + }, + { + Name: PointerOf("wg_router_config_version"), + Value: PointerOf(xEnv.RouterConfigVersionMain()), + }, + { + Name: PointerOf("wg_router_version"), + Value: PointerOf("dev"), + }, + { + Name: PointerOf("wg_subgraph_id"), + Value: PointerOf("0"), + }, + { + Name: PointerOf("wg_subgraph_name"), + Value: PointerOf("employees"), + }, + }, requestsInFlightMetrics[1].Label) + + }) + + metricReaderFiltered := metric.NewManualReader() + promRegistryFiltered := prometheus.NewRegistry() + + testenv.Run(t, &testenv.Config{ + MetricReader: metricReaderFiltered, + PrometheusRegistry: promRegistryFiltered, + MetricExclusions: testenv.MetricExclusions{ + ExcludedPrometheusMetrics: []*regexp.Regexp{ + regexp.MustCompile(`^router_http_requests$`), + }, + ExcludedPrometheusMetricLabels: []*regexp.Regexp{ + regexp.MustCompile(`^wg_client_name$`), + regexp.MustCompile(`^wg_router_cluster.*`), + }, + }, + }, func(t *testing.T, xEnv *testenv.Environment) { + res := xEnv.MakeGraphQLRequestOK(testenv.GraphQLRequest{ + Query: `query myQuery { employees { id } }`, + }) + + require.JSONEq(t, employeesIDData, res.Body) + + mfFiltered, err = promRegistryFiltered.Gather() + require.NoError(t, err) + + rt := findMetricFamilyByName(mfFiltered, "router_http_requests_total") + + require.Nil(t, rt) + + requestsInFlightFull := findMetricFamilyByName(mfFull, "router_http_requests_in_flight") + requestsInFlightMetricsFull := requestsInFlightFull.GetMetric() + + requestsInFlightFiltered := findMetricFamilyByName(mfFiltered, "router_http_requests_in_flight") + requestsInFlightMetricsFiltered := requestsInFlightFiltered.GetMetric() + + require.Len(t, requestsInFlightMetricsFiltered, 2) + require.Len(t, requestsInFlightMetricsFiltered[0].Label, 7) + require.Len(t, requestsInFlightMetricsFiltered[1].Label, 11) + + require.Equal(t, []*io_prometheus_client.LabelPair{ + { + Name: PointerOf("otel_scope_name"), + Value: PointerOf("cosmo.router.prometheus"), + }, + { + Name: PointerOf("otel_scope_version"), + Value: PointerOf("0.0.1"), + }, + { + Name: PointerOf("wg_client_version"), + Value: PointerOf("missing"), + }, + { + Name: PointerOf("wg_federated_graph_id"), + Value: PointerOf("graph"), + }, + { + Name: PointerOf("wg_operation_protocol"), + Value: PointerOf("http"), + }, + { + Name: PointerOf("wg_router_config_version"), + Value: PointerOf(xEnv.RouterConfigVersionMain()), + }, + { + Name: PointerOf("wg_router_version"), + Value: PointerOf("dev"), + }, + }, requestsInFlightMetricsFiltered[0].Label) + + require.Equal(t, []*io_prometheus_client.LabelPair{ + { + Name: PointerOf("otel_scope_name"), + Value: PointerOf("cosmo.router.prometheus"), + }, + { + Name: PointerOf("otel_scope_version"), + Value: PointerOf("0.0.1"), + }, + { + Name: PointerOf("wg_client_version"), + Value: PointerOf("missing"), + }, + { + Name: PointerOf("wg_federated_graph_id"), + Value: PointerOf("graph"), + }, + { + Name: PointerOf("wg_operation_name"), + Value: PointerOf("myQuery"), + }, + { + Name: PointerOf("wg_operation_protocol"), + Value: PointerOf("http"), + }, + { + Name: PointerOf("wg_operation_type"), + Value: PointerOf("query"), + }, + { + Name: PointerOf("wg_router_config_version"), + Value: PointerOf(xEnv.RouterConfigVersionMain()), + }, + { + Name: PointerOf("wg_router_version"), + Value: PointerOf("dev"), + }, + { + Name: PointerOf("wg_subgraph_id"), + Value: PointerOf("0"), + }, + { + Name: PointerOf("wg_subgraph_name"), + Value: PointerOf("employees"), + }, + }, requestsInFlightMetricsFiltered[1].Label) + // Check that the full and filtered metrics are different + require.Greater(t, len(mfFull), len(mfFiltered), "full metrics should have more metrics than filtered") + require.Greater(t, len(requestsInFlightMetricsFull[0].Label), len(requestsInFlightMetricsFiltered[0].Label)) + require.Greater(t, len(requestsInFlightMetricsFull[1].Label), len(requestsInFlightMetricsFiltered[1].Label)) }) }) } diff --git a/router-tests/structured_logging_test.go b/router-tests/structured_logging_test.go index 147808009d..457ee976fc 100644 --- a/router-tests/structured_logging_test.go +++ b/router-tests/structured_logging_test.go @@ -471,6 +471,7 @@ func TestAccessLogs(t *testing.T) { NoRetryClient: true, RouterOptions: []core.Option{ core.WithEngineExecutionConfig(config.EngineExecutionConfiguration{ + EnableNetPoll: true, EnableSingleFlight: true, MaxConcurrentResolvers: 1, }), @@ -581,6 +582,7 @@ func TestAccessLogs(t *testing.T) { NoRetryClient: true, RouterOptions: []core.Option{ core.WithEngineExecutionConfig(config.EngineExecutionConfiguration{ + EnableNetPoll: true, EnableSingleFlight: true, MaxConcurrentResolvers: 1, }), @@ -704,6 +706,7 @@ func TestAccessLogs(t *testing.T) { }, }), core.WithEngineExecutionConfig(config.EngineExecutionConfiguration{ + EnableNetPoll: true, EnableSingleFlight: true, MaxConcurrentResolvers: 1, }), @@ -831,6 +834,7 @@ func TestAccessLogs(t *testing.T) { }, }), core.WithEngineExecutionConfig(config.EngineExecutionConfiguration{ + EnableNetPoll: true, EnableSingleFlight: true, MaxConcurrentResolvers: 1, }), diff --git a/router-tests/telemetry_test.go b/router-tests/telemetry_test.go index 9446d6f311..e599ff7528 100644 --- a/router-tests/telemetry_test.go +++ b/router-tests/telemetry_test.go @@ -3,6 +3,7 @@ package integration import ( "context" "net/http" + "regexp" "testing" "github.com/stretchr/testify/require" @@ -2653,6 +2654,106 @@ func TestTelemetry(t *testing.T) { }) }) + t.Run("Excluded metrics and attributes should not be exported", func(t *testing.T) { + t.Parallel() + + var ( + rmFull metricdata.ResourceMetrics + rmFiltered metricdata.ResourceMetrics + ) + + metricReaderFull := metric.NewManualReader() + + testenv.Run(t, &testenv.Config{ + MetricReader: metricReaderFull, + }, func(t *testing.T, xEnv *testenv.Environment) { + + res := xEnv.MakeGraphQLRequestOK(testenv.GraphQLRequest{ + Query: `query { employees { id } }`, + }) + require.JSONEq(t, employeesIDData, res.Body) + + err := metricReaderFull.Collect(context.Background(), &rmFull) + require.NoError(t, err) + + require.Equal(t, 1, len(rmFull.ScopeMetrics), "expected 1 ScopeMetrics, got %d", len(rmFull.ScopeMetrics)) + require.Equal(t, 6, len(rmFull.ScopeMetrics[0].Metrics), "expected 6 Metrics, got %d", len(rmFull.ScopeMetrics[0].Metrics)) + + require.Equal(t, "router.http.requests", rmFull.ScopeMetrics[0].Metrics[0].Name) + require.True(t, metricdatatest.AssertHasAttributes(t, rmFull.ScopeMetrics[0].Metrics[0], otel.WgClientName.String("unknown"))) + require.True(t, metricdatatest.AssertHasAttributes(t, rmFull.ScopeMetrics[0].Metrics[0], otel.WgOperationName.String(""))) + + require.True(t, metricdatatest.AssertHasAttributes(t, rmFull.ScopeMetrics[0].Metrics[1], otel.WgClientName.String("unknown"))) + require.True(t, metricdatatest.AssertHasAttributes(t, rmFull.ScopeMetrics[0].Metrics[1], otel.WgOperationName.String(""))) + + require.True(t, metricdatatest.AssertHasAttributes(t, rmFull.ScopeMetrics[0].Metrics[2], otel.WgClientName.String("unknown"))) + require.True(t, metricdatatest.AssertHasAttributes(t, rmFull.ScopeMetrics[0].Metrics[2], otel.WgOperationName.String(""))) + + require.True(t, metricdatatest.AssertHasAttributes(t, rmFull.ScopeMetrics[0].Metrics[3], otel.WgClientName.String("unknown"))) + require.True(t, metricdatatest.AssertHasAttributes(t, rmFull.ScopeMetrics[0].Metrics[3], otel.WgOperationName.String(""))) + + require.True(t, metricdatatest.AssertHasAttributes(t, rmFull.ScopeMetrics[0].Metrics[4], otel.WgClientName.String("unknown"))) + }) + + metricReaderFiltered := metric.NewManualReader() + + testenv.Run(t, &testenv.Config{ + MetricReader: metricReaderFiltered, + MetricExclusions: testenv.MetricExclusions{ + ExcludedOTLPMetrics: []*regexp.Regexp{ + regexp.MustCompile(`^router\.http\.requests$`), + }, + ExcludedOTLPMetricLabels: []*regexp.Regexp{ + regexp.MustCompile(`^wg\.client\.name$`), + regexp.MustCompile(`^wg\.operation.*`), + }, + }, + }, func(t *testing.T, xEnv *testenv.Environment) { + + res := xEnv.MakeGraphQLRequestOK(testenv.GraphQLRequest{ + Query: `query { employees { id } }`, + }) + require.JSONEq(t, employeesIDData, res.Body) + + err := metricReaderFiltered.Collect(context.Background(), &rmFiltered) + require.NoError(t, err) + + require.Equal(t, 1, len(rmFiltered.ScopeMetrics), "expected 1 ScopeMetrics, got %d", len(rmFiltered.ScopeMetrics)) + require.Equal(t, 5, len(rmFiltered.ScopeMetrics[0].Metrics), "expected 6 Metrics, got %d", len(rmFiltered.ScopeMetrics[0].Metrics)) + + // Check if the excluded attributes are not present in the Resource + // The first metric completely excluded, the second one should be the first in filtered + require.NotEqual(t, rmFull.ScopeMetrics[0].Metrics[0].Name, rmFiltered.ScopeMetrics[0].Metrics[0].Name) + require.Equal(t, rmFull.ScopeMetrics[0].Metrics[1].Name, rmFiltered.ScopeMetrics[0].Metrics[0].Name) + + // All other metrics should have fewer attributes in the filtered set compared to the full one + + rdFiltered, ok := rmFiltered.ScopeMetrics[0].Metrics[0].Data.(metricdata.Histogram[float64]) + require.True(t, ok) + + assertAttributeNotInSet(t, rdFiltered.DataPoints[0].Attributes, otel.WgClientName.String("unknown")) + assertAttributeNotInSet(t, rdFiltered.DataPoints[1].Attributes, otel.WgClientName.String("unknown")) + assertAttributeNotInSet(t, rdFiltered.DataPoints[0].Attributes, otel.WgOperationName.String("")) + assertAttributeNotInSet(t, rdFiltered.DataPoints[1].Attributes, otel.WgOperationName.String("")) + + rclFiltered, ok := rmFiltered.ScopeMetrics[0].Metrics[1].Data.(metricdata.Sum[int64]) + require.True(t, ok) + + assertAttributeNotInSet(t, rclFiltered.DataPoints[0].Attributes, otel.WgClientName.String("unknown")) + assertAttributeNotInSet(t, rclFiltered.DataPoints[1].Attributes, otel.WgClientName.String("unknown")) + assertAttributeNotInSet(t, rclFiltered.DataPoints[0].Attributes, otel.WgOperationName.String("")) + assertAttributeNotInSet(t, rclFiltered.DataPoints[1].Attributes, otel.WgOperationName.String("")) + + resClFiltered, ok := rmFiltered.ScopeMetrics[0].Metrics[2].Data.(metricdata.Sum[int64]) + require.True(t, ok) + + assertAttributeNotInSet(t, resClFiltered.DataPoints[0].Attributes, otel.WgClientName.String("unknown")) + assertAttributeNotInSet(t, resClFiltered.DataPoints[1].Attributes, otel.WgClientName.String("unknown")) + assertAttributeNotInSet(t, resClFiltered.DataPoints[0].Attributes, otel.WgOperationName.String("")) + assertAttributeNotInSet(t, resClFiltered.DataPoints[1].Attributes, otel.WgOperationName.String("")) + }) + }) + t.Run("Custom Metric Attributes", func(t *testing.T) { t.Run("Custom attributes are added to all metrics / subgraph error", func(t *testing.T) { @@ -3278,4 +3379,199 @@ func TestTelemetry(t *testing.T) { }) }) + + t.Run("Complexity Cache Metrics", func(t *testing.T) { + t.Run("total fields caches success and failure runs", func(t *testing.T) { + t.Parallel() + + metricReader := metric.NewManualReader() + exporter := tracetest.NewInMemoryExporter(t) + testenv.Run(t, &testenv.Config{ + TraceExporter: exporter, + MetricReader: metricReader, + ModifySecurityConfiguration: func(securityConfiguration *config.SecurityConfiguration) { + securityConfiguration.ComplexityCalculationCache = &config.ComplexityCalculationCache{ + Enabled: true, + CacheSize: 1024, + } + securityConfiguration.ComplexityLimits = &config.ComplexityLimits{ + TotalFields: &config.ComplexityLimit{ + Enabled: true, + Limit: 1, + }, + } + }, + }, func(t *testing.T, xEnv *testenv.Environment) { + failedRes, _ := xEnv.MakeGraphQLRequest(testenv.GraphQLRequest{ + Query: `{ employee(id:1) { id details { forename surname } } }`, + }) + require.Equal(t, 400, failedRes.Response.StatusCode) + require.Equal(t, `{"errors":[{"message":"The total number of fields 2 exceeds the limit allowed (1)"}]}`, failedRes.Body) + + testSpan := requireSpanWithName(t, exporter, "Operation - Validate") + require.Contains(t, testSpan.Attributes(), otel.WgQueryTotalFields.Int(2)) + require.Contains(t, testSpan.Attributes(), otel.WgQueryDepthCacheHit.Bool(false)) + exporter.Reset() + + failedRes2, _ := xEnv.MakeGraphQLRequest(testenv.GraphQLRequest{ + Query: `{ employee(id:1) { id details { forename surname } } }`, + }) + require.Equal(t, 400, failedRes2.Response.StatusCode) + require.Equal(t, `{"errors":[{"message":"The total number of fields 2 exceeds the limit allowed (1)"}]}`, failedRes2.Body) + + testSpan2 := requireSpanWithName(t, exporter, "Operation - Validate") + require.Contains(t, testSpan2.Attributes(), otel.WgQueryTotalFields.Int(2)) + require.Contains(t, testSpan2.Attributes(), otel.WgQueryDepthCacheHit.Bool(true)) + exporter.Reset() + + successRes := xEnv.MakeGraphQLRequestOK(testenv.GraphQLRequest{ + Query: `query { employees { id } }`, + }) + require.JSONEq(t, employeesIDData, successRes.Body) + testSpan3 := requireSpanWithName(t, exporter, "Operation - Validate") + require.Contains(t, testSpan3.Attributes(), otel.WgQueryTotalFields.Int(1)) + require.Contains(t, testSpan3.Attributes(), otel.WgQueryDepthCacheHit.Bool(false)) + exporter.Reset() + + successRes2 := xEnv.MakeGraphQLRequestOK(testenv.GraphQLRequest{ + Query: `query { employees { id } }`, + }) + require.JSONEq(t, employeesIDData, successRes2.Body) + testSpan4 := requireSpanWithName(t, exporter, "Operation - Validate") + require.Contains(t, testSpan4.Attributes(), otel.WgQueryTotalFields.Int(1)) + require.Contains(t, testSpan4.Attributes(), otel.WgQueryDepthCacheHit.Bool(true)) + }) + }) + + t.Run("root fields caches success and failure runs", func(t *testing.T) { + t.Parallel() + + metricReader := metric.NewManualReader() + exporter := tracetest.NewInMemoryExporter(t) + testenv.Run(t, &testenv.Config{ + TraceExporter: exporter, + MetricReader: metricReader, + ModifySecurityConfiguration: func(securityConfiguration *config.SecurityConfiguration) { + securityConfiguration.ComplexityCalculationCache = &config.ComplexityCalculationCache{ + Enabled: true, + CacheSize: 1024, + } + securityConfiguration.ComplexityLimits = &config.ComplexityLimits{ + RootFields: &config.ComplexityLimit{ + Enabled: true, + Limit: 2, + }, + } + }, + }, func(t *testing.T, xEnv *testenv.Environment) { + failedRes, _ := xEnv.MakeGraphQLRequest(testenv.GraphQLRequest{ + Query: `query { initialPayload employee(id:1) { id } employees { id } }`, + }) + require.Equal(t, 400, failedRes.Response.StatusCode) + require.Equal(t, `{"errors":[{"message":"The number of root fields 3 exceeds the root field limit allowed (2)"}]}`, failedRes.Body) + + testSpan := requireSpanWithName(t, exporter, "Operation - Validate") + require.Contains(t, testSpan.Attributes(), otel.WgQueryRootFields.Int(3)) + require.Contains(t, testSpan.Attributes(), otel.WgQueryDepthCacheHit.Bool(false)) + exporter.Reset() + + failedRes2, _ := xEnv.MakeGraphQLRequest(testenv.GraphQLRequest{ + Query: `query { initialPayload employee(id:1) { id } employees { id } }`, + }) + require.Equal(t, 400, failedRes2.Response.StatusCode) + require.Equal(t, `{"errors":[{"message":"The number of root fields 3 exceeds the root field limit allowed (2)"}]}`, failedRes2.Body) + + testSpan2 := requireSpanWithName(t, exporter, "Operation - Validate") + require.Contains(t, testSpan2.Attributes(), otel.WgQueryRootFields.Int(3)) + require.Contains(t, testSpan2.Attributes(), otel.WgQueryDepthCacheHit.Bool(true)) + exporter.Reset() + + successRes := xEnv.MakeGraphQLRequestOK(testenv.GraphQLRequest{ + Query: `query { employees { id } }`, + }) + require.JSONEq(t, employeesIDData, successRes.Body) + testSpan3 := requireSpanWithName(t, exporter, "Operation - Validate") + require.Contains(t, testSpan3.Attributes(), otel.WgQueryRootFields.Int(1)) + require.Contains(t, testSpan3.Attributes(), otel.WgQueryDepthCacheHit.Bool(false)) + exporter.Reset() + + successRes2 := xEnv.MakeGraphQLRequestOK(testenv.GraphQLRequest{ + Query: `query { employees { id } }`, + }) + require.JSONEq(t, employeesIDData, successRes2.Body) + testSpan4 := requireSpanWithName(t, exporter, "Operation - Validate") + require.Contains(t, testSpan4.Attributes(), otel.WgQueryRootFields.Int(1)) + require.Contains(t, testSpan4.Attributes(), otel.WgQueryDepthCacheHit.Bool(true)) + }) + }) + + t.Run("root fields caches success and failure runs", func(t *testing.T) { + t.Parallel() + + metricReader := metric.NewManualReader() + exporter := tracetest.NewInMemoryExporter(t) + testenv.Run(t, &testenv.Config{ + TraceExporter: exporter, + MetricReader: metricReader, + ModifySecurityConfiguration: func(securityConfiguration *config.SecurityConfiguration) { + securityConfiguration.ComplexityCalculationCache = &config.ComplexityCalculationCache{ + Enabled: true, + CacheSize: 1024, + } + securityConfiguration.ComplexityLimits = &config.ComplexityLimits{ + RootFieldAliases: &config.ComplexityLimit{ + Enabled: true, + Limit: 1, + }, + } + }, + }, func(t *testing.T, xEnv *testenv.Environment) { + failedRes, _ := xEnv.MakeGraphQLRequest(testenv.GraphQLRequest{ + Query: `query { firstemployee: employee(id:1) { id } employee2: employee(id:2) { id } }`, + }) + require.Equal(t, 400, failedRes.Response.StatusCode) + require.Equal(t, `{"errors":[{"message":"The number of root field aliases 2 exceeds the root field aliases limit allowed (1)"}]}`, failedRes.Body) + + testSpan := requireSpanWithName(t, exporter, "Operation - Validate") + require.Contains(t, testSpan.Attributes(), otel.WgQueryRootFieldAliases.Int(2)) + require.Contains(t, testSpan.Attributes(), otel.WgQueryDepthCacheHit.Bool(false)) + exporter.Reset() + + failedRes2, _ := xEnv.MakeGraphQLRequest(testenv.GraphQLRequest{ + Query: `query { firstemployee: employee(id:1) { id } employee2: employee(id:2) { id } }`, + }) + require.Equal(t, 400, failedRes2.Response.StatusCode) + require.Equal(t, `{"errors":[{"message":"The number of root field aliases 2 exceeds the root field aliases limit allowed (1)"}]}`, failedRes2.Body) + + testSpan2 := requireSpanWithName(t, exporter, "Operation - Validate") + require.Contains(t, testSpan2.Attributes(), otel.WgQueryRootFieldAliases.Int(2)) + require.Contains(t, testSpan2.Attributes(), otel.WgQueryDepthCacheHit.Bool(true)) + exporter.Reset() + + successRes := xEnv.MakeGraphQLRequestOK(testenv.GraphQLRequest{ + Query: `query { employees { id } }`, + }) + require.JSONEq(t, employeesIDData, successRes.Body) + testSpan3 := requireSpanWithName(t, exporter, "Operation - Validate") + require.Contains(t, testSpan3.Attributes(), otel.WgQueryRootFieldAliases.Int(0)) + require.Contains(t, testSpan3.Attributes(), otel.WgQueryDepthCacheHit.Bool(false)) + exporter.Reset() + + successRes2 := xEnv.MakeGraphQLRequestOK(testenv.GraphQLRequest{ + Query: `query { employees { id } }`, + }) + require.JSONEq(t, employeesIDData, successRes2.Body) + testSpan4 := requireSpanWithName(t, exporter, "Operation - Validate") + require.Contains(t, testSpan4.Attributes(), otel.WgQueryRootFieldAliases.Int(0)) + require.Contains(t, testSpan4.Attributes(), otel.WgQueryDepthCacheHit.Bool(true)) + }) + }) + }) +} + +func assertAttributeNotInSet(t *testing.T, set attribute.Set, attr attribute.KeyValue) { + t.Helper() + + _, ok := set.Value(attr.Key) + require.False(t, ok) } diff --git a/router-tests/testenv/testenv.go b/router-tests/testenv/testenv.go index 08270eacb6..9c6695fd2e 100644 --- a/router-tests/testenv/testenv.go +++ b/router-tests/testenv/testenv.go @@ -19,6 +19,7 @@ import ( "net/url" "os" "path/filepath" + "regexp" "strings" "sync" "testing" @@ -104,6 +105,13 @@ type RouterConfig struct { ConfigPollerFactory func(config *nodev1.RouterConfig) configpoller.ConfigPoller } +type MetricExclusions struct { + ExcludedPrometheusMetrics []*regexp.Regexp + ExcludedPrometheusMetricLabels []*regexp.Regexp + ExcludedOTLPMetrics []*regexp.Regexp + ExcludedOTLPMetricLabels []*regexp.Regexp +} + type Config struct { Subgraphs SubgraphsConfig RouterConfig *RouterConfig @@ -126,6 +134,7 @@ type Config struct { CustomResourceAttributes []config.CustomStaticAttribute MetricReader metric.Reader PrometheusRegistry *prometheus.Registry + MetricExclusions MetricExclusions ShutdownDelay time.Duration NoRetryClient bool PropagationConfig config.PropagationConfig @@ -607,7 +616,7 @@ func configureRouter(listenerAddr string, testConfig *Config, routerConfig *node } engineExecutionConfig := config.EngineExecutionConfiguration{ - EnableWebSocketEpollKqueue: true, + EnableNetPoll: true, EnableSingleFlight: true, EnableRequestTracing: true, EnableExecutionPlanCacheResponseHeader: true, @@ -619,9 +628,9 @@ func configureRouter(listenerAddr string, testConfig *Config, routerConfig *node EnablePersistedOperationsCacheResponseHeader: true, EnableNormalizationCacheResponseHeader: true, }, - EpollKqueuePollTimeout: 300 * time.Millisecond, - EpollKqueueConnBufferSize: 1, - WebSocketReadTimeout: time.Millisecond * 100, + WebSocketClientPollTimeout: 300 * time.Millisecond, + WebSocketClientConnBufferSize: 1, + WebSocketClientReadTimeout: 100 * time.Millisecond, MaxConcurrentResolvers: 32, ExecutionPlanCacheSize: 1024, EnablePersistedOperationsCache: true, @@ -736,10 +745,12 @@ func configureRouter(listenerAddr string, testConfig *Config, routerConfig *node return nil, fmt.Errorf("could not get free port: %w", err) } prometheusConfig = rmetric.PrometheusConfig{ - Enabled: true, - ListenAddr: fmt.Sprintf("localhost:%d", port), - Path: "/metrics", - TestRegistry: testConfig.PrometheusRegistry, + Enabled: true, + ListenAddr: fmt.Sprintf("localhost:%d", port), + Path: "/metrics", + TestRegistry: testConfig.PrometheusRegistry, + ExcludeMetrics: testConfig.MetricExclusions.ExcludedPrometheusMetrics, + ExcludeMetricLabels: testConfig.MetricExclusions.ExcludedPrometheusMetricLabels, } } @@ -754,8 +765,10 @@ func configureRouter(listenerAddr string, testConfig *Config, routerConfig *node Enabled: true, }, OTLP: config.MetricsOTLP{ - Enabled: true, - RouterRuntime: false, + Enabled: true, + RouterRuntime: false, + ExcludeMetrics: testConfig.MetricExclusions.ExcludedOTLPMetrics, + ExcludeMetricLabels: testConfig.MetricExclusions.ExcludedOTLPMetricLabels, }, }, }) @@ -1026,6 +1039,23 @@ func (e *Environment) MakeGraphQLRequestWithContext(ctx context.Context, request return e.makeGraphQLRequest(req) } +func (e *Environment) MakeGraphQLRequestWithHeaders(request GraphQLRequest, headers map[string]string) (*TestResponse, error) { + data, err := json.Marshal(request) + require.NoError(e.t, err) + req, err := http.NewRequestWithContext(e.Context, http.MethodPost, e.GraphQLRequestURL(), bytes.NewReader(data)) + if err != nil { + return nil, err + } + if request.Header != nil { + req.Header = request.Header + } + req.Header.Set("Accept-Encoding", "identity") + for k, v := range headers { + req.Header.Set(k, v) + } + return e.makeGraphQLRequest(req) +} + func (e *Environment) MakeGraphQLRequestOverGET(request GraphQLRequest) (*TestResponse, error) { req, err := e.newGraphQLRequestOverGET(e.GraphQLRequestURL(), request) if err != nil { diff --git a/router-tests/websocket_test.go b/router-tests/websocket_test.go index 62a5451403..a5a6a4e862 100644 --- a/router-tests/websocket_test.go +++ b/router-tests/websocket_test.go @@ -489,74 +489,28 @@ func TestWebSockets(t *testing.T) { t.Parallel() testenv.Run(t, &testenv.Config{ ModifyEngineExecutionConfiguration: func(engineExecutionConfiguration *config.EngineExecutionConfiguration) { - engineExecutionConfiguration.WebSocketReadTimeout = time.Millisecond * 10 + engineExecutionConfiguration.WebSocketClientReadTimeout = time.Millisecond * 10 }, }, func(t *testing.T, xEnv *testenv.Environment) { - - type currentTimePayload struct { - Data struct { - CurrentTime struct { - UnixTime float64 `json:"unixTime"` - Timestamp string `json:"timestamp"` - } `json:"currentTime"` - } `json:"data"` - } - - conn := xEnv.InitGraphQLWebSocketConnection(nil, nil, nil) - err := conn.WriteJSON(&testenv.WebSocketMessage{ - ID: "1", - Type: "subscribe", - Payload: []byte(`{"query":"subscription { currentTime { unixTime timeStamp }}"}`), - }) - require.NoError(t, err) - var msg testenv.WebSocketMessage - var payload currentTimePayload - - // Read a result and store its timestamp, next result should be 1 second later - err = conn.ReadJSON(&msg) - require.NoError(t, err) - require.Equal(t, "1", msg.ID) - require.Equal(t, "next", msg.Type) - err = json.Unmarshal(msg.Payload, &payload) - require.NoError(t, err) - - unix1 := payload.Data.CurrentTime.UnixTime - - err = conn.ReadJSON(&msg) - require.NoError(t, err) - require.Equal(t, "1", msg.ID) - require.Equal(t, "next", msg.Type) - err = json.Unmarshal(msg.Payload, &payload) - require.NoError(t, err) - - unix2 := payload.Data.CurrentTime.UnixTime - require.Greater(t, unix2, unix1) - - // Sending a complete must stop the subscription - err = conn.WriteJSON(&testenv.WebSocketMessage{ - ID: "1", - Type: "complete", - }) - require.NoError(t, err) - - var complete testenv.WebSocketMessage - err = conn.SetReadDeadline(time.Now().Add(1 * time.Second)) - require.NoError(t, err) - err = conn.ReadJSON(&complete) - require.NoError(t, err) - require.Equal(t, "1", complete.ID) - require.Equal(t, "complete", complete.Type) - - err = conn.SetReadDeadline(time.Now().Add(1 * time.Second)) - require.NoError(t, err) - _, _, err = conn.ReadMessage() - require.Error(t, err) - var netErr net.Error - if errors.As(err, &netErr) { - require.True(t, netErr.Timeout()) - } else { - require.Fail(t, "expected net.Error") - } + expectConnectAndReadCurrentTime(t, xEnv) + }) + }) + t.Run("subscription with multiple reconnects and netPoll", func(t *testing.T) { + t.Parallel() + testenv.Run(t, &testenv.Config{}, func(t *testing.T, xEnv *testenv.Environment) { + expectConnectAndReadCurrentTime(t, xEnv) + expectConnectAndReadCurrentTime(t, xEnv) + }) + }) + t.Run("subscription with multiple reconnects and netPoll disabled", func(t *testing.T) { + t.Parallel() + testenv.Run(t, &testenv.Config{ + ModifyEngineExecutionConfiguration: func(engineExecutionConfiguration *config.EngineExecutionConfiguration) { + engineExecutionConfiguration.EnableNetPoll = false + }, + }, func(t *testing.T, xEnv *testenv.Environment) { + expectConnectAndReadCurrentTime(t, xEnv) + expectConnectAndReadCurrentTime(t, xEnv) }) }) t.Run("subscription with header propagation", func(t *testing.T) { @@ -581,7 +535,7 @@ func TestWebSockets(t *testing.T) { testenv.Run(t, &testenv.Config{ ModifyEngineExecutionConfiguration: func(engineExecutionConfiguration *config.EngineExecutionConfiguration) { - engineExecutionConfiguration.WebSocketReadTimeout = time.Millisecond * 10 + engineExecutionConfiguration.WebSocketClientReadTimeout = time.Millisecond * 10 }, RouterOptions: []core.Option{ core.WithHeaderRules(headerRules), @@ -717,7 +671,7 @@ func TestWebSockets(t *testing.T) { testenv.Run(t, &testenv.Config{ ModifyEngineExecutionConfiguration: func(engineExecutionConfiguration *config.EngineExecutionConfiguration) { - engineExecutionConfiguration.WebSocketReadTimeout = time.Millisecond * 10 + engineExecutionConfiguration.WebSocketClientReadTimeout = time.Millisecond * 10 }, ModifyWebsocketConfiguration: func(cfg *config.WebSocketConfiguration) { cfg.ForwardUpgradeHeaders.AllowList = nil @@ -852,7 +806,7 @@ func TestWebSockets(t *testing.T) { } testenv.Run(t, &testenv.Config{ ModifyEngineExecutionConfiguration: func(engineExecutionConfiguration *config.EngineExecutionConfiguration) { - engineExecutionConfiguration.WebSocketReadTimeout = time.Millisecond * 10 + engineExecutionConfiguration.WebSocketClientReadTimeout = time.Millisecond * 10 }, ModifyRouterConfig: func(cfg *nodev1.RouterConfig) { for i := range cfg.EngineConfig.DatasourceConfigurations { @@ -967,7 +921,7 @@ func TestWebSockets(t *testing.T) { } testenv.Run(t, &testenv.Config{ ModifyEngineExecutionConfiguration: func(engineExecutionConfiguration *config.EngineExecutionConfiguration) { - engineExecutionConfiguration.WebSocketReadTimeout = time.Millisecond * 10 + engineExecutionConfiguration.WebSocketClientReadTimeout = time.Millisecond * 10 }, ModifyRouterConfig: func(cfg *nodev1.RouterConfig) { for i := range cfg.EngineConfig.DatasourceConfigurations { @@ -1072,7 +1026,7 @@ func TestWebSockets(t *testing.T) { t.Parallel() testenv.Run(t, &testenv.Config{ ModifyEngineExecutionConfiguration: func(engineExecutionConfiguration *config.EngineExecutionConfiguration) { - engineExecutionConfiguration.WebSocketReadTimeout = time.Millisecond * 10 + engineExecutionConfiguration.WebSocketClientReadTimeout = time.Millisecond * 10 }, Subgraphs: testenv.SubgraphsConfig{ Employees: testenv.SubgraphConfig{ @@ -1107,7 +1061,7 @@ func TestWebSockets(t *testing.T) { t.Parallel() testenv.Run(t, &testenv.Config{ ModifyEngineExecutionConfiguration: func(engineExecutionConfiguration *config.EngineExecutionConfiguration) { - engineExecutionConfiguration.WebSocketReadTimeout = time.Millisecond * 10 + engineExecutionConfiguration.WebSocketClientReadTimeout = time.Millisecond * 10 }, ModifySubgraphErrorPropagation: func(cfg *config.SubgraphErrorPropagationConfiguration) { cfg.PropagateStatusCodes = false @@ -1145,7 +1099,7 @@ func TestWebSockets(t *testing.T) { t.Parallel() testenv.Run(t, &testenv.Config{ ModifyEngineExecutionConfiguration: func(engineExecutionConfiguration *config.EngineExecutionConfiguration) { - engineExecutionConfiguration.WebSocketReadTimeout = time.Millisecond * 10 + engineExecutionConfiguration.WebSocketClientReadTimeout = time.Millisecond * 10 }, Subgraphs: testenv.SubgraphsConfig{ Employees: testenv.SubgraphConfig{ @@ -1180,7 +1134,7 @@ func TestWebSockets(t *testing.T) { t.Parallel() testenv.Run(t, &testenv.Config{ ModifyEngineExecutionConfiguration: func(engineExecutionConfiguration *config.EngineExecutionConfiguration) { - engineExecutionConfiguration.WebSocketReadTimeout = time.Millisecond * 10 + engineExecutionConfiguration.WebSocketClientReadTimeout = time.Millisecond * 10 }, ModifySubgraphErrorPropagation: func(cfg *config.SubgraphErrorPropagationConfiguration) { cfg.Enabled = false @@ -1241,7 +1195,7 @@ func TestWebSockets(t *testing.T) { t.Run("multiple subscriptions one connection", func(t *testing.T) { testenv.Run(t, &testenv.Config{ ModifyEngineExecutionConfiguration: func(engineExecutionConfiguration *config.EngineExecutionConfiguration) { - engineExecutionConfiguration.WebSocketReadTimeout = time.Second + engineExecutionConfiguration.WebSocketClientReadTimeout = time.Second }, }, func(t *testing.T, xEnv *testenv.Environment) { client := graphql.NewSubscriptionClient(xEnv.GraphQLSubscriptionURL()). @@ -1655,12 +1609,12 @@ func TestWebSockets(t *testing.T) { // times out on GitHub Actions - t.Run("shutdown with epoll", func(t *testing.T) { + t.Run("shutdown with netPoll", func(t *testing.T) { t.Parallel() testenv.Run(t, &testenv.Config{ ModifyEngineExecutionConfiguration: func(cfg *config.EngineExecutionConfiguration) { - cfg.EnableWebSocketEpollKqueue = true - cfg.WebSocketReadTimeout = time.Millisecond * 10 + cfg.EnableNetPoll = true + cfg.WebSocketClientReadTimeout = time.Millisecond * 10 }, }, func(t *testing.T, xEnv *testenv.Environment) { conn := xEnv.InitGraphQLWebSocketConnection(nil, nil, nil) @@ -1683,12 +1637,12 @@ func TestWebSockets(t *testing.T) { }) }) - t.Run("shutdown without epoll", func(t *testing.T) { + t.Run("shutdown without netPoll", func(t *testing.T) { t.Parallel() testenv.Run(t, &testenv.Config{ ModifyEngineExecutionConfiguration: func(cfg *config.EngineExecutionConfiguration) { - cfg.EnableWebSocketEpollKqueue = false - cfg.WebSocketReadTimeout = time.Millisecond * 10 + cfg.EnableNetPoll = false + cfg.WebSocketClientReadTimeout = time.Millisecond * 10 }, }, func(t *testing.T, xEnv *testenv.Environment) { conn := xEnv.InitGraphQLWebSocketConnection(nil, nil, nil) @@ -1715,7 +1669,7 @@ func TestWebSockets(t *testing.T) { t.Parallel() testenv.Run(t, &testenv.Config{ ModifyEngineExecutionConfiguration: func(cfg *config.EngineExecutionConfiguration) { - cfg.WebSocketReadTimeout = time.Millisecond * 10 + cfg.WebSocketClientReadTimeout = time.Millisecond * 10 }, }, func(t *testing.T, xEnv *testenv.Environment) { conn := xEnv.InitGraphQLWebSocketConnection(nil, nil, []byte(`{"123":456,"extensions":{"hello":"world"}}`)) @@ -1735,7 +1689,7 @@ func TestWebSockets(t *testing.T) { t.Parallel() testenv.Run(t, &testenv.Config{ ModifyEngineExecutionConfiguration: func(cfg *config.EngineExecutionConfiguration) { - cfg.WebSocketReadTimeout = time.Millisecond * 10 + cfg.WebSocketClientReadTimeout = time.Millisecond * 10 }, }, func(t *testing.T, xEnv *testenv.Environment) { // "extensions" in the request should override the "extensions" in initial payload @@ -1868,7 +1822,7 @@ func TestWebSockets(t *testing.T) { t.Parallel() testenv.Run(t, &testenv.Config{ ModifyEngineExecutionConfiguration: func(cfg *config.EngineExecutionConfiguration) { - cfg.WebSocketReadTimeout = time.Millisecond * 10 + cfg.WebSocketClientReadTimeout = time.Millisecond * 10 }, }, func(t *testing.T, xEnv *testenv.Environment) { // "extensions" in the request should override the "extensions" in initial payload @@ -1900,7 +1854,7 @@ func TestWebSockets(t *testing.T) { t.Parallel() testenv.Run(t, &testenv.Config{ ModifyEngineExecutionConfiguration: func(engineExecutionConfiguration *config.EngineExecutionConfiguration) { - engineExecutionConfiguration.WebSocketReadTimeout = time.Millisecond * 10 + engineExecutionConfiguration.WebSocketClientReadTimeout = time.Millisecond * 10 }, }, func(t *testing.T, xEnv *testenv.Environment) { @@ -2009,3 +1963,72 @@ func TestWebSockets(t *testing.T) { }) }) } + +func expectConnectAndReadCurrentTime(t *testing.T, xEnv *testenv.Environment) { + type currentTimePayload struct { + Data struct { + CurrentTime struct { + UnixTime float64 `json:"unixTime"` + Timestamp string `json:"timestamp"` + } `json:"currentTime"` + } `json:"data"` + } + + conn := xEnv.InitGraphQLWebSocketConnection(nil, nil, nil) + defer conn.Close() + + err := conn.WriteJSON(&testenv.WebSocketMessage{ + ID: "1", + Type: "subscribe", + Payload: []byte(`{"query":"subscription { currentTime { unixTime timeStamp }}"}`), + }) + require.NoError(t, err) + var msg testenv.WebSocketMessage + var payload currentTimePayload + + // Read a result and store its timestamp, next result should be 1 second later + err = conn.ReadJSON(&msg) + require.NoError(t, err) + require.Equal(t, "1", msg.ID) + require.Equal(t, "next", msg.Type) + err = json.Unmarshal(msg.Payload, &payload) + require.NoError(t, err) + + unix1 := payload.Data.CurrentTime.UnixTime + + err = conn.ReadJSON(&msg) + require.NoError(t, err) + require.Equal(t, "1", msg.ID) + require.Equal(t, "next", msg.Type) + err = json.Unmarshal(msg.Payload, &payload) + require.NoError(t, err) + + unix2 := payload.Data.CurrentTime.UnixTime + require.Greater(t, unix2, unix1) + + // Sending a complete must stop the subscription + err = conn.WriteJSON(&testenv.WebSocketMessage{ + ID: "1", + Type: "complete", + }) + require.NoError(t, err) + + var complete testenv.WebSocketMessage + err = conn.SetReadDeadline(time.Now().Add(1 * time.Second)) + require.NoError(t, err) + err = conn.ReadJSON(&complete) + require.NoError(t, err) + require.Equal(t, "1", complete.ID) + require.Equal(t, "complete", complete.Type) + + err = conn.SetReadDeadline(time.Now().Add(1 * time.Second)) + require.NoError(t, err) + _, _, err = conn.ReadMessage() + require.Error(t, err) + var netErr net.Error + if errors.As(err, &netErr) { + require.True(t, netErr.Timeout()) + } else { + require.Fail(t, "expected net.Error") + } +} diff --git a/router/CHANGELOG.md b/router/CHANGELOG.md index 45c117255d..734e958990 100644 --- a/router/CHANGELOG.md +++ b/router/CHANGELOG.md @@ -4,6 +4,73 @@ Binaries are attached to the github release otherwise all images can be found [h All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.143.2](https://github.com/wundergraph/cosmo/compare/router@0.143.1...router@0.143.2) (2024-11-18) + +### Bug Fixes + +* fix regression on removing null variables which was undefined ([#1385](https://github.com/wundergraph/cosmo/issues/1385)) ([475d58e](https://github.com/wundergraph/cosmo/commit/475d58eb79b693b4cee9f561d0694d392152faf8)) (@devsergiy) + +## [0.143.1](https://github.com/wundergraph/cosmo/compare/router@0.143.0...router@0.143.1) (2024-11-18) + +### Bug Fixes + +* do netPoll detection once and set it globally ([#1384](https://github.com/wundergraph/cosmo/issues/1384)) ([2cba138](https://github.com/wundergraph/cosmo/commit/2cba13896e2f46dee127071d0777a6bff65e21b6)) (@StarpTech) + +# [0.143.0](https://github.com/wundergraph/cosmo/compare/router@0.142.1...router@0.143.0) (2024-11-18) + +### Bug Fixes + +* **router:** ensure that cors wildcard support is enabled ([#1375](https://github.com/wundergraph/cosmo/issues/1375)) ([fde6885](https://github.com/wundergraph/cosmo/commit/fde68852e3cabae372a80620d8846b30a0038ea3)) (@df-wg) + +### Features + +* better epoll detection, allow to disable epoll ([#1381](https://github.com/wundergraph/cosmo/issues/1381)) ([6c3c4a0](https://github.com/wundergraph/cosmo/commit/6c3c4a0e5170f964e3f3145bb31d50eb11886932)) (@StarpTech) + +## [0.142.1](https://github.com/wundergraph/cosmo/compare/router@0.142.0...router@0.142.1) (2024-11-16) + +### Bug Fixes + +* **tests:** deadlock on unsubscribe when epoll disabled ([#1380](https://github.com/wundergraph/cosmo/issues/1380)) ([337a60f](https://github.com/wundergraph/cosmo/commit/337a60f15577b373ca67a83497304d53fe19f55d)) (@StarpTech) + +# [0.142.0](https://github.com/wundergraph/cosmo/compare/router@0.141.3...router@0.142.0) (2024-11-15) + +### Bug Fixes + +* **router:** refactor complexity limits ([#1364](https://github.com/wundergraph/cosmo/issues/1364)) ([9558ece](https://github.com/wundergraph/cosmo/commit/9558ece2d892dab1b310e0ff5f4b9b9029abf297)) (@df-wg) + +### Features + +* **router:** enable setting request header from context ([#1371](https://github.com/wundergraph/cosmo/issues/1371)) ([c96485d](https://github.com/wundergraph/cosmo/commit/c96485d0635c301e89773e3736dd00372bcd3fd5)) (@df-wg) + +## [0.141.3](https://github.com/wundergraph/cosmo/compare/router@0.141.2...router@0.141.3) (2024-11-14) + +### Bug Fixes + +* fix merging of response nodes of enum type ([#1373](https://github.com/wundergraph/cosmo/issues/1373)) ([f3927e3](https://github.com/wundergraph/cosmo/commit/f3927e3cfc382bff9beff0a7868b444db213b9d6)) (@devsergiy) + +## [0.141.2](https://github.com/wundergraph/cosmo/compare/router@0.141.1...router@0.141.2) (2024-11-12) + +### Bug Fixes + +* variables normalization for the anonymous operations ([#1365](https://github.com/wundergraph/cosmo/issues/1365)) ([0b8ff06](https://github.com/wundergraph/cosmo/commit/0b8ff06592954bef2329fa69a660c60e55e4eb3d)) (@devsergiy) + +## [0.141.1](https://github.com/wundergraph/cosmo/compare/router@0.141.0...router@0.141.1) (2024-11-12) + +### Bug Fixes + +* **router:** use OTLP separators for regex ([#1362](https://github.com/wundergraph/cosmo/issues/1362)) ([e9dd4ac](https://github.com/wundergraph/cosmo/commit/e9dd4ac01c864afbde533f5b70da920ac460086f)) (@Noroth) + +# [0.141.0](https://github.com/wundergraph/cosmo/compare/router@0.140.2...router@0.141.0) (2024-11-12) + +### Bug Fixes + +* enable redis url injection via env var, allow apq from diff clients ([#1361](https://github.com/wundergraph/cosmo/issues/1361)) ([a123088](https://github.com/wundergraph/cosmo/commit/a1230886626b9412422fcfd8dca70be330488c68)) (@df-wg) + +### Features + +* **router:** allow exclusion of OTLP metrics via configuration ([#1359](https://github.com/wundergraph/cosmo/issues/1359)) ([31a583e](https://github.com/wundergraph/cosmo/commit/31a583e009cb2ea748f77b0d3e3240f9073291aa)) (@Noroth) +* **router:** allow users to have multiple wildcards cores allow_origins ([#1358](https://github.com/wundergraph/cosmo/issues/1358)) ([8735f50](https://github.com/wundergraph/cosmo/commit/8735f50620c06a61540f4b94b191a2db0a2fac9b)) (@df-wg) + ## [0.140.2](https://github.com/wundergraph/cosmo/compare/router@0.140.1...router@0.140.2) (2024-11-08) ### Bug Fixes diff --git a/router/README.md b/router/README.md index bb6aa93f0e..d6774b8dcb 100644 --- a/router/README.md +++ b/router/README.md @@ -22,6 +22,14 @@ Code is committed to the repository, but if you want to regenerate the code, you make generate-go ``` +## Develop with a local Engine version + +You can uncomment te replace directive in the [`go.mod`](go.mod) file to use the local version of the `graphql-go-tools` package. You only need to ensure that you have checked out the `graphql-go-tools` repository in the same parent directory as the `router` repository. + +``` +replace github.com/wundergraph/graphql-go-tools/v2 => ../../graphql-go-tools/v2 +``` + ## Build your own Router See [Router Customizability](https://cosmo-docs.wundergraph.com/router/customizability) how to build your own router. diff --git a/router/core/executor.go b/router/core/executor.go index 42a2b79e23..435e48040b 100644 --- a/router/core/executor.go +++ b/router/core/executor.go @@ -255,6 +255,7 @@ func (b *ExecutorConfigurationBuilder) buildPlannerConfiguration(ctx context.Con b.transport, b.logger, routerEngineCfg.Execution.EnableSingleFlight, + routerEngineCfg.Execution.EnableNetPoll, pubSubProviders.nats, pubSubProviders.kafka, )) diff --git a/router/core/factoryresolver.go b/router/core/factoryresolver.go index ba67bee1d1..c00d97ee22 100644 --- a/router/core/factoryresolver.go +++ b/router/core/factoryresolver.go @@ -67,6 +67,7 @@ func NewDefaultFactoryResolver( baseTransport http.RoundTripper, log *zap.Logger, enableSingleFlight bool, + enableNetPoll bool, natsPubSubBySourceID map[string]pubsub_datasource.NatsPubSub, kafkaPubSubBySourceID map[string]pubsub_datasource.KafkaPubSub, ) *DefaultFactoryResolver { @@ -84,11 +85,18 @@ func NewDefaultFactoryResolver( factoryLogger = abstractlogger.NewZapLogger(log, abstractlogger.DebugLevel) } + var netPollConfig graphql_datasource.NetPollConfiguration + + netPollConfig.ApplyDefaults() + + netPollConfig.Enable = enableNetPoll + subscriptionClient := graphql_datasource.NewGraphQLSubscriptionClient( defaultHttpClient, streamingClient, ctx, graphql_datasource.WithLogger(factoryLogger), + graphql_datasource.WithNetPollConfiguration(netPollConfig), ) return &DefaultFactoryResolver{ diff --git a/router/core/graph_server.go b/router/core/graph_server.go index 088993f062..1db270849b 100644 --- a/router/core/graph_server.go +++ b/router/core/graph_server.go @@ -7,7 +7,6 @@ import ( "fmt" "net/http" "net/url" - "strconv" "strings" "time" @@ -267,14 +266,14 @@ func (s *graphServer) buildMultiGraphHandler(ctx context.Context, baseMux *chi.M } type graphMux struct { - mux *chi.Mux - planCache ExecutionPlanCache[uint64, *planWithMetaData] - persistedOperationCache *ristretto.Cache[uint64, NormalizationCacheEntry] - normalizationCache *ristretto.Cache[uint64, NormalizationCacheEntry] - validationCache *ristretto.Cache[uint64, bool] - queryDepthCache *ristretto.Cache[uint64, int] - operationHashCache *ristretto.Cache[uint64, string] - accessLogsFileLogger *logging.BufferedLogger + mux *chi.Mux + planCache ExecutionPlanCache[uint64, *planWithMetaData] + persistedOperationCache *ristretto.Cache[uint64, NormalizationCacheEntry] + normalizationCache *ristretto.Cache[uint64, NormalizationCacheEntry] + complexityCalculationCache *ristretto.Cache[uint64, ComplexityCacheEntry] + validationCache *ristretto.Cache[uint64, bool] + operationHashCache *ristretto.Cache[uint64, string] + accessLogsFileLogger *logging.BufferedLogger } func (s *graphMux) Shutdown(_ context.Context) error { @@ -295,8 +294,8 @@ func (s *graphMux) Shutdown(_ context.Context) error { s.validationCache.Close() } - if s.queryDepthCache != nil { - s.queryDepthCache.Close() + if s.complexityCalculationCache != nil { + s.complexityCalculationCache.Close() } if s.accessLogsFileLogger != nil { @@ -436,13 +435,13 @@ func (s *graphServer) buildGraphMux(ctx context.Context, } } - if s.securityConfiguration.DepthLimit.Enabled && s.securityConfiguration.DepthLimit.CacheSize > 0 { - queryDepthCacheConfig := &ristretto.Config[uint64, int]{ - MaxCost: s.securityConfiguration.DepthLimit.CacheSize, - NumCounters: s.securityConfiguration.DepthLimit.CacheSize * 10, + if s.securityConfiguration.ComplexityCalculationCache != nil && s.securityConfiguration.ComplexityCalculationCache.Enabled && s.securityConfiguration.ComplexityCalculationCache.CacheSize > 0 { + complexityCalculationCacheConfig := &ristretto.Config[uint64, ComplexityCacheEntry]{ + MaxCost: s.securityConfiguration.ComplexityCalculationCache.CacheSize, + NumCounters: s.securityConfiguration.ComplexityCalculationCache.CacheSize * 10, BufferItems: 64, } - gm.queryDepthCache, err = ristretto.NewCache[uint64, int](queryDepthCacheConfig) + gm.complexityCalculationCache, err = ristretto.NewCache[uint64, ComplexityCacheEntry](complexityCalculationCacheConfig) if err != nil { return nil, fmt.Errorf("failed to create query depth cache: %w", err) } @@ -710,7 +709,7 @@ func (s *graphServer) buildGraphMux(ctx context.Context, PersistedOpsNormalizationCache: gm.persistedOperationCache, NormalizationCache: gm.normalizationCache, ValidationCache: gm.validationCache, - QueryDepthCache: gm.queryDepthCache, + QueryDepthCache: gm.complexityCalculationCache, OperationHashCache: gm.operationHashCache, ParseKitPoolSize: s.engineExecutionConfiguration.ParseKitPoolSize, IntrospectionEnabled: s.Config.introspection, @@ -775,9 +774,7 @@ func (s *graphServer) buildGraphMux(ctx context.Context, FileUploadEnabled: s.fileUploadConfig.Enabled, MaxUploadFiles: s.fileUploadConfig.MaxFiles, MaxUploadFileSize: int(s.fileUploadConfig.MaxFileSizeBytes), - QueryDepthEnabled: s.securityConfiguration.DepthLimit.Enabled, - QueryDepthLimit: s.securityConfiguration.DepthLimit.Limit, - QueryIgnorePersistent: s.securityConfiguration.DepthLimit.IgnorePersistedOperations, + ComplexityLimits: s.securityConfiguration.ComplexityLimits, AlwaysIncludeQueryPlan: s.engineExecutionConfiguration.Debug.AlwaysIncludeQueryPlan, AlwaysSkipLoader: s.engineExecutionConfiguration.Debug.AlwaysSkipLoader, QueryPlansEnabled: s.Config.queryPlansEnabled, @@ -790,22 +787,22 @@ func (s *graphServer) buildGraphMux(ctx context.Context, if s.webSocketConfiguration != nil && s.webSocketConfiguration.Enabled { wsMiddleware := NewWebsocketMiddleware(ctx, WebsocketMiddlewareOptions{ - OperationProcessor: operationProcessor, - OperationBlocker: operationBlocker, - Planner: operationPlanner, - GraphQLHandler: graphqlHandler, - PreHandler: graphqlPreHandler, - Metrics: metrics, - AccessController: s.accessController, - Logger: s.logger, - Stats: s.websocketStats, - ReadTimeout: s.engineExecutionConfiguration.WebSocketReadTimeout, - EnableWebSocketEpollKqueue: s.engineExecutionConfiguration.EnableWebSocketEpollKqueue, - EpollKqueuePollTimeout: s.engineExecutionConfiguration.EpollKqueuePollTimeout, - EpollKqueueConnBufferSize: s.engineExecutionConfiguration.EpollKqueueConnBufferSize, - WebSocketConfiguration: s.webSocketConfiguration, - ClientHeader: s.clientHeader, - Attributes: baseOtelAttributes, + OperationProcessor: operationProcessor, + OperationBlocker: operationBlocker, + Planner: operationPlanner, + GraphQLHandler: graphqlHandler, + PreHandler: graphqlPreHandler, + Metrics: metrics, + AccessController: s.accessController, + Logger: s.logger, + Stats: s.websocketStats, + ReadTimeout: s.engineExecutionConfiguration.WebSocketClientReadTimeout, + EnableNetPoll: s.engineExecutionConfiguration.EnableNetPoll, + NetPollTimeout: s.engineExecutionConfiguration.WebSocketClientPollTimeout, + NetPollConnBufferSize: s.engineExecutionConfiguration.WebSocketClientConnBufferSize, + WebSocketConfiguration: s.webSocketConfiguration, + ClientHeader: s.clientHeader, + Attributes: baseOtelAttributes, }) // When the playground path is equal to the graphql path, we need to handle @@ -868,68 +865,14 @@ func (s *graphServer) accessLogsFieldHandler(panicError any, request *http.Reque if field.ValueFrom != nil && field.ValueFrom.RequestHeader != "" { resFields = append(resFields, NewStringLogField(request.Header.Get(field.ValueFrom.RequestHeader), field)) } else if field.ValueFrom != nil && field.ValueFrom.ContextField != "" && reqContext.operation != nil { - switch field.ValueFrom.ContextField { - case ContextFieldOperationName: - if v := NewStringLogField(reqContext.operation.name, field); v != zap.Skip() { - resFields = append(resFields, v) - } - case ContextFieldOperationType: - if v := NewStringLogField(reqContext.operation.opType, field); v != zap.Skip() { - resFields = append(resFields, v) - } - case ContextFieldOperationPlanningTime: - if v := NewDurationLogField(reqContext.operation.planningTime, field); v != zap.Skip() { - resFields = append(resFields, v) - } - case ContextFieldOperationNormalizationTime: - if v := NewDurationLogField(reqContext.operation.normalizationTime, field); v != zap.Skip() { - resFields = append(resFields, v) - } - case ContextFieldOperationParsingTime: - if v := NewDurationLogField(reqContext.operation.parsingTime, field); v != zap.Skip() { - resFields = append(resFields, v) - } - case ContextFieldOperationValidationTime: - if v := NewDurationLogField(reqContext.operation.validationTime, field); v != zap.Skip() { - resFields = append(resFields, v) - } - case ContextFieldOperationSha256: - if v := NewStringLogField(reqContext.operation.sha256Hash, field); v != zap.Skip() { - resFields = append(resFields, v) - } - case ContextFieldOperationHash: - if reqContext.operation.hash != 0 { - if v := NewStringLogField(strconv.FormatUint(reqContext.operation.hash, 10), field); v != zap.Skip() { - resFields = append(resFields, v) - } - } - case ContextFieldPersistedOperationSha256: - if v := NewStringLogField(reqContext.operation.persistedID, field); v != zap.Skip() { - resFields = append(resFields, v) - } - case ContextFieldResponseErrorMessage: - var errMessage string - if panicError != nil { - errMessage = fmt.Sprintf("%v", panicError) - } else if reqContext.error != nil { - errMessage = reqContext.error.Error() - } + if field.ValueFrom.ContextField == ContextFieldResponseErrorMessage && panicError != nil { + errMessage := fmt.Sprintf("%v", panicError) if v := NewStringLogField(errMessage, field); v != zap.Skip() { resFields = append(resFields, v) } - - case ContextFieldOperationServices: - if v := NewStringSliceLogField(reqContext.dataSourceNames, field); v != zap.Skip() { - resFields = append(resFields, v) - } - case ContextFieldGraphQLErrorServices: - if v := NewStringSliceLogField(reqContext.graphQLErrorServices, field); v != zap.Skip() { - resFields = append(resFields, v) - } - case ContextFieldGraphQLErrorCodes: - if v := NewStringSliceLogField(reqContext.graphQLErrorCodes, field); v != zap.Skip() { - resFields = append(resFields, v) - } + } + if v := GetLogFieldFromCustomAttribute(field, reqContext); v != zap.Skip() { + resFields = append(resFields, v) } } else if field.Default != "" { resFields = append(resFields, NewStringLogField(field.Default, field)) diff --git a/router/core/graphql_prehandler.go b/router/core/graphql_prehandler.go index 49d11618e7..169b817d48 100644 --- a/router/core/graphql_prehandler.go +++ b/router/core/graphql_prehandler.go @@ -34,20 +34,18 @@ import ( ) type PreHandlerOptions struct { - Logger *zap.Logger - Executor *Executor - Metrics RouterMetrics - OperationProcessor *OperationProcessor - Planner *OperationPlanner - AccessController *AccessController - OperationBlocker *OperationBlocker - RouterPublicKey *ecdsa.PublicKey - TracerProvider *sdktrace.TracerProvider - MaxUploadFiles int - MaxUploadFileSize int - QueryDepthEnabled bool - QueryDepthLimit int - QueryIgnorePersistent bool + Logger *zap.Logger + Executor *Executor + Metrics RouterMetrics + OperationProcessor *OperationProcessor + Planner *OperationPlanner + AccessController *AccessController + OperationBlocker *OperationBlocker + RouterPublicKey *ecdsa.PublicKey + TracerProvider *sdktrace.TracerProvider + ComplexityLimits *config.ComplexityLimits + MaxUploadFiles int + MaxUploadFileSize int FlushTelemetryAfterResponse bool FileUploadEnabled bool @@ -86,9 +84,7 @@ type PreHandler struct { fileUploadEnabled bool maxUploadFiles int maxUploadFileSize int - queryDepthEnabled bool - queryDepthLimit int - queryIgnorePersistent bool + complexityLimits *config.ComplexityLimits bodyReadBuffers *sync.Pool trackSchemaUsageInfo bool clientHeader config.ClientHeader @@ -129,9 +125,7 @@ func NewPreHandler(opts *PreHandlerOptions) *PreHandler { fileUploadEnabled: opts.FileUploadEnabled, maxUploadFiles: opts.MaxUploadFiles, maxUploadFileSize: opts.MaxUploadFileSize, - queryDepthEnabled: opts.QueryDepthEnabled, - queryDepthLimit: opts.QueryDepthLimit, - queryIgnorePersistent: opts.QueryIgnorePersistent, + complexityLimits: opts.ComplexityLimits, bodyReadBuffers: &sync.Pool{}, alwaysIncludeQueryPlan: opts.AlwaysIncludeQueryPlan, alwaysSkipLoader: opts.AlwaysSkipLoader, @@ -692,9 +686,12 @@ func (h *PreHandler) handleOperation(req *http.Request, buf *bytes.Buffer, varia // Validate that the planned query doesn't exceed the maximum query depth configured // This check runs if they've configured a max query depth, and it can optionally be turned off for persisted operations - if h.queryDepthEnabled && h.queryDepthLimit > 0 && (!operationKit.parsedOperation.IsPersistedOperation || operationKit.parsedOperation.IsPersistedOperation && !h.queryIgnorePersistent) { - cacheHit, depth, queryDepthErr := operationKit.ValidateQueryDepth(h.queryDepthLimit, operationKit.kit.doc, h.executor.RouterSchema) - engineValidateSpan.SetAttributes(otel.WgQueryDepth.Int(depth)) + if h.complexityLimits != nil { + cacheHit, complexityCalcs, queryDepthErr := operationKit.ValidateQueryComplexity(h.complexityLimits, operationKit.kit.doc, h.executor.RouterSchema, operationKit.parsedOperation.IsPersistedOperation) + engineValidateSpan.SetAttributes(otel.WgQueryDepth.Int(complexityCalcs.Depth)) + engineValidateSpan.SetAttributes(otel.WgQueryTotalFields.Int(complexityCalcs.TotalFields)) + engineValidateSpan.SetAttributes(otel.WgQueryRootFields.Int(complexityCalcs.RootFields)) + engineValidateSpan.SetAttributes(otel.WgQueryRootFieldAliases.Int(complexityCalcs.RootFieldAliases)) engineValidateSpan.SetAttributes(otel.WgQueryDepthCacheHit.Bool(cacheHit)) if queryDepthErr != nil { rtrace.AttachErrToSpan(engineValidateSpan, err) diff --git a/router/core/header_rule_engine.go b/router/core/header_rule_engine.go index 73e9229f1b..1dfbe1c09f 100644 --- a/router/core/header_rule_engine.go +++ b/router/core/header_rule_engine.go @@ -351,6 +351,15 @@ func (h *HeaderPropagation) applyResponseRuleKeyValue(res *http.Response, propag func (h *HeaderPropagation) applyRequestRule(ctx RequestContext, request *http.Request, rule *config.RequestHeaderRule) { if rule.Operation == config.HeaderRuleOperationSet { + if rule.ValueFrom != nil && rule.ValueFrom.ContextField != "" { + val := getCustomDynamicAttributeValue(rule.ValueFrom, getRequestContext(request.Context())) + value := fmt.Sprintf("%v", val) + if value != "" { + request.Header.Set(rule.Name, value) + } + return + } + request.Header.Set(rule.Name, rule.Value) return } @@ -623,7 +632,7 @@ func PropagatedHeaders(rules []*config.RequestHeaderRule) (headerNames []string, for _, rule := range rules { switch rule.Operation { case config.HeaderRuleOperationSet: - if rule.Name == "" || rule.Value == "" { + if rule.Name == "" || (rule.Value == "" && rule.ValueFrom == nil) { return nil, nil, fmt.Errorf("invalid header set rule %+v, no header name/value combination", rule) } headerNames = append(headerNames, rule.Name) diff --git a/router/core/operation_processor.go b/router/core/operation_processor.go index 385f1ccac4..dfcbda179e 100644 --- a/router/core/operation_processor.go +++ b/router/core/operation_processor.go @@ -6,12 +6,21 @@ import ( "crypto/sha256" "encoding/json" "fmt" + "hash" + "io" + "net/http" + "net/url" + "slices" + "sync" + "time" + "github.com/buger/jsonparser" "github.com/cespare/xxhash/v2" "github.com/dgraph-io/ristretto" "github.com/pkg/errors" "github.com/tidwall/sjson" fastjson "github.com/wundergraph/astjson" + "github.com/wundergraph/cosmo/router/internal/persistedoperation" "github.com/wundergraph/cosmo/router/internal/unsafebytes" "github.com/wundergraph/cosmo/router/pkg/config" @@ -25,13 +34,6 @@ import ( "github.com/wundergraph/graphql-go-tools/v2/pkg/middleware/operation_complexity" "github.com/wundergraph/graphql-go-tools/v2/pkg/operationreport" "github.com/wundergraph/graphql-go-tools/v2/pkg/variablesvalidation" - "hash" - "io" - "net/http" - "net/url" - "slices" - "sync" - "time" ) var ( @@ -95,8 +97,8 @@ type OperationProcessorOptions struct { EnablePersistedOperationsCache bool PersistedOpsNormalizationCache *ristretto.Cache[uint64, NormalizationCacheEntry] NormalizationCache *ristretto.Cache[uint64, NormalizationCacheEntry] + QueryDepthCache *ristretto.Cache[uint64, ComplexityCacheEntry] ValidationCache *ristretto.Cache[uint64, bool] - QueryDepthCache *ristretto.Cache[uint64, int] OperationHashCache *ristretto.Cache[uint64, string] ParseKitPoolSize int IntrospectionEnabled bool @@ -138,8 +140,8 @@ type OperationCache struct { persistedOperationNormalizationCache *ristretto.Cache[uint64, NormalizationCacheEntry] normalizationCache *ristretto.Cache[uint64, NormalizationCacheEntry] + complexityCache *ristretto.Cache[uint64, ComplexityCacheEntry] validationCache *ristretto.Cache[uint64, bool] - queryDepthCache *ristretto.Cache[uint64, int] operationHashCache *ristretto.Cache[uint64, string] } @@ -172,6 +174,12 @@ type GraphQLRequestExtensionsPersistedQuery struct { Sha256Hash string `json:"sha256Hash"` } +type complexityComparison struct { + field int + cachedField int + errorMessage string +} + // NewOperationKit creates a new OperationKit. The kit is used to parse, normalize and validate operations. // It allocates resources that need to be freed by calling OperationKit.Free() func NewOperationKit(processor *OperationProcessor) *OperationKit { @@ -650,6 +658,13 @@ type NormalizationCacheEntry struct { operationType string } +type ComplexityCacheEntry struct { + Depth int + TotalFields int + RootFields int + RootFieldAliases int +} + func (o *OperationKit) normalizeNonPersistedOperation() (cached bool, err error) { skipIncludeVariableNames := o.skipIncludeVariableNames() @@ -730,7 +745,7 @@ func (o *OperationKit) setAndParseOperationDoc() error { func (o *OperationKit) NormalizeVariables() error { before := len(o.kit.doc.Input.Variables) + len(o.kit.doc.Input.RawBytes) report := &operationreport.Report{} - o.kit.variablesNormalizer.NormalizeNamedOperation(o.kit.doc, o.operationProcessor.executor.ClientSchema, o.parsedOperation.Request.OperationName, report) + o.kit.variablesNormalizer.NormalizeOperation(o.kit.doc, o.operationProcessor.executor.ClientSchema, report) if report.HasErrors() { return &reportError{ report: report, @@ -919,37 +934,65 @@ func (o *OperationKit) Validate(skipLoader bool) (cacheHit bool, err error) { return } -// ValidateQueryDepth validates that the operation query depth isn't greater than the max query depth. -func (o *OperationKit) ValidateQueryDepth(maxQueryDepth int, operation, definition *ast.Document) (bool, int, error) { - if o.cache != nil && o.cache.queryDepthCache != nil { - depth, cacheHit := o.cache.queryDepthCache.Get(o.parsedOperation.ID) - if cacheHit { - valid := depth <= maxQueryDepth - if !valid { - return cacheHit, depth, &httpGraphqlError{ - message: fmt.Sprintf("The query depth %d exceeds the max query depth allowed (%d)", depth, maxQueryDepth), - statusCode: http.StatusBadRequest, - } - } - return cacheHit, depth, nil +// ValidateQueryComplexity validates that the query complexity is within the limits set in the configuration +func (o *OperationKit) ValidateQueryComplexity(complexityLimitConfig *config.ComplexityLimits, operation, definition *ast.Document, isPersisted bool) (bool, ComplexityCacheEntry, error) { + if o.cache != nil && o.cache.complexityCache != nil { + if cachedComplexity, ok := o.cache.complexityCache.Get(o.parsedOperation.ID); ok { + return ok, cachedComplexity, o.runComplexityComparisons(complexityLimitConfig, cachedComplexity, isPersisted) } } report := operationreport.Report{} - globalComplexityResult, _ := operation_complexity.CalculateOperationComplexity(operation, definition, &report) - valid := globalComplexityResult.Depth <= maxQueryDepth + globalComplexityResult, rootFieldStats := operation_complexity.CalculateOperationComplexity(operation, definition, &report) + cacheResult := ComplexityCacheEntry{ + Depth: globalComplexityResult.Depth, + TotalFields: globalComplexityResult.NodeCount, + } + for _, entry := range rootFieldStats { + if entry.Alias == "" { + cacheResult.RootFields += 1 + } else { + cacheResult.RootFieldAliases += 1 + } + } - if o.cache != nil && o.cache.queryDepthCache != nil { - o.cache.queryDepthCache.Set(o.parsedOperation.ID, globalComplexityResult.Depth, 1) + if o.cache != nil && o.cache.complexityCache != nil { + o.cache.complexityCache.Set(o.parsedOperation.ID, cacheResult, 1) } - if !valid { - return false, globalComplexityResult.Depth, &httpGraphqlError{ - message: fmt.Sprintf("The query depth %d exceeds the max query depth allowed (%d)", globalComplexityResult.Depth, maxQueryDepth), - statusCode: http.StatusBadRequest, + return false, cacheResult, o.runComplexityComparisons(complexityLimitConfig, cacheResult, isPersisted) +} + +func (o *OperationKit) runComplexityComparisons(complexityLimitConfig *config.ComplexityLimits, cachedComplexity ComplexityCacheEntry, isPersisted bool) error { + testComparisons := []complexityComparison{} + if complexityLimitConfig.Depth != nil && complexityLimitConfig.Depth.ApplyLimit(isPersisted) { + testComparisons = append(testComparisons, + complexityComparison{complexityLimitConfig.Depth.Limit, cachedComplexity.Depth, fmt.Sprintf("The query depth %d exceeds the max query depth allowed (%d)", cachedComplexity.Depth, complexityLimitConfig.Depth.Limit)}) + } + if complexityLimitConfig.TotalFields != nil && complexityLimitConfig.TotalFields.ApplyLimit(isPersisted) { + testComparisons = append(testComparisons, + complexityComparison{complexityLimitConfig.TotalFields.Limit, cachedComplexity.TotalFields, fmt.Sprintf("The total number of fields %d exceeds the limit allowed (%d)", cachedComplexity.TotalFields, complexityLimitConfig.TotalFields.Limit)}) + } + if complexityLimitConfig.RootFields != nil && complexityLimitConfig.RootFields.ApplyLimit(isPersisted) { + testComparisons = append(testComparisons, + complexityComparison{complexityLimitConfig.RootFields.Limit, cachedComplexity.RootFields, fmt.Sprintf("The number of root fields %d exceeds the root field limit allowed (%d)", cachedComplexity.RootFields, complexityLimitConfig.RootFields.Limit)}) + } + if complexityLimitConfig.RootFieldAliases != nil && complexityLimitConfig.RootFieldAliases.ApplyLimit(isPersisted) { + testComparisons = append(testComparisons, + complexityComparison{complexityLimitConfig.RootFieldAliases.Limit, cachedComplexity.RootFieldAliases, fmt.Sprintf("The number of root field aliases %d exceeds the root field aliases limit allowed (%d)", cachedComplexity.RootFieldAliases, complexityLimitConfig.RootFieldAliases.Limit)}) + } + + for _, comparison := range testComparisons { + valid := comparison.field <= 0 || comparison.cachedField <= comparison.field + if !valid { + return &httpGraphqlError{ + message: comparison.errorMessage, + statusCode: http.StatusBadRequest, + } } } - return false, globalComplexityResult.Depth, nil + + return nil } var ( @@ -996,9 +1039,9 @@ func createParseKit(i int, options *parseKitOptions) *parseKit { keyGen: xxhash.New(), sha256Hash: sha256.New(), staticNormalizer: astnormalization.NewWithOpts( + astnormalization.WithRemoveNotMatchingOperationDefinitions(), astnormalization.WithInlineFragmentSpreads(), astnormalization.WithRemoveFragmentDefinitions(), - astnormalization.WithRemoveNotMatchingOperationDefinitions(), astnormalization.WithRemoveUnusedVariables(), ), variablesNormalizer: astnormalization.NewVariablesNormalizer(), @@ -1037,7 +1080,7 @@ func NewOperationProcessor(opts OperationProcessorOptions) *OperationProcessor { processor.operationCache = &OperationCache{ normalizationCache: opts.NormalizationCache, validationCache: opts.ValidationCache, - queryDepthCache: opts.QueryDepthCache, + complexityCache: opts.QueryDepthCache, operationHashCache: opts.OperationHashCache, } } diff --git a/router/core/request_context_fields.go b/router/core/request_context_fields.go index 3ec6f0c579..5a40316655 100644 --- a/router/core/request_context_fields.go +++ b/router/core/request_context_fields.go @@ -54,3 +54,59 @@ func NewDurationLogField(val time.Duration, attribute config.CustomAttribute) za } return zap.Skip() } + +func GetLogFieldFromCustomAttribute(field config.CustomAttribute, req *requestContext) zap.Field { + val := getCustomDynamicAttributeValue(field.ValueFrom, req) + switch v := val.(type) { + case string: + return NewStringLogField(v, field) + case []string: + return NewStringSliceLogField(v, field) + case time.Duration: + return NewDurationLogField(v, field) + } + + return zap.Skip() +} + +func getCustomDynamicAttributeValue(attribute *config.CustomDynamicAttribute, reqContext *requestContext) interface{} { + if attribute.ContextField == "" { + return "" + } + + switch attribute.ContextField { + case ContextFieldOperationName: + return reqContext.operation.Name() + case ContextFieldOperationType: + return reqContext.operation.Type() + case ContextFieldOperationPlanningTime: + return reqContext.operation.planningTime + case ContextFieldOperationNormalizationTime: + return reqContext.operation.normalizationTime + case ContextFieldOperationParsingTime: + return reqContext.operation.parsingTime + case ContextFieldOperationValidationTime: + return reqContext.operation.validationTime + case ContextFieldOperationSha256: + return reqContext.operation.sha256Hash + case ContextFieldOperationHash: + if reqContext.operation.hash != 0 { + return strconv.FormatUint(reqContext.operation.hash, 10) + } + return reqContext.operation.Hash() + case ContextFieldPersistedOperationSha256: + return reqContext.operation.persistedID + case ContextFieldResponseErrorMessage: + if reqContext.error != nil { + return reqContext.error.Error() + } + case ContextFieldOperationServices: + return reqContext.dataSourceNames + case ContextFieldGraphQLErrorServices: + return reqContext.graphQLErrorServices + case ContextFieldGraphQLErrorCodes: + return reqContext.graphQLErrorCodes + } + + return "" +} diff --git a/router/core/router.go b/router/core/router.go index e6f0b4aa3d..fec7458a0a 100644 --- a/router/core/router.go +++ b/router/core/router.go @@ -6,6 +6,7 @@ import ( "crypto/x509" "errors" "fmt" + "github.com/wundergraph/graphql-go-tools/v2/pkg/netpoll" "net" "net/http" "net/url" @@ -149,7 +150,7 @@ type ( staticExecutionConfig *nodev1.RouterConfig awsLambda bool shutdown atomic.Bool - bootstrapped bool + bootstrapped atomic.Bool ipAnonymization *IPAnonymizationConfig listenAddr string baseURL string @@ -474,6 +475,30 @@ func NewRouter(opts ...Option) (*Router, error) { ) } + if r.securityConfiguration.DepthLimit != nil { + r.logger.Warn("The security configuration field 'depth_limit' is deprecated, and will be removed. Use 'security.complexity_limits.depth' instead.") + + if r.securityConfiguration.ComplexityCalculationCache == nil { + r.securityConfiguration.ComplexityCalculationCache = &config.ComplexityCalculationCache{ + Enabled: true, + CacheSize: r.securityConfiguration.DepthLimit.CacheSize, + } + } + + if r.securityConfiguration.ComplexityLimits == nil { + r.securityConfiguration.ComplexityLimits = &config.ComplexityLimits{} + } + if r.securityConfiguration.ComplexityLimits.Depth == nil { + r.securityConfiguration.ComplexityLimits.Depth = &config.ComplexityLimit{ + Enabled: r.securityConfiguration.DepthLimit.Enabled, + Limit: r.securityConfiguration.DepthLimit.Limit, + IgnorePersistedOperations: r.securityConfiguration.DepthLimit.IgnorePersistedOperations, + } + } else { + r.logger.Warn("Ignoring deprecated security configuration field 'depth_limit', in favor of the `security_complexity_limits.depth` configuration") + } + } + if r.developmentMode { r.logger.Warn("Development mode enabled. This should only be used for testing purposes") } @@ -491,6 +516,26 @@ func NewRouter(opts ...Option) (*Router, error) { r.logger.Info("Kafka Event source enabled", zap.String("provider_id", source.ID), zap.Strings("brokers", source.Brokers)) } + if !r.engineExecutionConfiguration.EnableNetPoll { + r.logger.Warn("Net poller is disabled by configuration. Falling back to less efficient connection handling method.") + } else if err := netpoll.Supported(); err != nil { + + // Disable netPoll if it's not supported. This flag is used everywhere to decide whether to use netPoll or not. + r.engineExecutionConfiguration.EnableNetPoll = false + + if errors.Is(err, netpoll.ErrUnsupported) { + r.logger.Warn( + "Net poller is only available on Linux and MacOS. Falling back to less efficient connection handling method.", + zap.Error(err), + ) + } else { + r.logger.Warn( + "Net poller is not functional by the environment. Ensure that the system supports epoll/kqueue and that necessary syscall permissions are granted. Falling back to less efficient connection handling method.", + zap.Error(err), + ) + } + } + return r, nil } @@ -652,14 +697,12 @@ func (r *Router) NewServer(ctx context.Context) (Server, error) { } // bootstrap initializes the Router. It is called by Start() and NewServer(). -// It should only be called once for a Router instance. Not safe for concurrent use. +// It should only be called once for a Router instance. func (r *Router) bootstrap(ctx context.Context) error { - if r.bootstrapped { + if !r.bootstrapped.CompareAndSwap(false, true) { return fmt.Errorf("router is already bootstrapped") } - r.bootstrapped = true - cosmoCloudTracingEnabled := r.traceConfig.Enabled && rtrace.DefaultExporter(r.traceConfig) != nil artInProductionEnabled := r.engineExecutionConfiguration.EnableRequestTracing && !r.developmentMode needsRegistration := cosmoCloudTracingEnabled || artInProductionEnabled @@ -1094,15 +1137,13 @@ func (r *Router) Start(ctx context.Context) error { } // Shutdown gracefully shuts down the router. It blocks until the server is shutdown. -// If the router is already shutdown, the method returns immediately without error. Not safe for concurrent use. +// If the router is already shutdown, the method returns immediately without error. func (r *Router) Shutdown(ctx context.Context) (err error) { - if r.shutdown.Load() { + if !r.shutdown.CompareAndSwap(false, true) { return nil } - r.shutdown.Store(true) - // Respect grace period if r.routerGracePeriod > 0 { ctxWithTimer, cancel := context.WithTimeout(ctx, r.routerGracePeriod) @@ -1810,9 +1851,11 @@ func MetricConfigFromTelemetry(cfg *config.Telemetry) *rmetric.Config { Attributes: cfg.Metrics.Attributes, ResourceAttributes: buildResourceAttributes(cfg.ResourceAttributes), OpenTelemetry: rmetric.OpenTelemetry{ - Enabled: cfg.Metrics.OTLP.Enabled, - RouterRuntime: cfg.Metrics.OTLP.RouterRuntime, - Exporters: openTelemetryExporters, + Enabled: cfg.Metrics.OTLP.Enabled, + RouterRuntime: cfg.Metrics.OTLP.RouterRuntime, + Exporters: openTelemetryExporters, + ExcludeMetrics: cfg.Metrics.OTLP.ExcludeMetrics, + ExcludeMetricLabels: cfg.Metrics.OTLP.ExcludeMetricLabels, }, Prometheus: rmetric.PrometheusConfig{ Enabled: cfg.Metrics.Prometheus.Enabled, diff --git a/router/core/websocket.go b/router/core/websocket.go index b2d4d73c7f..53eae65405 100644 --- a/router/core/websocket.go +++ b/router/core/websocket.go @@ -33,7 +33,7 @@ import ( "github.com/wundergraph/cosmo/router/pkg/config" "github.com/wundergraph/cosmo/router/pkg/logging" "github.com/wundergraph/graphql-go-tools/v2/pkg/engine/resolve" - "github.com/wundergraph/graphql-go-tools/v2/pkg/epoller" + "github.com/wundergraph/graphql-go-tools/v2/pkg/netpoll" "go.uber.org/atomic" "go.uber.org/zap" ) @@ -54,9 +54,9 @@ type WebsocketMiddlewareOptions struct { Stats WebSocketsStatistics ReadTimeout time.Duration - EnableWebSocketEpollKqueue bool - EpollKqueuePollTimeout time.Duration - EpollKqueueConnBufferSize int + EnableNetPoll bool + NetPollTimeout time.Duration + NetPollConnBufferSize int WebSocketConfiguration *config.WebSocketConfiguration ClientHeader config.ClientHeader @@ -121,19 +121,16 @@ func NewWebsocketMiddleware(ctx context.Context, opts WebsocketMiddlewareOptions handler.forwardQueryParamsConfig.withStaticAllowList = len(handler.forwardQueryParamsConfig.staticAllowList) > 0 handler.forwardQueryParamsConfig.withRegexAllowList = len(handler.forwardQueryParamsConfig.regexAllowList) > 0 } - if opts.EnableWebSocketEpollKqueue { - poller, err := epoller.NewPoller(opts.EpollKqueueConnBufferSize, opts.EpollKqueuePollTimeout) + if opts.EnableNetPoll { + poller, err := netpoll.NewPoller(opts.NetPollConnBufferSize, opts.NetPollTimeout) if err == nil { - opts.Logger.Debug("Epoll is available") + opts.Logger.Debug("Net poller is available") - handler.epoll = poller + handler.netPoll = poller handler.connections = make(map[int]*WebSocketConnectionHandler) go handler.runPoller() - } else { - opts.Logger.Warn("Epoll is only available on Linux and MacOS. Falling back to synchronous handling.") } - } else { - opts.Logger.Debug("Epoll is disabled by configuration") + } return func(next http.Handler) http.Handler { @@ -202,7 +199,7 @@ type WebsocketHandler struct { accessController *AccessController logger *zap.Logger - epoll epoller.Poller + netPoll netpoll.Poller connections map[int]*WebSocketConnectionHandler connectionsMu sync.RWMutex @@ -376,17 +373,17 @@ func (h *WebsocketHandler) handleUpgradeRequest(w http.ResponseWriter, r *http.R } } - // Only when epoll is available. On Windows, epoll is not available - if h.epoll != nil { + // Only when epoll/kqueue is available. On Windows, epoll is not available + if h.netPoll != nil { err = h.addConnection(c, handler) if err != nil { - requestLogger.Error("Adding connection to epoll", zap.Error(err)) + requestLogger.Error("Adding connection to net poller", zap.Error(err)) handler.Close() } return } - // Handle messages sync when epoll is not available + // Handle messages sync when net poller implementation is not available go h.handleConnectionSync(handler) } @@ -437,7 +434,7 @@ func (h *WebsocketHandler) addConnection(conn net.Conn, handler *WebSocketConnec return fmt.Errorf("unable to get socket fd for conn: %d", handler.connectionID) } h.connections[fd] = handler - return h.epoll.Add(conn) + return h.netPoll.Add(conn) } func (h *WebsocketHandler) removeConnection(conn net.Conn, handler *WebSocketConnectionHandler, fd int) { @@ -445,9 +442,9 @@ func (h *WebsocketHandler) removeConnection(conn net.Conn, handler *WebSocketCon h.connectionsMu.Lock() delete(h.connections, fd) h.connectionsMu.Unlock() - err := h.epoll.Remove(conn) + err := h.netPoll.Remove(conn) if err != nil { - h.logger.Warn("Removing connection from epoll", zap.Error(err)) + h.logger.Warn("Removing connection from net poller", zap.Error(err)) } handler.Close() } @@ -464,7 +461,7 @@ func socketFd(conn net.Conn) int { }) return sfd } - if con, ok := conn.(epoller.ConnImpl); ok { + if con, ok := conn.(netpoll.ConnImpl); ok { return con.GetFD() } return 0 @@ -485,7 +482,7 @@ func (h *WebsocketHandler) runPoller() { done := h.ctx.Done() defer func() { h.connectionsMu.Lock() - _ = h.epoll.Close(true) + _ = h.netPoll.Close(true) h.connectionsMu.Unlock() }() for { @@ -493,16 +490,16 @@ func (h *WebsocketHandler) runPoller() { case <-done: return default: - connections, err := h.epoll.Wait(128) + connections, err := h.netPoll.Wait(128) if err != nil { - h.logger.Warn("Epoll wait", zap.Error(err)) + h.logger.Warn("Net Poller wait", zap.Error(err)) continue } for i := 0; i < len(connections); i++ { if connections[i] == nil { continue } - conn := connections[i].(epoller.ConnImpl) + conn := connections[i].(netpoll.ConnImpl) // check if the connection is still valid fd := socketFd(conn) h.connectionsMu.RLock() diff --git a/router/go.mod b/router/go.mod index 5ac6c80df9..b0ca6a3c12 100644 --- a/router/go.mod +++ b/router/go.mod @@ -37,7 +37,7 @@ require ( github.com/tidwall/gjson v1.18.0 github.com/tidwall/sjson v1.2.5 github.com/twmb/franz-go v1.16.1 - github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.121 + github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.126 // Do not upgrade, it renames attributes we rely on go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1 go.opentelemetry.io/contrib/propagators/b3 v1.23.0 @@ -143,4 +143,7 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) +// Remember you can use Go workspaces to avoid using replace directives in multiple go.mod files +// Use what is best for your personal workflow. See CONTRIBUTING.md for more information + //replace github.com/wundergraph/graphql-go-tools/v2 => ../../graphql-go-tools/v2 diff --git a/router/go.sum b/router/go.sum index 8ef63d0aad..f27cff43ca 100644 --- a/router/go.sum +++ b/router/go.sum @@ -268,8 +268,8 @@ github.com/vektah/gqlparser/v2 v2.5.16 h1:1gcmLTvs3JLKXckwCwlUagVn/IlV2bwqle0vJ0 github.com/vektah/gqlparser/v2 v2.5.16/go.mod h1:1lz1OeCqgQbQepsGxPVywrjdBHW2T08PUS3pJqepRww= github.com/wundergraph/astjson v0.0.0-20241108124845-44485579ffa5 h1:rc+IQxG3rrAXEjBywirkzhKkyCKvXLGQXABVD8GiUtU= github.com/wundergraph/astjson v0.0.0-20241108124845-44485579ffa5/go.mod h1:eOTL6acwctsN4F3b7YE+eE2t8zcJ/doLm9sZzsxxxrE= -github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.121 h1:VsrSvBsOcQNiTwESJg55tecBzHfZPUdII/zDstHyBuc= -github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.121/go.mod h1:s4r/lhVEU5s0c6tCgpR0hK6FHEmX0cbrKcMU1pMc/ZI= +github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.126 h1:Vt4/3Xkf0winIwfBuh0ja2zK4YeBY/6Q8SCON4I/ybg= +github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.126/go.mod h1:s4r/lhVEU5s0c6tCgpR0hK6FHEmX0cbrKcMU1pMc/ZI= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1 h1:aFJWCqJMNjENlcleuuOkGAPH82y0yULBScfXcIEdS24= diff --git a/router/internal/persistedoperation/apq/client.go b/router/internal/persistedoperation/apq/client.go index 935e8e4ade..86a50995bf 100644 --- a/router/internal/persistedoperation/apq/client.go +++ b/router/internal/persistedoperation/apq/client.go @@ -22,7 +22,7 @@ type Client interface { type KVClient interface { // Get retrieves the operation body from the KV store with the given operation hash as the key - Get(ctx context.Context, clientName, operationHash string) ([]byte, error) + Get(ctx context.Context, operationHash string) ([]byte, error) // Set saves the operation body in the KV store with the given operation hash as the key and the ttl in seconds Set(ctx context.Context, operationHash string, operationBody []byte, ttl int) error // Close closes the KV store connection @@ -70,10 +70,11 @@ func (c *client) Enabled() bool { func (c *client) PersistedOperation(ctx context.Context, clientName string, sha256Hash string) ([]byte, error) { if c.kvClient != nil { - return c.kvClient.Get(ctx, clientName, sha256Hash) + return c.kvClient.Get(ctx, sha256Hash) } - return c.cache.Get(clientName, sha256Hash), nil + // we don't use the client name in the APQ cache, because operations should be persisted across all clients + return c.cache.Get("", sha256Hash), nil } func (c *client) SaveOperation(ctx context.Context, clientName, sha256Hash string, operationBody []byte) error { @@ -81,7 +82,8 @@ func (c *client) SaveOperation(ctx context.Context, clientName, sha256Hash strin return c.kvClient.Set(ctx, sha256Hash, operationBody, c.ttl) } - c.cache.Set(clientName, sha256Hash, operationBody, c.ttl) + // we don't use the client name in the APQ cache, because operations should be persisted across all clients + c.cache.Set("", sha256Hash, operationBody, c.ttl) return nil } diff --git a/router/internal/persistedoperation/apq/redis.go b/router/internal/persistedoperation/apq/redis.go index 433dc9db3b..6911e07d8b 100644 --- a/router/internal/persistedoperation/apq/redis.go +++ b/router/internal/persistedoperation/apq/redis.go @@ -44,7 +44,7 @@ func NewRedisClient(opts *RedisOptions) (KVClient, error) { return rclient, nil } -func (r *redisClient) Get(ctx context.Context, clientName, operationHash string) ([]byte, error) { +func (r *redisClient) Get(ctx context.Context, operationHash string) ([]byte, error) { cmd := r.client.Get(ctx, r.prefix+operationHash) if errors.Is(cmd.Err(), redis.Nil) { return nil, nil diff --git a/router/package.json b/router/package.json index 9aa1527bee..d69430d63f 100644 --- a/router/package.json +++ b/router/package.json @@ -1,6 +1,6 @@ { "name": "router", - "version": "0.140.2", + "version": "0.143.2", "private": true, "description": "Placeholder package to simplify versioning and releasing with lerna.", "keywords": [ diff --git a/router/pkg/config/config.go b/router/pkg/config/config.go index 33ba637376..bcef5b353f 100644 --- a/router/pkg/config/config.go +++ b/router/pkg/config/config.go @@ -30,8 +30,8 @@ type CustomStaticAttribute struct { } type CustomDynamicAttribute struct { - RequestHeader string `yaml:"request_header"` - ContextField string `yaml:"context_field"` + RequestHeader string `yaml:"request_header,omitempty"` + ContextField string `yaml:"context_field,omitempty"` } type CustomAttribute struct { @@ -107,9 +107,11 @@ type Metrics struct { } type MetricsOTLP struct { - Enabled bool `yaml:"enabled" envDefault:"true" env:"METRICS_OTLP_ENABLED"` - RouterRuntime bool `yaml:"router_runtime" envDefault:"true" env:"METRICS_OTLP_ROUTER_RUNTIME"` - Exporters []MetricsOTLPExporter `yaml:"exporters"` + Enabled bool `yaml:"enabled" envDefault:"true" env:"METRICS_OTLP_ENABLED"` + RouterRuntime bool `yaml:"router_runtime" envDefault:"true" env:"METRICS_OTLP_ROUTER_RUNTIME"` + ExcludeMetrics RegExArray `yaml:"exclude_metrics,omitempty" env:"METRICS_OTLP_EXCLUDE_METRICS"` + ExcludeMetricLabels RegExArray `yaml:"exclude_metric_labels,omitempty" env:"METRICS_OTLP_EXCLUDE_METRIC_LABELS"` + Exporters []MetricsOTLPExporter `yaml:"exporters"` } type Telemetry struct { @@ -225,6 +227,8 @@ type RequestHeaderRule struct { Name string `yaml:"name"` // Value is the value of the header to set Value string `yaml:"value"` + // ValueFrom is the context field to get the value from, in propagating to subgraphs + ValueFrom *CustomDynamicAttribute `yaml:"value_from,omitempty"` } func (r *RequestHeaderRule) GetOperation() HeaderRuleOperation { @@ -302,36 +306,60 @@ type EngineExecutionConfiguration struct { EnableRequestTracing bool `envDefault:"true" env:"ENGINE_ENABLE_REQUEST_TRACING" yaml:"enable_request_tracing"` EnableExecutionPlanCacheResponseHeader bool `envDefault:"false" env:"ENGINE_ENABLE_EXECUTION_PLAN_CACHE_RESPONSE_HEADER" yaml:"enable_execution_plan_cache_response_header"` MaxConcurrentResolvers int `envDefault:"32" env:"ENGINE_MAX_CONCURRENT_RESOLVERS" yaml:"max_concurrent_resolvers,omitempty"` - EnableWebSocketEpollKqueue bool `envDefault:"true" env:"ENGINE_ENABLE_WEBSOCKET_EPOLL_KQUEUE" yaml:"enable_websocket_epoll_kqueue"` - EpollKqueuePollTimeout time.Duration `envDefault:"1s" env:"ENGINE_EPOLL_KQUEUE_POLL_TIMEOUT" yaml:"epoll_kqueue_poll_timeout,omitempty"` - EpollKqueueConnBufferSize int `envDefault:"128" env:"ENGINE_EPOLL_KQUEUE_CONN_BUFFER_SIZE" yaml:"epoll_kqueue_conn_buffer_size,omitempty"` - WebSocketReadTimeout time.Duration `envDefault:"5s" env:"ENGINE_WEBSOCKET_READ_TIMEOUT" yaml:"websocket_read_timeout,omitempty"` - ExecutionPlanCacheSize int64 `envDefault:"1024" env:"ENGINE_EXECUTION_PLAN_CACHE_SIZE" yaml:"execution_plan_cache_size,omitempty"` + EnableNetPoll bool `envDefault:"true" env:"ENGINE_ENABLE_NET_POLL" yaml:"enable_net_poll"` + WebSocketClientPollTimeout time.Duration `envDefault:"1s" env:"ENGINE_WEBSOCKET_CLIENT_POLL_TIMEOUT" yaml:"websocket_client_poll_timeout,omitempty"` + WebSocketClientConnBufferSize int `envDefault:"128" env:"ENGINE_WEBSOCKET_CLIENT_CONN_BUFFER_SIZE" yaml:"websocket_client_conn_buffer_size,omitempty"` + WebSocketClientReadTimeout time.Duration `envDefault:"5s" env:"ENGINE_WEBSOCKET_CLIENT_READ_TIMEOUT" yaml:"websocket_client_read_timeout,omitempty"` + ExecutionPlanCacheSize int64 `envDefault:"10240" env:"ENGINE_EXECUTION_PLAN_CACHE_SIZE" yaml:"execution_plan_cache_size,omitempty"` MinifySubgraphOperations bool `envDefault:"true" env:"ENGINE_MINIFY_SUBGRAPH_OPERATIONS" yaml:"minify_subgraph_operations"` EnablePersistedOperationsCache bool `envDefault:"true" env:"ENGINE_ENABLE_PERSISTED_OPERATIONS_CACHE" yaml:"enable_persisted_operations_cache"` EnableNormalizationCache bool `envDefault:"true" env:"ENGINE_ENABLE_NORMALIZATION_CACHE" yaml:"enable_normalization_cache"` - NormalizationCacheSize int64 `envDefault:"1024" env:"ENGINE_NORMALIZATION_CACHE_SIZE" yaml:"normalization_cache_size,omitempty"` + NormalizationCacheSize int64 `envDefault:"10240" env:"ENGINE_NORMALIZATION_CACHE_SIZE" yaml:"normalization_cache_size,omitempty"` OperationHashCacheSize int64 `envDefault:"2048" env:"ENGINE_OPERATION_HASH_CACHE_SIZE" yaml:"operation_hash_cache_size,omitempty"` ParseKitPoolSize int `envDefault:"16" env:"ENGINE_PARSEKIT_POOL_SIZE" yaml:"parsekit_pool_size,omitempty"` EnableValidationCache bool `envDefault:"true" env:"ENGINE_ENABLE_VALIDATION_CACHE" yaml:"enable_validation_cache"` - ValidationCacheSize int64 `envDefault:"1024" env:"ENGINE_VALIDATION_CACHE_SIZE" yaml:"validation_cache_size,omitempty"` + ValidationCacheSize int64 `envDefault:"10240" env:"ENGINE_VALIDATION_CACHE_SIZE" yaml:"validation_cache_size,omitempty"` ResolverMaxRecyclableParserSize int `envDefault:"32768" env:"ENGINE_RESOLVER_MAX_RECYCLABLE_PARSER_SIZE" yaml:"resolver_max_recyclable_parser_size,omitempty"` } type SecurityConfiguration struct { - DepthLimit QueryDepthConfiguration `yaml:"depth_limit"` - BlockMutations bool `yaml:"block_mutations" envDefault:"false" env:"SECURITY_BLOCK_MUTATIONS"` - BlockSubscriptions bool `yaml:"block_subscriptions" envDefault:"false" env:"SECURITY_BLOCK_SUBSCRIPTIONS"` - BlockNonPersistedOperations bool `yaml:"block_non_persisted_operations" envDefault:"false" env:"SECURITY_BLOCK_NON_PERSISTED_OPERATIONS"` + BlockMutations bool `yaml:"block_mutations" envDefault:"false" env:"SECURITY_BLOCK_MUTATIONS"` + BlockSubscriptions bool `yaml:"block_subscriptions" envDefault:"false" env:"SECURITY_BLOCK_SUBSCRIPTIONS"` + BlockNonPersistedOperations bool `yaml:"block_non_persisted_operations" envDefault:"false" env:"SECURITY_BLOCK_NON_PERSISTED_OPERATIONS"` + ComplexityCalculationCache *ComplexityCalculationCache `yaml:"complexity_calculation_cache"` + ComplexityLimits *ComplexityLimits `yaml:"complexity_limits"` + DepthLimit *QueryDepthConfiguration `yaml:"depth_limit"` } type QueryDepthConfiguration struct { Enabled bool `yaml:"enabled" envDefault:"false" env:"SECURITY_QUERY_DEPTH_ENABLED"` Limit int `yaml:"limit,omitempty" envDefault:"0" env:"SECURITY_QUERY_DEPTH_LIMIT"` - CacheSize int64 `yaml:"cache_size,omitempty" envDefault:"1024" env:"SECURITY_QUERY_DEPTH_CACHE_SIZE"` + CacheSize int64 `yaml:"cache_size,omitempty" envDefault:"10240" env:"SECURITY_QUERY_DEPTH_CACHE_SIZE"` IgnorePersistedOperations bool `yaml:"ignore_persisted_operations,omitempty" envDefault:"false" env:"SECURITY_QUERY_DEPTH_IGNORE_PERSISTED_OPERATIONS"` } +type ComplexityCalculationCache struct { + Enabled bool `yaml:"enabled" envDefault:"false" env:"SECURITY_COMPLEXITY_CACHE_ENABLED"` + CacheSize int64 `yaml:"size,omitempty" envDefault:"10240" env:"SECURITY_COMPLEXITY_CACHE_SIZE"` +} + +type ComplexityLimits struct { + Depth *ComplexityLimit `yaml:"depth"` + TotalFields *ComplexityLimit `yaml:"total_fields"` + RootFields *ComplexityLimit `yaml:"root_fields"` + RootFieldAliases *ComplexityLimit `yaml:"root_field_aliases"` +} + +type ComplexityLimit struct { + Enabled bool `yaml:"enabled" envDefault:"false"` + Limit int `yaml:"limit,omitempty" envDefault:"0"` + IgnorePersistedOperations bool `yaml:"ignore_persisted_operations,omitempty" envDefault:"false"` +} + +func (c *ComplexityLimit) ApplyLimit(isPersistent bool) bool { + return c.Enabled && (!isPersistent || isPersistent && !c.IgnorePersistedOperations) +} + type OverrideRoutingURLConfiguration struct { Subgraphs map[string]string `yaml:"subgraphs"` } @@ -581,6 +609,11 @@ type BaseStorageProvider struct { URL string `yaml:"url,omitempty" envDefault:"https://cosmo-cdn.wundergraph.com"` } +type RedisStorageProvider struct { + ID string `yaml:"id,omitempty" env:"STORAGE_PROVIDER_REDIS_ID"` + URL string `yaml:"url,omitempty" env:"STORAGE_PROVIDER_REDIS_URL"` +} + type PersistedOperationsCDNProvider struct { URL string `yaml:"url,omitempty" envDefault:"https://cosmo-cdn.wundergraph.com"` } diff --git a/router/pkg/config/config.schema.json b/router/pkg/config/config.schema.json index 4e5cf83142..a70531b94e 100644 --- a/router/pkg/config/config.schema.json +++ b/router/pkg/config/config.schema.json @@ -883,6 +883,20 @@ }, "required": ["exporter", "endpoint"] } + }, + "exclude_metrics": { + "type": "array", + "description": "The metrics to exclude from the OTEL metrics. Accepts a list of Go regular expressions. Use https://regex101.com/ to test your regular expressions.", + "items": { + "type": "string" + } + }, + "exclude_metric_labels": { + "type": "array", + "description": "The metric labels to exclude from the OTEL metrics. Accepts a list of Go regular expressions. Use https://regex101.com/ to test your regular expressions.", + "items": { + "type": "string" + } } } }, @@ -1702,9 +1716,126 @@ "default": false, "description": "Block non-persisted Operations. If the value is true, the non-persisted operations are blocked." }, + "complexity_calculation_cache": { + "type": "object", + "description": "The configuration for the complexity calculation cache. The complexity calculation cache is used to cache the complexity calculation for the queries.", + "additionalProperties": false, + "properties": { + "enabled": { + "type": "boolean", + "default": true, + "description": "Enable the complexity calculation cache. If the value is true, the complexity calculation cache is enabled." + }, + "size": { + "type": "integer", + "default": 10240, + "description": "The size of the cache for the complexity calculation." + } + } + }, + "complexity_limits": { + "type": "object", + "description": "The configuration for complexity limits for queries", + "additionalProperties": false, + "properties": { + "depth": { + "type": "object", + "description": "The configuration for adding a max depth limit for query (how many nested levels you can have in a query). This limit prevents infinite querying, and also limits the size of the data returned. If the limit is 0, this limit isn't applied.", + "additionalProperties": false, + "properties": { + "enabled": { + "type": "boolean", + "default": false, + "description": "Enable query depth limits. If the value is true (default: false), and a valid limit value is set, a query depth will be calculated for your requests, and a limit applied to the queries." + }, + "limit": { + "type": "integer", + "description": "The depth limit for query. If the limit is 0, this limit isn't applied.", + "default": 0, + "minimum": 0 + }, + "ignore_persisted_operations": { + "type": "boolean", + "description": "Disable the max query depth limit for persisted operations. Since persisted operations are stored intentionally, users may want to disable the limit to consciously allow nested persisted operations.", + "default": false + } + } + }, + "total_fields": { + "type": "object", + "description": "How many total fields are allowed to be in a particular query. This limit prevents queries from becoming too large.", + "additionalProperties": false, + "properties": { + "enabled": { + "type": "boolean", + "default": false, + "description": "Enable the total field limit." + }, + "limit": { + "type": "integer", + "description": "The field limit for query. If the limit is 0, this limit isn't applied.", + "default": 0, + "minimum": 0 + }, + "ignore_persisted_operations": { + "type": "boolean", + "description": "Disable the total field limit for persisted operations. Since persisted operations are stored intentionally, users may want to disable the limit to consciously allow nested persisted operations.", + "default": false + } + } + }, + "root_fields": { + "type": "object", + "description": "How many root fields are allowed in a query.", + "additionalProperties": false, + "properties": { + "enabled": { + "type": "boolean", + "default": false, + "description": "Enable the root field query limit." + }, + "limit": { + "type": "integer", + "description": "The root field limit for query. If the limit is 0, this limit isn't applied.", + "default": 0, + "minimum": 0 + }, + "ignore_persisted_operations": { + "type": "boolean", + "description": "Disable the root fieldlimit for persisted operations. Since persisted operations are stored intentionally, users may want to disable the limit to consciously allow nested persisted operations.", + "default": false + } + } + }, + "root_field_aliases": { + "type": "object", + "description": "How many root field aliases are allowed in a query.", + "additionalProperties": false, + "properties": { + "enabled": { + "type": "boolean", + "default": false, + "description": "Enable the root field alias query limit." + }, + "limit": { + "type": "integer", + "description": "The root field alias limit for query. If the limit is 0, this limit isn't applied.", + "default": 0, + "minimum": 0 + }, + "ignore_persisted_operations": { + "type": "boolean", + "description": "Disable the root field alias limit for persisted operations. Since persisted operations are stored intentionally, users may want to disable the limit to consciously allow nested persisted operations.", + "default": false + } + } + } + } + }, "depth_limit": { "type": "object", - "description": "The configuration for adding a max depth limit for query (how many nested levels you can have in a query). This limit prevents infinite querying, and also limits the size of the data returned. If the limit is 0, this limit isn't applied.", + "description": "DEPRECATED (move to complexity_limits.depth): The configuration for adding a max depth limit for query (how many nested levels you can have in a query).", + "deprecated": true, "additionalProperties": false, "properties": { "enabled": { @@ -1720,7 +1851,7 @@ }, "cache_size": { "type": "integer", - "default": 1024, + "default": 10240, "description": "The size of the cache for query depth. If users set a max_query_depth, we cache the decision per query." }, "ignore_persisted_operations": { @@ -1825,31 +1956,31 @@ "description": "The maximum number of concurrent resolvers.", "default": 32 }, - "enable_websocket_epoll_kqueue": { + "enable_net_poll": { "type": "boolean", - "description": "Enable the websocket epoll kqueue. The websocket epoll kqueue is used to optimize the websocket connections. Only available on Linux and MacOS.", + "description": "Enables the more efficient poll implementation for all WebSocket implementations (client, server) of the router. This is only available on Linux and MacOS. On Windows or when the host system is limited, the default synchronous implementation is used.", "default": true }, - "epoll_kqueue_poll_timeout": { + "websocket_client_poll_timeout": { "type": "string", "format": "go-duration", "default": "1s", - "description": "The timeout for the epoll kqueue poll. The period is specified as a string with a number and a unit, e.g. 10ms, 1s, 1m, 1h. The supported units are 'ms', 's', 'm', 'h'." + "description": "The timeout for the poll loop of the WebSocket client implementation. The period is specified as a string with a number and a unit, e.g. 10ms, 1s, 1m, 1h. The supported units are 'ms', 's', 'm', 'h'." }, - "epoll_kqueue_conn_buffer_size": { + "websocket_client_conn_buffer_size": { "type": "integer", "default": 128, - "description": "The buffer size for the epoll kqueue connection." + "description": "The buffer size for the poll buffer of the WebSocket client implementation. The buffer size determines how many connections can be handled in one loop." }, - "websocket_read_timeout": { + "websocket_client_read_timeout": { "type": "string", "format": "go-duration", "default": "5s", - "description": "The timeout for the websocket read. The period is specified as a string with a number and a unit, e.g. 10ms, 1s, 1m, 1h. The supported units are 'ms', 's', 'm', 'h'." + "description": "The timeout for the websocket read of the WebSocket client implementation. The period is specified as a string with a number and a unit, e.g. 10ms, 1s, 1m, 1h. The supported units are 'ms', 's', 'm', 'h'." }, "execution_plan_cache_size": { "type": "integer", - "default": 1024, + "default": 10240, "description": "The size of the execution plan cache." }, "operation_hash_cache_size": { @@ -1874,7 +2005,7 @@ }, "normalization_cache_size": { "type": "integer", - "default": 1024, + "default": 10240, "description": "The size of the normalization cache." }, "parsekit_pool_size": { @@ -1894,7 +2025,7 @@ }, "validation_cache_size": { "type": "integer", - "default": 1024, + "default": 10240, "description": "The size of the validation cache." } } @@ -2142,9 +2273,24 @@ "type": "string", "examples": ["My-Secret-Value"], "description": "The value to set for the header. This can include environment variables." + }, + "value_from": { + "type": "object", + "description": "The configuration for the value from. The value from is used to extract a value from a request context and propagate it to subgraphs. This is currently only valid in requests", + "additionalProperties": false, + "required": ["context_field"], + "properties": { + "context_field": { + "type": "string", + "description": "The field name of the context from which to extract the value. The value is only extracted when a context is available otherwise the default value is used.", + "enum": [ + "operation_name" + ] + } + } } }, - "required": ["op", "name", "value"] + "required": ["op", "name"] } } } diff --git a/router/pkg/config/fixtures/full.yaml b/router/pkg/config/fixtures/full.yaml index 0982253e78..6106df03d0 100644 --- a/router/pkg/config/fixtures/full.yaml +++ b/router/pkg/config/fixtures/full.yaml @@ -87,6 +87,8 @@ telemetry: otlp: enabled: true router_runtime: true + exclude_metric_labels: [] + exclude_metrics: [] # If no exporters are defined, the default one is used exporters: - exporter: http # or grpc @@ -162,6 +164,10 @@ headers: - op: "set" name: "X-API-Key" value: "some-secret" + - op: "set" + name: "x-operation-name" + value_from: + context_field: "operation_name" response: - op: "propagate" algorithm: "append" @@ -225,10 +231,10 @@ engine: enable_request_tracing: true enable_execution_plan_cache_response_header: false max_concurrent_resolvers: 32 - enable_websocket_epoll_kqueue: true - epoll_kqueue_poll_timeout: "1s" - epoll_kqueue_conn_buffer_size: 128 - websocket_read_timeout: "5s" + enable_net_poll: true + websocket_client_poll_timeout: "1s" + websocket_client_conn_buffer_size: 128 + websocket_client_read_timeout: "5s" execution_plan_cache_size: 1024 resolver_max_recyclable_parser_size: 4096 debug: @@ -294,6 +300,27 @@ storage_providers: - id: "my_redis" url: "redis://:test@localhost:6379" +security: + complexity_calculation_cache: + enabled: true + size: 1024 + complexity_limits: + depth: + enabled: true + limit: 5 + ignore_persisted_operations: true + total_fields: + enabled: true + limit: 7 + ignore_persisted_operations: true + root_fields: + enabled: true + limit: 3 + ignore_persisted_operations: true + root_field_aliases: + enabled: true + limit: 4 + ignore_persisted_operations: true persisted_operations: cache: size: 100MB diff --git a/router/pkg/config/testdata/config_defaults.json b/router/pkg/config/testdata/config_defaults.json index 0c4a499520..a4ae980482 100644 --- a/router/pkg/config/testdata/config_defaults.json +++ b/router/pkg/config/testdata/config_defaults.json @@ -33,6 +33,8 @@ "OTLP": { "Enabled": true, "RouterRuntime": true, + "ExcludeMetrics": null, + "ExcludeMetricLabels": null, "Exporters": null }, "Prometheus": { @@ -198,15 +200,12 @@ "Subgraphs": null }, "SecurityConfiguration": { - "DepthLimit": { - "Enabled": false, - "Limit": 0, - "CacheSize": 1024, - "IgnorePersistedOperations": false - }, "BlockMutations": false, "BlockSubscriptions": false, - "BlockNonPersistedOperations": false + "BlockNonPersistedOperations": false, + "ComplexityCalculationCache": null, + "ComplexityLimits": null, + "DepthLimit": null }, "EngineExecutionConfiguration": { "Debug": { @@ -231,19 +230,19 @@ "EnableRequestTracing": true, "EnableExecutionPlanCacheResponseHeader": false, "MaxConcurrentResolvers": 32, - "EnableWebSocketEpollKqueue": true, - "EpollKqueuePollTimeout": 1000000000, - "EpollKqueueConnBufferSize": 128, - "WebSocketReadTimeout": 5000000000, - "ExecutionPlanCacheSize": 1024, + "EnableNetPoll": true, + "WebSocketClientPollTimeout": 1000000000, + "WebSocketClientConnBufferSize": 128, + "WebSocketClientReadTimeout": 5000000000, + "ExecutionPlanCacheSize": 10240, "MinifySubgraphOperations": true, "EnablePersistedOperationsCache": true, "EnableNormalizationCache": true, - "NormalizationCacheSize": 1024, + "NormalizationCacheSize": 10240, "OperationHashCacheSize": 2048, "ParseKitPoolSize": 16, "EnableValidationCache": true, - "ValidationCacheSize": 1024, + "ValidationCacheSize": 10240, "ResolverMaxRecyclableParserSize": 32768 }, "WebSocket": { diff --git a/router/pkg/config/testdata/config_full.json b/router/pkg/config/testdata/config_full.json index c924e3bf05..072d647fb2 100644 --- a/router/pkg/config/testdata/config_full.json +++ b/router/pkg/config/testdata/config_full.json @@ -43,6 +43,8 @@ "OTLP": { "Enabled": true, "RouterRuntime": true, + "ExcludeMetrics": null, + "ExcludeMetricLabels": null, "Exporters": [ { "Disabled": false, @@ -130,7 +132,8 @@ "Rename": "", "Default": "", "Name": "", - "Value": "" + "Value": "", + "ValueFrom": null }, { "Operation": "propagate", @@ -139,7 +142,8 @@ "Rename": "", "Default": "", "Name": "", - "Value": "" + "Value": "", + "ValueFrom": null }, { "Operation": "propagate", @@ -148,7 +152,8 @@ "Rename": "", "Default": "123", "Name": "", - "Value": "" + "Value": "", + "ValueFrom": null }, { "Operation": "set", @@ -157,7 +162,21 @@ "Rename": "", "Default": "", "Name": "X-API-Key", - "Value": "some-secret" + "Value": "some-secret", + "ValueFrom": null + }, + { + "Operation": "set", + "Matching": "", + "Named": "", + "Rename": "", + "Default": "", + "Name": "x-operation-name", + "Value": "", + "ValueFrom": { + "RequestHeader": "", + "ContextField": "operation_name" + } } ], "Response": [ @@ -183,7 +202,8 @@ "Rename": "", "Default": "some-secret", "Name": "", - "Value": "" + "Value": "", + "ValueFrom": null } ], "Response": [ @@ -359,15 +379,36 @@ } }, "SecurityConfiguration": { - "DepthLimit": { - "Enabled": false, - "Limit": 0, - "CacheSize": 1024, - "IgnorePersistedOperations": false - }, "BlockMutations": false, "BlockSubscriptions": false, - "BlockNonPersistedOperations": false + "BlockNonPersistedOperations": false, + "ComplexityCalculationCache": { + "Enabled": true, + "CacheSize": 1024 + }, + "ComplexityLimits": { + "Depth": { + "Enabled": true, + "Limit": 5, + "IgnorePersistedOperations": true + }, + "TotalFields": { + "Enabled": true, + "Limit": 7, + "IgnorePersistedOperations": true + }, + "RootFields": { + "Enabled": true, + "Limit": 3, + "IgnorePersistedOperations": true + }, + "RootFieldAliases": { + "Enabled": true, + "Limit": 4, + "IgnorePersistedOperations": true + } + }, + "DepthLimit": null }, "EngineExecutionConfiguration": { "Debug": { @@ -392,19 +433,19 @@ "EnableRequestTracing": true, "EnableExecutionPlanCacheResponseHeader": false, "MaxConcurrentResolvers": 32, - "EnableWebSocketEpollKqueue": true, - "EpollKqueuePollTimeout": 1000000000, - "EpollKqueueConnBufferSize": 128, - "WebSocketReadTimeout": 5000000000, + "EnableNetPoll": true, + "WebSocketClientPollTimeout": 1000000000, + "WebSocketClientConnBufferSize": 128, + "WebSocketClientReadTimeout": 5000000000, "ExecutionPlanCacheSize": 1024, "MinifySubgraphOperations": true, "EnablePersistedOperationsCache": true, "EnableNormalizationCache": true, - "NormalizationCacheSize": 1024, + "NormalizationCacheSize": 10240, "OperationHashCacheSize": 2048, "ParseKitPoolSize": 16, "EnableValidationCache": true, - "ValidationCacheSize": 1024, + "ValidationCacheSize": 10240, "ResolverMaxRecyclableParserSize": 4096 }, "WebSocket": { diff --git a/router/pkg/cors/config.go b/router/pkg/cors/config.go index ee6c536fb2..136953c145 100644 --- a/router/pkg/cors/config.go +++ b/router/pkg/cors/config.go @@ -17,7 +17,8 @@ type cors struct { } var ( - DefaultSchemas = []string{ + maxRecursionDepth = 10 // Safeguard against deep recursion + DefaultSchemas = []string{ "http://", "https://", } @@ -97,22 +98,6 @@ func (cors *cors) ServeHTTP(w http.ResponseWriter, r *http.Request) { } } -func (cors *cors) validateWildcardOrigin(origin string) bool { - for _, w := range cors.wildcardOrigins { - if w[0] == "*" && strings.HasSuffix(origin, w[1]) { - return true - } - if w[1] == "*" && strings.HasPrefix(origin, w[0]) { - return true - } - if strings.HasPrefix(origin, w[0]) && strings.HasSuffix(origin, w[1]) { - return true - } - } - - return false -} - func (cors *cors) validateOrigin(origin string) bool { if cors.allowAllOrigins { return true @@ -131,6 +116,58 @@ func (cors *cors) validateOrigin(origin string) bool { return false } +func (cors *cors) validateWildcardOrigin(origin string) bool { + for _, w := range cors.wildcardOrigins { + if matchOriginWithRule(origin, w, 0, map[string]bool{}) { + return true + } + } + return false +} + +// Recursive helper function with depth limit and memoization +func matchOriginWithRule(origin string, rule []string, depth int, memo map[string]bool) bool { + if depth > maxRecursionDepth { + return false // Exceeded recursion depth + } + + // Memoization key + key := origin + "|" + strings.Join(rule, "|") + if val, exists := memo[key]; exists { + return val + } + + if len(rule) == 0 { + // Successfully matched if origin is also fully consumed + return origin == "" + } + + part := rule[0] + + if part == "*" { + // Try to match the remaining rule by advancing in origin + for i := 0; i <= len(origin); i++ { + if matchOriginWithRule(origin[i:], rule[1:], depth+1, memo) { + memo[key] = true + return true + } + } + memo[key] = false + return false + } + + // Check if the origin starts with the current part + if strings.HasPrefix(origin, part) { + // Recursively check the rest of the origin and rule + result := matchOriginWithRule(origin[len(part):], rule[1:], depth+1, memo) + memo[key] = result + return result + } + + memo[key] = false + return false +} + func (cors *cors) handlePreflight(w http.ResponseWriter) { header := w.Header() for key, value := range cors.preflightHeaders { diff --git a/router/pkg/cors/cors.go b/router/pkg/cors/cors.go index 0728c6132c..f81a16288b 100644 --- a/router/pkg/cors/cors.go +++ b/router/pkg/cors/cors.go @@ -43,9 +43,6 @@ type Config struct { // can be cached MaxAge time.Duration - // Allows to add origins like http://some-domain/*, https://api.* or http://some.*.subdomain.com - AllowWildcard bool - // Allows usage of popular browser extensions schemas AllowBrowserExtensions bool @@ -114,30 +111,32 @@ func (c *Config) Validate() error { func (c *Config) parseWildcardRules() [][]string { var wRules [][]string - if !c.AllowWildcard { - return wRules - } - for _, o := range c.AllowOrigins { if !strings.Contains(o, "*") { continue } - if c := strings.Count(o, "*"); c > 1 { - panic(errors.New("only one * is allowed").Error()) - } + // Split origin by wildcard (*) + parts := strings.Split(o, "*") - i := strings.Index(o, "*") - if i == 0 { - wRules = append(wRules, []string{"*", o[1:]}) + // If there’s no wildcard, skip this origin + if len(parts) == 1 { continue } - if i == (len(o) - 1) { - wRules = append(wRules, []string{o[:i-1], "*"}) - continue + + // Generate rules for origins with multiple wildcard segments + var rule []string + for i, part := range parts { + if i > 0 { + rule = append(rule, "*") // Add wildcard indicator between segments + } + if part != "" { + rule = append(rule, part) + } } - wRules = append(wRules, []string{o[:i], o[i+1:]}) + // Add parsed rule to wRules + wRules = append(wRules, rule) } return wRules diff --git a/router/pkg/cors/cors_test.go b/router/pkg/cors/cors_test.go index 0f24c76611..bb964be43e 100644 --- a/router/pkg/cors/cors_test.go +++ b/router/pkg/cors/cors_test.go @@ -262,7 +262,6 @@ func TestValidateOrigin(t *testing.T) { "*.some-domain.com", }, AllowBrowserExtensions: true, - AllowWildcard: true, }) assert.True(t, cors.validateOrigin("chrome-extension://random-extension-id")) assert.True(t, cors.validateOrigin("chrome-extension://another-one")) @@ -291,6 +290,39 @@ func TestValidateOrigin(t *testing.T) { assert.True(t, cors.validateOrigin("https://google.com")) assert.True(t, cors.validateOrigin("example.com")) assert.True(t, cors.validateOrigin("chrome-extension://random-extension-id")) + + // Wildcards + cors = newCors(nil, Config{ + Enabled: true, + AllowOrigins: []string{ + "https://*.wgexample.com", + "https://wgexample.com", + "https://*.wgexample.io:*", + "https://*.wgexample.org", + "https://*.d2grknavcceso7.amplifyapp.com", + }, + }) + // Matching cases for "*.wgexample.com" wildcard + assert.True(t, cors.validateOrigin("https://subdomain.wgexample.com")) + assert.True(t, cors.validateOrigin("https://another.subdomain.wgexample.com")) + assert.True(t, cors.validateOrigin("https://unauthorized.wgexample.com")) + + assert.True(t, cors.validateOrigin("https://wgexample.com")) + + assert.True(t, cors.validateOrigin("https://subdomain.wgexample.io:443")) + assert.True(t, cors.validateOrigin("https://api.wgexample.io:8080")) + + assert.True(t, cors.validateOrigin("https://project.wgexample.org")) + assert.True(t, cors.validateOrigin("https://beta.wgexample.org")) + + assert.True(t, cors.validateOrigin("https://service.d2grknavcceso7.amplifyapp.com")) + assert.True(t, cors.validateOrigin("https://prod.d2grknavcceso7.amplifyapp.com")) + assert.True(t, cors.validateOrigin("https://otherdomain.second.d2grknavcceso7.amplifyapp.com")) + + assert.False(t, cors.validateOrigin("https://random.com")) + assert.False(t, cors.validateOrigin("https://wgexample.io")) + assert.False(t, cors.validateOrigin("https://wgexample.org")) + assert.False(t, cors.validateOrigin("http://subdomain.wgexample.com")) // Different scheme (http instead of https) } func TestPassesAllowOrigins(t *testing.T) { @@ -343,7 +375,7 @@ func TestPassesAllowOrigins(t *testing.T) { assert.Empty(t, w.Header().Get("Access-Control-Allow-Credentials")) assert.Empty(t, w.Header().Get("Access-Control-Expose-Headers")) - // allowed CORS prefligh request + // allowed CORS preflight request w = performRequest(router, "OPTIONS", "http://github.com") assert.Equal(t, http.StatusNoContent, w.Code) assert.Equal(t, "http://github.com", w.Header().Get("Access-Control-Allow-Origin")) @@ -352,7 +384,7 @@ func TestPassesAllowOrigins(t *testing.T) { assert.Equal(t, "Content-Type,Timestamp", w.Header().Get("Access-Control-Allow-Headers")) assert.Equal(t, "43200", w.Header().Get("Access-Control-Max-Age")) - // deny CORS prefligh request + // deny CORS preflight request w = performRequest(router, "OPTIONS", "http://example.com") assert.Equal(t, http.StatusForbidden, w.Code) assert.Empty(t, w.Header().Get("Access-Control-Allow-Origin")) @@ -401,10 +433,9 @@ func TestPassesAllowAllOrigins(t *testing.T) { func TestWildcard(t *testing.T) { router := newTestRouter(Config{ - Enabled: true, - AllowOrigins: []string{"https://*.github.com", "https://api.*", "http://*", "https://facebook.com", "*.golang.org"}, - AllowMethods: []string{"GET"}, - AllowWildcard: true, + Enabled: true, + AllowOrigins: []string{"https://*.github.com", "https://api.*", "http://*", "https://facebook.com", "*.golang.org"}, + AllowMethods: []string{"GET"}, }) w := performRequest(router, "GET", "https://gist.github.com") @@ -441,12 +472,81 @@ func TestWildcard(t *testing.T) { assert.Equal(t, 200, w.Code) } +func TestComplexWildcards(t *testing.T) { + router := newTestRouter(Config{ + Enabled: true, + AllowOrigins: []string{ + "https://*.wgexample.com", + "https://wgexample.com", + "https://*.wgexample.io:*", + "https://*.wgexample.org", + "https://*.d2grknavcceso7.amplifyapp.com", + "https://*.example.*.*.com", // multiple sequential wildcards + "https://*.*.*.*.com", + }, + AllowMethods: []string{"GET"}, + }) + + type testCases struct { + origin string + expectedCode int + } + + testCasesList := []testCases{ + {"https://subdomain.wgexample.com", 200}, + {"https://another.subdomain.wgexample.com", 200}, + {"https://another.wgexample.subdomain.wgexample.com", 200}, + // Specfically test backtracking, to make sure not only greedy solution + {"https://another.wgexample.subdomain.with.wgexample.wgexample.com", 200}, + // Complex backtracking which should fail in the end + {"https://another.wgexample.subdomain.with.wgexample.wgexample.io", 403}, + {"https://wgexample.com", 200}, + {"https://subdomain.wgexample.io:443", 200}, + {"https://api.wgexample.io:8080", 200}, + {"https://project.wgexample.org", 200}, + {"https://beta.wgexample.org", 200}, + {"https://service.d2grknavcceso7.amplifyapp.com", 200}, + {"https://prod.d2grknavcceso7.amplifyapp.com", 200}, + {"https://otherdomain.second.d2grknavcceso7.amplifyapp.com", 200}, + {"https://random.com", 403}, + {"https://wgexample.io", 403}, + {"https://wgexample.org", 403}, + {"http://subdomain.wgexample.com", 403}, + {"https://api.example.sub.domain.com", 200}, + {"https://service.example.co.uk.com", 200}, + {"https://api.example.domain.com", 403}, + {"https://a.b.c.d.e.com", 200}, + } + for _, tc := range testCasesList { + w := performRequest(router, "GET", tc.origin) + assert.Equal(t, tc.expectedCode, w.Code) + } +} + +func TestMaxRecursionDepth(t *testing.T) { + router := newTestRouter(Config{ + Enabled: true, + AllowOrigins: []string{ + "https://*.example.*.*.com", // multiple sequential wildcards + "https://*.*.*.*.com", + }, + AllowMethods: []string{"GET"}, + }) + + maxRecursionDepth = 2 + w := performRequest(router, "GET", "https://subdomain.example.subdomain.example.com") + assert.Equal(t, 403, w.Code) + + maxRecursionDepth = 10 + w = performRequest(router, "GET", "https://subdomain.example.subdomain.example.com") + assert.Equal(t, 200, w.Code) +} + func TestDisabled(t *testing.T) { config := Config{ - Enabled: true, - AllowOrigins: []string{"https://api.*"}, - AllowMethods: []string{"GET"}, - AllowWildcard: true, + Enabled: true, + AllowOrigins: []string{"https://api.*"}, + AllowMethods: []string{"GET"}, } router := newTestRouter(config) @@ -460,3 +560,46 @@ func TestDisabled(t *testing.T) { w = performRequest(router, "GET", "https://a.test.com") assert.Equal(t, 200, w.Code) } + +func BenchmarkCorsWithoutWildcards(b *testing.B) { + b.ReportAllocs() + b.ResetTimer() + + b.Run("without wildcards", func(b *testing.B) { + router := newTestRouter(Config{ + Enabled: true, + AllowOrigins: []string{ + "https://*.wgexample.com", + "https://wgexample.com", + "https://*.wgexample.io:*", + "https://*.wgexample.org", + "https://*.d2grknavcceso7.amplifyapp.com", + "https://*.example.*.*.com", // multiple sequential wildcards + "https://*.*.*.*.com", + }, + AllowMethods: []string{"GET"}, + }) + + w := performRequest(router, "GET", "https://wgexample.com") + assert.Equal(b, 200, w.Code) + }) +} + +func BenchmarkCorsWithWildcards(b *testing.B) { + b.ReportAllocs() + b.ResetTimer() + + b.Run("with wildcards", func(b *testing.B) { + router := newTestRouter(Config{ + Enabled: true, + AllowOrigins: []string{ + "https://*.example.*.*.com", // multiple sequential wildcards + "https://*.*.*.*.com", + }, + AllowMethods: []string{"GET"}, + }) + + w := performRequest(router, "GET", "https://subdomain.test.example.subdomain.example.co.whatgoeshere.woohoo.com") + assert.Equal(b, 200, w.Code) + }) +} diff --git a/router/pkg/metric/config.go b/router/pkg/metric/config.go index 3a001d698b..d89d59812b 100644 --- a/router/pkg/metric/config.go +++ b/router/pkg/metric/config.go @@ -44,6 +44,10 @@ type OpenTelemetry struct { Enabled bool RouterRuntime bool Exporters []*OpenTelemetryExporter + // Metrics to exclude from the OTLP exporter. + ExcludeMetrics []*regexp.Regexp + // Metric labels to exclude from the OTLP exporter. + ExcludeMetricLabels []*regexp.Regexp // TestReader is used for testing purposes. If set, the reader will be used instead of the configured exporters. TestReader sdkmetric.Reader } diff --git a/router/pkg/metric/meter.go b/router/pkg/metric/meter.go index 9c6f5c92d5..dd3165ac48 100644 --- a/router/pkg/metric/meter.go +++ b/router/pkg/metric/meter.go @@ -386,30 +386,46 @@ func defaultOtlpMetricOptions(ctx context.Context, serviceInstanceID string, c * Boundaries: cloudOtelBytesBucketBounds, } + attributeFilter := func(value attribute.KeyValue) bool { + for _, re := range c.OpenTelemetry.ExcludeMetricLabels { + if re.MatchString(string(value.Key)) { + return false + } + } + return true + } + + var view sdkmetric.View = func(i sdkmetric.Instrument) (sdkmetric.Stream, bool) { + // In a custom View function, we need to explicitly copy the name, description, and unit. + s := sdkmetric.Stream{Name: i.Name, Description: i.Description, Unit: i.Unit} + + // Filter out metrics that match the excludeMetrics regexes + for _, re := range c.OpenTelemetry.ExcludeMetrics { + if re.MatchString(i.Name) { + // Drop the metric + s.Aggregation = sdkmetric.AggregationDrop{} + return s, true + } + } + + // Filter out attributes that match the excludeMetricAttributes regexes + s.AttributeFilter = attributeFilter + + if i.Unit == unitBytes && i.Kind == sdkmetric.InstrumentKindHistogram { + s.Aggregation = bytesBucketHistogram + } else if i.Unit == unitMilliseconds && i.Kind == sdkmetric.InstrumentKindHistogram { + s.Aggregation = msBucketHistogram + } + + return s, true + } + // Info: There can be only a single view per instrument. A view with less restriction might override a view. return []sdkmetric.Option{ // Record information about this application in a Resource. sdkmetric.WithResource(r), - // Use different histogram buckets for PrometheusConfig and OTLP - sdkmetric.WithView(sdkmetric.NewView( - sdkmetric.Instrument{ - Kind: sdkmetric.InstrumentKindHistogram, - Unit: unitMilliseconds, - }, - sdkmetric.Stream{ - Aggregation: msBucketHistogram, - }, - )), - sdkmetric.WithView(sdkmetric.NewView( - sdkmetric.Instrument{ - Kind: sdkmetric.InstrumentKindHistogram, - Unit: unitBytes, - }, - sdkmetric.Stream{ - Aggregation: bytesBucketHistogram, - }, - )), + sdkmetric.WithView(view), }, nil } diff --git a/router/pkg/otel/attributes.go b/router/pkg/otel/attributes.go index d0156e0e86..ff86b55056 100644 --- a/router/pkg/otel/attributes.go +++ b/router/pkg/otel/attributes.go @@ -35,8 +35,11 @@ const ( WgNormalizationCacheHit = attribute.Key("wg.engine.normalization_cache_hit") WgValidationCacheHit = attribute.Key("wg.engine.validation_cache_hit") WgVariablesValidationSkipped = attribute.Key("wg.engine.variables_validation_skipped") - WgQueryDepth = attribute.Key("wg.operation.query_depth") - WgQueryDepthCacheHit = attribute.Key("wg.operation.query_depth_cache_hit") + WgQueryDepth = attribute.Key("wg.operation.complexity.query_depth") + WgQueryTotalFields = attribute.Key("wg.operation.complexity.total_fields") + WgQueryRootFields = attribute.Key("wg.operation.complexity.root_fields") + WgQueryRootFieldAliases = attribute.Key("wg.operation.complexity.root_fields_aliases") + WgQueryDepthCacheHit = attribute.Key("wg.operation.complexity.cache_hit") WgResponseCacheControlReasons = attribute.Key("wg.operation.cache_control_reasons") WgResponseCacheControlWarnings = attribute.Key("wg.operation.cache_control_warnings") WgResponseCacheControlExpiration = attribute.Key("wg.operation.cache_control_expiration") diff --git a/shared/CHANGELOG.md b/shared/CHANGELOG.md index 489c6574de..48b71f0de5 100644 --- a/shared/CHANGELOG.md +++ b/shared/CHANGELOG.md @@ -4,6 +4,18 @@ Binaries are attached to the github release otherwise all images can be found [h All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.32.5](https://github.com/wundergraph/cosmo/compare/@wundergraph/cosmo-shared@0.32.4...@wundergraph/cosmo-shared@0.32.5) (2024-11-18) + +**Note:** Version bump only for package @wundergraph/cosmo-shared + +## [0.32.4](https://github.com/wundergraph/cosmo/compare/@wundergraph/cosmo-shared@0.32.3...@wundergraph/cosmo-shared@0.32.4) (2024-11-14) + +**Note:** Version bump only for package @wundergraph/cosmo-shared + +## [0.32.3](https://github.com/wundergraph/cosmo/compare/@wundergraph/cosmo-shared@0.32.2...@wundergraph/cosmo-shared@0.32.3) (2024-11-13) + +**Note:** Version bump only for package @wundergraph/cosmo-shared + ## [0.32.2](https://github.com/wundergraph/cosmo/compare/@wundergraph/cosmo-shared@0.32.1...@wundergraph/cosmo-shared@0.32.2) (2024-11-07) **Note:** Version bump only for package @wundergraph/cosmo-shared diff --git a/shared/package.json b/shared/package.json index 7ddb88b19c..1221f44c1f 100644 --- a/shared/package.json +++ b/shared/package.json @@ -1,6 +1,6 @@ { "name": "@wundergraph/cosmo-shared", - "version": "0.32.2", + "version": "0.32.5", "description": "Shared code between WunderGraph Cosmo packages", "main": "./dist/index.js", "type": "module", diff --git a/studio/CHANGELOG.md b/studio/CHANGELOG.md index 921567c7ee..aeed461548 100644 --- a/studio/CHANGELOG.md +++ b/studio/CHANGELOG.md @@ -4,6 +4,12 @@ Binaries are attached to the github release otherwise all images can be found [h All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.95.0](https://github.com/wundergraph/cosmo/compare/studio@0.94.3...studio@0.95.0) (2024-11-18) + +### Features + +* add pagination to operations page in check summary ([#1377](https://github.com/wundergraph/cosmo/issues/1377)) ([e61d4f1](https://github.com/wundergraph/cosmo/commit/e61d4f12873fe434d89c9069b8a1b1e3da225ebf)) (@JivusAyrus) + ## [0.94.3](https://github.com/wundergraph/cosmo/compare/studio@0.94.2...studio@0.94.3) (2024-11-05) ### Bug Fixes diff --git a/studio/package.json b/studio/package.json index 9903637d8c..832fb95fa5 100644 --- a/studio/package.json +++ b/studio/package.json @@ -1,6 +1,6 @@ { "name": "studio", - "version": "0.94.3", + "version": "0.95.0", "private": true, "license": "Apache-2.0", "description": "WunderGraph Cosmo Studio", diff --git a/studio/src/components/checks/operations.tsx b/studio/src/components/checks/operations.tsx index b8fae550ff..a7de97a897 100644 --- a/studio/src/components/checks/operations.tsx +++ b/studio/src/components/checks/operations.tsx @@ -53,11 +53,16 @@ import { useApplyParams } from "../analytics/use-apply-params"; import { Alert, AlertDescription, AlertTitle } from "../ui/alert"; import { Tooltip, TooltipContent, TooltipTrigger } from "../ui/tooltip"; import { OperationContentDialog } from "./operation-content"; +import { Pagination } from "../ui/pagination"; export const CheckOperations = () => { const graphContext = useContext(GraphContext); const router = useRouter(); const { toast } = useToast(); + const pageNumber = router.query.page + ? parseInt(router.query.page as string) + : 1; + const limit = Number.parseInt((router.query.pageSize as string) || "10"); const id = router.query.checkId as string; @@ -67,6 +72,8 @@ export const CheckOperations = () => { checkId: id, graphName: graphContext?.graph?.name, namespace: graphContext?.graph?.namespace, + limit: limit > 200 ? 200 : limit, + offset: (pageNumber - 1) * limit, }, { enabled: !!graphContext?.graph?.name, @@ -292,8 +299,10 @@ export const CheckOperations = () => { ); } + const noOfPages = Math.ceil(data.totalOperationsCount / limit); + return ( -
+
@@ -378,192 +387,204 @@ export const CheckOperations = () => {
- - {filteredOperations.map( - ({ - hash, - name, - type, - firstSeenAt, - lastSeenAt, - impactingChanges, - hasIgnoreAllOverride, - isSafe, - }) => { - const doAllChangesHaveOverrides = !impactingChanges.some( - (c) => !c.hasOverride, - ); +
+ + {filteredOperations.map( + ({ + hash, + name, + type, + firstSeenAt, + lastSeenAt, + impactingChanges, + hasIgnoreAllOverride, + isSafe, + }) => { + const doAllChangesHaveOverrides = !impactingChanges.some( + (c) => !c.hasOverride, + ); - const firstSeenFormatted = formatDateTime(new Date(firstSeenAt)); - const lastSeenAtFormatted = formatDateTime(new Date(lastSeenAt)); + const firstSeenFormatted = formatDateTime(new Date(firstSeenAt)); + const lastSeenAtFormatted = formatDateTime(new Date(lastSeenAt)); - return ( - - -
-

- {hash.slice(0, 6)} -

-

- {name || "unnamed operation"} -

- - {type} - - {isSafe && ( + return ( + + +
+

+ {hash.slice(0, 6)} +

+

+ {name || "unnamed operation"} +

- ignored for this check + {type} - )} -
-
- -
-
-

- {firstSeenFormatted === lastSeenAtFormatted - ? `Last seen at ${lastSeenAtFormatted}` - : `First seen at ${firstSeenFormatted} and last seen at ${lastSeenAtFormatted}`} -

-
- - - - - - Copy link - - {!hasIgnoreAllOverride && ( - - - - - - { - doAllChangesHaveOverrides - ? removeOverrides({ - graphName: graphContext?.graph?.name, - namespace: - graphContext?.graph?.namespace, - operationHash: hash, - changes: impactingChanges, - }) - : createOverrides({ - graphName: graphContext?.graph?.name, - namespace: - graphContext?.graph?.namespace, - operationHash: hash, - operationName: name, - changes: impactingChanges, - }); - }} - className="cursor-pointer flex-col items-start gap-1" + {isSafe && ( + + ignored for this check + + )} +
+ + +
+
+

+ {firstSeenFormatted === lastSeenAtFormatted + ? `Last seen at ${lastSeenAtFormatted}` + : `First seen at ${firstSeenFormatted} and last seen at ${lastSeenAtFormatted}`} +

+
+ + + + + + Copy link + + {!hasIgnoreAllOverride && ( + + + + + + { + doAllChangesHaveOverrides + ? removeOverrides({ + graphName: graphContext?.graph?.name, + namespace: + graphContext?.graph?.namespace, + operationHash: hash, + changes: impactingChanges, + }) + : createOverrides({ + graphName: graphContext?.graph?.name, + namespace: + graphContext?.graph?.namespace, + operationHash: hash, + operationName: name, + changes: impactingChanges, + }); + }} + className="cursor-pointer flex-col items-start gap-1" + > {doAllChangesHaveOverrides - ? "Future checks will break if the listed changes appear again for this operation" - : "Future checks will ignore the listed breaking changes for this operation"} -

-
- - { - createIgnoreAll({ - operationHash: hash, - operationName: name, - graphName: graphContext?.graph?.name, - namespace: graphContext?.graph?.namespace, - }); - }} - className="cursor-pointer flex-col items-start gap-1" - > - Ignore Operation -

- Future checks will ignore all current and new - breaking changes for this operation -

-
-
-
- )} + ? "Toggle changes as unsafe" + : "Toggle changes as safe"} +

+ {doAllChangesHaveOverrides + ? "Future checks will break if the listed changes appear again for this operation" + : "Future checks will ignore the listed breaking changes for this operation"} +

+ + + { + createIgnoreAll({ + operationHash: hash, + operationName: name, + graphName: graphContext?.graph?.name, + namespace: graphContext?.graph?.namespace, + }); + }} + className="cursor-pointer flex-col items-start gap-1" + > + Ignore Operation +

+ Future checks will ignore all current and + new breaking changes for this operation +

+
+ + + )} +
+ {hasIgnoreAllOverride && ( + + + Ignore Operation override is active + + + Future checks will ignore this operation even if + breaking changes affect it. To configure overrides + for individual changes, please remove this override. + + + + )} + + {impactingChanges.length} Impacting Change + {impactingChanges.length === 1 ? "" : "s"} + + } + trafficCheckDays={data.trafficCheckDays} + createdAt={data.createdAt} + />
- {hasIgnoreAllOverride && ( - - - Ignore Operation override is active - - - Future checks will ignore this operation even if - breaking changes affect it. To configure overrides for - individual changes, please remove this override. - - - - )} - - {impactingChanges.length} Impacting Change - {impactingChanges.length === 1 ? "" : "s"} - - } - trafficCheckDays={data.trafficCheckDays} - createdAt={data.createdAt} - /> -
- - - ); - }, - )} - - + + + ); + }, + )} + + + +
); }; diff --git a/studio/src/components/ui/pagination.tsx b/studio/src/components/ui/pagination.tsx index 770cb50c5e..cc4fcc5b4b 100644 --- a/studio/src/components/ui/pagination.tsx +++ b/studio/src/components/ui/pagination.tsx @@ -19,10 +19,12 @@ export const Pagination = ({ limit, noOfPages, pageNumber, + options, }: { limit: number; noOfPages: number; pageNumber: number; + options?: number[]; }) => { const router = useRouter(); const applyNewParams = useCallback( @@ -37,6 +39,8 @@ export const Pagination = ({ [router], ); + const pageSizeOptions = options ?? [10, 20, 30, 40, 50]; + return (
@@ -52,7 +56,7 @@ export const Pagination = ({ - {[10, 20, 30, 40, 50].map((pageSize) => ( + {pageSizeOptions.map((pageSize) => ( {pageSize} diff --git a/studio/src/pages/[organizationSlug]/[namespace]/graph/[slug]/checks/[checkId]/index.tsx b/studio/src/pages/[organizationSlug]/[namespace]/graph/[slug]/checks/[checkId]/index.tsx index 3527087413..5305dc7224 100644 --- a/studio/src/pages/[organizationSlug]/[namespace]/graph/[slug]/checks/[checkId]/index.tsx +++ b/studio/src/pages/[organizationSlug]/[namespace]/graph/[slug]/checks/[checkId]/index.tsx @@ -676,7 +676,7 @@ const CheckDetails = ({ )} -
+