From 3d3954ac0bdd91b077dfea855ae902a540225bcf Mon Sep 17 00:00:00 2001 From: jsampson Date: Mon, 31 Aug 2026 18:21:07 -0600 Subject: [PATCH 01/10] multi arch support for builds --- .dockerignore | 1 - .github/workflows/docker-publish.yml | 83 +++++++++++++++++++++++++--- Dockerfile | 25 +++------ docker-bake.hcl | 2 +- server/go.mod | 2 +- 5 files changed, 85 insertions(+), 28 deletions(-) diff --git a/.dockerignore b/.dockerignore index d0d492e..95ebe48 100644 --- a/.dockerignore +++ b/.dockerignore @@ -9,7 +9,6 @@ packages/**/*/build **/*.eslintcache .pnp.* .yarn/ -dist/ .DS_Store **/*.DS_Store diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 3928c59..0357f74 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -2,7 +2,7 @@ name: Docker Publish on: push: - branches: [ main ] + branches: [ main, multi-arch ] tags: [ 'v*' ] env: @@ -11,36 +11,104 @@ env: IMAGE_NAME: portal-public-api-docs jobs: + go-build: + runs-on: ubuntu-latest + strategy: + matrix: + os: [ linux-amd64, linux-arm64 ] + include: + - os: linux-amd64 + goarch: amd64 + - os: linux-arm64 + goarch: arm64 + steps: + - name: Checkout + # v7.0.1 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 + with: + fetch-depth: 0 + + - name: Set up Go + # v7.0.0 + uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e + env: + # Ensure cache consistency on Linux, see https://github.com/actions/setup-go/pull/383 + ImageOS: ${{ matrix.os }} + with: + go-version-file: 'server/go.mod' + check-latest: true + cache: false + + - name: Build Go + env: + GOOS: linux + GOARCH: ${{ matrix.goarch }} + CGO_ENABLED: 0 + run: | + cd server + mkdir -p "dist/linux/${GOARCH}" + go build -trimpath -o "dist/linux/${GOARCH}/server" server.go + + - name: Upload Build Artifact + # v7.0.1 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: server-${{ matrix.goarch }} + path: server/dist/linux/${{ matrix.goarch }}/server + retention-days: 1 + docker-publish: runs-on: ubuntu-latest permissions: id-token: write contents: read + needs: + - go-build steps: - name: Checkout - uses: actions/checkout@v6 + # v7.0.1 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 + with: + fetch-depth: 0 + + - name: Download Build Artifacts + # v8.0.1 + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c + with: + path: dist/ + pattern: "server-*" + merge-multiple: false - name: Google Auth id: 'auth' - uses: 'google-github-actions/auth@v3' + # v3.0.0 + uses: google-github-actions/auth@7c6bc770dae815cd3e89ee6cdf493a5fab2cc093 with: workload_identity_provider: "${{ vars.SHARED_WIF_PROVIDER }}" service_account: "${{ vars.SHARED_WIF_SERVICE_ACCOUNT }}" token_format: 'access_token' - name: Docker Login - uses: 'docker/login-action@v4' + # v4.6.0 + uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f with: registry: ${{ env.GCP_ARTIFACT_HOST }} username: 'oauth2accesstoken' password: ${{ steps.auth.outputs.access_token }} + # Setup QEMU for multi-platform / arm64 support + - name: Setup QEMU + # v4.2.0 + uses: docker/setup-qemu-action@96fe6ef7f33517b61c61be40b68a1882f3264fb8 + - name: Docker Buildx Setup - uses: docker/setup-buildx-action@v4 + # v4.3.0 + uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e - name: Docker Metadata id: meta - uses: docker/metadata-action@v6 + # v6.2.0 + uses: docker/metadata-action@dc802804100637a589fabce1cb79ff13a1411302 with: images: ${{ env.GCP_REGISTRY }}/${{ env.IMAGE_NAME }} tags: | @@ -51,7 +119,8 @@ jobs: latest=false - name: Docker Build - uses: docker/bake-action@v7 + # v7.3.0 + uses: docker/bake-action@d3418bd7d0e9324001bca92fa8ba175ea7e6dc9b with: source: . files: | diff --git a/Dockerfile b/Dockerfile index 74fb2d7..2ad3603 100644 --- a/Dockerfile +++ b/Dockerfile @@ -20,32 +20,21 @@ RUN cd /usr/src/app/build-temp/api-docs \ && mv /usr/src/app/build-temp/api-docs/site /usr/src/app/ \ && rm -rf /usr/src/app/build-temp -#------------------------------------------------------------------------------- -# Builder container for reproducible build environment - -FROM golang:1.25-alpine AS go-builder - -WORKDIR /go/src/app - -COPY ./server/server.go . -COPY ./server/go.mod . -COPY --from=builder /usr/src/app . - -RUN go mod verify \ - && go build server.go \ - && rm server.go \ - && rm go.mod - #------------------------------------------------------------------------------- # Build production container with only necessary artifacts -FROM alpine:3.23 +FROM alpine:3.24 + +ARG TARGETARCH EXPOSE 3020 # Copy build artifacts from builder container WORKDIR /go/src/app -COPY --from=go-builder /go/src/app . +COPY dist/server-${TARGETARCH} . +COPY --from=builder /usr/src/app . + +RUN ls -al # Set app wide env variables ENV PORTAL_CLIENT_ROUTE="/" diff --git a/docker-bake.hcl b/docker-bake.hcl index c296b8d..632b832 100644 --- a/docker-bake.hcl +++ b/docker-bake.hcl @@ -15,7 +15,7 @@ target "docker-metadata-action" { } target "bootstrap" { - platforms = [ "linux/amd64" ] + platforms = [ "linux/amd64", "linux/arm64" ] no-cache = true } diff --git a/server/go.mod b/server/go.mod index cb08773..19e7fb6 100644 --- a/server/go.mod +++ b/server/go.mod @@ -1,3 +1,3 @@ module github.com/NEONScience/neon-data-api/server -go 1.25 +go 1.26 From ad2b71edb79fee32d4aa0e92e8b5b0c91984bfa7 Mon Sep 17 00:00:00 2001 From: jsampson Date: Mon, 31 Aug 2026 18:38:10 -0600 Subject: [PATCH 02/10] move mkdocs build out of dockerfile --- .github/workflows/docker-publish.yml | 47 +++++++++++++++++++++++++++- Dockerfile | 24 +------------- 2 files changed, 47 insertions(+), 24 deletions(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 0357f74..5184c3d 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -11,6 +11,43 @@ env: IMAGE_NAME: portal-public-api-docs jobs: + python-build: + runs-on: ubuntu-latest + permissions: + contents: read + steps: + - name: Checkout + # v7.0.1 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 + with: + fetch-depth: 0 + + - name: Set up Python + # v7.0.0 + uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 + with: + python-version: 3.14 + + - name: Init Python + run: | + mkdir -p "dist/neon-data-api-docs-site" + python -m pip install --upgrade pip + python -m pip install --no-cache-dir -r requirements.txt + sed -i "s/{{TIMESTAMP}}/$(date +%s)/g" docs/content/explorer/index.md + sed -i "s/{{TIMESTAMP}}/$(date +%s)/g" docs/content/graphql/explorer/index.md + sed -i "s/{{COPYRIGHT_YEAR}}/$(date +%Y)/g" mkdocs.yml + mkdocs build --config-file mkdocs.yml + mv site dist/neon-data-api-docs-site/ + + - name: Upload Build Artifact + # v7.0.1 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: neon-data-api-docs-site + path: dist/neon-data-api-docs-site + if-no-files-found: error + retention-days: 1 + go-build: runs-on: ubuntu-latest strategy: @@ -64,6 +101,7 @@ jobs: contents: read needs: - go-build + - python-build steps: - name: Checkout # v7.0.1 @@ -71,7 +109,14 @@ jobs: with: fetch-depth: 0 - - name: Download Build Artifacts + - name: Download Python Build Artifacts + # v8.0.1 + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c + with: + name: neon-data-api-docs-site + path: dist/neon-data-api-docs-site + + - name: Download Go Build Artifacts # v8.0.1 uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c with: diff --git a/Dockerfile b/Dockerfile index 2ad3603..a610999 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,25 +1,3 @@ -#------------------------------------------------------------------------------- -# Builder container for reproducible build environment - -FROM python:3.14-alpine AS builder - -WORKDIR /usr/src/app -COPY ./docs /usr/src/app/build-temp/api-docs/docs -COPY ./mkdocs.yml /usr/src/app/build-temp/api-docs -COPY ./requirements.txt /usr/src/app/build-temp/api-docs - -RUN apk add --no-cache build-base -RUN cd /usr/src/app/build-temp/api-docs \ - && pip install --upgrade pip \ - && pip install -r requirements.txt -RUN cd /usr/src/app/build-temp/api-docs \ - && sed -i "s/{{TIMESTAMP}}/$(date +%s)/g" docs/content/explorer/index.md \ - && sed -i "s/{{TIMESTAMP}}/$(date +%s)/g" docs/content/graphql/explorer/index.md \ - && sed -i "s/{{COPYRIGHT_YEAR}}/$(date +%Y)/g" mkdocs.yml \ - && mkdocs build --config-file mkdocs.yml \ - && mv /usr/src/app/build-temp/api-docs/site /usr/src/app/ \ - && rm -rf /usr/src/app/build-temp - #------------------------------------------------------------------------------- # Build production container with only necessary artifacts @@ -32,7 +10,7 @@ EXPOSE 3020 # Copy build artifacts from builder container WORKDIR /go/src/app COPY dist/server-${TARGETARCH} . -COPY --from=builder /usr/src/app . +COPY dist/neon-data-api-docs-site . RUN ls -al From 368b83c443e5d99c789277ceac4c793603d2b52f Mon Sep 17 00:00:00 2001 From: jsampson Date: Mon, 31 Aug 2026 18:41:13 -0600 Subject: [PATCH 03/10] remove directory check from dockerfile --- Dockerfile | 2 -- 1 file changed, 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index a610999..b42e1a1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,8 +12,6 @@ WORKDIR /go/src/app COPY dist/server-${TARGETARCH} . COPY dist/neon-data-api-docs-site . -RUN ls -al - # Set app wide env variables ENV PORTAL_CLIENT_ROUTE="/" ENV PORTAL_PORT=3020 From 6bfbe86ea2c860e2c1d360c45a24e67054bd91bc Mon Sep 17 00:00:00 2001 From: jsampson Date: Tue, 1 Sep 2026 08:52:26 -0600 Subject: [PATCH 04/10] pull out workflow python version to env var --- .github/workflows/docker-publish.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 5184c3d..e932d1f 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -9,6 +9,7 @@ env: GCP_ARTIFACT_HOST: ${{ vars.SHARED_WIF_LOCATON }}-docker.pkg.dev GCP_REGISTRY: ${{ vars.SHARED_WIF_LOCATON }}-docker.pkg.dev/${{ vars.SHARED_WIF_PROJECT }}/${{ vars.SHARED_WIF_REPO }} IMAGE_NAME: portal-public-api-docs + PYTHON_VERSION: 3.14 jobs: python-build: @@ -26,7 +27,7 @@ jobs: # v7.0.0 uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 with: - python-version: 3.14 + python-version: ${{ env.PYTHON_VERSION }} - name: Init Python run: | From 692995a827f6ee71ba68c25bfc8772c626c20f01 Mon Sep 17 00:00:00 2001 From: jsampson Date: Tue, 1 Sep 2026 13:35:32 -0600 Subject: [PATCH 05/10] assign execute permissions to server --- Dockerfile | 2 +- server/server.go | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index b42e1a1..f3064e4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,7 +9,7 @@ EXPOSE 3020 # Copy build artifacts from builder container WORKDIR /go/src/app -COPY dist/server-${TARGETARCH} . +COPY --chmod=500 dist/server-${TARGETARCH} . COPY dist/neon-data-api-docs-site . # Set app wide env variables diff --git a/server/server.go b/server/server.go index ec5ccce..ab23fc1 100644 --- a/server/server.go +++ b/server/server.go @@ -37,7 +37,6 @@ var healthResponse healthCheckResponse = healthCheckResponse{ } func handleHealthCheck(w http.ResponseWriter) { - infoLog.Println("INFO: Health check up") w.Header().Add("Content-Type", "application/json") if err := json.NewEncoder(w).Encode(healthResponse); err != nil { w.WriteHeader(http.StatusInternalServerError) From 5a5260f8b447e353eb308a259d78b55de733b238 Mon Sep 17 00:00:00 2001 From: Bryan Fair Date: Mon, 21 Sep 2026 13:35:02 -0600 Subject: [PATCH 06/10] Update prototype endpoint documentation Add authentication messaging where needed. --- docs/content/endpoints/prototype-datasets.md | 21 +++++++++++++++++++- packages/docs-app-swagger/src/swagger.json | 2 -- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/docs/content/endpoints/prototype-datasets.md b/docs/content/endpoints/prototype-datasets.md index 35acf7c..e9be896 100644 --- a/docs/content/endpoints/prototype-datasets.md +++ b/docs/content/endpoints/prototype-datasets.md @@ -1,5 +1,10 @@ # Prototype Datasets Endpoint +!!! requires-auth "Requires Authentication" + + One or more endpoints require [API Token](/data-api/authentication#api-tokens) authentication, indicated below. + + The `/prototype/datasets` endpoint provides information about all prototype NEON datasets. Prototype datasets have generally been collected during the design and construction of NEON. These datasets are not necessarily representative of the long-term standardized data otherwise available on the NEON data portal. Prototype data are provided as downloadable zip files. The `/prototype/data` endpoint provides access to all data associated with a single dataset. @@ -82,6 +87,13 @@ Get information about a prototype dataset ### GET `/prototype/data/{uuid}` +#### **Authentication** + +!!! requires-auth "Requires Authentication" + + [API Token](/data-api/authentication#api-tokens) required to utilize this endpoint. + + #### **Description** Get information about data files for the prototype dataset @@ -121,6 +133,13 @@ Get information about data files for the prototype dataset ### GET `/prototype/data/{uuid}/{filename}` +#### **Authentication** + +!!! requires-auth "Requires Authentication" + + [API Token](/data-api/authentication#api-tokens) required to utilize this endpoint. + + #### **Description** Gets a data file @@ -324,7 +343,7 @@ Type definition for a prototype dataset related data product |**dataProductDescription** |A brief description of the data product|string| -### **error** +### **error** Information about errors in the response diff --git a/packages/docs-app-swagger/src/swagger.json b/packages/docs-app-swagger/src/swagger.json index 18f26b2..77506c7 100644 --- a/packages/docs-app-swagger/src/swagger.json +++ b/packages/docs-app-swagger/src/swagger.json @@ -1859,7 +1859,6 @@ }, "/prototype/data/{uuid}": { "get": { - "security": [], "description": "Get information about data files for the prototype dataset", "tags": [ "Prototype Datasets" @@ -1906,7 +1905,6 @@ }, "/prototype/data/{uuid}/{filename}": { "get": { - "security": [], "description": "Gets a data file", "tags": [ "Prototype Datasets" From 5693f6b50ca69bebcbfd2c895abcc79b8929759f Mon Sep 17 00:00:00 2001 From: Bryan Fair Date: Tue, 22 Sep 2026 10:25:56 -0600 Subject: [PATCH 07/10] Add prototype endpoint url to auth areas --- docs/content/authentication.md | 35 +++++++++++++++++----------------- docs/content/index.md | 19 +++++++++--------- 2 files changed, 28 insertions(+), 26 deletions(-) diff --git a/docs/content/authentication.md b/docs/content/authentication.md index 12a2592..9003d3f 100644 --- a/docs/content/authentication.md +++ b/docs/content/authentication.md @@ -3,34 +3,34 @@ You do not need to authenticate in order to explore information about NEON data or locations. However, if you will be using the APIs to download data products or sample data, or using the APIs intensively, then you will need to sign up for and use an [API Token](#api-tokens). To learn more about setting up and utilizing an API Token, see [API Token Setup](https://www.neonscience.org/resources/learning-hub/tutorials/api-token-setup). -## **API Tokens** +## **API Tokens** The NEON data API provides users the ability to manage and obtain API tokens. ### **Generation** -In order to generate an API Token, you must first sign in with your account -or create an account with the Data Portal. You can sign up or sign in by accessing -the [My Account](https://data.neonscience.org/myaccount) page. Once authenticated -and verified, you can request a token using the API Token management section +In order to generate an API Token, you must first sign in with your account +or create an account with the Data Portal. You can sign up or sign in by accessing +the [My Account](https://data.neonscience.org/myaccount) page. Once authenticated +and verified, you can request a token using the API Token management section provided on the account page. !!! warning - Tokens should be treated like credentials. - Never share your API token and store it in a secure location. - It is strongly recommended to never commit this token to source control - repositories such as GitHub. If your token has been compromised, - please disable or delete the token through the - [My Account](https://data.neonscience.org/myaccount) page and discontinue + Tokens should be treated like credentials. + Never share your API token and store it in a secure location. + It is strongly recommended to never commit this token to source control + repositories such as GitHub. If your token has been compromised, + please disable or delete the token through the + [My Account](https://data.neonscience.org/myaccount) page and discontinue use of the token. ### **Utilization** -To utilize an API Token when making a request, include it as a header or query -parameter: +To utilize an API Token when making a request, include it as a header or query +parameter: - Header Name: `X-API-Token` - - Query Parameter Name: `apiToken` + - Query Parameter Name: `apiToken` === "cURL" @@ -40,13 +40,13 @@ parameter: curl --verbose -H "X-API-Token: TOKEN_VALUE" \ -X GET https://data.neonscience.org/api/v0/products/DP1.00001.001 \ >> neon-data-products-DP1.00001.001.json - ``` + ``` ``` bash # apiToken query parameter curl --verbose \ -X GET https://data.neonscience.org/api/v0/products/DP1.00001.001?apiToken=TOKEN_VALUE \ >> neon-data-products-DP1.00001.001.json - ``` + ``` === "HTTPie" @@ -56,7 +56,7 @@ parameter: http --download --output=neon-data-products-DP1.00001.001.json \ GET https://data.neonscience.org/api/v0/products/DP1.00001.001 \ X-API-Token:TOKEN_VALUE - ``` + ``` ``` bash # apiToken query parameter http --download --output=neon-data-products-DP1.00001.001.json \ @@ -69,6 +69,7 @@ Endpoints that require authentication are identified in the documentation for ea - [Data Endpoints](/data-api/endpoints/data) - [Data Query Endpoints](/data-api/endpoints/data-query) + - [Prototype Datasets Endpoints](/data-api/endpoints/prototype-datasets) - [Releases Endpoints](/data-api/endpoints/releases) - [Samples Endpoints](/data-api/endpoints/samples) diff --git a/docs/content/index.md b/docs/content/index.md index 5c2e8b3..e6ac0ca 100644 --- a/docs/content/index.md +++ b/docs/content/index.md @@ -1,13 +1,14 @@ # NEON Data API ## **Introduction** -The NEON Data API (Application Programming Interface) can be used to quickly access data as well as information about NEON's data products, samples, and sampling locations. It provides a simple means of constructing URLs or cURL statements that return information in a common machine-readable format, [JSON (JavaScript Object Notation)](https://json.org/json-en.html). +The NEON Data API (Application Programming Interface) can be used to quickly access data as well as information about NEON's data products, samples, and sampling locations. It provides a simple means of constructing URLs or cURL statements that return information in a common machine-readable format, [JSON (JavaScript Object Notation)](https://json.org/json-en.html). ## **Authentication** You do not need to authenticate in order to explore information about NEON data or locations. However, if you will be using the APIs to download data products or sample data, or using the APIs intensively, then you will need to sign up for and use an [API Token](/data-api/authentication#api-tokens). To learn more about setting up and utilizing an API Token, see [API Token Setup](https://www.neonscience.org/resources/learning-hub/tutorials/api-token-setup). Endpoints that require authentication are identified in the documentation for each endpoint: - [Data Endpoints](/data-api/endpoints/data) - [Data Query Endpoints](/data-api/endpoints/data-query) + - [Prototype Datasets Endpoints](/data-api/endpoints/prototype-datasets) - [Releases Endpoints](/data-api/endpoints/releases) - [Samples Endpoints](/data-api/endpoints/samples) @@ -15,24 +16,24 @@ You do not need to authenticate in order to explore information about NEON data NEON data products and sample data are licensed under a Creative Commons Attribution 4.0 International License ([CC-BY](https://creativecommons.org/licenses/by/4.0/)). For more information, visit the [Data Guidelines and Policies](https://www.neonscience.org/data-samples/guidelines-policies) page. ## **R & Python packages** -The neonUtilities packages are the easiest way to download and reformat NEON data. +The neonUtilities packages are the easiest way to download and reformat NEON data. + + * [`neonUtilities` R package](https://cran.r-project.org/web/packages/neonUtilities/index.html) + * [`neonutilities` Python package](https://pypi.org/project/neonutilities) + * Check out the ["Use the neonUtilities Package to Access NEON Data" tutorial](https://www.neonscience.org/resources/learning-hub/tutorials/neondatastackr) - * [`neonUtilities` R package](https://cran.r-project.org/web/packages/neonUtilities/index.html) - * [`neonutilities` Python package](https://pypi.org/project/neonutilities) - * Check out the ["Use the neonUtilities Package to Access NEON Data" tutorial](https://www.neonscience.org/resources/learning-hub/tutorials/neondatastackr) - ## **REST API Explorer** -The API provides numerous endpoints, some of which provide the option to enter values for specific parameters that allow you to refine your search. To learn more about each endpoint, click on “REST API Endpoints” in the navigation menu. To try each endpoint out, open the [REST API Explorer](https://data.neonscience.org/data-api/explorer/). +The API provides numerous endpoints, some of which provide the option to enter values for specific parameters that allow you to refine your search. To learn more about each endpoint, click on “REST API Endpoints” in the navigation menu. To try each endpoint out, open the [REST API Explorer](https://data.neonscience.org/data-api/explorer/). ## **GraphQL** The [GraphQL](https://data.neonscience.org/data-api/graphql/) endpoint allows users to take advantage of the flexibility and efficiency of the [GraphQL data query language](https://graphql.org/) to access NEON metadata. The `/graphql` endpoint affords users the ability to define and receive only desired metadata. ## **Other Resources** - * [The NEON Data API GitHub repository](https://github.com/NEONScience/neon-data-api), + * [The NEON Data API GitHub repository](https://github.com/NEONScience/neon-data-api), * [Using the NEON API tutorial](https://www.neonscience.org/neon-api-usage) * Download the [Swagger documentation](https://raw.githubusercontent.com/NEONScience/neon-data-api/refs/heads/main/packages/docs-app-swagger/src/swagger.json) - + ## **Provide Feedback** If you have design ideas, functionality requests, bug notes, examples of how you used the API, etc., please [contact us](https://www.neonscience.org/about/contact-us). From d38e2a983de35755d3f6427dc14483a77005844a Mon Sep 17 00:00:00 2001 From: jsampson Date: Wed, 23 Sep 2026 09:18:07 -0600 Subject: [PATCH 08/10] rebuild packages --- .../build/assets/{index-DQyYJE7k.js => index-CmRYfV2N.js} | 2 +- docs/content/explorer/build/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename docs/content/explorer/build/assets/{index-DQyYJE7k.js => index-CmRYfV2N.js} (97%) diff --git a/docs/content/explorer/build/assets/index-DQyYJE7k.js b/docs/content/explorer/build/assets/index-CmRYfV2N.js similarity index 97% rename from docs/content/explorer/build/assets/index-DQyYJE7k.js rename to docs/content/explorer/build/assets/index-CmRYfV2N.js index f03f0d3..5cd832e 100644 --- a/docs/content/explorer/build/assets/index-DQyYJE7k.js +++ b/docs/content/explorer/build/assets/index-CmRYfV2N.js @@ -281,4 +281,4 @@ Use Chrome, Firefox or Internet Explorer 11`)}},48:function(e){var t={};function `):``}(0,JSON.stringify(a,null,2))||`{}`,V.createElement(`br`,null)))}},z0=({servers:e,currentServer:t,setSelectedServer:n,setServerVariableValue:r,getServerVariable:i,getEffectiveServerValue:a})=>{let o=(e.find((e=>e.get(`url`)===t))||(0,H.OrderedMap)()).get(`variables`)||(0,H.OrderedMap)(),s=o.size!==0;(0,V.useEffect)((()=>{t||n(e.first()?.get(`url`))}),[]),(0,V.useEffect)((()=>{let i=e.find((e=>e.get(`url`)===t));if(!i)return void n(e.first().get(`url`));(i.get(`variables`)||(0,H.OrderedMap)()).map(((e,n)=>{r({server:t,key:n,val:e.get(`default`)||``})}))}),[t,e]);let c=(0,V.useCallback)((e=>{n(e.target.value)}),[n]),l=(0,V.useCallback)((e=>{let n=e.target.getAttribute(`data-variable`),i=e.target.value;r({server:t,key:n,val:i})}),[r,t]);return V.createElement(`div`,{className:`servers`},V.createElement(`label`,{htmlFor:`servers`},V.createElement(`select`,{onChange:c,value:t,id:`servers`},e.valueSeq().map((e=>V.createElement(`option`,{value:e.get(`url`),key:e.get(`url`)},e.get(`url`),e.get(`description`)&&` - ${e.get(`description`)}`))).toArray())),s&&V.createElement(`div`,null,V.createElement(`div`,{className:`computed-url`},`Computed URL:`,V.createElement(`code`,null,a(t))),V.createElement(`h4`,null,`Server variables`),V.createElement(`table`,null,V.createElement(`tbody`,null,o.entrySeq().map((([e,n])=>V.createElement(`tr`,{key:e},V.createElement(`td`,null,e),V.createElement(`td`,null,n.get(`enum`)?V.createElement(`select`,{"data-variable":e,onChange:l},n.get(`enum`).map((n=>V.createElement(`option`,{selected:n===i(t,e),key:n,value:n},n)))):V.createElement(`input`,{type:`text`,value:i(t,e)||``,onChange:l,"data-variable":e})))))))))},B0=class extends V.Component{render(){let{specSelectors:e,oas3Selectors:t,oas3Actions:n,getComponent:r}=this.props,i=e.servers(),a=r(`Servers`);return i&&i.size?V.createElement(`div`,null,V.createElement(`span`,{className:`servers-title`},`Servers`),V.createElement(a,{servers:i,currentServer:t.selectedServer(),setSelectedServer:n.setSelectedServer,setServerVariableValue:n.setServerVariableValue,getServerVariable:t.serverVariableValue,getEffectiveServerValue:t.serverEffectiveValue})):null}},V0=Function.prototype,H0=class extends V.Component{constructor(e,t){super(e,t);let{name:n,schema:r}=this.props,i=this.getValue();this.state={name:n,schema:r,value:i}}getValue(){let{name:e,authorized:t}=this.props;return t&&t.getIn([e,`value`])}onChange=e=>{let{onChange:t}=this.props,{value:n,name:r}=e.target,i=Object.assign({},this.state.value);r?i[r]=n:i=n,this.setState({value:i},(()=>t(this.state)))};render(){let{schema:e,getComponent:t,errSelectors:n,name:r,authSelectors:i}=this.props,a=t(`Input`),o=t(`Row`),s=t(`Col`),c=t(`authError`),l=t(`Markdown`,!0),u=t(`JumpToPath`,!0),d=(e.get(`scheme`)||``).toLowerCase(),f=i.selectAuthPath(r),p=this.getValue(),m=n.allErrors().filter((e=>e.get(`authId`)===r));if(d===`basic`){let t=p?p.get(`username`):null;return V.createElement(`div`,null,V.createElement(`h4`,null,V.createElement(`code`,null,r),`\xA0 (http, Basic)`,V.createElement(u,{path:f})),t&&V.createElement(`h6`,null,`Authorized`),V.createElement(o,null,V.createElement(l,{source:e.get(`description`)})),V.createElement(o,null,V.createElement(`label`,{htmlFor:`auth-basic-username`},`Username:`),t?V.createElement(`code`,null,` `,t,` `):V.createElement(s,null,V.createElement(a,{id:`auth-basic-username`,type:`text`,required:`required`,name:`username`,"aria-label":`auth-basic-username`,onChange:this.onChange,autoFocus:!0}))),V.createElement(o,null,V.createElement(`label`,{htmlFor:`auth-basic-password`},`Password:`),t?V.createElement(`code`,null,` ****** `):V.createElement(s,null,V.createElement(a,{id:`auth-basic-password`,autoComplete:`new-password`,name:`password`,type:`password`,"aria-label":`auth-basic-password`,onChange:this.onChange}))),m.valueSeq().map(((e,t)=>V.createElement(c,{error:e,key:t}))))}return d===`bearer`?V.createElement(`div`,null,V.createElement(`h4`,null,V.createElement(`code`,null,r),`\xA0 (http, Bearer)`,V.createElement(u,{path:f})),p&&V.createElement(`h6`,null,`Authorized`),V.createElement(o,null,V.createElement(l,{source:e.get(`description`)})),V.createElement(o,null,V.createElement(`label`,{htmlFor:`auth-bearer-value`},`Value:`),p?V.createElement(`code`,null,` ****** `):V.createElement(s,null,V.createElement(a,{id:`auth-bearer-value`,type:`text`,"aria-label":`auth-bearer-value`,onChange:this.onChange,autoFocus:!0}))),m.valueSeq().map(((e,t)=>V.createElement(c,{error:e,key:t})))):V.createElement(`div`,null,V.createElement(`em`,null,V.createElement(`b`,null,r),` HTTP authentication: unsupported scheme `,`'${d}'`))}},U0=class extends V.Component{setSelectedServer=e=>{let{path:t,method:n}=this.props;return this.forceUpdate(),this.props.setSelectedServer(e,`${t}:${n}`)};setServerVariableValue=e=>{let{path:t,method:n}=this.props;return this.forceUpdate(),this.props.setServerVariableValue({...e,namespace:`${t}:${n}`})};getSelectedServer=()=>{let{path:e,method:t}=this.props;return this.props.getSelectedServer(`${e}:${t}`)};getServerVariable=(e,t)=>{let{path:n,method:r}=this.props;return this.props.getServerVariable({namespace:`${n}:${r}`,server:e},t)};getEffectiveServerValue=e=>{let{path:t,method:n}=this.props;return this.props.getEffectiveServerValue({server:e,namespace:`${t}:${n}`})};render(){let{operationServers:e,pathServers:t,getComponent:n}=this.props;if(!e&&!t)return null;let r=n(`Servers`),i=e||t,a=e?`operation`:`path`;return V.createElement(`div`,{className:`opblock-section operation-servers`},V.createElement(`div`,{className:`opblock-section-header`},V.createElement(`div`,{className:`tab-header`},V.createElement(`h4`,{className:`opblock-title`},`Servers`))),V.createElement(`div`,{className:`opblock-description-wrapper`},V.createElement(`h4`,{className:`message`},`These `,a,`-level options override the global server options.`),V.createElement(r,{servers:i,currentServer:this.getSelectedServer(),setSelectedServer:this.setSelectedServer,setServerVariableValue:this.setServerVariableValue,getServerVariable:this.getServerVariable,getEffectiveServerValue:this.getEffectiveServerValue})))}},W0={Callbacks:F0,HttpAuth:H0,RequestBody:L0,Servers:z0,ServersContainer:B0,RequestBodyEditor:class extends V.PureComponent{static defaultProps={onChange:V0,userHasEditedBody:!1};constructor(e,t){super(e,t),this.state={value:yq(e.value)||e.defaultValue},e.onChange(e.value)}applyDefaultValue=e=>{let{onChange:t,defaultValue:n}=e||this.props;return this.setState({value:n}),t(n)};onChange=e=>{this.props.onChange(yq(e))};onDomChange=e=>{let t=e.target.value;this.setState({value:t},(()=>this.onChange(t)))};UNSAFE_componentWillReceiveProps(e){this.props.value!==e.value&&e.value!==this.state.value&&this.setState({value:yq(e.value)}),!e.value&&e.defaultValue&&this.state.value&&this.applyDefaultValue(e)}render(){let{getComponent:e,errors:t}=this.props,{value:n}=this.state,r=t.size>0,i=e(`TextArea`);return V.createElement(`div`,{className:`body-param`},V.createElement(i,{className:(0,nd.default)(`body-param__text`,{invalid:r}),title:t.size?t.join(`, `):``,value:n,onChange:this.onDomChange}))}},OperationServers:U0,operationLink:R0},G0=new OU(`commonmark`);G0.block.ruler.enable([`table`]),G0.set({linkTarget:`_blank`});var K0=E0((({source:e,className:t=``,getConfigs:n=()=>({useUnsafeMarkdown:!1})})=>{if(typeof e!=`string`)return null;if(e){let{useUnsafeMarkdown:r}=n(),i=s0(G0.render(e),{useUnsafeMarkdown:r}),a;return typeof i==`string`&&(a=i.trim()),V.createElement(`div`,{dangerouslySetInnerHTML:{__html:a},className:(0,nd.default)(t,`renderedMarkdown`)})}return null})),q0=E0((({Ori:e,...t})=>{let{schema:n,getComponent:r,errSelectors:i,authorized:a,onAuthChange:o,name:s,authSelectors:c}=t,l=r(`HttpAuth`);return n.get(`type`)===`http`?V.createElement(l,{key:s,schema:n,name:s,errSelectors:i,authorized:a,getComponent:r,onChange:o,authSelectors:c}):V.createElement(e,t)})),J0=E0(Y$),Y0=E0(class extends V.Component{render(){let{getConfigs:e,schema:t,Ori:n}=this.props,r=[`model-box`],i=null;return!0===t.get(`deprecated`)&&(r.push(`deprecated`),i=V.createElement(`span`,{className:`model-deprecated-warning`},`Deprecated:`)),V.createElement(`div`,{className:r.join(` `)},i,V.createElement(n,Xu({},this.props,{getConfigs:e,depth:1,expandDepth:this.props.expandDepth||0})))}}),X0=E0((({Ori:e,...t})=>{let{schema:n,getComponent:r,errors:i,onChange:a,fn:o}=t,s=o.isFileUploadIntended(n),c=r(`Input`);return s?V.createElement(c,{type:`file`,className:i.length?`invalid`:``,title:i.length?i:``,onChange:e=>{a(e.target.files[0])},disabled:e.isDisabled}):V.createElement(e,t)})),Z0={Markdown:K0,AuthItem:q0,OpenAPIVersion:function(e){return(t,n)=>r=>typeof n.specSelectors?.isOAS30==`function`?n.specSelectors.isOAS30()?V.createElement(e,Xu({},r,n,{Ori:t})):V.createElement(t,r):(console.warn(`OAS30 wrapper: couldn't get spec`),null)}((e=>{let{Ori:t}=e;return V.createElement(t,{oasVersion:`3.0`})})),JsonSchema_string:X0,model:Y0,onlineValidatorBadge:J0},Q0=`oas3_set_servers`,$0=`oas3_set_request_body_value`,e2=`oas3_set_request_body_retain_flag`,t2=`oas3_set_request_body_inclusion`,n2=`oas3_set_active_examples_member`,r2=`oas3_set_request_content_type`,i2=`oas3_set_response_content_type`,a2=`oas3_set_server_variable_value`,o2=`oas3_set_request_body_validate_error`,s2=`oas3_clear_request_body_validate_error`,c2=`oas3_clear_request_body_value`;function l2(e,t){return{type:Q0,payload:{selectedServerUrl:e,namespace:t}}}function u2({value:e,pathMethod:t}){return{type:$0,payload:{value:e,pathMethod:t}}}var d2=({value:e,pathMethod:t})=>({type:e2,payload:{value:e,pathMethod:t}});function f2({value:e,pathMethod:t,name:n}){return{type:t2,payload:{value:e,pathMethod:t,name:n}}}function p2({name:e,pathMethod:t,contextType:n,contextName:r}){return{type:n2,payload:{name:e,pathMethod:t,contextType:n,contextName:r}}}function m2({value:e,pathMethod:t}){return{type:r2,payload:{value:e,pathMethod:t}}}function h2({value:e,path:t,method:n}){return{type:i2,payload:{value:e,path:t,method:n}}}function g2({server:e,namespace:t,key:n,val:r}){return{type:a2,payload:{server:e,namespace:t,key:n,val:r}}}var _2=({path:e,method:t,validationErrors:n})=>({type:o2,payload:{path:e,method:t,validationErrors:n}}),v2=({path:e,method:t})=>({type:s2,payload:{path:e,method:t}}),y2=({pathMethod:e})=>({type:s2,payload:{path:e[0],method:e[1]}}),b2=({pathMethod:e})=>({type:c2,payload:{pathMethod:e}}),x2=e=>(t,...n)=>r=>{if(r.getSystem().specSelectors.isOAS3()){let i=e(t,...n);return typeof i==`function`?i(r):i}return null},S2=x2(((e,t)=>{let n=t?[t,`selectedServer`]:[`selectedServer`];return e.getIn(n)||``})),C2=x2(((e,t,n)=>e.getIn([`requestData`,t,n,`bodyValue`])||null)),w2=x2(((e,t,n)=>e.getIn([`requestData`,t,n,`retainBodyValue`])||!1)),T2=(e,t,n)=>e=>{let{oas3Selectors:r,specSelectors:i,fn:a}=e.getSystem();if(i.isOAS3()){let e=r.requestContentType(t,n);if(e)return I0(i.specResolvedSubtree([`paths`,t,n,`requestBody`]),e,r.activeExamplesMember(t,n,`requestBody`,`requestBody`),a)}return null},E2=x2(((e,t,n)=>e=>{let{oas3Selectors:r,specSelectors:i,fn:a}=e,o=!1,s=r.requestContentType(t,n),c=r.requestBodyValue(t,n),l=i.specResolvedSubtree([`paths`,t,n,`requestBody`]);if(!l)return!1;if(H.Map.isMap(c)&&(c=yq(c.mapEntries((e=>H.Map.isMap(e[1])?[e[0],e[1].get(`value`)]:e)).toJS())),H.List.isList(c)&&(c=yq(c)),s){let e=I0(l,s,r.activeExamplesMember(t,n,`requestBody`,`requestBody`),a);o=!!c&&c!==e}return o})),D2=x2(((e,t,n)=>e.getIn([`requestData`,t,n,`bodyInclusion`])||(0,H.Map)())),O2=x2(((e,t,n)=>e.getIn([`requestData`,t,n,`errors`])||null)),k2=x2(((e,t,n,r,i)=>e.getIn([`examples`,t,n,r,i,`activeExample`])||null)),A2=x2(((e,t,n)=>e.getIn([`requestData`,t,n,`requestContentType`])||null)),j2=x2(((e,t,n)=>e.getIn([`requestData`,t,n,`responseContentType`])||null)),M2=x2(((e,t,n)=>{let r;if(typeof t!=`string`){let{server:e,namespace:i}=t;r=i?[i,`serverVariableValues`,e,n]:[`serverVariableValues`,e,n]}else r=[`serverVariableValues`,t,n];return e.getIn(r)||null})),N2=x2(((e,t)=>{let n;if(typeof t!=`string`){let{server:e,namespace:r}=t;n=r?[r,`serverVariableValues`,e]:[`serverVariableValues`,e]}else n=[`serverVariableValues`,t];return e.getIn(n)||(0,H.OrderedMap)()})),P2=x2(((e,t)=>{var n,r;if(typeof t!=`string`){let{server:i,namespace:a}=t;r=i,n=a?e.getIn([a,`serverVariableValues`,r]):e.getIn([`serverVariableValues`,r])}else r=t,n=e.getIn([`serverVariableValues`,r]);n||=(0,H.OrderedMap)();let i=r;return n.map(((e,t)=>{i=i.replace(RegExp(`{${(0,XG.default)(t)}}`,`g`),e)})),i})),F2=function(e){return(...t)=>n=>{let r=n.getSystem().specSelectors.specJson(),i=[...t][1]||[];return!r.getIn([`paths`,...i,`requestBody`,`required`])||e(...t)}}(((e,t)=>((e,t)=>(t||=[],!!e.getIn([`requestData`,...t,`bodyValue`])))(e,t))),I2=(e,{oas3RequiredRequestBodyContentType:t,oas3RequestContentType:n,oas3RequestBodyValue:r})=>{let i=[];if(!H.Map.isMap(r))return i;let a=[];return Object.keys(t.requestContentType).forEach((e=>{e===n&&t.requestContentType[e].forEach((e=>{a.indexOf(e)<0&&a.push(e)}))})),a.forEach((e=>{r.getIn([e,`value`])||i.push(e)})),i},L2=(0,Rf.default)([`get`,`put`,`post`,`delete`,`options`,`head`,`patch`,`trace`]),R2={[Q0]:(e,{payload:{selectedServerUrl:t,namespace:n}})=>{let r=n?[n,`selectedServer`]:[`selectedServer`];return e.setIn(r,t)},[$0]:(e,{payload:{value:t,pathMethod:n}})=>{let[r,i]=n;if(!H.Map.isMap(t))return e.setIn([`requestData`,r,i,`bodyValue`],t);let a=e.getIn([`requestData`,r,i,`bodyValue`])||(0,H.Map)();H.Map.isMap(a)||(a=(0,H.Map)());let o=a,[...s]=t.keys();return s.forEach((e=>{let n=t.getIn([e]);o.has(e)&&H.Map.isMap(n)||(o=o.setIn([e,`value`],n))})),e.setIn([`requestData`,r,i,`bodyValue`],o)},[e2]:(e,{payload:{value:t,pathMethod:n}})=>{let[r,i]=n;return e.setIn([`requestData`,r,i,`retainBodyValue`],t)},[t2]:(e,{payload:{value:t,pathMethod:n,name:r}})=>{let[i,a]=n;return e.setIn([`requestData`,i,a,`bodyInclusion`,r],t)},[n2]:(e,{payload:{name:t,pathMethod:n,contextType:r,contextName:i}})=>{let[a,o]=n;return e.setIn([`examples`,a,o,r,i,`activeExample`],t)},[r2]:(e,{payload:{value:t,pathMethod:n}})=>{let[r,i]=n;return e.setIn([`requestData`,r,i,`requestContentType`],t)},[i2]:(e,{payload:{value:t,path:n,method:r}})=>e.setIn([`requestData`,n,r,`responseContentType`],t),[a2]:(e,{payload:{server:t,namespace:n,key:r,val:i}})=>{let a=n?[n,`serverVariableValues`,t,r]:[`serverVariableValues`,t,r];return e.setIn(a,i)},[o2]:(e,{payload:{path:t,method:n,validationErrors:r}})=>{let i=[];if(i.push(`Required field is not provided`),r.missingBodyValue)return e.setIn([`requestData`,t,n,`errors`],(0,H.fromJS)(i));if(r.missingRequiredKeys&&r.missingRequiredKeys.length>0){let{missingRequiredKeys:a}=r;return e.updateIn([`requestData`,t,n,`bodyValue`],(0,H.fromJS)({}),(e=>a.reduce(((e,t)=>e.setIn([t,`errors`],(0,H.fromJS)(i))),e)))}return console.warn(`unexpected result: SET_REQUEST_BODY_VALIDATE_ERROR`),e},[s2]:(e,{payload:{path:t,method:n}})=>{let r=e.getIn([`requestData`,t,n,`bodyValue`]);if(!H.Map.isMap(r))return e.setIn([`requestData`,t,n,`errors`],(0,H.fromJS)([]));let[...i]=r.keys();return i?e.updateIn([`requestData`,t,n,`bodyValue`],(0,H.fromJS)({}),(e=>i.reduce(((e,t)=>e.setIn([t,`errors`],(0,H.fromJS)([]))),e))):e},[c2]:(e,{payload:{pathMethod:t}})=>{let[n,r]=t,i=e.getIn([`requestData`,n,r,`bodyValue`]);return i?H.Map.isMap(i)?e.setIn([`requestData`,n,r,`bodyValue`],(0,H.Map)()):e.setIn([`requestData`,n,r,`bodyValue`],``):e}};function z2({getSystem:e}){let t=(e=>(t,n=null)=>{let{getConfigs:r,fn:i}=e(),{fileUploadMediaTypes:a}=r();if(typeof n==`string`&&a.some((e=>n.startsWith(e))))return!0;let o=H.Map.isMap(t);if(!o&&!(0,Lf.default)(t))return!1;let s=o?t.get(`format`):t.format;return i.hasSchemaType(t,`string`)&&[`binary`,`byte`].includes(s)})(e);return{components:W0,wrapComponents:Z0,statePlugins:{spec:{wrapSelectors:vK,selectors:bK},auth:{wrapSelectors:yK},oas3:{actions:{...xK},reducers:R2,selectors:{...SK}}},fn:{isFileUploadIntended:t,isFileUploadIntendedOAS30:t}}}var B2=({specSelectors:e,getComponent:t})=>{let n=e.selectWebhooksOperations();if(!n)return null;let r=Object.keys(n),i=t(`OperationContainer`,!0);return r.length===0?null:V.createElement(`div`,{className:`webhooks`},V.createElement(`h2`,null,`Webhooks`),r.map((e=>V.createElement(`div`,{key:`${e}-webhook`},n[e].map((t=>V.createElement(i,{key:`${e}-${t.method}-webhook`,op:t.operation,tag:`webhooks`,method:t.method,path:e,specPath:(0,H.List)(t.specPath),allowTryItOut:!1})))))))},V2=({getComponent:e,specSelectors:t})=>{let n=t.selectLicenseNameField(),r=t.selectLicenseUrl(),i=e(`Link`);return V.createElement(`div`,{className:`info__license`},r?V.createElement(`div`,{className:`info__license__url`},V.createElement(i,{target:`_blank`,href:YY(r)},n)):V.createElement(`span`,null,n))},H2=({getComponent:e,specSelectors:t})=>{let n=t.selectContactNameField(),r=t.selectContactUrl(),i=t.selectContactEmailField(),a=e(`Link`);return V.createElement(`div`,{className:`info__contact`},r&&V.createElement(`div`,null,V.createElement(a,{href:YY(r),target:`_blank`},n,` - Website`)),i&&V.createElement(a,{href:YY(`mailto:${i}`)},r?`Send email to ${n}`:`Contact ${n}`))},U2=({getComponent:e,specSelectors:t})=>{let n=t.version(),r=t.url(),i=t.basePath(),a=t.host(),o=t.selectInfoSummaryField(),s=t.selectInfoDescriptionField(),c=t.selectInfoTitleField(),l=t.selectInfoTermsOfServiceUrl(),u=t.selectExternalDocsUrl(),d=t.selectExternalDocsDescriptionField(),f=t.contact(),p=t.license(),m=e(`Markdown`,!0),h=e(`Link`),g=e(`VersionStamp`),_=e(`OpenAPIVersion`),v=e(`InfoUrl`),y=e(`InfoBasePath`),b=e(`License`,!0),x=e(`Contact`,!0),S=e(`JsonSchemaDialect`,!0);return V.createElement(`div`,{className:`info`},V.createElement(`hgroup`,{className:`main`},V.createElement(`h1`,{className:`title`},c,V.createElement(`span`,null,n&&V.createElement(g,{version:n}),V.createElement(_,{oasVersion:`3.1`}))),(a||i)&&V.createElement(y,{host:a,basePath:i}),r&&V.createElement(v,{getComponent:e,url:r})),o&&V.createElement(`p`,{className:`info__summary`},o),V.createElement(`div`,{className:`info__description description`},V.createElement(m,{source:s})),l&&V.createElement(`div`,{className:`info__tos`},V.createElement(h,{target:`_blank`,href:YY(l)},`Terms of service`)),f.size>0&&V.createElement(x,null),p.size>0&&V.createElement(b,null),u&&V.createElement(h,{className:`info__extdocs`,target:`_blank`,href:YY(u)},d||u),V.createElement(S,null))},W2=({getComponent:e,specSelectors:t})=>{let n=t.selectJsonSchemaDialectField(),r=t.selectJsonSchemaDialectDefault(),i=e(`Link`);return V.createElement(V.Fragment,null,n&&n===r&&V.createElement(`p`,{className:`info__jsonschemadialect`},`JSON Schema dialect:`,` `,V.createElement(i,{target:`_blank`,href:YY(n)},n)),n&&n!==r&&V.createElement(`div`,{className:`error-wrapper`},V.createElement(`div`,{className:`no-margin`},V.createElement(`div`,{className:`errors`},V.createElement(`div`,{className:`errors-wrapper`},V.createElement(`h4`,{className:`center`},`Warning`),V.createElement(`p`,{className:`message`},V.createElement(`strong`,null,`OpenAPI.jsonSchemaDialect`),` field contains a value different from the default value of`,` `,V.createElement(i,{target:`_blank`,href:r},r),`. Values different from the default one are currently not supported. Please either omit the field or provide it with the default value.`))))))},G2=({bypass:e,isSwagger2:t,isOAS3:n,isOAS31:r,alsoShow:i,children:a})=>e?V.createElement(`div`,null,a):t&&(n||r)?V.createElement(`div`,{className:`version-pragma`},i,V.createElement(`div`,{className:`version-pragma__message version-pragma__message--ambiguous`},V.createElement(`div`,null,V.createElement(`h3`,null,`Unable to render this definition`),V.createElement(`p`,null,V.createElement(`code`,null,`swagger`),` and `,V.createElement(`code`,null,`openapi`),` fields cannot be present in the same Swagger or OpenAPI definition. Please remove one of the fields.`),V.createElement(`p`,null,`Supported version fields are `,V.createElement(`code`,null,`swagger: "2.0"`),` and those that match `,V.createElement(`code`,null,`openapi: 3.x.y`),` (for example,`,` `,V.createElement(`code`,null,`openapi: 3.1.0`),`).`)))):t||n||r?V.createElement(`div`,null,a):V.createElement(`div`,{className:`version-pragma`},i,V.createElement(`div`,{className:`version-pragma__message version-pragma__message--missing`},V.createElement(`div`,null,V.createElement(`h3`,null,`Unable to render this definition`),V.createElement(`p`,null,`The provided definition does not specify a valid version field.`),V.createElement(`p`,null,`Please indicate a valid Swagger or OpenAPI version field. Supported version fields are `,V.createElement(`code`,null,`swagger: "2.0"`),` and those that match `,V.createElement(`code`,null,`openapi: 3.x.y`),` (for example,`,` `,V.createElement(`code`,null,`openapi: 3.1.0`),`).`)))),K2=e=>typeof e==`string`&&e.includes(`#/components/schemas/`)?(e=>{let t=e.replace(/~1/g,`/`).replace(/~0/g,`~`);try{return decodeURIComponent(t)}catch{return t}})(e.replace(/^.*#\/components\/schemas\//,``)):null,q2=(0,V.forwardRef)((({schema:e,getComponent:t,onToggle:n=()=>{},specPath:r},i)=>{let a=t(`JSONSchema202012`),o=K2(e.get(`$$ref`)),s=(0,V.useCallback)(((e,t)=>{n(o,t)}),[o,n]);return V.createElement(a,{name:o,schema:e.toJS(),ref:i,onExpand:s,identifier:r.toJS().join(`_`)})})),J2=({specActions:e,specSelectors:t,layoutSelectors:n,layoutActions:r,getComponent:i,getConfigs:a,fn:o})=>{let s=t.selectSchemas(),c=Object.keys(s).length>0,l=[`components`,`schemas`],{docExpansion:u,defaultModelsExpandDepth:d}=a(),f=d>0&&u!==`none`,p=n.isShown(l,f),m=i(`Collapse`),h=i(`JSONSchema202012`),g=i(`ArrowUpIcon`),_=i(`ArrowDownIcon`),{getTitle:v}=o.jsonSchema202012.useFn();(0,V.useEffect)((()=>{let r=Object.entries(s).some((([e])=>n.isShown([...l,e],!1))),i=p&&(d>1||r),a=t.specResolvedSubtree(l)!=null;i&&!a&&e.requestResolvedSubtree(l)}),[p,d]);let y=(0,V.useCallback)((()=>{r.show(l,!p)}),[p]),b=(0,V.useCallback)((e=>{e!==null&&r.readyToScroll(l,e)}),[]),x=e=>t=>{t!==null&&r.readyToScroll([...l,e],t)},S=n=>(i,a)=>{let o=[...l,n];a?(t.specResolvedSubtree(o)??e.requestResolvedSubtree([...l,n]),r.show(o,!0)):r.show(o,!1)};return!c||d<0?null:V.createElement(`section`,{className:(0,nd.default)(`models`,{"is-open":p}),ref:b},V.createElement(`h4`,null,V.createElement(`button`,{"aria-expanded":p,className:`models-control`,onClick:y},V.createElement(`span`,null,`Schemas`),p?V.createElement(g,null):V.createElement(_,null))),V.createElement(m,{isOpened:p},Object.entries(s).map((([e,t])=>{let n=v(t,{lookup:`basic`})||e;return V.createElement(h,{key:e,ref:x(e),schema:t,name:n,onExpand:S(e)})}))))},Y2=({schema:e,getComponent:t,name:n,authSelectors:r})=>{let i=t(`JumpToPath`,!0),a=r.selectAuthPath(n);return V.createElement(`div`,null,V.createElement(`h4`,null,n,` (mutualTLS) `,V.createElement(i,{path:a})),V.createElement(`p`,null,`Mutual TLS is required by this API/Operation. Certificates are managed via your Operating System and/or your browser.`),V.createElement(`p`,null,e.get(`description`)))},X2=class extends V.Component{constructor(e,t){super(e,t),this.state={}}onAuthChange=e=>{let{name:t}=e;this.setState({[t]:e})};submitAuth=e=>{e.preventDefault();let{authActions:t}=this.props;t.authorizeWithPersistOption(this.state)};logoutClick=e=>{e.preventDefault();let{authActions:t,definitions:n}=this.props,r=n.map(((e,t)=>t)).toArray();this.setState(r.reduce(((e,t)=>(e[t]=``,e)),{})),t.logoutWithPersistOption(r)};close=e=>{e.preventDefault();let{authActions:t}=this.props;t.showDefinitions(!1)};render(){let{definitions:e,getComponent:t,authSelectors:n,errSelectors:r}=this.props,i=t(`AuthItem`),a=t(`oauth2`,!0),o=t(`Button`),s=n.authorized(),c=e.filter(((e,t)=>!!s.get(t))),l=e.filter((e=>e.get(`type`)!==`oauth2`&&e.get(`type`)!==`mutualTLS`)),u=e.filter((e=>e.get(`type`)===`oauth2`)),d=e.filter((e=>e.get(`type`)===`mutualTLS`));return V.createElement(`div`,{className:`auth-container`},l.size>0&&V.createElement(`form`,{onSubmit:this.submitAuth},l.map(((e,a)=>V.createElement(i,{key:a,schema:e,name:a,getComponent:t,onAuthChange:this.onAuthChange,authorized:s,errSelectors:r,authSelectors:n}))).toArray(),V.createElement(`div`,{className:`auth-btn-wrapper`},l.size===c.size?V.createElement(o,{className:`btn modal-btn auth`,onClick:this.logoutClick,"aria-label":`Remove authorization`},`Logout`):V.createElement(o,{type:`submit`,className:`btn modal-btn auth authorize`,"aria-label":`Apply credentials`},`Authorize`),V.createElement(o,{className:`btn modal-btn auth btn-done`,onClick:this.close},`Close`))),u.size>0?V.createElement(`div`,null,V.createElement(`div`,{className:`scope-def`},V.createElement(`p`,null,`Scopes are used to grant an application different levels of access to data on behalf of the end user. Each API may declare one or more scopes.`),V.createElement(`p`,null,`API requires the following scopes. Select which ones you want to grant to Swagger UI.`)),e.filter((e=>e.get(`type`)===`oauth2`)).map(((e,t)=>V.createElement(`div`,{key:t},V.createElement(a,{authorized:s,schema:e,name:t})))).toArray()):null,d.size>0&&V.createElement(`div`,null,d.map(((e,a)=>V.createElement(i,{key:a,schema:e,name:a,getComponent:t,onAuthChange:this.onAuthChange,authorized:s,errSelectors:r,authSelectors:n}))).toArray()))}},Z2=e=>{let t=e.get(`openapi`);return typeof t==`string`&&/^3\.1\.(?:[1-9]\d*|0)$/.test(t)},Q2=e=>(t,...n)=>r=>{if(r.getSystem().specSelectors.isOAS31()){let i=e(t,...n);return typeof i==`function`?i(r):i}return null},$2=e=>(t,n)=>(r,...i)=>{if(n.getSystem().specSelectors.isOAS31()){let a=e(r,...i);return typeof a==`function`?a(t,n):a}return t(...i)},e4=e=>(t,...n)=>r=>{let i=e(t,r,...n);return typeof i==`function`?i(r):i},t4=e=>(t,n)=>r=>n.specSelectors.isOAS31()?V.createElement(e,Xu({},r,{originalComponent:t,getSystem:n.getSystem})):V.createElement(t,r),n4=(e,t)=>{let{fn:n,specSelectors:r}=t;return Object.fromEntries(Object.entries(e).map((([e,t])=>{let i=n[e];return[e,(...e)=>r.isOAS31()?t(...e):typeof i==`function`?i(...e):void 0]})))},r4=t4((({getSystem:e})=>{let t=e().getComponent(`OAS31License`,!0);return V.createElement(t,null)})),i4=t4((({getSystem:e})=>{let t=e().getComponent(`OAS31Contact`,!0);return V.createElement(t,null)})),a4=t4((({getSystem:e})=>{let t=e().getComponent(`OAS31Info`,!0);return V.createElement(t,null)})),o4=(e,{includeReadOnly:t,includeWriteOnly:n})=>{if(!e?.properties)return{};let r=Object.entries(e.properties).filter((([,e])=>(!0!==e?.readOnly||t)&&(!0!==e?.writeOnly||n)));return Object.fromEntries(r)},s4=e=>{if(typeof e!=`function`)return null;let t=e();return()=>[...t,`discriminator`,`xml`,`externalDocs`,`example`,`$$ref`]},c4=t4((({getSystem:e,...t})=>{let{getComponent:n,fn:r,getConfigs:i}=e(),a=i(),o=n(`OAS31Model`),s=n(`withJSONSchema202012SystemContext`);return c4.ModelWithJSONSchemaContext??=s(o,{config:{default$schema:`https://spec.openapis.org/oas/3.1/dialect/base`,defaultExpandedLevels:a.defaultModelExpandDepth,includeReadOnly:t.includeReadOnly,includeWriteOnly:t.includeWriteOnly},fn:{getProperties:r.jsonSchema202012.getProperties,isExpandable:r.jsonSchema202012.isExpandable,getSchemaKeywords:s4(r.jsonSchema202012.getSchemaKeywords)}}),V.createElement(c4.ModelWithJSONSchemaContext,t)})),l4=c4,u4=t4((({getSystem:e})=>{let{getComponent:t,fn:n,getConfigs:r}=e(),i=r();if(u4.ModelsWithJSONSchemaContext)return V.createElement(u4.ModelsWithJSONSchemaContext,null);let a=t(`OAS31Models`,!0),o=t(`withJSONSchema202012SystemContext`);return u4.ModelsWithJSONSchemaContext??=o(a,{config:{default$schema:`https://spec.openapis.org/oas/3.1/dialect/base`,defaultExpandedLevels:i.defaultModelsExpandDepth-1,includeReadOnly:!0,includeWriteOnly:!0},fn:{getProperties:n.jsonSchema202012.getProperties,isExpandable:n.jsonSchema202012.isExpandable,getSchemaKeywords:s4(n.jsonSchema202012.getSchemaKeywords)}}),V.createElement(u4.ModelsWithJSONSchemaContext,null)}));u4.ModelsWithJSONSchemaContext=null;var d4=u4,f4=(e,t)=>e=>{let n=t.specSelectors.isOAS31(),r=t.getComponent(`OAS31VersionPragmaFilter`);return V.createElement(r,Xu({isOAS31:n},e))},p4=t4((({originalComponent:e,...t})=>{let{getComponent:n,schema:r,name:i}=t,a=n(`MutualTLSAuth`,!0);return r.get(`type`)===`mutualTLS`?V.createElement(a,{schema:r,name:i}):V.createElement(e,t)})),m4=t4((({getSystem:e,...t})=>{let n=e().getComponent(`OAS31Auths`,!0);return V.createElement(n,t)})),h4=(0,H.Map)(),g4=U(((e,t)=>t.specSelectors.specJson()),Z2),_4=()=>e=>{let t=e.specSelectors.specJson().get(`webhooks`);return H.Map.isMap(t)?t:h4},v4=U([(e,t)=>t.specSelectors.webhooks(),(e,t)=>t.specSelectors.validOperationMethods(),(e,t)=>t.specSelectors.specResolvedSubtree([`webhooks`])],((e,t)=>e.reduce(((e,n,r)=>{if(!H.Map.isMap(n))return e;let i=n.entrySeq().filter((([e])=>t.includes(e))).map((([e,t])=>({operation:(0,H.Map)({operation:t}),method:e,path:r,specPath:[`webhooks`,r,e]})));return e.concat(i)}),(0,H.List)()).groupBy((e=>e.path)).map((e=>e.toArray())).toObject())),y4=()=>e=>{let t=e.specSelectors.info().get(`license`);return H.Map.isMap(t)?t:h4},b4=()=>e=>e.specSelectors.license().get(`name`,`License`),x4=()=>e=>e.specSelectors.license().get(`url`),S4=U([(e,t)=>t.specSelectors.url(),(e,t)=>t.oas3Selectors.selectedServer(),(e,t)=>t.specSelectors.selectLicenseUrlField()],((e,t,n)=>{if(n)return JY(n,e,{selectedServer:t})})),C4=()=>e=>e.specSelectors.license().get(`identifier`),w4=()=>e=>{let t=e.specSelectors.info().get(`contact`);return H.Map.isMap(t)?t:h4},T4=()=>e=>e.specSelectors.contact().get(`name`,`the developer`),E4=()=>e=>e.specSelectors.contact().get(`email`),D4=()=>e=>e.specSelectors.contact().get(`url`),O4=U([(e,t)=>t.specSelectors.url(),(e,t)=>t.oas3Selectors.selectedServer(),(e,t)=>t.specSelectors.selectContactUrlField()],((e,t,n)=>{if(n)return JY(n,e,{selectedServer:t})})),k4=()=>e=>e.specSelectors.info().get(`title`),A4=()=>e=>e.specSelectors.info().get(`summary`),j4=()=>e=>e.specSelectors.info().get(`description`),M4=()=>e=>e.specSelectors.info().get(`termsOfService`),N4=U([(e,t)=>t.specSelectors.url(),(e,t)=>t.oas3Selectors.selectedServer(),(e,t)=>t.specSelectors.selectInfoTermsOfServiceField()],((e,t,n)=>{if(n)return JY(n,e,{selectedServer:t})})),P4=()=>e=>e.specSelectors.externalDocs().get(`description`),F4=()=>e=>e.specSelectors.externalDocs().get(`url`),I4=U([(e,t)=>t.specSelectors.url(),(e,t)=>t.oas3Selectors.selectedServer(),(e,t)=>t.specSelectors.selectExternalDocsUrlField()],((e,t,n)=>{if(n)return JY(n,e,{selectedServer:t})})),L4=()=>e=>e.specSelectors.specJson().get(`jsonSchemaDialect`),R4=()=>`https://spec.openapis.org/oas/3.1/dialect/base`,z4=U(((e,t)=>t.specSelectors.definitions()),((e,t)=>t.specSelectors.specResolvedSubtree([`components`,`schemas`])),((e,t)=>H.Map.isMap(e)?H.Map.isMap(t)?Object.entries(e.toJS()).reduce(((e,[n,r])=>(e[n]=t.get(n)?.toJS()||r,e)),{}):e.toJS():{})),B4=(e,t)=>(n,...r)=>t.specSelectors.isOAS31()||e(...r),V4=$2((()=>(e,t)=>t.oas31Selectors.selectLicenseUrl())),H4=$2((()=>(e,t)=>{let n=t.specSelectors.securityDefinitions(),r=e();return n&&n.entrySeq().forEach((([e,t])=>{t?.get(`type`)===`mutualTLS`&&(r=r.push(new H.Map({[e]:t})))})),r})),U4=U([(e,t)=>t.specSelectors.url(),(e,t)=>t.oas3Selectors.selectedServer(),(e,t)=>t.specSelectors.selectLicenseUrlField(),(e,t)=>t.specSelectors.selectLicenseIdentifierField()],((e,t,n,r)=>n?JY(n,e,{selectedServer:t}):r?`https://spdx.org/licenses/${r}.html`:void 0)),W4=({schema:e,getSystem:t})=>{let{fn:n,getComponent:r}=t(),{hasKeyword:i}=n.jsonSchema202012.useFn(),a=r(`JSONSchema202012JSONViewer`);return i(e,`example`)?V.createElement(a,{name:`Example`,value:e.example,className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--example`}):null},G4=({schema:e,getSystem:t})=>{let n=e?.xml||{},{fn:r,getComponent:i,getConfigs:a}=t(),{showExtensions:o}=a(),{useComponent:s,useIsExpanded:c,usePath:l,useLevel:u}=r.jsonSchema202012,{path:d}=l(`xml`),{isExpanded:f,setExpanded:p,setCollapsed:m}=c(`xml`),[h,g]=u(),_=o?gq(n):[],v=!!(n.name||n.namespace||n.prefix||_.length>0),y=s(`Accordion`),b=s(`ExpandDeepButton`),x=i(`OpenAPI31Extensions`),S=i(`JSONSchema202012PathContext`)(),C=i(`JSONSchema202012LevelContext`)(),w=(0,V.useCallback)((()=>{f?m():p()}),[f,p,m]),T=(0,V.useCallback)(((e,t)=>{t?p({deep:!0}):m({deep:!0})}),[p,m]);return Object.keys(n).length===0?null:V.createElement(S.Provider,{value:d},V.createElement(C.Provider,{value:g},V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--xml`,"data-json-schema-level":h},v?V.createElement(V.Fragment,null,V.createElement(y,{expanded:f,onChange:w},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},`XML`)),V.createElement(b,{expanded:f,onClick:T})):V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},`XML`),!0===n.attribute&&V.createElement(`span`,{className:`json-schema-2020-12__attribute json-schema-2020-12__attribute--muted`},`attribute`),!0===n.wrapped&&V.createElement(`span`,{className:`json-schema-2020-12__attribute json-schema-2020-12__attribute--muted`},`wrapped`),V.createElement(`strong`,{className:`json-schema-2020-12__attribute json-schema-2020-12__attribute--primary`},`object`),V.createElement(`ul`,{className:(0,nd.default)(`json-schema-2020-12-keyword__children`,{"json-schema-2020-12-keyword__children--collapsed":!f})},f&&V.createElement(V.Fragment,null,n.name&&V.createElement(`li`,{className:`json-schema-2020-12-property`},V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword`},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},`name`),V.createElement(`span`,{className:`json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary`},n.name))),n.namespace&&V.createElement(`li`,{className:`json-schema-2020-12-property`},V.createElement(`div`,{className:`json-schema-2020-12-keyword`},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},`namespace`),V.createElement(`span`,{className:`json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary`},n.namespace))),n.prefix&&V.createElement(`li`,{className:`json-schema-2020-12-property`},V.createElement(`div`,{className:`json-schema-2020-12-keyword`},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},`prefix`),V.createElement(`span`,{className:`json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary`},n.prefix)))),_.length>0&&V.createElement(x,{openAPISpecObj:n,openAPIExtensions:_,getSystem:t})))))},K4=({discriminator:e})=>{let t=e?.mapping||{};return Object.keys(t).length===0?null:Object.entries(t).map((([e,t])=>V.createElement(`div`,{key:`${e}-${t}`,className:`json-schema-2020-12-keyword`},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},e),V.createElement(`span`,{className:`json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary`},t))))},q4=({schema:e,getSystem:t})=>{let n=e?.discriminator||{},{fn:r,getComponent:i,getConfigs:a}=t(),{showExtensions:o}=a(),{useComponent:s,useIsExpanded:c,usePath:l,useLevel:u}=r.jsonSchema202012,d=`discriminator`,{path:f}=l(d),{isExpanded:p,setExpanded:m,setCollapsed:h}=c(d),[g,_]=u(),v=o?gq(n):[],y=!!(n.mapping||v.length>0),b=s(`Accordion`),x=s(`ExpandDeepButton`),S=i(`OpenAPI31Extensions`),C=i(`JSONSchema202012PathContext`)(),w=i(`JSONSchema202012LevelContext`)(),T=(0,V.useCallback)((()=>{p?h():m()}),[p,m,h]),E=(0,V.useCallback)(((e,t)=>{t?m({deep:!0}):h({deep:!0})}),[m,h]);return Object.keys(n).length===0?null:V.createElement(C.Provider,{value:f},V.createElement(w.Provider,{value:_},V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--discriminator`,"data-json-schema-level":g},y?V.createElement(V.Fragment,null,V.createElement(b,{expanded:p,onChange:T},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},`Discriminator`)),V.createElement(x,{expanded:p,onClick:E})):V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},`Discriminator`),n.propertyName&&V.createElement(`span`,{className:`json-schema-2020-12__attribute json-schema-2020-12__attribute--muted`},n.propertyName),V.createElement(`strong`,{className:`json-schema-2020-12__attribute json-schema-2020-12__attribute--primary`},`object`),V.createElement(`ul`,{className:(0,nd.default)(`json-schema-2020-12-keyword__children`,{"json-schema-2020-12-keyword__children--collapsed":!p})},p&&V.createElement(`li`,{className:`json-schema-2020-12-property`},V.createElement(K4,{discriminator:n})),v.length>0&&V.createElement(S,{openAPISpecObj:n,openAPIExtensions:v,getSystem:t})))))},J4=({openAPISpecObj:e,getSystem:t,openAPIExtensions:n})=>{let{fn:r}=t(),{useComponent:i}=r.jsonSchema202012,a=i(`JSONViewer`);return n.map((t=>V.createElement(a,{key:t,name:t,value:e[t],className:`json-schema-2020-12-json-viewer-extension-keyword`})))},Y4=({schema:e,getSystem:t})=>{let n=e?.externalDocs||{},{fn:r,getComponent:i,getConfigs:a}=t(),{showExtensions:o}=a(),{useComponent:s,useIsExpanded:c,usePath:l,useLevel:u}=r.jsonSchema202012,d=`externalDocs`,{path:f}=l(d),{isExpanded:p,setExpanded:m,setCollapsed:h}=c(d),[g,_]=u(),v=o?gq(n):[],y=!!(n.description||n.url||v.length>0),b=s(`Accordion`),x=s(`ExpandDeepButton`),S=i(`JSONSchema202012KeywordDescription`),C=i(`Link`),w=i(`OpenAPI31Extensions`),T=i(`JSONSchema202012PathContext`)(),E=i(`JSONSchema202012LevelContext`)(),D=(0,V.useCallback)((()=>{p?h():m()}),[p,m,h]),O=(0,V.useCallback)(((e,t)=>{t?m({deep:!0}):h({deep:!0})}),[m,h]);return Object.keys(n).length===0?null:V.createElement(T.Provider,{value:f},V.createElement(E.Provider,{value:_},V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--externalDocs`,"data-json-schema-level":g},y?V.createElement(V.Fragment,null,V.createElement(b,{expanded:p,onChange:D},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},`External documentation`)),V.createElement(x,{expanded:p,onClick:O})):V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},`External documentation`),V.createElement(`strong`,{className:`json-schema-2020-12__attribute json-schema-2020-12__attribute--primary`},`object`),V.createElement(`ul`,{className:(0,nd.default)(`json-schema-2020-12-keyword__children`,{"json-schema-2020-12-keyword__children--collapsed":!p})},p&&V.createElement(V.Fragment,null,n.description&&V.createElement(`li`,{className:`json-schema-2020-12-property`},V.createElement(S,{schema:n,getSystem:t})),n.url&&V.createElement(`li`,{className:`json-schema-2020-12-property`},V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword`},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},`url`),V.createElement(`span`,{className:`json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary`},V.createElement(C,{target:`_blank`,href:YY(n.url)},n.url))))),v.length>0&&V.createElement(w,{openAPISpecObj:n,openAPIExtensions:v,getSystem:t})))))},X4=t4(({schema:e,getSystem:t})=>{if(!e?.description)return null;let{getComponent:n}=t(),r=n(`Markdown`);return V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--description`},V.createElement(`div`,{className:`json-schema-2020-12-core-keyword__value json-schema-2020-12-core-keyword__value--secondary`},V.createElement(r,{source:e.description})))}),Z4=t4((({schema:e,getSystem:t,originalComponent:n})=>{let{getComponent:r}=t(),i=r(`JSONSchema202012KeywordDiscriminator`),a=r(`JSONSchema202012KeywordXml`),o=r(`JSONSchema202012KeywordExample`),s=r(`JSONSchema202012KeywordExternalDocs`);return V.createElement(V.Fragment,null,V.createElement(n,{schema:e}),V.createElement(i,{schema:e,getSystem:t}),V.createElement(a,{schema:e,getSystem:t}),V.createElement(s,{schema:e,getSystem:t}),V.createElement(o,{schema:e,getSystem:t}))})),Q4=t4(({schema:e,getSystem:t})=>{let{fn:n,getComponent:r}=t(),{useComponent:i,usePath:a}=n.jsonSchema202012,{getDependentRequired:o,getProperties:s}=n.jsonSchema202012.useFn(),c=n.jsonSchema202012.useConfig(),l=Array.isArray(e?.required)?e.required:[],{path:u}=a(`properties`),d=i(`JSONSchema`),f=r(`JSONSchema202012PathContext`)(),p=s(e,c);return Object.keys(p).length===0?null:V.createElement(f.Provider,{value:u},V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--properties`},V.createElement(`ul`,null,Object.entries(p).map((([t,n])=>{let r=l.includes(t),i=o(t,e);return V.createElement(`li`,{key:t,className:(0,nd.default)(`json-schema-2020-12-property`,{"json-schema-2020-12-property--required":r})},V.createElement(d,{name:t,schema:n,dependentRequired:i}))})))))}),$4=function({fn:e,getSystem:t}){if(e.jsonSchema202012){let n=((e,t)=>{let{fn:n}=t();if(typeof e!=`function`)return null;let{hasKeyword:r}=n.jsonSchema202012;return t=>e(t)||r(t,`example`)||t?.xml||t?.discriminator||t?.externalDocs})(e.jsonSchema202012.isExpandable,t);Object.assign(this.fn.jsonSchema202012,{isExpandable:n,getProperties:o4})}if(typeof e.sampleFromSchema==`function`&&e.jsonSchema202012){let n=n4({sampleFromSchema:e.jsonSchema202012.sampleFromSchema,sampleFromSchemaGeneric:e.jsonSchema202012.sampleFromSchemaGeneric,createXMLExample:e.jsonSchema202012.createXMLExample,memoizedSampleFromSchema:e.jsonSchema202012.memoizedSampleFromSchema,memoizedCreateXMLExample:e.jsonSchema202012.memoizedCreateXMLExample,getJsonSampleSchema:e.jsonSchema202012.getJsonSampleSchema,getYamlSampleSchema:e.jsonSchema202012.getYamlSampleSchema,getXmlSampleSchema:e.jsonSchema202012.getXmlSampleSchema,getSampleSchema:e.jsonSchema202012.getSampleSchema,mergeJsonSchema:e.jsonSchema202012.mergeJsonSchema,getSchemaObjectTypeLabel:t=>e.jsonSchema202012.getType(YK(t)),getSchemaObjectType:t=>e.jsonSchema202012.foldType(YK(t)?.type)},t());Object.assign(this.fn,n)}let n=(e=>(t,n=null)=>{let{fn:r}=e();if(r.isFileUploadIntendedOAS30(t,n))return!0;let i=H.Map.isMap(t);if(!i&&!(0,Lf.default)(t))return!1;let a=i?t.get(`contentMediaType`):t.contentMediaType,o=i?t.get(`contentEncoding`):t.contentEncoding;return typeof a==`string`&&a!==``||typeof o==`string`&&o!==``})(t),{isFileUploadIntended:r}=n4({isFileUploadIntended:n},t());if(this.fn.isFileUploadIntended=r,this.fn.isFileUploadIntendedOAS31=n,e.jsonSchema202012){let{hasSchemaType:n}=n4({hasSchemaType:e.jsonSchema202012.hasSchemaType},t());this.fn.hasSchemaType=n}},e3=({fn:e})=>{let t=e.createSystemSelector||e4,n=e.createOnlyOAS31Selector||Q2;return{afterLoad:$4,fn:{isOAS31:Z2,createSystemSelector:e4,createOnlyOAS31Selector:Q2},components:{Webhooks:B2,JsonSchemaDialect:W2,MutualTLSAuth:Y2,OAS31Info:U2,OAS31License:V2,OAS31Contact:H2,OAS31VersionPragmaFilter:G2,OAS31Model:q2,OAS31Models:J2,OAS31Auths:X2,JSONSchema202012KeywordExample:W4,JSONSchema202012KeywordXml:G4,JSONSchema202012KeywordDiscriminator:q4,JSONSchema202012KeywordExternalDocs:Y4,OpenAPI31Extensions:J4},wrapComponents:{InfoContainer:a4,License:r4,Contact:i4,VersionPragmaFilter:f4,Model:l4,Models:d4,AuthItem:p4,auths:m4,JSONSchema202012KeywordDescription:X4,JSONSchema202012KeywordExamples:Z4,JSONSchema202012KeywordProperties:Q4},statePlugins:{auth:{wrapSelectors:{definitionsToAuthorize:H4}},spec:{selectors:{isOAS31:t(g4),license:y4,selectLicenseNameField:b4,selectLicenseUrlField:x4,selectLicenseIdentifierField:n(C4),selectLicenseUrl:t(S4),contact:w4,selectContactNameField:T4,selectContactEmailField:E4,selectContactUrlField:D4,selectContactUrl:t(O4),selectInfoTitleField:k4,selectInfoSummaryField:n(A4),selectInfoDescriptionField:j4,selectInfoTermsOfServiceField:M4,selectInfoTermsOfServiceUrl:t(N4),selectExternalDocsDescriptionField:P4,selectExternalDocsUrlField:F4,selectExternalDocsUrl:t(I4),webhooks:n(_4),selectWebhooksOperations:n(t(v4)),selectJsonSchemaDialectField:L4,selectJsonSchemaDialectDefault:R4,selectSchemas:t(z4)},wrapSelectors:{isOAS3:B4,selectLicenseUrl:V4}},oas31:{selectors:{selectLicenseUrl:n(t(U4))}}}}},t3=Re.default.object,n3=Re.default.bool,r3=(Re.default.oneOfType([t3,n3]),(0,V.createContext)(null));r3.displayName=`JSONSchemaContext`;var i3=(0,V.createContext)(0);i3.displayName=`JSONSchemaLevelContext`;var a3=(0,V.createContext)(new Set),o3=(0,V.createContext)([]),s3=class{static Collapsed=`collapsed`;static Expanded=`expanded`;static DeeplyExpanded=`deeply-expanded`},c3=()=>{let{config:e}=(0,V.useContext)(r3);return e},$=e=>{let{components:t}=(0,V.useContext)(r3);return t[e]||null},l3=(e=void 0)=>{let{fn:t}=(0,V.useContext)(r3);return e===void 0?t:t[e]},u3=()=>{let[,e]=(0,V.useState)(null),{state:t}=(0,V.useContext)(r3);return{state:t,setState:n=>{n(t),e({})}}},d3=()=>{let e=(0,V.useContext)(i3);return[e,e+1]},f3=e=>{let t=(0,V.useContext)(o3),{setState:n}=u3(),r=typeof e==`string`?[...t,e]:t;return{path:r,pathMutator:(e,t={deep:!1})=>{let i=r.toString();t.deep?n(t=>{Object.keys(t.paths).forEach((n=>{n.startsWith(i)&&(t.paths[n]=e)}))}):n(t=>{t.paths[i]=e,e===s3.Collapsed&&Object.keys(t.paths).forEach((e=>{e.startsWith(i)&&t.paths[e]===s3.DeeplyExpanded&&(t.paths[e]=s3.Expanded)}))})}}},p3=e=>{let[t]=d3(),{defaultExpandedLevels:n}=c3(),{path:r,pathMutator:i}=f3(e),{path:a}=f3(),{state:o}=u3(),s=o.paths[r.toString()],c=o.paths[a.toString()]??o.paths[a.slice(0,-1).toString()],l=s??(n-t>0?s3.Expanded:s3.Collapsed),u=l!==s3.Collapsed;return(0,V.useEffect)((()=>{i(c===s3.DeeplyExpanded?s3.DeeplyExpanded:l)}),[c]),{isExpanded:u,setExpanded:(0,V.useCallback)(((e={deep:!1})=>{i(e.deep?s3.DeeplyExpanded:s3.Expanded)}),[]),setCollapsed:(0,V.useCallback)(((e={deep:!1})=>{i(s3.Collapsed,e)}),[])}},m3=(e=void 0)=>{if(e===void 0)return(0,V.useContext)(a3);let t=(0,V.useContext)(a3);return new Set([...t,e])},h3=(0,V.forwardRef)((({schema:e,name:t=``,dependentRequired:n=[],onExpand:r=()=>{},identifier:i=``},a)=>{let o=l3(),s=i||e?.$id||t,{path:c}=f3(s),{isExpanded:l,setExpanded:u,setCollapsed:d}=p3(s),[f,p]=d3(),m=(()=>{let[e]=d3();return e>0})(),h=o.isExpandable(e)||n.length>0,g=(e=>m3().has(e))(e),_=m3(e),v=o.stringifyConstraints(e),y=$(`Accordion`),b=$(`Keyword$schema`),x=$(`Keyword$vocabulary`),S=$(`Keyword$id`),C=$(`Keyword$anchor`),w=$(`Keyword$dynamicAnchor`),T=$(`Keyword$ref`),E=$(`Keyword$dynamicRef`),D=$(`Keyword$defs`),O=$(`Keyword$comment`),k=$(`KeywordAllOf`),A=$(`KeywordAnyOf`),j=$(`KeywordOneOf`),M=$(`KeywordNot`),N=$(`KeywordIf`),P=$(`KeywordThen`),F=$(`KeywordElse`),I=$(`KeywordDependentSchemas`),L=$(`KeywordPrefixItems`),ee=$(`KeywordItems`),R=$(`KeywordContains`),z=$(`KeywordProperties`),B=$(`KeywordPatternProperties`),te=$(`KeywordAdditionalProperties`),ne=$(`KeywordPropertyNames`),re=$(`KeywordUnevaluatedItems`),ie=$(`KeywordUnevaluatedProperties`),ae=$(`KeywordType`),oe=$(`KeywordEnum`),se=$(`KeywordConst`),ce=$(`KeywordConstraint`),le=$(`KeywordDependentRequired`),ue=$(`KeywordContentSchema`),de=$(`KeywordTitle`),fe=$(`KeywordDescription`),pe=$(`KeywordDefault`),me=$(`KeywordDeprecated`),he=$(`KeywordReadOnly`),ge=$(`KeywordWriteOnly`),_e=$(`KeywordExamples`),ve=$(`ExtensionKeywords`),ye=$(`ExpandDeepButton`),be=(0,V.useCallback)(((e,t)=>{t?u():d(),r(e,t,!1)}),[r,u,d]),xe=(0,V.useCallback)(((e,t)=>{t?u({deep:!0}):d({deep:!0}),r(e,t,!0)}),[r,u,d]);return V.createElement(o3.Provider,{value:c},V.createElement(i3.Provider,{value:p},V.createElement(a3.Provider,{value:_},V.createElement(`article`,{ref:a,"data-json-schema-level":f,className:(0,nd.default)(`json-schema-2020-12`,{"json-schema-2020-12--embedded":m,"json-schema-2020-12--circular":g})},V.createElement(`div`,{className:`json-schema-2020-12-head`},h&&!g?V.createElement(V.Fragment,null,V.createElement(y,{expanded:l,onChange:be},V.createElement(de,{title:t,schema:e})),V.createElement(ye,{expanded:l,onClick:xe})):V.createElement(de,{title:t,schema:e}),V.createElement(me,{schema:e}),V.createElement(he,{schema:e}),V.createElement(ge,{schema:e}),V.createElement(ae,{schema:e,isCircular:g}),v.length>0&&v.map((e=>V.createElement(ce,{key:`${e.scope}-${e.value}`,constraint:e})))),V.createElement(`div`,{className:(0,nd.default)(`json-schema-2020-12-body`,{"json-schema-2020-12-body--collapsed":!l})},l&&V.createElement(V.Fragment,null,V.createElement(fe,{schema:e}),!g&&h&&V.createElement(V.Fragment,null,V.createElement(z,{schema:e}),V.createElement(B,{schema:e}),V.createElement(te,{schema:e}),V.createElement(ie,{schema:e}),V.createElement(ne,{schema:e}),V.createElement(k,{schema:e}),V.createElement(A,{schema:e}),V.createElement(j,{schema:e}),V.createElement(M,{schema:e}),V.createElement(N,{schema:e}),V.createElement(P,{schema:e}),V.createElement(F,{schema:e}),V.createElement(I,{schema:e}),V.createElement(L,{schema:e}),V.createElement(ee,{schema:e}),V.createElement(re,{schema:e}),V.createElement(R,{schema:e}),V.createElement(ue,{schema:e})),V.createElement(oe,{schema:e}),V.createElement(se,{schema:e}),V.createElement(le,{schema:e,dependentRequired:n}),V.createElement(pe,{schema:e}),V.createElement(_e,{schema:e}),V.createElement(b,{schema:e}),V.createElement(x,{schema:e}),V.createElement(S,{schema:e}),V.createElement(C,{schema:e}),V.createElement(w,{schema:e}),V.createElement(T,{schema:e}),!g&&h&&V.createElement(D,{schema:e}),V.createElement(E,{schema:e}),V.createElement(O,{schema:e}),V.createElement(ve,{schema:e})))))))})),g3=({schema:e})=>e?.$schema?V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--$schema`},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},`$schema`),V.createElement(`span`,{className:`json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary`},e.$schema)):null,_3=({schema:e})=>{let t=`$vocabulary`,{path:n}=f3(t),{isExpanded:r,setExpanded:i,setCollapsed:a}=p3(t),o=$(`Accordion`),s=(0,V.useCallback)((()=>{r?a():i()}),[r,i,a]);return e?.$vocabulary&&typeof e.$vocabulary==`object`?V.createElement(o3.Provider,{value:n},V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--$vocabulary`},V.createElement(o,{expanded:r,onChange:s},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},`$vocabulary`)),V.createElement(`strong`,{className:`json-schema-2020-12__attribute json-schema-2020-12__attribute--primary`},`object`),V.createElement(`ul`,null,r&&Object.entries(e.$vocabulary).map((([e,t])=>V.createElement(`li`,{key:e,className:(0,nd.default)(`json-schema-2020-12-$vocabulary-uri`,{"json-schema-2020-12-$vocabulary-uri--disabled":!t})},V.createElement(`span`,{className:`json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary`},e))))))):null},v3=({schema:e})=>e?.$id?V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--$id`},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},`$id`),V.createElement(`span`,{className:`json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary`},e.$id)):null,y3=({schema:e})=>e?.$anchor?V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--$anchor`},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},`$anchor`),V.createElement(`span`,{className:`json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary`},e.$anchor)):null,b3=({schema:e})=>e?.$dynamicAnchor?V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--$dynamicAnchor`},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},`$dynamicAnchor`),V.createElement(`span`,{className:`json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary`},e.$dynamicAnchor)):null,x3=({schema:e})=>e?.$ref?V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--$ref`},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},`$ref`),V.createElement(`span`,{className:`json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary`},e.$ref)):null,S3=({schema:e})=>e?.$dynamicRef?V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--$dynamicRef`},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},`$dynamicRef`),V.createElement(`span`,{className:`json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary`},e.$dynamicRef)):null,C3=({schema:e})=>{let t=e?.$defs||{},n=`$defs`,{path:r}=f3(n),{isExpanded:i,setExpanded:a,setCollapsed:o}=p3(n),[s,c]=d3(),l=$(`Accordion`),u=$(`ExpandDeepButton`),d=$(`JSONSchema`),f=(0,V.useCallback)((()=>{i?o():a()}),[i,a,o]),p=(0,V.useCallback)(((e,t)=>{t?a({deep:!0}):o({deep:!0})}),[a,o]);return Object.keys(t).length===0?null:V.createElement(o3.Provider,{value:r},V.createElement(i3.Provider,{value:c},V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--$defs`,"data-json-schema-level":s},V.createElement(l,{expanded:i,onChange:f},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},`$defs`)),V.createElement(u,{expanded:i,onClick:p}),V.createElement(`strong`,{className:`json-schema-2020-12__attribute json-schema-2020-12__attribute--primary`},`object`),V.createElement(`ul`,{className:(0,nd.default)(`json-schema-2020-12-keyword__children`,{"json-schema-2020-12-keyword__children--collapsed":!i})},i&&V.createElement(V.Fragment,null,Object.entries(t).map((([e,t])=>V.createElement(`li`,{key:e,className:`json-schema-2020-12-property`},V.createElement(d,{name:e,schema:t})))))))))},w3=({schema:e})=>e?.$comment?V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--$comment`},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},`$comment`),V.createElement(`span`,{className:`json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary`},e.$comment)):null,T3=({schema:e})=>{let t=e?.allOf||[],n=l3(),r=`allOf`,{path:i}=f3(r),{isExpanded:a,setExpanded:o,setCollapsed:s}=p3(r),[c,l]=d3(),u=$(`Accordion`),d=$(`ExpandDeepButton`),f=$(`JSONSchema`),p=$(`KeywordType`),m=(0,V.useCallback)((()=>{a?s():o()}),[a,o,s]),h=(0,V.useCallback)(((e,t)=>{t?o({deep:!0}):s({deep:!0})}),[o,s]);return Array.isArray(t)&&t.length!==0?V.createElement(o3.Provider,{value:i},V.createElement(i3.Provider,{value:l},V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--allOf`,"data-json-schema-level":c},V.createElement(u,{expanded:a,onChange:m},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary`},`All of`)),V.createElement(d,{expanded:a,onClick:h}),V.createElement(p,{schema:{allOf:t}}),V.createElement(`ul`,{className:(0,nd.default)(`json-schema-2020-12-keyword__children`,{"json-schema-2020-12-keyword__children--collapsed":!a})},a&&V.createElement(V.Fragment,null,t.map(((e,t)=>V.createElement(`li`,{key:`#${t}`,className:`json-schema-2020-12-property`},V.createElement(f,{name:`#${t} ${n.getTitle(e)}`,schema:e}))))))))):null},E3=({schema:e})=>{let t=e?.anyOf||[],n=l3(),r=`anyOf`,{path:i}=f3(r),{isExpanded:a,setExpanded:o,setCollapsed:s}=p3(r),[c,l]=d3(),u=$(`Accordion`),d=$(`ExpandDeepButton`),f=$(`JSONSchema`),p=$(`KeywordType`),m=(0,V.useCallback)((()=>{a?s():o()}),[a,o,s]),h=(0,V.useCallback)(((e,t)=>{t?o({deep:!0}):s({deep:!0})}),[o,s]);return Array.isArray(t)&&t.length!==0?V.createElement(o3.Provider,{value:i},V.createElement(i3.Provider,{value:l},V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--anyOf`,"data-json-schema-level":c},V.createElement(u,{expanded:a,onChange:m},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary`},`Any of`)),V.createElement(d,{expanded:a,onClick:h}),V.createElement(p,{schema:{anyOf:t}}),V.createElement(`ul`,{className:(0,nd.default)(`json-schema-2020-12-keyword__children`,{"json-schema-2020-12-keyword__children--collapsed":!a})},a&&V.createElement(V.Fragment,null,t.map(((e,t)=>V.createElement(`li`,{key:`#${t}`,className:`json-schema-2020-12-property`},V.createElement(f,{name:`#${t} ${n.getTitle(e)}`,schema:e}))))))))):null},D3=({schema:e})=>{let t=e?.oneOf||[],n=l3(),r=`oneOf`,{path:i}=f3(r),{isExpanded:a,setExpanded:o,setCollapsed:s}=p3(r),[c,l]=d3(),u=$(`Accordion`),d=$(`ExpandDeepButton`),f=$(`JSONSchema`),p=$(`KeywordType`),m=(0,V.useCallback)((()=>{a?s():o()}),[a,o,s]),h=(0,V.useCallback)(((e,t)=>{t?o({deep:!0}):s({deep:!0})}),[o,s]);return Array.isArray(t)&&t.length!==0?V.createElement(o3.Provider,{value:i},V.createElement(i3.Provider,{value:l},V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--oneOf`,"data-json-schema-level":c},V.createElement(u,{expanded:a,onChange:m},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary`},`One of`)),V.createElement(d,{expanded:a,onClick:h}),V.createElement(p,{schema:{oneOf:t}}),V.createElement(`ul`,{className:(0,nd.default)(`json-schema-2020-12-keyword__children`,{"json-schema-2020-12-keyword__children--collapsed":!a})},a&&V.createElement(V.Fragment,null,t.map(((e,t)=>V.createElement(`li`,{key:`#${t}`,className:`json-schema-2020-12-property`},V.createElement(f,{name:`#${t} ${n.getTitle(e)}`,schema:e}))))))))):null},O3=({schema:e})=>{let t=l3(),n=$(`JSONSchema`);if(!t.hasKeyword(e,`not`))return null;let r=V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary`},`Not`);return V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--not`},V.createElement(n,{name:r,schema:e.not,identifier:`not`}))},k3=({schema:e})=>{let t=l3(),n=$(`JSONSchema`);if(!t.hasKeyword(e,`if`))return null;let r=V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary`},`If`);return V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--if`},V.createElement(n,{name:r,schema:e.if,identifier:`if`}))},A3=({schema:e})=>{let t=l3(),n=$(`JSONSchema`);if(!t.hasKeyword(e,`then`))return null;let r=V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary`},`Then`);return V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--then`},V.createElement(n,{name:r,schema:e.then,identifier:`then`}))},j3=({schema:e})=>{let t=l3(),n=$(`JSONSchema`);if(!t.hasKeyword(e,`else`))return null;let r=V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary`},`Else`);return V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--if`},V.createElement(n,{name:r,schema:e.else,identifier:`else`}))},M3=({schema:e})=>{let t=e?.dependentSchemas||[],n=`dependentSchemas`,{path:r}=f3(n),{isExpanded:i,setExpanded:a,setCollapsed:o}=p3(n),[s,c]=d3(),l=$(`Accordion`),u=$(`ExpandDeepButton`),d=$(`JSONSchema`),f=(0,V.useCallback)((()=>{i?o():a()}),[i,a,o]),p=(0,V.useCallback)(((e,t)=>{t?a({deep:!0}):o({deep:!0})}),[a,o]);return typeof t!=`object`||Object.keys(t).length===0?null:V.createElement(o3.Provider,{value:r},V.createElement(i3.Provider,{value:c},V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--dependentSchemas`,"data-json-schema-level":s},V.createElement(l,{expanded:i,onChange:f},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary`},`Dependent schemas`)),V.createElement(u,{expanded:i,onClick:p}),V.createElement(`strong`,{className:`json-schema-2020-12__attribute json-schema-2020-12__attribute--primary`},`object`),V.createElement(`ul`,{className:(0,nd.default)(`json-schema-2020-12-keyword__children`,{"json-schema-2020-12-keyword__children--collapsed":!i})},i&&V.createElement(V.Fragment,null,Object.entries(t).map((([e,t])=>V.createElement(`li`,{key:e,className:`json-schema-2020-12-property`},V.createElement(d,{name:e,schema:t})))))))))},N3=({schema:e})=>{let t=e?.prefixItems||[],n=l3(),r=`prefixItems`,{path:i}=f3(r),{isExpanded:a,setExpanded:o,setCollapsed:s}=p3(r),[c,l]=d3(),u=$(`Accordion`),d=$(`ExpandDeepButton`),f=$(`JSONSchema`),p=$(`KeywordType`),m=(0,V.useCallback)((()=>{a?s():o()}),[a,o,s]),h=(0,V.useCallback)(((e,t)=>{t?o({deep:!0}):s({deep:!0})}),[o,s]);return Array.isArray(t)&&t.length!==0?V.createElement(o3.Provider,{value:i},V.createElement(i3.Provider,{value:l},V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--prefixItems`,"data-json-schema-level":c},V.createElement(u,{expanded:a,onChange:m},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary`},`Prefix items`)),V.createElement(d,{expanded:a,onClick:h}),V.createElement(p,{schema:{prefixItems:t}}),V.createElement(`ul`,{className:(0,nd.default)(`json-schema-2020-12-keyword__children`,{"json-schema-2020-12-keyword__children--collapsed":!a})},a&&V.createElement(V.Fragment,null,t.map(((e,t)=>V.createElement(`li`,{key:`#${t}`,className:`json-schema-2020-12-property`},V.createElement(f,{name:`#${t} ${n.getTitle(e)}`,schema:e}))))))))):null},P3=({schema:e})=>{let t=l3(),n=$(`JSONSchema`);if(!t.hasKeyword(e,`items`))return null;let r=V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary`},`Items`);return V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--items`},V.createElement(n,{name:r,schema:e.items,identifier:`items`}))},F3=({schema:e})=>{let t=l3(),n=$(`JSONSchema`);if(!t.hasKeyword(e,`contains`))return null;let r=V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary`},`Contains`);return V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--contains`},V.createElement(n,{name:r,schema:e.contains,identifier:`contains`}))},I3=({schema:e})=>{let t=l3(),n=e?.properties||{},r=Array.isArray(e?.required)?e.required:[],i=$(`JSONSchema`),{path:a}=f3(`properties`);return Object.keys(n).length===0?null:V.createElement(o3.Provider,{value:a},V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--properties`},V.createElement(`ul`,null,Object.entries(n).map((([n,a])=>{let o=r.includes(n),s=t.getDependentRequired(n,e);return V.createElement(`li`,{key:n,className:(0,nd.default)(`json-schema-2020-12-property`,{"json-schema-2020-12-property--required":o})},V.createElement(i,{name:n,schema:a,dependentRequired:s}))})))))},L3=({schema:e})=>{let t=e?.patternProperties||{},n=$(`JSONSchema`),{path:r}=f3(`patternProperties`);return Object.keys(t).length===0?null:V.createElement(o3.Provider,{value:r},V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--patternProperties`},V.createElement(`ul`,null,Object.entries(t).map((([e,t])=>V.createElement(`li`,{key:e,className:`json-schema-2020-12-property`},V.createElement(n,{name:e,schema:t})))))))},R3=({schema:e})=>{let t=l3(),n=$(`JSONSchema`);if(!t.hasKeyword(e,`additionalProperties`))return null;let r=V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary`},`Additional properties`);return V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--additionalProperties`},!0===e.additionalProperties?V.createElement(V.Fragment,null,r,V.createElement(`span`,{className:`json-schema-2020-12__attribute json-schema-2020-12__attribute--primary`},`allowed`)):!1===e.additionalProperties?V.createElement(V.Fragment,null,r,V.createElement(`span`,{className:`json-schema-2020-12__attribute json-schema-2020-12__attribute--primary`},`forbidden`)):V.createElement(n,{name:r,schema:e.additionalProperties,identifier:`additionalProperties`}))},z3=({schema:e})=>{let t=l3(),n=$(`JSONSchema`),r=V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary`},`Property names`);return t.hasKeyword(e,`propertyNames`)?V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--propertyNames`},V.createElement(n,{name:r,schema:e.propertyNames,identifier:`propertyNames`})):null},B3=({schema:e})=>{let t=l3(),n=$(`JSONSchema`);if(!t.hasKeyword(e,`unevaluatedItems`))return null;let r=V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary`},`Unevaluated items`);return V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--unevaluatedItems`},V.createElement(n,{name:r,schema:e.unevaluatedItems,identifier:`unevaluatedItems`}))},V3=({schema:e})=>{let t=l3(),n=$(`JSONSchema`);if(!t.hasKeyword(e,`unevaluatedProperties`))return null;let r=V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary`},`Unevaluated properties`);return V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--unevaluatedProperties`},V.createElement(n,{name:r,schema:e.unevaluatedProperties,identifier:`unevaluatedProperties`}))},H3=({schema:e,isCircular:t=!1})=>{let n=l3().getType(e),r=t?` [circular]`:``;return V.createElement(`strong`,{className:`json-schema-2020-12__attribute json-schema-2020-12__attribute--primary`},`${n}${r}`)},U3=({schema:e})=>{let t=$(`JSONViewer`);return Array.isArray(e?.enum)?V.createElement(t,{name:`Enum`,value:e.enum,className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--enum`}):null},W3=({schema:e})=>{let t=l3(),n=$(`JSONViewer`);return t.hasKeyword(e,`const`)?V.createElement(n,{name:`Const`,value:e.const,className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--const`}):null},G3=e=>typeof e==`string`?`${e.charAt(0).toUpperCase()}${e.slice(1)}`:e,K3=e=>(t,{lookup:n=`extended`}={})=>{let r=e();if(t?.title!=null)return r.upperFirst(String(t.title));if(n===`extended`){if(t?.$anchor!=null)return r.upperFirst(String(t.$anchor));if(t?.$id!=null)return String(t.$id)}return``},q3=e=>{let t=(n,r=new WeakSet)=>{let i=e();if(n==null)return`any`;if(i.isBooleanJSONSchema(n))return n?`any`:`never`;if(typeof n!=`object`||r.has(n))return`any`;r.add(n);let{type:a,prefixItems:o,items:s}=n,c=()=>{if(Array.isArray(o)){let e=o.map((e=>t(e,r))),n=s?t(s,r):`any`;return`array<[${e.join(`, `)}], ${n}>`}return s?`array<${t(s,r)}>`:`array`};if(n.not&&t(n.not)===`any`)return`never`;let l=(e,i)=>Array.isArray(n[e])?`(${n[e].map((e=>t(e,r))).join(i)})`:null,u=[Array.isArray(a)?a.map((e=>e===`array`?c():e)).join(` | `):a===`array`?c():[`null`,`boolean`,`object`,`array`,`number`,`integer`,`string`].includes(a)?a:(()=>{if(Object.hasOwn(n,`prefixItems`)||Object.hasOwn(n,`items`)||Object.hasOwn(n,`contains`))return c();if(Object.hasOwn(n,`properties`)||Object.hasOwn(n,`additionalProperties`)||Object.hasOwn(n,`patternProperties`))return`object`;if([`int32`,`int64`].includes(n.format))return`integer`;if([`float`,`double`].includes(n.format))return`number`;if(Object.hasOwn(n,`minimum`)||Object.hasOwn(n,`maximum`)||Object.hasOwn(n,`exclusiveMinimum`)||Object.hasOwn(n,`exclusiveMaximum`)||Object.hasOwn(n,`multipleOf`))return`number | integer`;if(Object.hasOwn(n,`pattern`)||Object.hasOwn(n,`format`)||Object.hasOwn(n,`minLength`)||Object.hasOwn(n,`maxLength`)||Object.hasOwn(n,`contentEncoding`)||Object.hasOwn(n,`contentMediaType`))return`string`;if(n.const!==void 0){if(n.const===null)return`null`;if(typeof n.const==`boolean`)return`boolean`;if(typeof n.const==`number`)return Number.isInteger(n.const)?`integer`:`number`;if(typeof n.const==`string`)return`string`;if(Array.isArray(n.const))return`array`;if(typeof n.const==`object`)return`object`}return null})(),l(`oneOf`,` | `),l(`anyOf`,` | `),l(`allOf`,` & `)].filter(Boolean).join(` | `);return r.delete(n),u||`any`};return t},J3=e=>typeof e==`boolean`,Y3=(e,t)=>typeof e==`object`&&!!e&&Object.hasOwn(e,t),X3=e=>t=>{let n=e();return t?.$schema||t?.$vocabulary||t?.$id||t?.$anchor||t?.$dynamicAnchor||t?.$ref||t?.$dynamicRef||t?.$defs||t?.$comment||t?.allOf||t?.anyOf||t?.oneOf||n.hasKeyword(t,`not`)||n.hasKeyword(t,`if`)||n.hasKeyword(t,`then`)||n.hasKeyword(t,`else`)||t?.dependentSchemas||t?.prefixItems||n.hasKeyword(t,`items`)||n.hasKeyword(t,`contains`)||t?.properties||t?.patternProperties||n.hasKeyword(t,`additionalProperties`)||n.hasKeyword(t,`propertyNames`)||n.hasKeyword(t,`unevaluatedItems`)||n.hasKeyword(t,`unevaluatedProperties`)||t?.description||t?.enum||n.hasKeyword(t,`const`)||n.hasKeyword(t,`contentSchema`)||n.hasKeyword(t,`default`)||t?.examples||n.getExtensionKeywords(t).length>0},Z3=e=>e===null||[`number`,`bigint`,`boolean`].includes(typeof e)?String(e):Array.isArray(e)?`[${e.map(Z3).join(`, `)}]`:JSON.stringify(e),Q3=(e,t,n)=>{let r=typeof t==`number`,i=typeof n==`number`;return r&&i?t===n?`${t} ${e}`:`[${t}, ${n}] ${e}`:r?`≥ ${t} ${e}`:i?`≤ ${n} ${e}`:null},$3=e=>{let t=[],n=(e=>{if(typeof e?.multipleOf!=`number`||e.multipleOf<=0||e.multipleOf===1)return null;let{multipleOf:t}=e;if(Number.isInteger(t))return`multiple of ${t}`;let n=10**t.toString().split(`.`)[1].length;return`multiple of ${t*n}/${n}`})(e);n!==null&&t.push({scope:`number`,value:n});let r=(e=>{let t=e?.minimum,n=e?.maximum,r=e?.exclusiveMinimum,i=e?.exclusiveMaximum,a=typeof t==`number`,o=typeof n==`number`,s=typeof r==`number`,c=typeof i==`number`,l=s&&(!a||ti);return(a||s)&&(o||c)?`${l?`(`:`[`}${l?r:t}, ${u?i:n}${u?`)`:`]`}`:a||s?`${l?`>`:`≥`} ${l?r:t}`:o||c?`${u?`<`:`≤`} ${u?i:n}`:null})(e);r!==null&&t.push({scope:`number`,value:r}),e?.format&&t.push({scope:`string`,value:e.format});let i=Q3(`characters`,e?.minLength,e?.maxLength);i!==null&&t.push({scope:`string`,value:i}),e?.pattern&&t.push({scope:`string`,value:`matches ${e?.pattern}`}),e?.contentMediaType&&t.push({scope:`string`,value:`media type: ${e.contentMediaType}`}),e?.contentEncoding&&t.push({scope:`string`,value:`encoding: ${e.contentEncoding}`});let a=Q3(e?.uniqueItems?`unique items`:`items`,e?.minItems,e?.maxItems);a!==null&&t.push({scope:`array`,value:a}),e?.uniqueItems&&!a&&t.push({scope:`array`,value:`unique`});let o=Q3(`contained items`,e?.minContains,e?.maxContains);o!==null&&t.push({scope:`array`,value:o});let s=Q3(`properties`,e?.minProperties,e?.maxProperties);return s!==null&&t.push({scope:`object`,value:s}),t},e6=(e,t)=>t?.dependentRequired?Array.from(Object.entries(t.dependentRequired).reduce(((t,[n,r])=>(Array.isArray(r)&&r.includes(e)&&t.add(n),t)),new Set)):[],t6=e=>typeof e==`object`&&!!e&&!Array.isArray(e)&&(Object.getPrototypeOf(e)===null||Object.getPrototypeOf(e)===Object.prototype),n6=()=>`$schema.$vocabulary.$id.$anchor.$dynamicAnchor.$dynamicRef.$ref.$defs.$comment.allOf.anyOf.oneOf.not.if.then.else.dependentSchemas.prefixItems.items.contains.properties.patternProperties.additionalProperties.propertyNames.unevaluatedItems.unevaluatedProperties.type.enum.const.multipleOf.maximum.exclusiveMaximum.minimum.exclusiveMinimum.maxLength.minLength.pattern.maxItems.minItems.uniqueItems.maxContains.minContains.maxProperties.minProperties.required.dependentRequired.title.description.default.deprecated.readOnly.writeOnly.examples.format.contentEncoding.contentMediaType.contentSchema`.split(`.`),r6=e=>t=>{let n=e().getSchemaKeywords();return t6(t)?((e,t)=>{let n=new Set(t);return e.filter((e=>!n.has(e)))})(Object.keys(t),n):[]},i6=(e,t)=>{let n=H.Map.isMap(e);if(!n&&!t6(e))return!1;let r=e=>t===e||Array.isArray(t)&&t.includes(e),i=n?e.get(`type`):e.type;return H.List.isList(i)||Array.isArray(i)?i.some((e=>r(e))):r(i)},a6=V.memo(({constraint:e})=>t6(e)&&typeof e.scope==`string`&&typeof e.value==`string`?V.createElement(`span`,{className:`json-schema-2020-12__constraint json-schema-2020-12__constraint--${e.scope}`},e.value):null),o6=({dependentRequired:e})=>Array.isArray(e)&&e.length!==0?V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--dependentRequired`},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary`},`Required when defined`),V.createElement(`ul`,null,e.map((e=>V.createElement(`li`,{key:e},V.createElement(`span`,{className:`json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--warning`},e)))))):null,s6=({schema:e})=>{let t=l3(),n=$(`JSONSchema`);if(!t.hasKeyword(e,`contentSchema`))return null;let r=V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary`},`Content schema`);return V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--contentSchema`},V.createElement(n,{name:r,schema:e.contentSchema,identifier:`contentSchema`}))},c6=({title:e=``,schema:t})=>{let n=l3(),r=e||n.getTitle(t);return r?V.createElement(`div`,{className:`json-schema-2020-12__title`},r):null},l6=({schema:e})=>e?.description?V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--description`},V.createElement(`div`,{className:`json-schema-2020-12-core-keyword__value json-schema-2020-12-core-keyword__value--secondary`},e.description)):null,u6=({schema:e})=>{let t=l3(),n=$(`JSONViewer`);return t.hasKeyword(e,`default`)?V.createElement(n,{name:`Default`,value:e.default,className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--default`}):null},d6=({schema:e})=>!0===e?.deprecated?V.createElement(`span`,{className:`json-schema-2020-12__attribute json-schema-2020-12__attribute--warning`},`deprecated`):null,f6=({schema:e})=>!0===e?.readOnly?V.createElement(`span`,{className:`json-schema-2020-12__attribute json-schema-2020-12__attribute--muted`},`read-only`):null,p6=({schema:e})=>!0===e?.writeOnly?V.createElement(`span`,{className:`json-schema-2020-12__attribute json-schema-2020-12__attribute--muted`},`write-only`):null,m6=({schema:e})=>{let t=e?.examples||[],n=$(`JSONViewer`);return Array.isArray(t)&&t.length!==0?V.createElement(n,{name:`Examples`,value:e.examples,className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--examples`}):null},h6=({schema:e})=>{let t=l3(),n=`ExtensionKeywords`,{path:r}=f3(n),{isExpanded:i,setExpanded:a,setCollapsed:o}=p3(n),[s,c]=d3(),l=$(`Accordion`),u=$(`ExpandDeepButton`),d=$(`JSONViewer`),{showExtensionKeywords:f}=c3(),p=t.getExtensionKeywords(e),m=(0,V.useCallback)((()=>{i?o():a()}),[i,a,o]),h=(0,V.useCallback)(((e,t)=>{t?a({deep:!0}):o({deep:!0})}),[a,o]);return f&&p.length!==0?V.createElement(o3.Provider,{value:r},V.createElement(i3.Provider,{value:c},V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--extension-keywords`,"data-json-schema-level":s},V.createElement(l,{expanded:i,onChange:m},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--extension`},`Extension Keywords`)),V.createElement(u,{expanded:i,onClick:h}),V.createElement(`ul`,{className:(0,nd.default)(`json-schema-2020-12-keyword__children`,{"json-schema-2020-12-keyword__children--collapsed":!i})},i&&V.createElement(V.Fragment,null,p.map((t=>V.createElement(d,{key:t,name:t,value:e[t],className:`json-schema-2020-12-json-viewer-extension-keyword`})))))))):null},g6=({name:e,value:t,className:n})=>{let r=l3(),{path:i}=f3(e),{isExpanded:a,setExpanded:o,setCollapsed:s}=p3(e),[c,l]=d3(),u=$(`Accordion`),d=$(`ExpandDeepButton`),f=typeof t==`string`||typeof t==`number`||typeof t==`bigint`||typeof t==`boolean`||typeof t==`symbol`||t==null,p=(e=>t6(e)&&Object.keys(e).length===0)(t)||(e=>Array.isArray(e)&&e.length===0)(t),m=(0,V.useCallback)((()=>{a?s():o()}),[a,o,s]),h=(0,V.useCallback)(((e,t)=>{t?o({deep:!0}):s({deep:!0})}),[o,s]);return f?V.createElement(`div`,{className:(0,nd.default)(`json-schema-2020-12-json-viewer`,n)},V.createElement(`span`,{className:`json-schema-2020-12-json-viewer__name json-schema-2020-12-json-viewer__name--secondary`},e),V.createElement(`span`,{className:`json-schema-2020-12-json-viewer__value json-schema-2020-12-json-viewer__value--secondary`},r.stringify(t))):p?V.createElement(`div`,{className:(0,nd.default)(`json-schema-2020-12-json-viewer`,n)},V.createElement(`span`,{className:`json-schema-2020-12-json-viewer__name json-schema-2020-12-json-viewer__name--secondary`},e),V.createElement(`strong`,{className:`json-schema-2020-12__attribute json-schema-2020-12__attribute--primary`},Array.isArray(t)?`empty array`:`empty object`)):V.createElement(o3.Provider,{value:i},V.createElement(i3.Provider,{value:l},V.createElement(`div`,{className:(0,nd.default)(`json-schema-2020-12-json-viewer`,n),"data-json-schema-level":c},V.createElement(u,{expanded:a,onChange:m},V.createElement(`span`,{className:`json-schema-2020-12-json-viewer__name json-schema-2020-12-json-viewer__name--secondary`},e)),V.createElement(d,{expanded:a,onClick:h}),V.createElement(`strong`,{className:`json-schema-2020-12__attribute json-schema-2020-12__attribute--primary`},Array.isArray(t)?`array`:`object`),V.createElement(`ul`,{className:(0,nd.default)(`json-schema-2020-12-json-viewer__children`,{"json-schema-2020-12-json-viewer__children--collapsed":!a})},a&&V.createElement(V.Fragment,null,Array.isArray(t)?t.map(((e,t)=>V.createElement(`li`,{key:`#${t}`,className:`json-schema-2020-12-property`},V.createElement(g6,{name:`#${t}`,value:e,className:n})))):Object.entries(t).map((([e,t])=>V.createElement(`li`,{key:e,className:`json-schema-2020-12-property`},V.createElement(g6,{name:e,value:t,className:n})))))))))},_6=g6,v6=({expanded:e=!1,children:t,onChange:n})=>{let r=$(`ChevronRightIcon`),i=(0,V.useCallback)((t=>{n(t,!e)}),[e,n]);return V.createElement(`button`,{type:`button`,className:`json-schema-2020-12-accordion`,onClick:i},V.createElement(`div`,{className:`json-schema-2020-12-accordion__children`},t),V.createElement(`span`,{className:(0,nd.default)(`json-schema-2020-12-accordion__icon`,{"json-schema-2020-12-accordion__icon--expanded":e,"json-schema-2020-12-accordion__icon--collapsed":!e})},V.createElement(r,null)))},y6=({expanded:e,onClick:t})=>{let n=(0,V.useCallback)((n=>{t(n,!e)}),[e,t]);return V.createElement(`button`,{type:`button`,className:`json-schema-2020-12-expand-deep-button`,onClick:n},e?`Collapse all`:`Expand all`)},b6=()=>V.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`24`,height:`24`,viewBox:`0 0 24 24`},V.createElement(`path`,{d:`M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z`})),x6=(e,t={})=>{let n={components:{JSONSchema:h3,Keyword$schema:g3,Keyword$vocabulary:_3,Keyword$id:v3,Keyword$anchor:y3,Keyword$dynamicAnchor:b3,Keyword$ref:x3,Keyword$dynamicRef:S3,Keyword$defs:C3,Keyword$comment:w3,KeywordAllOf:T3,KeywordAnyOf:E3,KeywordOneOf:D3,KeywordNot:O3,KeywordIf:k3,KeywordThen:A3,KeywordElse:j3,KeywordDependentSchemas:M3,KeywordPrefixItems:N3,KeywordItems:P3,KeywordContains:F3,KeywordProperties:I3,KeywordPatternProperties:L3,KeywordAdditionalProperties:R3,KeywordPropertyNames:z3,KeywordUnevaluatedItems:B3,KeywordUnevaluatedProperties:V3,KeywordType:H3,KeywordEnum:U3,KeywordConst:W3,KeywordConstraint:a6,KeywordDependentRequired:o6,KeywordContentSchema:s6,KeywordTitle:c6,KeywordDescription:l6,KeywordDefault:u6,KeywordDeprecated:d6,KeywordReadOnly:f6,KeywordWriteOnly:p6,KeywordExamples:m6,ExtensionKeywords:h6,JSONViewer:_6,Accordion:v6,ExpandDeepButton:y6,ChevronRightIcon:b6,...t.components},config:{default$schema:`https://json-schema.org/draft/2020-12/schema`,defaultExpandedLevels:0,showExtensionKeywords:!0,...t.config},fn:{upperFirst:G3,getTitle:K3(l3),getType:q3(l3),isBooleanJSONSchema:J3,hasKeyword:Y3,isExpandable:X3(l3),stringify:Z3,stringifyConstraints:$3,getDependentRequired:e6,getSchemaKeywords:n6,getExtensionKeywords:r6(l3),...t.fn},state:{paths:{}}},r=t=>V.createElement(r3.Provider,{value:n},V.createElement(e,t));return r.contexts={JSONSchemaContext:r3},r.displayName=e.displayName,r},S6=({getSystem:e})=>(t,n={})=>{let{getComponent:r,getConfigs:i}=e(),a=i();return x6(t,{components:{JSONSchema:r(`JSONSchema202012`),Keyword$schema:r(`JSONSchema202012Keyword$schema`),Keyword$vocabulary:r(`JSONSchema202012Keyword$vocabulary`),Keyword$id:r(`JSONSchema202012Keyword$id`),Keyword$anchor:r(`JSONSchema202012Keyword$anchor`),Keyword$dynamicAnchor:r(`JSONSchema202012Keyword$dynamicAnchor`),Keyword$ref:r(`JSONSchema202012Keyword$ref`),Keyword$dynamicRef:r(`JSONSchema202012Keyword$dynamicRef`),Keyword$defs:r(`JSONSchema202012Keyword$defs`),Keyword$comment:r(`JSONSchema202012Keyword$comment`),KeywordAllOf:r(`JSONSchema202012KeywordAllOf`),KeywordAnyOf:r(`JSONSchema202012KeywordAnyOf`),KeywordOneOf:r(`JSONSchema202012KeywordOneOf`),KeywordNot:r(`JSONSchema202012KeywordNot`),KeywordIf:r(`JSONSchema202012KeywordIf`),KeywordThen:r(`JSONSchema202012KeywordThen`),KeywordElse:r(`JSONSchema202012KeywordElse`),KeywordDependentSchemas:r(`JSONSchema202012KeywordDependentSchemas`),KeywordPrefixItems:r(`JSONSchema202012KeywordPrefixItems`),KeywordItems:r(`JSONSchema202012KeywordItems`),KeywordContains:r(`JSONSchema202012KeywordContains`),KeywordProperties:r(`JSONSchema202012KeywordProperties`),KeywordPatternProperties:r(`JSONSchema202012KeywordPatternProperties`),KeywordAdditionalProperties:r(`JSONSchema202012KeywordAdditionalProperties`),KeywordPropertyNames:r(`JSONSchema202012KeywordPropertyNames`),KeywordUnevaluatedItems:r(`JSONSchema202012KeywordUnevaluatedItems`),KeywordUnevaluatedProperties:r(`JSONSchema202012KeywordUnevaluatedProperties`),KeywordType:r(`JSONSchema202012KeywordType`),KeywordEnum:r(`JSONSchema202012KeywordEnum`),KeywordConst:r(`JSONSchema202012KeywordConst`),KeywordConstraint:r(`JSONSchema202012KeywordConstraint`),KeywordDependentRequired:r(`JSONSchema202012KeywordDependentRequired`),KeywordContentSchema:r(`JSONSchema202012KeywordContentSchema`),KeywordTitle:r(`JSONSchema202012KeywordTitle`),KeywordDescription:r(`JSONSchema202012KeywordDescription`),KeywordDefault:r(`JSONSchema202012KeywordDefault`),KeywordDeprecated:r(`JSONSchema202012KeywordDeprecated`),KeywordReadOnly:r(`JSONSchema202012KeywordReadOnly`),KeywordWriteOnly:r(`JSONSchema202012KeywordWriteOnly`),KeywordExamples:r(`JSONSchema202012KeywordExamples`),ExtensionKeywords:r(`JSONSchema202012ExtensionKeywords`),JSONViewer:r(`JSONSchema202012JSONViewer`),Accordion:r(`JSONSchema202012Accordion`),ExpandDeepButton:r(`JSONSchema202012ExpandDeepButton`),ChevronRightIcon:r(`JSONSchema202012ChevronRightIcon`),...n.components},config:{showExtensionKeywords:a.showExtensions,...n.config},fn:{...n.fn}})},C6=({getSystem:e,fn:t})=>{let n=()=>({upperFirst:t.upperFirst,...t.jsonSchema202012});return{components:{JSONSchema202012:h3,JSONSchema202012Keyword$schema:g3,JSONSchema202012Keyword$vocabulary:_3,JSONSchema202012Keyword$id:v3,JSONSchema202012Keyword$anchor:y3,JSONSchema202012Keyword$dynamicAnchor:b3,JSONSchema202012Keyword$ref:x3,JSONSchema202012Keyword$dynamicRef:S3,JSONSchema202012Keyword$defs:C3,JSONSchema202012Keyword$comment:w3,JSONSchema202012KeywordAllOf:T3,JSONSchema202012KeywordAnyOf:E3,JSONSchema202012KeywordOneOf:D3,JSONSchema202012KeywordNot:O3,JSONSchema202012KeywordIf:k3,JSONSchema202012KeywordThen:A3,JSONSchema202012KeywordElse:j3,JSONSchema202012KeywordDependentSchemas:M3,JSONSchema202012KeywordPrefixItems:N3,JSONSchema202012KeywordItems:P3,JSONSchema202012KeywordContains:F3,JSONSchema202012KeywordProperties:I3,JSONSchema202012KeywordPatternProperties:L3,JSONSchema202012KeywordAdditionalProperties:R3,JSONSchema202012KeywordPropertyNames:z3,JSONSchema202012KeywordUnevaluatedItems:B3,JSONSchema202012KeywordUnevaluatedProperties:V3,JSONSchema202012KeywordType:H3,JSONSchema202012KeywordEnum:U3,JSONSchema202012KeywordConst:W3,JSONSchema202012KeywordConstraint:a6,JSONSchema202012KeywordDependentRequired:o6,JSONSchema202012KeywordContentSchema:s6,JSONSchema202012KeywordTitle:c6,JSONSchema202012KeywordDescription:l6,JSONSchema202012KeywordDefault:u6,JSONSchema202012KeywordDeprecated:d6,JSONSchema202012KeywordReadOnly:f6,JSONSchema202012KeywordWriteOnly:p6,JSONSchema202012KeywordExamples:m6,JSONSchema202012ExtensionKeywords:h6,JSONSchema202012JSONViewer:_6,JSONSchema202012Accordion:v6,JSONSchema202012ExpandDeepButton:y6,JSONSchema202012ChevronRightIcon:b6,withJSONSchema202012Context:x6,withJSONSchema202012SystemContext:S6(e()),JSONSchema202012PathContext:()=>o3,JSONSchema202012LevelContext:()=>i3},fn:{upperFirst:G3,jsonSchema202012:{getTitle:K3(n),getType:q3(n),isExpandable:X3(n),isBooleanJSONSchema:J3,hasKeyword:Y3,useFn:l3,useConfig:c3,useComponent:$,useIsExpanded:p3,usePath:f3,useLevel:d3,getSchemaKeywords:n6,getExtensionKeywords:r6(n),hasSchemaType:i6}}}},w6=(e,{sample:t=[]}={})=>((e,t={})=>{let{minItems:n,maxItems:r,uniqueItems:i}=t,{contains:a,minContains:o,maxContains:s}=t,c=[...e];if(typeof a==`object`&&a&&Number.isInteger(o)&&o>1){let e=c.at(0);for(let t=1;t0&&(c=e.slice(0,r)),Number.isInteger(n)&&n>0)for(let e=0;c.length{throw Error(`Not implemented`)},E6=e=>VK()(e),D6=e=>e.at(0),O6=e=>typeof e==`boolean`,k6=e=>(0,Lf.default)(e),A6=e=>O6(e)||k6(e),j6=class{data={};register(e,t){this.data[e]=t}unregister(e){e===void 0?this.data={}:delete this.data[e]}get(e){return this.data[e]}},M6=()=>0,N6=()=>0,P6=()=>.1,F6=()=>.1,I6=()=>`user@example.com`,L6=()=>`실례@example.com`,R6=()=>`example.com`,z6=()=>`실례.com`,B6=()=>`198.51.100.42`,V6=()=>`2001:0db8:5b96:0000:0000:426f:8e17:642a`,H6=()=>`https://example.com/`,U6=()=>`path/index.html`,W6=()=>`https://실례.com/`,G6=()=>`path/실례.html`,K6=()=>`3fa85f64-5717-4562-b3fc-2c963f66afa6`,q6=()=>`https://example.com/dictionary/{term:1}/{term}`,J6=()=>`/a/b/c`,Y6=()=>`1/0`,X6=()=>new Date().toISOString(),Z6=()=>new Date().toISOString().substring(0,10),Q6=()=>new Date().toISOString().substring(11),$6=()=>`P3D`,e8=()=>`********`,t8=()=>`^[a-z]+$`,n8=new class extends j6{#e={int32:M6,int64:N6,float:P6,double:F6,email:I6,"idn-email":L6,hostname:R6,"idn-hostname":z6,ipv4:B6,ipv6:V6,uri:H6,"uri-reference":U6,iri:W6,"iri-reference":G6,uuid:K6,"uri-template":q6,"json-pointer":J6,"relative-json-pointer":Y6,"date-time":X6,date:Z6,time:Q6,duration:$6,password:e8,regex:t8};data={...this.#e};get defaults(){return{...this.#e}}},r8=(e,t)=>typeof t==`function`?n8.register(e,t):t===null?n8.unregister(e):n8.get(e);r8.getDefaults=()=>n8.defaults;var i8=r8,a8=Q(287).Buffer,o8=e=>a8.from(e).toString(`ascii`),s8=Q(287).Buffer,c8=e=>s8.from(e).toString(`utf8`),l8=Q(287).Buffer,u8=e=>l8.from(e).toString(`binary`),d8=e=>{let t=``;for(let n=0;n=33&&r<=60||r>=62&&r<=126||r===9||r===32)t+=e.charAt(n);else if(r===13||r===10)t+=`\r `;else if(r>126){let r=unescape(encodeURIComponent(e.charAt(n)));for(let e=0;ef8.from(e).toString(`hex`),m8=Q(287).Buffer,h8=e=>{let t=m8.from(e).toString(`utf8`),n=`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567`,r=0,i=``,a=0,o=0;for(let e=0;e=5;)i+=n.charAt(a>>>o-5&31),o-=5;o>0&&(i+=n.charAt(a<<5-o&31),r=(8-8*t.length%5)%5);for(let e=0;eg8.from(e).toString(`base64`),v8=Q(287).Buffer,y8=e=>v8.from(e).toString(`base64url`),b8=new class extends j6{#e={"7bit":o8,"8bit":c8,binary:u8,"quoted-printable":d8,base16:p8,base32:h8,base64:_8,base64url:y8};data={...this.#e};get defaults(){return{...this.#e}}},x8=(e,t)=>typeof t==`function`?b8.register(e,t):t===null?b8.unregister(e):b8.get(e);x8.getDefaults=()=>b8.defaults;var S8=x8,C8={"text/plain":()=>`string`,"text/css":()=>`.selector { border: 1px solid red }`,"text/csv":()=>`value1,value2,value3`,"text/html":()=>`

content

`,"text/calendar":()=>`BEGIN:VCALENDAR`,"text/javascript":()=>`console.dir('Hello world!');`,"text/xml":()=>`John Doe`,"text/*":()=>`string`},w8={"image/*":()=>E6(25).toString(`binary`)},T8={"audio/*":()=>E6(25).toString(`binary`)},E8={"video/*":()=>E6(25).toString(`binary`)},D8={"application/json":()=>`{"key":"value"}`,"application/ld+json":()=>`{"name": "John Doe"}`,"application/x-httpd-php":()=>`Hello World!

'; ?>`,"application/rtf":()=>String.raw`{\rtf1\adeflang1025\ansi\ansicpg1252\uc1`,"application/x-sh":()=>`echo "Hello World!"`,"application/xhtml+xml":()=>`

content

`,"application/*":()=>E6(25).toString(`binary`)},O8=new class extends j6{#e={...C8,...w8,...T8,...E8,...D8};data={...this.#e};get defaults(){return{...this.#e}}},k8=(e,t)=>{if(typeof t==`function`)return O8.register(e,t);if(t===null)return O8.unregister(e);let n=e.split(`;`).at(0),r=`${n.split(`/`).at(0)}/*`;return O8.get(e)||O8.get(n)||O8.get(r)};k8.getDefaults=()=>O8.defaults;var A8=k8,j8=(e,t={})=>{let{maxLength:n,minLength:r}=t,i=e;if(Number.isInteger(n)&&n>0&&(i=i.slice(0,n)),Number.isInteger(r)&&r>0){let e=0;for(;i.length{let{contentEncoding:n,contentMediaType:r,contentSchema:i}=e,{pattern:a,format:o}=e,s=S8(n)||Qz.default,c;return c=typeof a==`string`?j8((e=>{try{let t=new Bf.default(e.replace(/(?<=(?{let{format:t}=e,n=i8(t);return typeof n==`function`?n(e):`string`})(e):A6(i)&&typeof r==`string`&&t!==void 0?Array.isArray(t)||typeof t==`object`?JSON.stringify(t):j8(String(t),e):typeof r==`string`?(e=>{let{contentMediaType:t}=e,n=A8(t);return typeof n==`function`?n(e):`string`})(e):j8(`string`,e),s(c)},N8=(e,t={})=>{let{minimum:n,maximum:r,exclusiveMinimum:i,exclusiveMaximum:a}=t,{multipleOf:o}=t,s=Number.isInteger(e)?1:2**-52,c=typeof n==`number`?n:null,l=typeof r==`number`?r:null,u=e;if(typeof i==`number`&&(c=c===null?i+s:Math.max(c,i+s)),typeof a==`number`&&(l=l===null?a-s:Math.min(l,a-s)),u=c>l&&e||c||l||u,typeof o==`number`&&o>0){let e=u%o;u=e===0?u:u+o-e}return u},P8=new Proxy({array:w6,object:T6,string:M8,number:e=>{let{format:t}=e,n;return n=typeof t==`string`?(e=>{let{format:t}=e,n=i8(t);return typeof n==`function`?n(e):0})(e):0,N8(n,e)},integer:e=>{let{format:t}=e,n;return n=typeof t==`string`?(e=>{let{format:t}=e,n=i8(t);if(typeof n==`function`)return n(e);switch(t){case`int32`:return M6();case`int64`:return N6()}return 0})(e):0,N8(n,e)},boolean:e=>typeof e.default!=`boolean`||e.default,null:()=>null},{get:(e,t)=>typeof t==`string`&&Object.hasOwn(e,t)?e[t]:()=>`Unknown Type: ${t}`}),F8=[`array`,`object`,`number`,`integer`,`string`,`boolean`,`null`],I8=e=>{if(!k6(e))return!1;let{examples:t,example:n,default:r}=e;return!!(Array.isArray(t)&&t.length>=1)||r!==void 0||n!==void 0},L8=e=>{if(!k6(e))return null;let{examples:t,example:n,default:r}=e;return Array.isArray(t)&&t.length>=1?t.at(0):r===void 0?n===void 0?void 0:n:r},R8={array:[`items`,`prefixItems`,`contains`,`maxContains`,`minContains`,`maxItems`,`minItems`,`uniqueItems`,`unevaluatedItems`],object:[`properties`,`additionalProperties`,`patternProperties`,`propertyNames`,`minProperties`,`maxProperties`,`required`,`dependentSchemas`,`dependentRequired`,`unevaluatedProperties`],string:[`pattern`,`format`,`minLength`,`maxLength`,`contentEncoding`,`contentMediaType`,`contentSchema`],integer:[`minimum`,`maximum`,`exclusiveMinimum`,`exclusiveMaximum`,`multipleOf`]};R8.number=R8.integer;var z8=`string`,B8=e=>e===void 0?null:e===null?`null`:Array.isArray(e)?`array`:Number.isInteger(e)?`integer`:typeof e,V8=e=>{if(Array.isArray(e)&&e.length>=1){if(e.includes(`array`))return`array`;if(e.includes(`object`))return`object`;{let t=e.filter((e=>e!==`null`)),n=D6(t.length>0?t:e);if(F8.includes(n))return n}}return F8.includes(e)?e:null},H8=(e,t=new WeakSet)=>{if(!k6(e)||t.has(e))return z8;t.add(e);let{type:n,const:r}=e;if(n=V8(n),typeof n!=`string`){let t=Object.keys(R8);e:for(let r=0;rArray.isArray(e[n])?V8(e[n].map((e=>H8(e,t)))):null,i=r(`allOf`),a=r(`anyOf`),o=r(`oneOf`),s=e.not?H8(e.not,t):null;(i||a||o||s)&&(n=V8([i,a,o,s].filter(Boolean)))}if(typeof n!=`string`&&I8(e)){let t=B8(L8(e));n=typeof t==`string`?t:n}return t.delete(e),n||z8},U8=e=>H8(e),W8=e=>O6(e)?(e=>!1===e?{not:{}}:{})(e):k6(e)?e:{},G8=(e,t,n={})=>{if(O6(e)&&!0===e)return!0;if(O6(e)&&!1===e)return!1;if(O6(t)&&!0===t)return!0;if(O6(t)&&!1===t)return!1;if(!A6(e))return t;if(!A6(t))return e;let r={...t,...e};if(t.type&&e.type&&Array.isArray(t.type)&&typeof t.type==`string`){let n=QK(t.type).concat(e.type);r.type=Array.from(new Set(n))}if(Array.isArray(t.required)&&Array.isArray(e.required)&&(r.required=[...new Set([...e.required,...t.required])]),t.properties&&e.properties){let i=new Set([...Object.keys(t.properties),...Object.keys(e.properties)]);r.properties={};for(let a of i){let i=t.properties[a]||{},o=e.properties[a]||{};i.readOnly&&!n.includeReadOnly||i.writeOnly&&!n.includeWriteOnly?r.required=(r.required||[]).filter((e=>e!==a)):r.properties[a]=G8(o,i,n)}}return A6(t.items)&&A6(e.items)&&(r.items=G8(e.items,t.items,n)),A6(t.contains)&&A6(e.contains)&&(r.contains=G8(e.contains,t.contains,n)),A6(t.contentSchema)&&A6(e.contentSchema)&&(r.contentSchema=G8(e.contentSchema,t.contentSchema,n)),r},K8=G8,q8=(e,t={},n=void 0,r=!1)=>{if(e==null&&n===void 0)return;typeof e?.toJS==`function`&&(e=e.toJS()),e=W8(e);let i=n!==void 0||I8(e),a=!i&&Array.isArray(e.oneOf)&&e.oneOf.length>0,o=!i&&Array.isArray(e.anyOf)&&e.anyOf.length>0;if(!i&&(a||o)){let n=W8(D6(a?e.oneOf:e.anyOf));!(e=K8(e,n,t)).xml&&n.xml&&(e.xml=n.xml),I8(e)&&I8(n)&&(i=!0)}let s={},{xml:c,properties:l,additionalProperties:u,items:d,contains:f}=e||{},p=U8(e),{includeReadOnly:m,includeWriteOnly:h}=t;c||={};let g,{name:_,prefix:v,namespace:y}=c,b={};Object.hasOwn(e,`type`)||(e.type=p),r&&(_||=`notagname`,g=(v?`${v}:`:``)+_,y)&&(s[v?`xmlns:${v}`:`xmlns`]=y),r&&(b[g]=[]);let x=XK(l),S,C=0,w=()=>Number.isInteger(e.maxProperties)&&e.maxProperties>0&&C>=e.maxProperties,T=t=>!(Number.isInteger(e.maxProperties)&&e.maxProperties>0)||!w()&&(!(t=>!Array.isArray(e.required)||e.required.length===0||!e.required.includes(t))(t)||e.maxProperties-C-(()=>{if(!Array.isArray(e.required)||e.required.length===0)return 0;let t=0;return r?e.required.forEach((e=>t+=b[e]===void 0?0:1)):e.required.forEach((e=>{t+=b[g]?.find((t=>t[e]!==void 0))===void 0?0:1})),e.required.length-t})()>0);if(S=r?(n,i=void 0)=>{if(e&&x[n]){if(x[n].xml=x[n].xml||{},x[n].xml.attribute){let e=Array.isArray(x[n].enum)?D6(x[n].enum):void 0;if(I8(x[n]))s[x[n].xml.name||n]=L8(x[n]);else if(e!==void 0)s[x[n].xml.name||n]=e;else{let e=W8(x[n]),r=U8(e),a=x[n].xml.name||n;r===`array`?s[a]=q8(x[n],t,i,!1).map((e=>(0,Lf.default)(e)?`UnknownTypeObject`:Array.isArray(e)?`UnknownTypeArray`:e)).join(` `):s[a]=r===`object`?`UnknownTypeObject`:P8[r](e)}return}x[n].xml.name=x[n].xml.name||n}else x[n]||!1===u||(x[n]={xml:{name:n}});let a=q8(x[n],t,i,r);T(n)&&(C++,Array.isArray(a)?b[g]=b[g].concat(a):b[g].push(a))}:(n,i)=>{if(T(n)){if((0,Lf.default)(e.discriminator?.mapping)&&e.discriminator.propertyName===n&&typeof e.$$ref==`string`){for(let t in e.discriminator.mapping)if(e.$$ref.search(e.discriminator.mapping[t])!==-1){b[n]=t;break}}else b[n]=q8(x[n],t,i,r);C++}},i){let i;if(i=n===void 0?L8(e):n,!r){if(typeof i==`number`&&p===`string`)return`${i}`;if(typeof i!=`string`||p===`string`)return i;try{return JSON.parse(i)}catch{return i}}if(p===`array`){if(!Array.isArray(i)){if(typeof i==`string`)return i;i=[i]}let n=[];return k6(d)&&(d.xml=d.xml||c||{},d.xml.name=d.xml.name||c.name,n=i.map((e=>q8(d,t,e,r)))),k6(f)&&(f.xml=f.xml||c||{},f.xml.name=f.xml.name||c.name,n=[q8(f,t,void 0,r),...n]),n=P8.array(e,{sample:n}),c.wrapped?(b[g]=n,(0,Vf.default)(s)||b[g].push({_attr:s})):b=n,b}if(p===`object`){if(typeof i==`string`)return i;for(let e in i)Object.hasOwn(i,e)&&(x[e]?.readOnly&&!m||x[e]?.writeOnly&&!h||(x[e]?.xml?.attribute?s[x[e].xml.name||e]=i[e]:S(e,i[e])));return(0,Vf.default)(s)||b[g].push({_attr:s}),b}return b[g]=(0,Vf.default)(s)?i:[{_attr:s},i],b}if(p===`array`){let n=[];if(k6(f))if(r&&(f.xml=f.xml||e.xml||{},f.xml.name=f.xml.name||c.name),Array.isArray(f.anyOf)){let{anyOf:e,...i}=d;n.push(...f.anyOf.map((e=>q8(K8(e,i,t),t,void 0,r))))}else if(Array.isArray(f.oneOf)){let{oneOf:e,...i}=d;n.push(...f.oneOf.map((e=>q8(K8(e,i,t),t,void 0,r))))}else{if(!(!r||r&&c.wrapped))return q8(f,t,void 0,r);n.push(q8(f,t,void 0,r))}if(k6(d))if(r&&(d.xml=d.xml||e.xml||{},d.xml.name=d.xml.name||c.name),Array.isArray(d.anyOf)){let{anyOf:e,...i}=d;n.push(...d.anyOf.map((e=>q8(K8(e,i,t),t,void 0,r))))}else if(Array.isArray(d.oneOf)){let{oneOf:e,...i}=d;n.push(...d.oneOf.map((e=>q8(K8(e,i,t),t,void 0,r))))}else{if(!(!r||r&&c.wrapped))return q8(d,t,void 0,r);n.push(q8(d,t,void 0,r))}return n=P8.array(e,{sample:n}),r&&c.wrapped?(b[g]=n,(0,Vf.default)(s)||b[g].push({_attr:s}),b):n}if(p===`object`){for(let e in x)Object.hasOwn(x,e)&&(x[e]?.deprecated||x[e]?.readOnly&&!m||x[e]?.writeOnly&&!h||S(e));if(r&&s&&b[g].push({_attr:s}),w())return b;if(O6(u)&&u)r?b[g].push({additionalProp:`Anything can be here`}):b.additionalProp1={},C++;else if(k6(u)){let n=u,i=q8(n,t,void 0,r);if(r&&typeof n?.xml?.name==`string`&&n?.xml?.name!==`notagname`)b[g].push(i);else{let t=n?.[`x-additionalPropertiesName`]||`additionalProp`,a=Number.isInteger(e.minProperties)&&e.minProperties>0&&C{let r=q8(e,t,n,!0);if(r)return typeof r==`string`?r:vX()(r,{declaration:!0,indent:` `})},Y8=(e,t,n)=>q8(e,t,n,!1),X8=(e,t,n)=>[e,JSON.stringify(t),JSON.stringify(n)],Z8=SX(J8,X8),Q8=SX(Y8,X8),$8=new class extends j6{#e={};data={...this.#e};get defaults(){return{...this.#e}}},e5=(e,t)=>(t!==void 0&&$8.register(e,t),$8.get(e)),t5=[{when:/json/,shouldStringifyTypes:[`string`]}],n5=[`object`],r5=e=>(t,n,r,i)=>{let{fn:a}=e(),o=a.jsonSchema202012.memoizedSampleFromSchema(t,n,i),s=typeof o;return(0,Ii.default)(t5.reduce(((e,t)=>t.when.test(r)?[...e,...t.shouldStringifyTypes]:e),n5),(e=>e===s))?JSON.stringify(o,null,2):o},i5=e=>(t,n,r,i)=>{let{fn:a}=e(),o=a.jsonSchema202012.getJsonSampleSchema(t,n,r,i),s;try{s=gl.dump(gl.load(o),{lineWidth:-1},{schema:hl}),s[s.length-1]===` `&&(s=s.slice(0,s.length-1))}catch(e){return console.error(e),`error: could not generate yaml example`}return s.replace(/\t/g,` `)},a5=e=>(t,n,r)=>{let{fn:i}=e();if(t&&!t.xml&&(t.xml={}),t&&!t.xml.name){if(!t.$$ref&&(t.type||t.items||t.properties||t.additionalProperties))return` -`;if(t.$$ref){let e=t.$$ref.match(/\S*\/(\S+)$/);t.xml.name=e[1]}}return i.jsonSchema202012.memoizedCreateXMLExample(t,n,r)},o5=e=>(t,n=``,r={},i=void 0)=>{let{fn:a}=e();return typeof t?.toJS==`function`&&(t=t.toJS()),typeof i?.toJS==`function`&&(i=i.toJS()),/xml/.test(n)?a.jsonSchema202012.getXmlSampleSchema(t,r,i):/(yaml|yml)/.test(n)?a.jsonSchema202012.getYamlSampleSchema(t,r,n,i):a.jsonSchema202012.getJsonSampleSchema(t,r,n,i)},s5=({getSystem:e})=>({fn:{jsonSchema202012:{sampleFromSchema:Y8,sampleFromSchemaGeneric:q8,sampleOptionAPI:e5,sampleEncoderAPI:S8,sampleFormatAPI:i8,sampleMediaTypeAPI:A8,createXMLExample:J8,memoizedSampleFromSchema:Q8,memoizedCreateXMLExample:Z8,getJsonSampleSchema:r5(e),getYamlSampleSchema:i5(e),getXmlSampleSchema:a5(e),getSampleSchema:o5(e),mergeJsonSchema:K8,foldType:V8}}});function c5(){return[d0,z2,C6,s5,e3]}var l5=e=>()=>({fn:e.fn,components:e.components}),u5=e=>{let t=wK()({layout:{layout:e.layout,filter:e.filter},spec:{spec:``,url:e.url},requestSnippets:e.requestSnippets},e.initialState);if(e.initialState)for(let[n,r]of Object.entries(e.initialState))r===void 0&&delete t[n];return{system:{configs:e.configs},plugins:e.presets,state:t}},d5=()=>e=>{let t=e.queryConfigEnabled?(()=>{let e=new URLSearchParams(zK.location.search);return Object.fromEntries(e)})():{};return Object.entries(t).reduce(((e,[t,n])=>(t===`config`?e.configUrl=n:t===`urls.primaryName`?e[t]=n:e=(0,Wf.default)(e,t,n),e)),{})},f5=({url:e,system:t})=>async n=>{if(!e||typeof t.configsActions?.getConfigByUrl!=`function`)return{};let r=(()=>{let e={};return e.promise=new Promise(((t,n)=>{e.resolve=t,e.reject=n})),e})();return t.configsActions.getConfigByUrl({url:e,loadRemoteConfig:!0,requestInterceptor:n.requestInterceptor,responseInterceptor:n.responseInterceptor},(e=>{r.resolve(e)})),r.promise},p5=()=>()=>{let e={};return globalThis.location&&(e.oauth2RedirectUrl=`${globalThis.location.protocol}//${globalThis.location.host}${globalThis.location.pathname.substring(0,globalThis.location.pathname.lastIndexOf(`/`))}/oauth2-redirect.html`),e},m5=Object.freeze({dom_id:null,domNode:null,spec:{},url:``,urls:null,configUrl:null,layout:`BaseLayout`,docExpansion:`list`,maxDisplayedTags:-1,filter:!1,validatorUrl:`https://validator.swagger.io/validator`,oauth2RedirectUrl:void 0,persistAuthorization:!1,configs:{},displayOperationId:!1,displayRequestDuration:!1,deepLinking:!1,tryItOutEnabled:!1,requestInterceptor:e=>(e.curlOptions=[],e),responseInterceptor:e=>e,showMutatedRequest:!0,defaultModelRendering:`example`,defaultModelExpandDepth:1,defaultModelsExpandDepth:1,showExtensions:!1,showCommonExtensions:!1,withCredentials:!1,requestSnippetsEnabled:!1,requestSnippets:{generators:{curl_bash:{title:`cURL (bash)`,syntax:`bash`},curl_powershell:{title:`cURL (PowerShell)`,syntax:`powershell`},curl_cmd:{title:`cURL (CMD)`,syntax:`bash`}},defaultExpanded:!0,languages:null},supportedSubmitMethods:[`get`,`put`,`post`,`delete`,`options`,`head`,`patch`,`trace`],queryConfigEnabled:!1,presets:[c5],plugins:[],initialState:{},fn:{},components:{},syntaxHighlight:{activated:!0,theme:`agate`},operationsSorter:null,tagsSorter:null,onComplete:null,modelPropertyMacro:null,parameterMacro:null,fileUploadMediaTypes:[`application/octet-stream`,`image/`,`audio/`,`video/`],uncaughtExceptionHandler:null}),h5=(e,t=[])=>Array.isArray(e)?e:t,g5=(e,t=!1)=>!0===e||e===`true`||e===1||e===`1`||!1!==e&&e!==`false`&&e!==0&&e!==`0`&&t,_5=e=>e===null||e===`null`?null:e,v5=e=>g5(e,String(e)),y5=(e,t)=>typeof e==`function`?e:t,b5=e=>Array.isArray(e)?e:null,x5=e=>typeof e==`function`?e:null,S5=e=>e===null||e===`null`?null:String(e),C5=(e,t=-1)=>{let n=parseInt(e,10);return Number.isNaN(n)?t:n},w5=(e,t={})=>(0,Lf.default)(e)?e:t,T5=e=>typeof e==`function`||typeof e==`string`?e:null,E5=e=>String(e),D5={components:{typeCaster:w5},configs:{typeCaster:w5},configUrl:{typeCaster:S5},deepLinking:{typeCaster:g5,defaultValue:m5.deepLinking},defaultModelExpandDepth:{typeCaster:C5,defaultValue:m5.defaultModelExpandDepth},defaultModelRendering:{typeCaster:E5},defaultModelsExpandDepth:{typeCaster:C5,defaultValue:m5.defaultModelsExpandDepth},displayOperationId:{typeCaster:g5,defaultValue:m5.displayOperationId},displayRequestDuration:{typeCaster:g5,defaultValue:m5.displayRequestDuration},docExpansion:{typeCaster:E5},dom_id:{typeCaster:S5},domNode:{typeCaster:_5},fileUploadMediaTypes:{typeCaster:h5,defaultValue:m5.fileUploadMediaTypes},filter:{typeCaster:v5},fn:{typeCaster:w5},initialState:{typeCaster:w5},layout:{typeCaster:E5},maxDisplayedTags:{typeCaster:C5,defaultValue:m5.maxDisplayedTags},modelPropertyMacro:{typeCaster:x5},oauth2RedirectUrl:{typeCaster:e=>e===void 0||e===`undefined`?void 0:String(e)},onComplete:{typeCaster:x5},operationsSorter:{typeCaster:T5},paramaterMacro:{typeCaster:x5},persistAuthorization:{typeCaster:g5,defaultValue:m5.persistAuthorization},plugins:{typeCaster:h5,defaultValue:m5.plugins},presets:{typeCaster:h5,defaultValue:m5.presets},requestInterceptor:{typeCaster:y5,defaultValue:m5.requestInterceptor},requestSnippets:{typeCaster:w5,defaultValue:m5.requestSnippets},requestSnippetsEnabled:{typeCaster:g5,defaultValue:m5.requestSnippetsEnabled},responseInterceptor:{typeCaster:y5,defaultValue:m5.responseInterceptor},showCommonExtensions:{typeCaster:g5,defaultValue:m5.showCommonExtensions},showExtensions:{typeCaster:g5,defaultValue:m5.showExtensions},showMutatedRequest:{typeCaster:g5,defaultValue:m5.showMutatedRequest},spec:{typeCaster:w5,defaultValue:m5.spec},supportedSubmitMethods:{typeCaster:h5,defaultValue:m5.supportedSubmitMethods},syntaxHighlight:{typeCaster:(e,t)=>(0,Lf.default)(e)?e:!1===e||e===`false`||e===0||e===`0`?{activated:!1}:t,defaultValue:m5.syntaxHighlight},"syntaxHighlight.activated":{typeCaster:g5,defaultValue:m5.syntaxHighlight.activated},"syntaxHighlight.theme":{typeCaster:E5},tagsSorter:{typeCaster:T5},tryItOutEnabled:{typeCaster:g5,defaultValue:m5.tryItOutEnabled},url:{typeCaster:E5},urls:{typeCaster:b5},"urls.primaryName":{typeCaster:E5},validatorUrl:{typeCaster:S5},withCredentials:{typeCaster:g5,defaultValue:m5.withCredentials},uncaughtExceptionHandler:{typeCaster:x5}},O5=e=>Object.entries(D5).reduce(((e,[t,{typeCaster:n,defaultValue:r}])=>((0,ZG.default)(e,t)&&(e=(0,QG.default)(t,n((0,Wu.default)(e,t),r),e)),e)),{...e}),k5=(e,...t)=>{let n=Symbol.for(`domNode`),r=Symbol.for(`primaryName`),i=[];for(let e of t){let t={...e};Object.hasOwn(t,`domNode`)&&(n=t.domNode,delete t.domNode),Object.hasOwn(t,`urls.primaryName`)?(r=t[`urls.primaryName`],delete t[`urls.primaryName`]):Array.isArray(t.urls)&&Object.hasOwn(t.urls,`primaryName`)&&(r=t.urls.primaryName,delete t.urls.primaryName),i.push(t)}let a=wK()(e,...i);return n!==Symbol.for(`domNode`)&&(a.domNode=n),r!==Symbol.for(`primaryName`)&&Array.isArray(a.urls)&&(a.urls.primaryName=r),O5(a)};function A5(e){let t=d5()(e),n=p5()(),r=A5.config.merge({},A5.config.defaults,n,e,t),i=u5(r),a=l5(r),o=new Tq(i);o.register([r.plugins,a]);let s=o.getSystem(),c=e=>{o.setConfigs(e),s.configsActions.loaded()},l=e=>{!t.url&&typeof e.spec==`object`&&Object.keys(e.spec).length>0?(s.specActions.updateUrl(``),s.specActions.updateLoadingStatus(`success`),s.specActions.updateSpec(JSON.stringify(e.spec))):typeof s.specActions.download==`function`&&e.url&&!e.urls&&(s.specActions.updateUrl(e.url),s.specActions.download(e.url))},u=e=>{if(e.domNode)s.render(e.domNode,`App`);else if(e.dom_id){let t=document.querySelector(e.dom_id);s.render(t,`App`)}else e.dom_id===null||e.domNode===null||console.error("Skipped rendering: no `dom_id` or `domNode` was specified")};return r.configUrl?((async()=>{let{configUrl:e}=r,n=await f5({url:e,system:s})(r),i=A5.config.merge({},r,n,t);c(i),n!==null&&l(i),u(i)})(),s):(c(r),l(r),u(r),s)}A5.System=Tq,A5.config={defaults:m5,merge:k5,typeCast:O5,typeCastMappings:D5},A5.presets={base:d0,apis:c5},A5.plugins={Auth:hJ,Configs:DJ,DeepLining:PJ,Err:HJ,Filter:WJ,Icons:QJ,JSONSchema5:gX,JSONSchema5Samples:GX,JSONSchema202012:C6,JSONSchema202012Samples:s5,Layout:mY,Logs:hY,OpenAPI30:z2,OpenAPI31:z2,OnComplete:_Y,RequestSnippets:PY,Spec:ZQ,SwaggerClient:$Q,Util:e$,View:l$,ViewLegacy:u$,DownloadUrl:d$,SyntaxHighlighting:x$,Versions:C$,SafeRender:O$};var j5=A5,{config:M5}=j5,N5=e=>{let t=(0,V.useRef)();return(0,V.useEffect)(()=>{t.current=e},[e]),t.current},P5=({spec:e=M5.defaults.spec,url:t=M5.defaults.url,layout:n=M5.defaults.layout,requestInterceptor:r=M5.defaults.requestInterceptor,responseInterceptor:i=M5.defaults.responseInterceptor,supportedSubmitMethods:a=M5.defaults.supportedSubmitMethods,queryConfigEnabled:o=M5.defaults.queryConfigEnabled,plugins:s=M5.defaults.plugins,displayOperationId:c=M5.defaults.displayOperationId,showMutatedRequest:l=M5.defaults.showMutatedRequest,docExpansion:u=M5.defaults.docExpansion,defaultModelExpandDepth:d=M5.defaults.defaultModelExpandDepth,defaultModelsExpandDepth:f=M5.defaults.defaultModelsExpandDepth,defaultModelRendering:p=M5.defaults.defaultModelRendering,presets:m=M5.defaults.presets,deepLinking:h=M5.defaults.deepLinking,showExtensions:g=M5.defaults.showExtensions,showCommonExtensions:_=M5.defaults.showCommonExtensions,filter:v=M5.defaults.filter,requestSnippetsEnabled:y=M5.defaults.requestSnippetsEnabled,requestSnippets:b=M5.defaults.requestSnippets,tryItOutEnabled:x=M5.defaults.tryItOutEnabled,displayRequestDuration:S=M5.defaults.displayRequestDuration,withCredentials:C=M5.defaults.withCredentials,persistAuthorization:w=M5.defaults.persistAuthorization,oauth2RedirectUrl:T=M5.defaults.oauth2RedirectUrl,onComplete:E=null,initialState:D=M5.defaults.initialState,uncaughtExceptionHandler:O=M5.defaults.uncaughtExceptionHandler})=>{let[k,A]=(0,V.useState)(null),j=k?.getComponent(`App`,`root`),M=N5(e),N=N5(t);return(0,V.useEffect)(()=>{let k=j5({plugins:s,spec:e,url:t,layout:n,defaultModelsExpandDepth:f,defaultModelRendering:p,presets:[j5.presets.apis,...m],requestInterceptor:r,responseInterceptor:i,onComplete:()=>{typeof E==`function`&&E(k)},docExpansion:u,supportedSubmitMethods:a,queryConfigEnabled:o,defaultModelExpandDepth:d,displayOperationId:c,tryItOutEnabled:x,displayRequestDuration:S,requestSnippetsEnabled:y,requestSnippets:b,showMutatedRequest:l,deepLinking:h,showExtensions:g,showCommonExtensions:_,filter:v,persistAuthorization:w,withCredentials:C,initialState:D,uncaughtExceptionHandler:O,...typeof T==`string`?{oauth2RedirectUrl:T}:{}});A(k)},[]),(0,V.useEffect)(()=>{k&&(t!==k.specSelectors.url()||t!==N)&&(k.specActions.updateSpec(``),t&&(k.specActions.updateUrl(t),k.specActions.download(t)))},[k,t]),(0,V.useEffect)(()=>{if(k){let t=k.specSelectors.specStr();if(e&&e!==j5.config.defaults.spec&&(e!==t||e!==M)){let t=typeof e==`object`?JSON.stringify(e):e;k.specActions.updateSpec(t)}}},[k,e]),j?V.createElement(j,null):null};P5.System=j5.System,P5.presets=j5.presets,P5.plugins=j5.plugins,P5.config=j5.config;var F5={getApiProtocol:()=>`${window.location.protocol}`,getApiHostName:()=>`${window.location.host}`,getApiHost:()=>`${F5.getApiProtocol()}//${F5.getApiHostName()}`,getApiRootPath:()=>`/api/v0`},I5={[`${F5.getApiRootPath()}/products`]:`products`,[`${F5.getApiRootPath()}/sites`]:`sites`,[`${F5.getApiRootPath()}/releases`]:`releases`,[`${F5.getApiRootPath()}/locations/sites`]:`locationSites`,[`${F5.getApiRootPath()}/taxonomy`]:`taxonomy`},L5=e=>e!=null,R5={requestInterceptor:e=>{let t=new URL(e.url);return t.protocol=F5.getApiProtocol(),t.host=F5.getApiHostName(),t.port=``,{...e,url:t.href}},responseInterceptor:e=>{let t=new URL(e.url);if(!Object.keys(I5).some(e=>t.pathname.startsWith(e)))return e;if(L5(e.body)&&L5(e.body.data)){let{data:n}=e.body,r=Array.isArray(n)&&n.length>3,i={...e.body,data:r?n.slice(0,3):n};delete e.body,delete e.obj,delete e.text,delete e.data;let a=Object.keys(I5).find(e=>t.pathname.startsWith(e)),o=I5[L5(a)?a:``];switch(o===`releases`&&(t.pathname.includes(`products`)?o=`products`:t.pathname.includes(`sites`)&&(o=`sites`)),o){case`products`:if(r)i.data=i.data.map(e=>{let t=e;return Array.isArray(e.changeLogs)&&e.changeLogs.length>3&&(t.changeLogs=e.changeLogs.slice(0,3)),Array.isArray(e.siteCodes)&&e.siteCodes.length>3&&(t.siteCodes=e.siteCodes.slice(0,3)),e});else{let e=i.data,t=Array.isArray(e.changeLogs)&&e.changeLogs.length>3,n=Array.isArray(e.siteCodes)&&e.siteCodes.length>3;i.data={...e,changeLogs:t?e.changeLogs.slice(0,3):e.changeLogs,siteCodes:n?e.siteCodes.slice(0,3):e.siteCodes}}break;case`sites`:if(r)i.data=i.data.map(e=>{let t=e;return Array.isArray(e.dataProducts)&&e.dataProducts.length>3&&(t.dataProducts=e.dataProducts.slice(0,3)),t});else{let e=i.data,t=Array.isArray(e.dataProducts)&&e.dataProducts.length>3;i.data={...e,dataProducts:t?e.dataProducts.slice(0,3):e.dataProducts}}break;default:break}e.body=i,e.obj=i,e.text=JSON.stringify(i),e.data=JSON.stringify(i)}return e}},z5=o((e=>{var t=Symbol.for(`react.transitional.element`);function n(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.jsx=n})),B5=o(((e,t)=>{t.exports=z5()}))(),V5=e=>{let{spec:t}=e;return(0,B5.jsx)(P5,{spec:t,docExpansion:`list`,requestInterceptor:R5.requestInterceptor,responseInterceptor:R5.responseInterceptor})},H5={swagger:`2.0`,info:{version:`0.11.0`,title:`NEON Data API Requests`,description:`Expand the options below, click GET, and then click TRY IT OUT to see example calls.`},basePath:`/api/v0`,consumes:[`application/json`],produces:[`application/json`],securityDefinitions:{"X-API-Token":{type:`apiKey`,name:`X-API-Token`,in:`header`}},security:[{"X-API-Token":[]}],paths:JSON.parse(`{"/products":{"get":{"security":[],"description":"Get information about all data products","tags":["Products"],"operationId":"Get_products_","produces":["application/json"],"parameters":[{"name":"release","in":"query","description":"The name of the release to get availability for","required":false,"type":"string"}],"responses":{"200":{"description":"List of data products","schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/product"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/products/{productCode}":{"get":{"security":[],"description":"Get information about a data product","tags":["Products"],"operationId":"Get_products_productCode_","produces":["application/json"],"parameters":[{"name":"productCode","in":"path","description":"Data product to get","required":true,"type":"string"},{"name":"release","in":"query","description":"The name of the release to get availability for","required":false,"type":"string"}],"responses":{"200":{"description":"Single data product","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/product"}}}},"400":{"description":"Product(s) not found","schema":{"$ref":"#/definitions/error"}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/sites":{"get":{"security":[],"description":"Get information about all field sites","tags":["Sites"],"operationId":"Get_sites_","produces":["application/json"],"parameters":[{"name":"release","in":"query","description":"The name of the release to get availability for","required":false,"type":"string"}],"responses":{"200":{"description":"List of field sites","schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/site"}}}}}}}},"/sites/{siteCode}":{"get":{"security":[],"description":"Get information about a field site","tags":["Sites"],"operationId":"Get_sites:siteCode_","produces":["application/json"],"parameters":[{"name":"siteCode","in":"path","description":"Site to get","required":true,"type":"string"},{"name":"release","in":"query","description":"The name of the release to get availability for","required":false,"type":"string"}],"responses":{"200":{"description":"Single site","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/site"}}}},"400":{"description":"Site(s) not found","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/locations/{locationName}":{"get":{"security":[],"description":"Get information about a location","tags":["Locations"],"operationId":"Get_locations:locationName_","produces":["application/json"],"parameters":[{"name":"locationName","in":"path","description":"Location to get","required":true,"type":"string"},{"name":"history","in":"query","description":"Option to obtain location history information","required":false,"type":"boolean"},{"name":"hierarchy","in":"query","description":"Option to obtain location hierarchy information","required":false,"type":"boolean"},{"name":"locationType","in":"query","description":"\\"When obtaining location hierarchy, specify a type of descendant to query for. For example, to obtain the location hierarchy for all towers at location CPER, utilize: /CPER?hierarchy=true&locationType=TOWER\\"","required":false,"type":"string"}],"responses":{"200":{"description":"Single location","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/location"}}}},"400":{"description":"Location(s) not found","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/locations/sites":{"get":{"security":[],"description":"Get information about the site-level locations","tags":["Locations","Sites"],"operationId":"Get_locations_sites_","produces":["application/json"],"responses":{"200":{"description":"List of locations","schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/location"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/data/{productCode}/{siteCode}/{year-month}":{"get":{"description":"Get files available for a given product/site/month combination","tags":["Data"],"operationId":"Get_data:availability_","produces":["application/json"],"parameters":[{"name":"productCode","in":"path","description":"Product to check for files","required":true,"type":"string"},{"name":"siteCode","in":"path","description":"Site to check for files","required":true,"type":"string"},{"name":"year-month","in":"path","description":"YYYY-MM month to check for files","required":true,"type":"string"},{"name":"package","in":"query","description":"Package type to return, basic or expanded","required":false,"type":"string","enum":["basic","expanded"]},{"name":"release","in":"query","description":"The name of the release to get for","required":false,"type":"string"}],"responses":{"200":{"description":"Available files","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/data"}}}},"400":{"description":"Product, site not found or invalid date range specified","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/data/{productCode}/{siteCode}/{year-month}/{filename}":{"get":{"description":"Get a file for a given product/site/month/filename combination","tags":["Data"],"operationId":"Get_data:availability_file_","produces":["application/octet-stream"],"parameters":[{"name":"productCode","in":"path","description":"Product to check for files","required":true,"type":"string"},{"name":"siteCode","in":"path","description":"Site to check for files","required":true,"type":"string"},{"name":"year-month","in":"path","description":"YYYY-MM month to check for files","required":true,"type":"string"},{"name":"filename","in":"path","description":"The name of the file","required":true,"type":"string"},{"name":"package","in":"query","description":"Package type to return, basic or expanded","required":false,"type":"string","enum":["basic","expanded"]},{"name":"release","in":"query","description":"The name of the release to get for","required":false,"type":"string"}],"responses":{"200":{"description":"Available file data","schema":{"type":"string","format":"binary"}},"302":{"description":"Found available file and redirects to data","schema":{"type":"string","format":"binary"}},"400":{"description":"Invalid file name specified","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/data/package/{productCode}/{siteCode}/{year-month}":{"get":{"description":"Get a data package for a given product/site/month and package combination","tags":["Data"],"operationId":"Get_data:availability_package_","produces":["application/zip"],"parameters":[{"name":"productCode","in":"path","description":"Product to check for files","required":true,"type":"string"},{"name":"siteCode","in":"path","description":"Site to check for files","required":true,"type":"string"},{"name":"year-month","in":"path","description":"YYYY-MM month to check for files","required":true,"type":"string"},{"name":"package","in":"query","description":"Package type to return, basic or expanded","required":false,"type":"string","enum":["basic","expanded"]},{"name":"release","in":"query","description":"The name of the release to get for","required":false,"type":"string"}],"responses":{"200":{"description":"Available data package as zip","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Invalid product, site, or month specified","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/data/query":{"get":{"description":"Get files available for a given product, one or more sites, date range, release, package combination","tags":["Data Query"],"operationId":"Get_data_query:availability_","produces":["application/json"],"parameters":[{"name":"productCode","in":"query","description":"Product code to query for files","required":true,"type":"string"},{"name":"siteCode","in":"query","description":"One or more four letter site codes to query for files","required":true,"type":"string"},{"name":"startDateMonth","in":"query","description":"YYYY-MM start date month to query for files","required":true,"type":"string"},{"name":"endDateMonth","in":"query","description":"YYYY-MM end date month to query for files","required":true,"type":"string"},{"name":"release","in":"query","description":"The name of the release to query for","required":false,"type":"string"},{"name":"package","in":"query","description":"Package type to query, basic or expanded","required":false,"type":"string","enum":["basic","expanded"]},{"name":"includeProvisional","in":"query","description":"Optionally include provisional data in the query","required":false,"type":"boolean"}],"responses":{"200":{"description":"Available files","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/dataQuery"}}}},"400":{"description":"One or more invalid paramaters specified","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}},"post":{"description":"Get files available for a given product, one or more sites, date range, release, package combination","tags":["Data Query"],"operationId":"Post_data_query:availability_","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"DataQueryRequest","in":"body","description":"The data query request","schema":{"type":"object","required":["productCode","siteCodes","startDateMonth","endDateMonth"],"properties":{"productCode":{"type":"string","description":"Product code to query for files"},"siteCodes":{"type":"array","description":"One or more four letter site codes to query for files","items":{"type":"string"}},"startDateMonth":{"type":"string","description":"YYYY-MM start date month to query for files"},"endDateMonth":{"type":"string","description":"YYYY-MM end date month to query for files"},"release":{"type":"string","description":"The name of the release to query for"},"package":{"type":"string","description":"Package type to query, basic or expanded","enum":["basic","expanded"]},"includeProvisional":{"type":"boolean","description":"Optionally include provisional data in the query"}}}}],"responses":{"200":{"description":"Available files","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/dataQuery"}}}},"400":{"description":"One or more invalid paramaters specified","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/releases":{"get":{"security":[],"description":"Get information about all available data releases","tags":["Releases"],"operationId":"Get_releases_","produces":["application/json"],"responses":{"200":{"description":"List of data releases","schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/release"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/releases/{releaseIdentifier}":{"get":{"security":[],"description":"Get information about a data release","tags":["Releases"],"operationId":"Get_releases_releaseIdentifier_","produces":["application/json"],"parameters":[{"name":"releaseIdentifier","in":"path","description":"Release tag or UUID to get information for","required":true,"type":"string"}],"responses":{"200":{"description":"Single data release","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/release"}}}},"400":{"description":"Release(s) not found","schema":{"$ref":"#/definitions/error"}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/releases/{releaseTag}/products":{"get":{"security":[],"description":"Get information about all data products within a specific release","tags":["Releases"],"operationId":"Get_releases_products_","produces":["application/json"],"parameters":[{"name":"releaseTag","in":"path","description":"The name of the release to get availability for","required":true,"type":"string"}],"responses":{"200":{"description":"List of data products","schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/product"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/releases/{releaseTag}/products/{productCode}":{"get":{"security":[],"description":"Get information about a data product within a specific release","tags":["Releases"],"operationId":"Get_releases_products_productCode_","produces":["application/json"],"parameters":[{"name":"releaseTag","in":"path","description":"The name of the release to get availability for","required":true,"type":"string"},{"name":"productCode","in":"path","description":"Data product to get","required":true,"type":"string"}],"responses":{"200":{"description":"Single data product","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/product"}}}},"400":{"description":"Product(s) not found","schema":{"$ref":"#/definitions/error"}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/releases/{releaseTag}/sites":{"get":{"security":[],"description":"Get information about all sites within a specific release","tags":["Releases"],"operationId":"Get_releases_sites_","produces":["application/json"],"parameters":[{"name":"releaseTag","in":"path","description":"The name of the release to get availability for","required":true,"type":"string"}],"responses":{"200":{"description":"List of sites","schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/site"}}}}}}}},"/releases/{releaseTag}/sites/{siteCode}":{"get":{"security":[],"description":"Get information about a field site within a specific release","tags":["Releases"],"operationId":"Get_releases_sites:siteCode_","produces":["application/json"],"parameters":[{"name":"releaseTag","in":"path","description":"The name of the release to get availability for","required":true,"type":"string"},{"name":"siteCode","in":"path","description":"Site to get","required":true,"type":"string"}],"responses":{"200":{"description":"Single site","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/site"}}}},"400":{"description":"Site(s) not found","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/releases/{releaseTag}/data/{productCode}/{siteCode}/{year-month}":{"get":{"description":"Get files available for a given release and product/site/month combination","tags":["Releases"],"operationId":"Get_releases_data:availability_","produces":["application/json"],"parameters":[{"name":"releaseTag","in":"path","description":"The name of the release to get availability for","required":true,"type":"string"},{"name":"productCode","in":"path","description":"Product to check for files","required":true,"type":"string"},{"name":"siteCode","in":"path","description":"Site to check for files","required":true,"type":"string"},{"name":"year-month","in":"path","description":"YYYY-MM month to check for files","required":true,"type":"string"},{"name":"package","in":"query","description":"Package type to return, basic or expanded","required":false,"type":"string","enum":["basic","expanded"]}],"responses":{"200":{"description":"Available files","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/data"}}}},"400":{"description":"Product, site not found or invalid date range specified","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/releases/{releaseTag}/data/{productCode}/{siteCode}/{year-month}/{filename}":{"get":{"description":"Get a file for a given release and product/site/month/filename combination","tags":["Releases"],"operationId":"Get_releases_data:availability_file_","produces":["application/octet-stream"],"parameters":[{"name":"releaseTag","in":"path","description":"The name of the release to get availability for","required":true,"type":"string"},{"name":"productCode","in":"path","description":"Product to check for files","required":true,"type":"string"},{"name":"siteCode","in":"path","description":"Site to check for files","required":true,"type":"string"},{"name":"year-month","in":"path","description":"YYYY-MM month to check for files","required":true,"type":"string"},{"name":"filename","in":"path","description":"The name of the file","required":true,"type":"string"},{"name":"package","in":"query","description":"Package type to return, basic or expanded","required":false,"type":"string","enum":["basic","expanded"]}],"responses":{"200":{"description":"Available file data","schema":{"type":"string","format":"binary"}},"302":{"description":"Found available file and redirects to data","schema":{"type":"string","format":"binary"}},"400":{"description":"Invalid file name specified","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/releases/{releaseTag}/data/package/{productCode}/{siteCode}/{year-month}":{"get":{"description":"Get a data package for a given release and product/site/month and package combination","tags":["Releases"],"operationId":"Get_releases_data:availability_package_","produces":["application/zip"],"parameters":[{"name":"releaseTag","in":"path","description":"The name of the release to get availability for","required":true,"type":"string"},{"name":"productCode","in":"path","description":"Product to check for files","required":true,"type":"string"},{"name":"siteCode","in":"path","description":"Site to check for files","required":true,"type":"string"},{"name":"year-month","in":"path","description":"YYYY-MM month to check for files","required":true,"type":"string"},{"name":"package","in":"query","description":"Package type to return, basic or expanded","required":false,"type":"string","enum":["basic","expanded"]}],"responses":{"200":{"description":"Available data package as zip","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Invalid product, site, or month specified","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/samples/view":{"get":{"description":"For a given sample identifier, get a list of sample custody events as well as any parent and child sample identifiers that currently exist.","tags":["Samples"],"operationId":"Get_samplesByTagClass","produces":["application/json"],"parameters":[{"name":"sampleTag","in":"query","description":"Sample Tag of interest. Must be used in conjunction with a Sample Class only.","required":false,"type":"string"},{"name":"sampleClass","in":"query","description":"Sample Class of interest. Must be used in conjunction with a Sample Tag only.","required":false,"type":"string"},{"name":"sampleUuid","in":"query","description":"UUID of Sample. Must be used on its own.","required":false,"type":"string"},{"name":"barcode","in":"query","description":"Barcode of Sample. Must be used on its own.","required":false,"type":"string"},{"name":"archiveGuid","in":"query","description":"archiveGuid of Sample. Must be used on its own.","required":false,"type":"string"}],"responses":{"200":{"description":"List of sample views.","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/views"}}}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/error"}},"404":{"description":"Sample Not Found","schema":{"$ref":"#/definitions/error"}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/samples/classes":{"get":{"security":[],"description":"Get a list of Sample Classes for a given Sample Tag","tags":["Samples"],"operationId":"Get_sampleClasses:sampleTag_","produces":["application/json"],"parameters":[{"name":"sampleTag","in":"query","description":"Sample Tag of interest","required":true,"type":"string"}],"responses":{"200":{"description":"List of sample classes for a given Sample Tag","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/classes"}}}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/error"}},"404":{"description":"Sample Not Found","schema":{"$ref":"#/definitions/error"}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/samples/supportedClasses":{"get":{"security":[],"description":"Get a list of sample classes and descriptions currently available","tags":["Samples"],"operationId":"Get_supportedSampleClasses","produces":["application/json"],"responses":{"200":{"description":"List of supported sample classes and their descriptions","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/supportedClasses"}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/samples/download":{"get":{"description":"Get a list of sample views for a given sample identifier and search degree.","tags":["Samples"],"operationId":"Get_samplesDownloadBySampleTagClass","produces":["application/json"],"parameters":[{"name":"sampleTag","in":"query","description":"Sample Tag of interest. Must be used in conjunction with a Sample Class only.","required":false,"type":"string"},{"name":"sampleClass","in":"query","description":"Sample Class of interest. Must be used in conjunction with a Sample Tag only.","required":false,"type":"string"},{"name":"sampleUuid","in":"query","description":"UUID of Sample. Must be used on its own.","required":false,"type":"string"},{"name":"barcode","in":"query","description":"Barcode of Sample. Must be used on its own.","required":false,"type":"string"},{"name":"archiveGuid","in":"query","description":"archiveGuid of Sample. Must be used on its own.","required":false,"type":"string"},{"name":"degree","in":"query","description":"degree of sample search","required":false,"type":"string"}],"responses":{"200":{"description":"list of sample views","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/views"}}}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/error"}},"404":{"description":"Sample Not Found","schema":{"$ref":"#/definitions/error"}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/taxonomy":{"get":{"security":[],"description":"Get taxonomic lists","tags":["Taxonomy"],"operationId":"Get_taxonomy","produces":["application/json"],"parameters":[{"name":"taxonTypeCode","in":"query","description":"Taxon type code to get. Must not be used in conjunction with a taxon rank query parameter.","required":false,"enum":["ALGAE","BEETLE","BIRD","FISH","HERPETOLOGY","MACROINVERTEBRATE","MOSQUITO","MOSQUITO_PATHOGENS","SMALL_MAMMAL","PLANT","TICK"],"type":"string"},{"name":"kingdom","in":"query","description":"The taxon rank to get. Must not be used in conjunction with taxon type code.","required":false,"type":"string"},{"name":"phylum","in":"query","description":"The taxon rank to get. Must not be used in conjunction with taxon type code.","required":false,"type":"string"},{"name":"division","in":"query","description":"The taxon rank to get. Must not be used in conjunction with taxon type code.","required":false,"type":"string"},{"name":"order","in":"query","description":"The taxon rank to get. Must not be used in conjunction with taxon type code.","required":false,"type":"string"},{"name":"class","in":"query","description":"The taxon rank to get. Must not be used in conjunction with taxon type code.","required":false,"type":"string"},{"name":"family","in":"query","description":"The taxon rank to get. Must not be used in conjunction with taxon type code.","required":false,"type":"string"},{"name":"genus","in":"query","description":"The taxon rank to get. Must not be used in conjunction with taxon type code.","required":false,"type":"string"},{"name":"scientificname","in":"query","description":"The taxon rank to get. Must not be used in conjunction with taxon type code.","required":false,"type":"string"},{"name":"verbose","in":"query","description":"Get verbose result set","required":false,"type":"boolean"},{"name":"offset","in":"query","description":"The number of items to skip before starting to collect the result set","required":false,"type":"integer"},{"name":"limit","in":"query","description":"The number of items to limit the result set to","required":false,"type":"integer"},{"name":"stream","in":"query","description":"Option to obtain the result as a stream. Utilize for large requests.","required":false,"type":"boolean"}],"responses":{"200":{"description":"List of taxonomic information","schema":{"type":"object","properties":{"count":{"type":"integer","description":"The number of results in the current paged response"},"total":{"type":"integer","description":"The total number of results for the query"},"prev":{"type":"string","format":"uri","description":"Link to the previous page of results when available"},"next":{"type":"string","format":"uri","description":"Link to the next page of results when available"},"data":{"type":"array","items":{"$ref":"#/definitions/taxonomy"}}}}},"400":{"description":"Taxonomic data does not exist for specified query","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/prototype/datasets":{"get":{"security":[],"description":"Get information about all prototype datasets","tags":["Prototype Datasets"],"operationId":"Get_prototype_datasets_","produces":["application/json"],"responses":{"200":{"description":"List of prototype datasets","schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/prototypeDataset"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/prototype/datasets/{uuid}":{"get":{"security":[],"description":"Get information about a prototype dataset","tags":["Prototype Datasets"],"operationId":"Get_prototype_datasets_uuid_","produces":["application/json"],"parameters":[{"name":"uuid","in":"path","description":"Prototype dataset UUID to get","required":true,"type":"string"}],"responses":{"200":{"description":"Single prototype dataset","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/prototypeDataset"}}}},"400":{"description":"Prototype dataset not found","schema":{"$ref":"#/definitions/error"}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/prototype/data/{uuid}":{"get":{"security":[],"description":"Get information about data files for the prototype dataset","tags":["Prototype Datasets"],"operationId":"Get_prototype_data_uuid_","produces":["application/json"],"parameters":[{"name":"uuid","in":"path","description":"Prototype dataset UUID to get","required":true,"type":"string"}],"responses":{"200":{"description":"Available data for the prototype dataset","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/prototypeDatasetData"}}}},"400":{"description":"Prototype dataset not found","schema":{"$ref":"#/definitions/error"}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/prototype/data/{uuid}/{filename}":{"get":{"security":[],"description":"Gets a data file","tags":["Prototype Datasets"],"operationId":"Get_prototype_data_uuid_file_","produces":["application/octet-stream"],"parameters":[{"name":"uuid","in":"path","description":"Prototype dataset UUID to get","required":true,"type":"string"},{"name":"filename","in":"path","description":"The name of the data file","required":true,"type":"string"}],"responses":{"200":{"description":"Available file data","schema":{"type":"string","format":"binary"}},"302":{"description":"Found available file and redirects to data","schema":{"type":"string","format":"binary"}},"400":{"description":"Invalid file name specified","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}}}`),definitions:JSON.parse(`{"product":{"type":"object","properties":{"productCodeLong":{"type":"string","description":"Revisioned, long code for the data product (NEON.DOM.SITE.DP1.00001.001, etc)"},"productCode":{"type":"string","description":"Revisioned, shortened code for the data product (DP1.00001.001, DP1.10072.001, etc)"},"productCodePresentation":{"type":"string","description":"Shortened product code"},"productName":{"type":"string","description":"The name of the data product."},"productDescription":{"type":"string","description":"A brief description of the data product."},"productStatus":{"type":"string","enum":["FUTURE","ACTIVE","RETIRED"],"description":"Future, active, or retired product status"},"productCategory":{"type":"string","description":"Level 1, 2, 3, or 4 data product"},"productHasExpanded":{"type":"boolean","description":"Whether a data product has expanded data"},"productScienceTeamAbbr":{"type":"string","description":"Three letter abbreviation for the science team responsible for the data product"},"productScienceTeam":{"type":"string","description":"Science team responsible for the data product"},"productPublicationFormatType":{"type":"string","description":"Class of publication system used during the publication process; can be independent from productScienceTeam."},"productAbstract":{"type":"string","description":"An abstract for the data product"},"productDesignDescription":{"type":"string","description":"A design description of the data product"},"productStudyDescription":{"type":"string","description":"A study description of the data product"},"productBasicDescription":{"type":"string","description":"A description of the basic package available for download"},"productExpandedDescription":{"type":"string","description":"A description of the expanded package available for download"},"productSensor":{"type":"string","description":"A description of the sensor utilized by the data product"},"productRemarks":{"type":"string","description":"Remarks about the data product"},"themes":{"type":"array","description":"List of themes to which the data product belongs.","items":{"type":"string"}},"changeLogs":{"type":"array","description":"List of issues and associated details for the product.","items":{"type":"object","properties":{"id":{"type":"number","format":"int","description":"The identifier for the issue."},"parentIssueID":{"type":"number","format":"int","description":"The identifier for the parent issue that this issue is associated with."},"issueDate":{"type":"string","format":"date-time","description":"The date and time associated with the creation of the issue."},"resolvedDate":{"type":"string","format":"date-time","description":"The date and time associated with the resolution of the issue."},"dateRangeStart":{"type":"string","format":"date-time","description":"The start of the date interval that this issue impacts the data product."},"dateRangeEnd":{"type":"string","format":"date-time","description":"The end of the date interval that this issue impacts the data product."},"locationAffected":{"type":"string","description":"The locations affected by this issue."},"issue":{"type":"string","description":"The description of the issue."},"resolution":{"type":"string","description":"The description of the resolution applied for this issue."}}}},"specs":{"type":"array","description":"List of documents associated with the data product.","items":{"$ref":"#/definitions/spec"}},"keywords":{"type":"array","description":"List of words and phrases associated with the data product","items":{"type":"string"}},"biorepositoryCollections":{"type":"array","description":"List of NEON biorepository collections associated with the data product","items":{"$ref":"#/definitions/biorepositoryCollection"}},"releases":{"type":"array","description":"List of releases that this product has available data within.","items":{"type":"object","properties":{"release":{"type":"string","description":"The name of the release"},"generationDate":{"type":"string","format":"date-time","description":"The generation date of the release."},"url":{"type":"string","description":"The URL to the API endpoint that references the release."},"productDoi":{"type":"object","description":"A description for the DOI associated with the product and release.","properties":{"generationDate":{"type":"string","format":"date-time","description":"The generation date of the DOI."},"url":{"type":"string","description":"The DOI URL for the product and release."}}}}}},"siteCodes":{"type":"array","description":"List of sites and months of available data","items":{"type":"object","properties":{"siteCode":{"type":"string","description":"Four character code for the site"},"availableMonths":{"type":"array","description":"List of years and months that products are available. Formatted as YYYY-MM.","items":{"type":"string"}},"availableDataUrls":{"type":"array","description":"List of data urls for products that are available.","items":{"type":"string"}},"availableReleases":{"type":"array","description":"List of available releases and months contained within each release.","items":{"type":"object","properties":{"release":{"type":"string","description":"The name of the release."},"availableMonths":{"type":"array","description":"List of years and months that products are available within for this release. Formatted as YYYY-MM.","items":{"type":"string"}}}}}}}}}},"biorepositoryCollection":{"type":"object","properties":{"collectionCode":{"type":"string","description":"The collection code assigned to the collection."},"collectionName":{"type":"string","description":"The name of the collection."},"collectionUrl":{"type":"string","description":"The URL to the API endpoint for the specified collection."},"collectionContentUrl":{"type":"string","description":"The URL to the biorepository collection landing page."},"collectionDownloadUrl":{"type":"string","description":"The URL to download the biorepository collection dataset."}}},"spec":{"type":"object","properties":{"specId":{"type":"string","description":"Document identifier for the associated document."},"specNumber":{"type":"string","description":"The specification number or name for the associated document."},"specType":{"type":"string","description":"The MIME type of the associated document."},"specSize":{"type":"number","format":"int","description":"The size in bytes of the associated document."},"specDescription":{"type":"string","description":"Description of the associated document."}}},"site":{"type":"object","properties":{"siteCode":{"type":"string","description":"Four character code for the site"},"siteName":{"type":"string","description":"Full name for the site"},"siteDescription":{"type":"string","description":"Brief site description"},"siteType":{"type":"string","enum":["CORE","GRADIENT"],"description":"Core or Gradient site"},"siteLatitude":{"type":"number","description":"Point latitude for the site"},"siteLongitude":{"type":"number","description":"Point longitude for the site"},"domainCode":{"type":"string","description":"Three character domain abbreviation (D01, D02, etc) for the domain this site is in"},"stateCode":{"type":"string","description":"Two letter state code that this site is in"},"stateName":{"type":"string","description":"Full name of the state or territory that this site is in"},"domainName":{"type":"string","description":"Brief description for the domain this site is in"},"deimsId":{"type":"string","description":"Dynamic Ecological Information Management System - Site and dataset registry (DEIMS-SDR) ID for the site, see deims.org"},"releases":{"type":"array","description":"List of releases that this site has available data within.","items":{"type":"object","properties":{"release":{"type":"string","description":"The name of the release"},"generationDate":{"type":"string","format":"date-time","description":"The generation date of the release."},"url":{"type":"string","description":"The URL to the API endpoint that references the release."}}}},"dataProducts":{"type":"array","items":{"$ref":"#/definitions/productAvailability"}}}},"productAvailability":{"type":"object","properties":{"dataProductCode":{"type":"string","description":"Revisioned, shortened code for the data product (DP1.00001.001, DP1.10072.001, etc)"},"dataProductTitle":{"type":"string","description":"Full title for the data product."},"availableMonths":{"type":"array","description":"List of years and months that products are available. Formatted as YYYY-MM.","items":{"type":"string"}},"availableDataUrls":{"type":"array","description":"List of data urls for products that are available.","items":{"type":"string"}},"availableReleases":{"type":"array","description":"List of available releases and months contained within each release.","items":{"type":"object","properties":{"release":{"type":"string","description":"The name of the release."},"availableMonths":{"type":"array","description":"List of years and months that products are available within for this release. Formatted as YYYY-MM.","items":{"type":"string"}}}}}}},"data":{"type":"object","properties":{"productCode":{"type":"string","description":"The product code."},"siteCode":{"type":"string","description":"The four letter site code."},"month":{"type":"string","description":"The available month. Formatted as YYYY-MM."},"release":{"type":"string","description":"The name of the associated release."},"packages":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","description":"The type of package."},"url":{"type":"string","description":"The URL to the data package API endpoint."}}}},"files":{"type":"array","items":{"$ref":"#/definitions/file"}},"externalData":{"type":"array","items":{"$ref":"#/definitions/externalData"}}}},"file":{"type":"object","properties":{"name":{"description":"Filename","type":"string"},"size":{"description":"File size in bytes","type":"number","format":"int"},"md5":{"description":"MD5 value in hex","type":"string"},"crc32":{"description":"DEPRECATED. CRC32 value in hex","type":"string"},"crc32c":{"description":"CRC32C value in hex","type":"string"},"url":{"description":"Download URL","type":"string"}}},"externalData":{"type":"object","properties":{"name":{"description":"The name of the external data object.","type":"string"},"type":{"description":"The type of external data link provided.","type":"string"},"url":{"description":"URL to external data.","type":"string"}}},"release":{"type":"object","properties":{"release":{"type":"string","description":"The name or \\"tag\\" of the release."},"uuid":{"type":"string","description":"The UUID associated with the release."},"generationDate":{"type":"string","format":"date-time","description":"Generation date of the release."},"artifacts":{"type":"array","description":"The set of artifacts associated with the release.","items":{"type":"object","properties":{"name":{"type":"string","description":"The name of the artifact."},"type":{"type":"string","description":"The type of the artifact."},"url":{"type":"string","description":"The download URL for the artifact"},"size":{"type":"number","format":"int","description":"The file size in bytes."},"md5":{"type":"string","description":"MD5 value in hex"}}}},"dataProducts":{"type":"array","description":"The set of available data products within the release.","items":{"type":"object","properties":{"productCode":{"type":"string","description":"Revisioned, shortened code for the data product (DP1.00001.001, DP1.10072.001, etc)"},"productName":{"type":"string","description":"The name of the data product."},"productDescription":{"type":"string","description":"A brief description of the data product."},"productDoi":{"type":"string","description":"The DOI for the product within the release."}}}}}},"dataQuery":{"type":"object","properties":{"productCode":{"type":"string","description":"Revisioned, shortened code for the data product (DP1.00001.001, DP1.10072.001, etc)"},"siteCodes":{"type":"array","description":"List of four character site codes available","items":{"type":"string"}},"startDate":{"type":"string","format":"date-time","description":"The start date of the query interval"},"endDate":{"type":"string","format":"date-time","description":"The end date of the query interval"},"packageType":{"type":"string","description":"The type of package, basic or expanded"},"releases":{"type":"array","description":"The list of available releases for the query","items":{"type":"object","description":"Describes a release data package","properties":{"release":{"type":"string","description":"The name of the release"},"generationDate":{"type":"string","format":"date-time","description":"The generation date of the release"},"packages":{"type":"array","description":"The list of available packages within the release for the query","items":{"type":"object","description":"Describes a data package","properties":{"domainCode":{"type":"string","description":"Three character domain abbreviation (D01, D02, etc) for the domain this package is in"},"siteCode":{"type":"string","description":"Four character code for the site"},"month":{"type":"string","description":"The available month, formatted as YYYY-MM"},"packageType":{"type":"string","description":"The type of package, basic or expanded"},"generationDate":{"type":"string","format":"date-time","description":"The generation date of the package"},"files":{"type":"array","description":"The list of available files within the package for the query","items":{"$ref":"#/definitions/file"}}}}}}}}}},"location":{"type":"object","properties":{"locationName":{"type":"string","description":"Name of the location"},"locationDescription":{"type":"string","description":"A description of the location."},"locationType":{"type":"string"},"domainCode":{"type":"string","description":"Three character domain abbreviation (D01, D02, etc) for the domain this site is in"},"siteCode":{"type":"string","description":"Four character code for the site"},"locationDecimalLatitude":{"type":"number","format":"double","description":"Decimal latitude for the location."},"locationDecimalLongitude":{"type":"number","format":"double","description":"Decimal longitude for the location."},"locationElevation":{"type":"number","format":"double","description":"Elevation for the location."},"locationUtmEasting":{"type":"number","format":"double","description":"The Universal Transverse Mercator easting."},"locationUtmNorthing":{"type":"number","format":"double","description":"The Universal Transverse Mercator northing."},"locationUtmZone":{"type":"number","format":"int","description":"The integer Universal Transverse Mercator zone."},"locationUtmHemisphere":{"type":"string","description":"The single character Universal Transverse Mercator hemisphere."},"alphaOrientation":{"type":"number","format":"double","description":"The elevation or pitch angle (in degrees) in the vertical plane at which a sensor is oriented relative to the horizontal plane."},"betaOrientation":{"type":"number","format":"double","description":"The roll angle (in degrees) about the longitudinal axis of the sensor at which the sensor is oriented."},"gammaOrientation":{"type":"number","format":"double","description":"The azimuth or yaw angle (in degrees) at which a sensor is facing relative to true North."},"xOffset":{"type":"number","format":"double","description":"Cartesian offsets of a sensor, in meters, west (positive values) or east (negative values) relative to the reference location."},"yOffset":{"type":"number","format":"double","description":"Cartesian offsets of a sensor, in meters, south (positive values) or north (negative values) relative to the reference location."},"zOffset":{"type":"number","format":"double","description":"Cartesian offsets of a sensor, in meters, up (positive values) or down (negative values) relative to the reference location."},"offsetLocation":{"type":"object","$ref":"#/definitions/location","description":"The named location used as a reference point. Offsets are relative to this location."},"locationPolygon":{"type":"object","properties":{"coordinates":{"type":"array","description":"A list of vertices that define the closed structure for the polygon","items":{"type":"object","properties":{"latitude":{"type":"number","format":"double","description":"Decimal latitude for the polygon coordinate."},"longitude":{"type":"number","format":"double","description":"Decimal longitude for the polygon coordinate."},"elevation":{"type":"number","format":"double","description":"Elevation for the polygon coordinate."}}}}}},"activePeriods":{"type":"array","description":"List of active periods for the location","items":{"type":"object","properties":{"activatedDate":{"type":"string","format":"date-time","description":"The activation date for the time period"},"deactivatedDate":{"type":"string","format":"date-time","description":"The deactivation date for the time period"}}}},"locationProperties":{"type":"array","description":"List of properties associated with the location. Contents vary based on the type of location.","items":{"type":"object","properties":{"locationPropertyValue":{"type":"string","description":"Can be a string or a number"},"locationPropertyName":{"type":"string"}}}},"locationHistory":{"type":"array","items":{"type":"object","$ref":"#/definitions/locationHistory"}},"locationParent":{"type":"string","description":"Name of the location that this location is in."},"locationParentUrl":{"type":"string","description":"URL to request location data for the parent of this location."},"locationParentHierarchy":{"type":"object","description":"When querying for the hierarchy, the location's parent hierarchy","$ref":"#/definitions/locationParentHierarchy"},"locationChildren":{"type":"array","description":"A list of names of locations within this location.","items":{"type":"string"}},"locationChildrenUrls":{"type":"array","description":"A list of URLs to request location data for the children of this location.","items":{"type":"string"}},"locationChildHierarchy":{"type":"array","description":"When querying for the hierarchy, the location's set of immediate children and associated hierarchy","items":{"type":"object","$ref":"#/definitions/locationChildHierarchy"}}}},"locationHistory":{"type":"object","properties":{"current":{"type":"boolean","description":"Indicates if this is the current location for this location."},"locationStartDate":{"type":"string","format":"date-time","description":"The start date and time for this location."},"locationEndDate":{"type":"string","format":"date-time","description":"The end date and time for this location."},"locationDecimalLatitude":{"type":"number","format":"double","description":"Decimal latitude for the location."},"locationDecimalLongitude":{"type":"number","format":"double","description":"Decimal longitude for the location."},"locationElevation":{"type":"number","format":"double","description":"Elevation for the location."},"locationUtmEasting":{"type":"number","format":"double","description":"The Universal Transverse Mercator easting."},"locationUtmNorthing":{"type":"number","format":"double","description":"The Universal Transverse Mercator northing."},"locationUtmHemisphere":{"type":"string","description":"The single character Universal Transverse Mercator hemisphere."},"locationUtmZone":{"type":"number","format":"int","description":"The integer Universal Transverse Mercator zone."},"alphaOrientation":{"type":"number","format":"double","description":"The elevation or pitch angle (in degrees) in the vertical plane at which a sensor is oriented relative to the horizontal plane."},"betaOrientation":{"type":"number","format":"double","description":"The roll angle (in degrees) about the longitudinal axis of the sensor at which the sensor is oriented."},"gammaOrientation":{"type":"number","format":"double","description":"The azimuth or yaw angle (in degrees) at which a sensor is facing relative to true North."},"xOffset":{"type":"number","format":"double","description":"Cartesian offsets of a sensor, in meters, west (positive values) or east (negative values) relative to the reference location."},"yOffset":{"type":"number","format":"double","description":"Cartesian offsets of a sensor, in meters, south (positive values) or north (negative values) relative to the reference location."},"zOffset":{"type":"number","format":"double","description":"Cartesian offsets of a sensor, in meters, up (positive values) or down (negative values) relative to the reference location."},"locationPolygon":{"type":"object","properties":{"coordinates":{"type":"array","description":"A list of vertices that define the closed structure for the polygon","items":{"type":"object","properties":{"latitude":{"type":"number","format":"double","description":"Decimal latitude for the polygon coordinate."},"longitude":{"type":"number","format":"double","description":"Decimal longitude for the polygon coordinate."},"elevation":{"type":"number","format":"double","description":"Elevation for the polygon coordinate."}}}}}},"locationProperties":{"type":"array","description":"List of properties associated with the location. Contents vary based on the type of location.","items":{"type":"object","properties":{"locationPropertyValue":{"type":"string","description":"Can be a string or a number"},"locationPropertyName":{"type":"string"}}}}}},"locationParentHierarchy":{"type":"object","properties":{"locationName":{"type":"string","description":"Name of the location"},"locationType":{"type":"string","description":"Type of the location"},"locationParent":{"type":"string","description":"Name of the location that this location is in."},"locationParentUrl":{"type":"string","description":"URL to request location data for the parent of this location."},"locationParentHierarchy":{"type":"object","description":"The location's parent hierarchy"}}},"locationChildHierarchy":{"type":"object","properties":{"locationName":{"type":"string","description":"Name of the location"},"locationType":{"type":"string","description":"Type of the location"},"locationDescription":{"type":"string","description":"A description of the location."},"locationChildHierarchy":{"type":"array","description":"The location's child hierarchy","items":{"type":"object"}}}},"taxonomy":{"type":"object","properties":{"taxonTypeCode":{"description":"NEON taxonomic grouping","type":"string"},"taxonID":{"description":"NEON taxonomic code","type":"string"},"acceptedTaxonID":{"description":"Accepted taxonomic code from the authoritative source (dwc:nameAccordingToID)","type":"string"},"updateDate":{"description":"The date that this taxonomic record was last updated","type":"string"},"dwc:scientificName":{"description":"Scientific name, associated with the taxonID. This is the name of the lowest level taxonomic rank that can be determined. http://rs.tdwg.org/dwc/terms/scientificName","type":"string"},"dwc:scientificNameAuthorship":{"description":"The authorship information for the scientificName formatted according to the conventions of the applicable nomenclaturalCode. http://rs.tdwg.org/dwc/terms/scientificNameAuthorship","type":"string"},"dwc:taxonRank":{"description":"The lowest level taxonomic rank that can be determined for the individual or specimen. http://rs.tdwg.org/dwc/terms/taxonRank","type":"string"},"dwc:vernacularName":{"description":"A common or vernacular name. http://rs.tdwg.org/dwc/terms/vernacularName","type":"string"},"taxonProtocolCategory":{"description":"NEON protocol-specific categorization of the taxon","type":"string"},"dwc:nameAccordingToID":{"description":"An identifier for the source in which the specific taxon concept circumscription is defined or implied. http://rs.tdwg.org/dwc/terms/nameAccordingToID","type":"string"},"dwc:nameAccordingToTitle":{"description":"The reference to the source in which the specific taxon concept circumscription is defined or implied. http://tdwg.github.io/dwc/terms/nameAccordingTo","type":"string"},"dwc:kingdom":{"description":"The scientific name of the kingdom in which the taxon is classified. http://rs.tdwg.org/dwc/terms/kingdom","type":"string"},"gbif:subkingdom":{"description":"The scientific name of the subkingdom in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/subkingdom","type":"string"},"gbif:infrakingdom":{"description":"The scientific name of the infrakingdom in which the taxon is classified","type":"string"},"gbif:superdivision":{"description":"The scientific name of the superdivision in which the taxon is classified","type":"string"},"gbif:division":{"description":"The scientific name of the division in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/phylum","type":"string"},"gbif:subdivision":{"description":"The scientific name of the subdivision in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/subphylum","type":"string"},"gbif:infradivision":{"description":"The scientific name of the infradivision in which the taxon is classified","type":"string"},"gbif:parvdivision":{"description":"The scientific name of the parvdivision in which the taxon is classified","type":"string"},"gbif:superphylum":{"description":"The scientific name of the superphylum in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/superphylum","type":"string"},"dwc:phylum":{"description":"The scientific name of the phylum or division in which the taxon is classified. http://rs.tdwg.org/dwc/terms/phylum","type":"string"},"gbif:subphylum":{"description":"The scientific name of the subphylum in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/subphylum","type":"string"},"gbif:infraphylum":{"description":"The scientific name of the infraphylum in which the taxon is classified","type":"string"},"gbif:superclass":{"description":"The scientific name of the superclass in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/superclass","type":"string"},"dwc:class":{"description":"The scientific name of the class in which the taxon is classified. http://rs.tdwg.org/dwc/terms/class","type":"string"},"gbif:subclass":{"description":"The scientific name of the subclass in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/subclass","type":"string"},"gbif:infraclass":{"description":"The scientific name of the infraclass in which the taxon is classified","type":"string"},"gbif:superorder":{"description":"The scientific name of the superorder in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/superorder","type":"string"},"dwc:order":{"description":"The scientific name of the order in which the taxon is classified. http://rs.tdwg.org/dwc/terms/order","type":"string"},"gbif:suborder":{"description":"The scientific name of the suborder in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/suborder","type":"string"},"gbif:infraorder":{"description":"The scientific name of the infraorder in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/infraorder","type":"string"},"gbif:section":{"description":"The scientific name of the section in which the organism is classified. http://rs.gbif.org/vocabulary/gbif/rank/section","type":"string"},"gbif:subsection":{"description":"The scientific name of the subsection in which the organism is classified. http://rs.gbif.org/vocabulary/gbif/rank/subsection","type":"string"},"gbif:superfamily":{"description":"The scientific name of the superfamily in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/superfamily","type":"string"},"dwc:family":{"description":"The scientific name of the family in which the taxon is classified. http://rs.tdwg.org/dwc/terms/family","type":"string"},"gbif:subfamily":{"description":"The scientific name of the subfamily in which the organism is classified. http://rs.gbif.org/vocabulary/gbif/rank/subfamily","type":"string"},"gbif:tribe":{"description":"The scientific name of the tribe in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/tribe","type":"string"},"gbif:subtribe":{"description":"The scientific name of the subtribe in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/subtribe","type":"string"},"dwc:genus":{"description":"The scientific name of the genus in which the organism is classified. http://rs.tdwg.org/dwc/terms/genus","type":"string"},"dwc:subgenus":{"description":"The scientific name of the subgenus in which the taxon is classified. Values should include the genus to avoid homonym confusion. http://rs.tdwg.org/dwc/terms/subgenus","type":"string"},"gbif:subspecies":{"description":"The subspecies (infraspecific name below the rank of infraspecific epithet) of the scientific name applied to the taxon. http://rs.gbif.org/vocabulary/gbif/rank/subspecies","type":"string"},"gbif:variety":{"description":"The variety (infraspecific name below the rank of infraspecific epithet) of the scientific name applied to the taxon. http://rs.gbif.org/vocabulary/gbif/rank/variety","type":"string"},"gbif:subvariety":{"description":"The subvariety (infraspecific name below the rank of variety) of the scientific name applied to the taxon. http://rs.gbif.org/vocabulary/gbif/rank/subvariety","type":"string"},"gbif:form":{"description":"The form (infraspecific name below the rank of infraspecific epithet) of the scientific name applied to the taxon. http://rs.gbif.org/vocabulary/gbif/rank/form","type":"string"},"gbif:subform":{"description":"The subform (infraspecific name below the rank of form) of the scientific name applied to the taxon. http://rs.gbif.org/vocabulary/gbif/rank/subform","type":"string"},"speciesGroup":{"description":"The unofficial species group into which the taxon is categorized","type":"string"},"dwc:specificEpithet":{"description":"The specific epithet (second part of the species name) of the scientific name applied to the taxon. http://rs.tdwg.org/dwc/terms/specificEpithet","type":"string"},"dwc:infraspecificEpithet":{"description":"The infraspecific epithet (scientific name below the rank of species) of the scientific name applied to the taxon. http://rs.tdwg.org/dwc/terms/infraspecificEpithet","type":"string"}}},"sampleInfo":{"type":"object","properties":{"sampleUuid":{"type":"string","description":"UUID for a given sample"},"sampleTag":{"type":"string","description":"Sample Tag for a given sample"},"sampleClass":{"type":"string","description":"Sample Class for a given sample"},"barcode":{"type":"string","description":"Sample Barcode for a given sample"},"archiveGuid":{"type":"string","description":"Archive GUID for a given sample"}}},"views":{"type":"object","properties":{"sampleViews":{"type":"array","description":"array of sample views for a given sample","items":{"$ref":"#/definitions/sampleView"}}}},"sampleView":{"type":"object","properties":{"sampleUuid":{"type":"string","description":"UUID for a given sample"},"sampleTag":{"type":"string","description":"Sample Tag for a given sample"},"sampleClass":{"type":"string","description":"Sample Class for a given sample"},"barcode":{"type":"string","description":"Sample Barcode for a given sample"},"archiveGuid":{"type":"string","description":"Archive GUID for a given sample"},"sampleEvents":{"type":"array","items":{"$ref":"#/definitions/sampleEvent"}},"parentSampleIdentifiers":{"type":"array","items":{"$ref":"#/definitions/sampleInfo"}},"childSampleIdentifiers":{"type":"array","items":{"$ref":"#/definitions/sampleInfo"}}}},"sampleEvent":{"type":"object","description":"Sample Event for a given sample.","properties":{"ingestTableName":{"type":"string","description":"Ingest Table Name"},"smsFieldEntries":{"type":"array","items":{"$ref":"#/definitions/smsField"}}}},"smsField":{"type":"object","properties":{"smsKey":{"type":"string","description":"SMS Field Name"},"smsValue":{"type":"string","description":"SMS Field Value"}}},"entry":{"type":"object","properties":{"key":{"type":"string","description":"Sample Class Name"},"value":{"type":"string","description":"Sample Class Description"}}},"classes":{"type":"object","properties":{"sampleClasses":{"type":"array","description":"array of Sample Classes for a given sample.","items":{"type":"string"}}}},"supportedClasses":{"type":"object","properties":{"entries":{"type":"array","description":"array of Sample Classes and their descriptions for a given sample.","items":{"$ref":"#/definitions/entry"}}}},"prototypeDataset":{"type":"object","properties":{"uuid":{"type":"string","description":"The UUID of the dataset"},"projectTitle":{"type":"string","description":"The title of the project"},"projectDescription":{"type":"string","description":"The description of the project"},"designDescription":{"type":"string","description":"A description of the dataset's design"},"metadataDescription":{"type":"string","description":"A brief description of the metadata associated with the dataset"},"studyAreaDescription":{"type":"string","description":"A description of the dataset's spatial extent"},"datasetAbstract":{"type":"string","description":"An abstract of the dataset"},"startYear":{"type":"number","format":"int","description":"The start year for the time span of the dataset"},"endYear":{"type":"number","format":"int","description":"The end year for the time span of the dataset"},"dateUploaded":{"type":"string","format":"date-time","description":"The date the dataset was uploaded"},"isPublished":{"type":"boolean","description":"Whether or not the dataset has been included in a publication"},"version":{"type":"string","description":"The version of the dataset"},"versionDescription":{"type":"string","description":"The version description"},"doi":{"type":"object","description":"The DOI for the dataset","$ref":"#/definitions/prototypeDatasetDoi"},"relatedVersions":{"type":"array","description":"The related versions of this dataset","items":{"$ref":"#/definitions/prototypeDatasetRelatedVersion"}},"data":{"type":"object","description":"The dataset's data files","$ref":"#/definitions/prototypeDatasetDataDetail"},"dataThemes":{"type":"array","description":"List of themes to which the dataset belongs","items":{"type":"string"}},"fileTypes":{"type":"array","description":"List of file types to which the dataset belongs","items":{"$ref":"#/definitions/prototypeFileType"}},"keywords":{"type":"array","description":"List of words and phrases associated with the dataset","items":{"type":"string"}},"locations":{"type":"array","description":"List of locations of the dataset's spatial extent","items":{"$ref":"#/definitions/prototypeLocation"}},"publicationCitations":{"type":"array","description":"List of publication citations involving the dataset","items":{"$ref":"#/definitions/prototypePublicationCitation"}},"relatedDataProducts":{"type":"array","description":"List of data product's that the dataset is related to","items":{"$ref":"#/definitions/prototypeRelatedDataProduct"}},"scienceTeams":{"type":"array","description":"List of responsible science teams for the dataset","items":{"type":"string"}}}},"prototypeDatasetDataDetail":{"type":"object","description":"The dataset's data files","properties":{"url":{"type":"string","description":"The data URL for accessing the data files for the dataset"},"files":{"type":"array","description":"List of data files for the dataset","items":{"$ref":"#/definitions/prototypeDataFile"}},"dataLocations":{"type":"array","description":"List of data locations for the dataset","items":{"$ref":"#/definitions/prototypeDataLocation"}}}},"prototypeDatasetData":{"type":"object","description":"Type definition for prototype dataset data","properties":{"datasetUuid":{"type":"string","description":"The dataset UUID"},"datasetProjectTitle":{"type":"string","description":"The title of the project"},"files":{"type":"array","description":"List of data files for the dataset","items":{"$ref":"#/definitions/prototypeDataFile"}},"dataLocations":{"type":"array","description":"List of data locations for the dataset","items":{"$ref":"#/definitions/prototypeDataLocation"}}}},"prototypeDataFile":{"type":"object","description":"Type definition for prototype dataset data file","properties":{"name":{"type":"string","description":"The name of the data file"},"description":{"type":"string","description":"A description of the data file"},"fileSize":{"type":"string","description":"File size in bytes"},"fileName":{"type":"string","description":"The filename of the file"},"md5":{"type":"string","description":"MD5 checksum value in hex"},"url":{"type":"string","description":"Download URL for the file"},"type":{"type":"object","description":"The type of the data file (metadata, data, etc)","$ref":"#/definitions/prototypeDataFileType"}}},"prototypeDataFileType":{"type":"object","description":"Type definition for prototype dataset data file type","properties":{"name":{"type":"string","description":"The name of the data file type"},"description":{"type":"string","description":"The description of the data file type"}}},"prototypeDataLocation":{"type":"object","description":"Type definition for a prototype dataset data location","properties":{"path":{"type":"string","description":"The path or URL to the data location"},"description":{"type":"string","description":"A description of the data location referenced by the path"},"metadata":{"type":"boolean","description":"Indicates that this data location refers to metadata exclusively"}}},"prototypeDatasetDoi":{"type":"object","description":"Type definition for a Prototype Dataset DOI","properties":{"url":{"type":"string","description":"The URL of the DOI"},"generationDate":{"type":"string","format":"date-time","description":"The generation date of the DOI"}}},"prototypeDatasetRelatedVersion":{"type":"object","description":"Type definition for a Prototype Dataset related version","properties":{"datasetUuid":{"type":"string","description":"The related dataset UUID"},"datasetProjectTitle":{"type":"string","description":"The related dataset project title"},"datasetVersion":{"type":"string","description":"The related dataset version"}}},"prototypeFileType":{"type":"object","description":"Type definition for a prototype dataset file type","properties":{"name":{"type":"string","description":"The name of the file type (CSV, PDF, HDF5, etc)"},"description":{"type":"string","description":"A description of the file type"}}},"prototypeLocation":{"type":"object","description":"Type definition for a prototype dataset location","properties":{"domain":{"type":"string","description":"Three character domain abbreviation (D01, D02, etc) for the domain this site is in"},"state":{"type":"string","description":"Two letter state code that this site is in"},"siteCode":{"type":"string","description":"Four character code for the site"},"siteName":{"type":"string","description":"Full name for the site"},"latitude":{"type":"string","description":"Decimal latitude for the location"},"longitude":{"type":"string","description":"Decimal longitude for the location"}}},"prototypePublicationCitation":{"type":"object","description":"Type definition for a prototype dataset publication citation","properties":{"citation":{"type":"string","description":"The citation associated with a publication involving the dataset"},"citationIdentifier":{"type":"string","description":"The citation identifier (DOI, arXiv, URL) associated with a publication involving the dataset"},"citationIdentifierType":{"type":"string","description":"The citation identifier type associated with a publication involving the dataset (DOI, arXiv, URL)"}}},"prototypeRelatedDataProduct":{"type":"object","description":"Type definition for a prototype dataset related data product","properties":{"dataProductIdq":{"type":"string","description":"Revisioned, long code for the data product (NEON.DOM.SITE.DP1.00001.001, etc.)"},"dataProductCode":{"type":"string","description":"Revisioned, shortened code for the data product (DP1.00001.001, DP1.10072.001, etc.)"},"dataProductName":{"type":"string","description":"The name of the data product"},"dataProductDescription":{"type":"string","description":"A brief description of the data product"}}},"error":{"type":"object","properties":{"detail":{"type":"string"},"status":{"type":"number","format":"int"}}}}`)};(0,Le.createRoot)(document.getElementById(`root`)).render((0,B5.jsx)(()=>((0,V.useLayoutEffect)(()=>{if(!window.frameElement)return()=>{};if(typeof ResizeObserver!=`function`)return window.frameElement.style.height=`100vh`,window.frameElement.setAttribute(`scrolling`,`yes`),window.document.body.style.overflow=`scroll`,()=>{};let e=new ResizeObserver(e=>{for(let t of e){let e=t.contentRect;window.frameElement.style.height=`${e.height+60}px`}});return e.observe(window.document.body),()=>{e.disconnect()}}),(0,B5.jsx)(`div`,{className:`neon-data-api-docs-swagger`,children:(0,B5.jsx)(V5,{spec:H5})})),{})); \ No newline at end of file +`;if(t.$$ref){let e=t.$$ref.match(/\S*\/(\S+)$/);t.xml.name=e[1]}}return i.jsonSchema202012.memoizedCreateXMLExample(t,n,r)},o5=e=>(t,n=``,r={},i=void 0)=>{let{fn:a}=e();return typeof t?.toJS==`function`&&(t=t.toJS()),typeof i?.toJS==`function`&&(i=i.toJS()),/xml/.test(n)?a.jsonSchema202012.getXmlSampleSchema(t,r,i):/(yaml|yml)/.test(n)?a.jsonSchema202012.getYamlSampleSchema(t,r,n,i):a.jsonSchema202012.getJsonSampleSchema(t,r,n,i)},s5=({getSystem:e})=>({fn:{jsonSchema202012:{sampleFromSchema:Y8,sampleFromSchemaGeneric:q8,sampleOptionAPI:e5,sampleEncoderAPI:S8,sampleFormatAPI:i8,sampleMediaTypeAPI:A8,createXMLExample:J8,memoizedSampleFromSchema:Q8,memoizedCreateXMLExample:Z8,getJsonSampleSchema:r5(e),getYamlSampleSchema:i5(e),getXmlSampleSchema:a5(e),getSampleSchema:o5(e),mergeJsonSchema:K8,foldType:V8}}});function c5(){return[d0,z2,C6,s5,e3]}var l5=e=>()=>({fn:e.fn,components:e.components}),u5=e=>{let t=wK()({layout:{layout:e.layout,filter:e.filter},spec:{spec:``,url:e.url},requestSnippets:e.requestSnippets},e.initialState);if(e.initialState)for(let[n,r]of Object.entries(e.initialState))r===void 0&&delete t[n];return{system:{configs:e.configs},plugins:e.presets,state:t}},d5=()=>e=>{let t=e.queryConfigEnabled?(()=>{let e=new URLSearchParams(zK.location.search);return Object.fromEntries(e)})():{};return Object.entries(t).reduce(((e,[t,n])=>(t===`config`?e.configUrl=n:t===`urls.primaryName`?e[t]=n:e=(0,Wf.default)(e,t,n),e)),{})},f5=({url:e,system:t})=>async n=>{if(!e||typeof t.configsActions?.getConfigByUrl!=`function`)return{};let r=(()=>{let e={};return e.promise=new Promise(((t,n)=>{e.resolve=t,e.reject=n})),e})();return t.configsActions.getConfigByUrl({url:e,loadRemoteConfig:!0,requestInterceptor:n.requestInterceptor,responseInterceptor:n.responseInterceptor},(e=>{r.resolve(e)})),r.promise},p5=()=>()=>{let e={};return globalThis.location&&(e.oauth2RedirectUrl=`${globalThis.location.protocol}//${globalThis.location.host}${globalThis.location.pathname.substring(0,globalThis.location.pathname.lastIndexOf(`/`))}/oauth2-redirect.html`),e},m5=Object.freeze({dom_id:null,domNode:null,spec:{},url:``,urls:null,configUrl:null,layout:`BaseLayout`,docExpansion:`list`,maxDisplayedTags:-1,filter:!1,validatorUrl:`https://validator.swagger.io/validator`,oauth2RedirectUrl:void 0,persistAuthorization:!1,configs:{},displayOperationId:!1,displayRequestDuration:!1,deepLinking:!1,tryItOutEnabled:!1,requestInterceptor:e=>(e.curlOptions=[],e),responseInterceptor:e=>e,showMutatedRequest:!0,defaultModelRendering:`example`,defaultModelExpandDepth:1,defaultModelsExpandDepth:1,showExtensions:!1,showCommonExtensions:!1,withCredentials:!1,requestSnippetsEnabled:!1,requestSnippets:{generators:{curl_bash:{title:`cURL (bash)`,syntax:`bash`},curl_powershell:{title:`cURL (PowerShell)`,syntax:`powershell`},curl_cmd:{title:`cURL (CMD)`,syntax:`bash`}},defaultExpanded:!0,languages:null},supportedSubmitMethods:[`get`,`put`,`post`,`delete`,`options`,`head`,`patch`,`trace`],queryConfigEnabled:!1,presets:[c5],plugins:[],initialState:{},fn:{},components:{},syntaxHighlight:{activated:!0,theme:`agate`},operationsSorter:null,tagsSorter:null,onComplete:null,modelPropertyMacro:null,parameterMacro:null,fileUploadMediaTypes:[`application/octet-stream`,`image/`,`audio/`,`video/`],uncaughtExceptionHandler:null}),h5=(e,t=[])=>Array.isArray(e)?e:t,g5=(e,t=!1)=>!0===e||e===`true`||e===1||e===`1`||!1!==e&&e!==`false`&&e!==0&&e!==`0`&&t,_5=e=>e===null||e===`null`?null:e,v5=e=>g5(e,String(e)),y5=(e,t)=>typeof e==`function`?e:t,b5=e=>Array.isArray(e)?e:null,x5=e=>typeof e==`function`?e:null,S5=e=>e===null||e===`null`?null:String(e),C5=(e,t=-1)=>{let n=parseInt(e,10);return Number.isNaN(n)?t:n},w5=(e,t={})=>(0,Lf.default)(e)?e:t,T5=e=>typeof e==`function`||typeof e==`string`?e:null,E5=e=>String(e),D5={components:{typeCaster:w5},configs:{typeCaster:w5},configUrl:{typeCaster:S5},deepLinking:{typeCaster:g5,defaultValue:m5.deepLinking},defaultModelExpandDepth:{typeCaster:C5,defaultValue:m5.defaultModelExpandDepth},defaultModelRendering:{typeCaster:E5},defaultModelsExpandDepth:{typeCaster:C5,defaultValue:m5.defaultModelsExpandDepth},displayOperationId:{typeCaster:g5,defaultValue:m5.displayOperationId},displayRequestDuration:{typeCaster:g5,defaultValue:m5.displayRequestDuration},docExpansion:{typeCaster:E5},dom_id:{typeCaster:S5},domNode:{typeCaster:_5},fileUploadMediaTypes:{typeCaster:h5,defaultValue:m5.fileUploadMediaTypes},filter:{typeCaster:v5},fn:{typeCaster:w5},initialState:{typeCaster:w5},layout:{typeCaster:E5},maxDisplayedTags:{typeCaster:C5,defaultValue:m5.maxDisplayedTags},modelPropertyMacro:{typeCaster:x5},oauth2RedirectUrl:{typeCaster:e=>e===void 0||e===`undefined`?void 0:String(e)},onComplete:{typeCaster:x5},operationsSorter:{typeCaster:T5},paramaterMacro:{typeCaster:x5},persistAuthorization:{typeCaster:g5,defaultValue:m5.persistAuthorization},plugins:{typeCaster:h5,defaultValue:m5.plugins},presets:{typeCaster:h5,defaultValue:m5.presets},requestInterceptor:{typeCaster:y5,defaultValue:m5.requestInterceptor},requestSnippets:{typeCaster:w5,defaultValue:m5.requestSnippets},requestSnippetsEnabled:{typeCaster:g5,defaultValue:m5.requestSnippetsEnabled},responseInterceptor:{typeCaster:y5,defaultValue:m5.responseInterceptor},showCommonExtensions:{typeCaster:g5,defaultValue:m5.showCommonExtensions},showExtensions:{typeCaster:g5,defaultValue:m5.showExtensions},showMutatedRequest:{typeCaster:g5,defaultValue:m5.showMutatedRequest},spec:{typeCaster:w5,defaultValue:m5.spec},supportedSubmitMethods:{typeCaster:h5,defaultValue:m5.supportedSubmitMethods},syntaxHighlight:{typeCaster:(e,t)=>(0,Lf.default)(e)?e:!1===e||e===`false`||e===0||e===`0`?{activated:!1}:t,defaultValue:m5.syntaxHighlight},"syntaxHighlight.activated":{typeCaster:g5,defaultValue:m5.syntaxHighlight.activated},"syntaxHighlight.theme":{typeCaster:E5},tagsSorter:{typeCaster:T5},tryItOutEnabled:{typeCaster:g5,defaultValue:m5.tryItOutEnabled},url:{typeCaster:E5},urls:{typeCaster:b5},"urls.primaryName":{typeCaster:E5},validatorUrl:{typeCaster:S5},withCredentials:{typeCaster:g5,defaultValue:m5.withCredentials},uncaughtExceptionHandler:{typeCaster:x5}},O5=e=>Object.entries(D5).reduce(((e,[t,{typeCaster:n,defaultValue:r}])=>((0,ZG.default)(e,t)&&(e=(0,QG.default)(t,n((0,Wu.default)(e,t),r),e)),e)),{...e}),k5=(e,...t)=>{let n=Symbol.for(`domNode`),r=Symbol.for(`primaryName`),i=[];for(let e of t){let t={...e};Object.hasOwn(t,`domNode`)&&(n=t.domNode,delete t.domNode),Object.hasOwn(t,`urls.primaryName`)?(r=t[`urls.primaryName`],delete t[`urls.primaryName`]):Array.isArray(t.urls)&&Object.hasOwn(t.urls,`primaryName`)&&(r=t.urls.primaryName,delete t.urls.primaryName),i.push(t)}let a=wK()(e,...i);return n!==Symbol.for(`domNode`)&&(a.domNode=n),r!==Symbol.for(`primaryName`)&&Array.isArray(a.urls)&&(a.urls.primaryName=r),O5(a)};function A5(e){let t=d5()(e),n=p5()(),r=A5.config.merge({},A5.config.defaults,n,e,t),i=u5(r),a=l5(r),o=new Tq(i);o.register([r.plugins,a]);let s=o.getSystem(),c=e=>{o.setConfigs(e),s.configsActions.loaded()},l=e=>{!t.url&&typeof e.spec==`object`&&Object.keys(e.spec).length>0?(s.specActions.updateUrl(``),s.specActions.updateLoadingStatus(`success`),s.specActions.updateSpec(JSON.stringify(e.spec))):typeof s.specActions.download==`function`&&e.url&&!e.urls&&(s.specActions.updateUrl(e.url),s.specActions.download(e.url))},u=e=>{if(e.domNode)s.render(e.domNode,`App`);else if(e.dom_id){let t=document.querySelector(e.dom_id);s.render(t,`App`)}else e.dom_id===null||e.domNode===null||console.error("Skipped rendering: no `dom_id` or `domNode` was specified")};return r.configUrl?((async()=>{let{configUrl:e}=r,n=await f5({url:e,system:s})(r),i=A5.config.merge({},r,n,t);c(i),n!==null&&l(i),u(i)})(),s):(c(r),l(r),u(r),s)}A5.System=Tq,A5.config={defaults:m5,merge:k5,typeCast:O5,typeCastMappings:D5},A5.presets={base:d0,apis:c5},A5.plugins={Auth:hJ,Configs:DJ,DeepLining:PJ,Err:HJ,Filter:WJ,Icons:QJ,JSONSchema5:gX,JSONSchema5Samples:GX,JSONSchema202012:C6,JSONSchema202012Samples:s5,Layout:mY,Logs:hY,OpenAPI30:z2,OpenAPI31:z2,OnComplete:_Y,RequestSnippets:PY,Spec:ZQ,SwaggerClient:$Q,Util:e$,View:l$,ViewLegacy:u$,DownloadUrl:d$,SyntaxHighlighting:x$,Versions:C$,SafeRender:O$};var j5=A5,{config:M5}=j5,N5=e=>{let t=(0,V.useRef)();return(0,V.useEffect)(()=>{t.current=e},[e]),t.current},P5=({spec:e=M5.defaults.spec,url:t=M5.defaults.url,layout:n=M5.defaults.layout,requestInterceptor:r=M5.defaults.requestInterceptor,responseInterceptor:i=M5.defaults.responseInterceptor,supportedSubmitMethods:a=M5.defaults.supportedSubmitMethods,queryConfigEnabled:o=M5.defaults.queryConfigEnabled,plugins:s=M5.defaults.plugins,displayOperationId:c=M5.defaults.displayOperationId,showMutatedRequest:l=M5.defaults.showMutatedRequest,docExpansion:u=M5.defaults.docExpansion,defaultModelExpandDepth:d=M5.defaults.defaultModelExpandDepth,defaultModelsExpandDepth:f=M5.defaults.defaultModelsExpandDepth,defaultModelRendering:p=M5.defaults.defaultModelRendering,presets:m=M5.defaults.presets,deepLinking:h=M5.defaults.deepLinking,showExtensions:g=M5.defaults.showExtensions,showCommonExtensions:_=M5.defaults.showCommonExtensions,filter:v=M5.defaults.filter,requestSnippetsEnabled:y=M5.defaults.requestSnippetsEnabled,requestSnippets:b=M5.defaults.requestSnippets,tryItOutEnabled:x=M5.defaults.tryItOutEnabled,displayRequestDuration:S=M5.defaults.displayRequestDuration,withCredentials:C=M5.defaults.withCredentials,persistAuthorization:w=M5.defaults.persistAuthorization,oauth2RedirectUrl:T=M5.defaults.oauth2RedirectUrl,onComplete:E=null,initialState:D=M5.defaults.initialState,uncaughtExceptionHandler:O=M5.defaults.uncaughtExceptionHandler})=>{let[k,A]=(0,V.useState)(null),j=k?.getComponent(`App`,`root`),M=N5(e),N=N5(t);return(0,V.useEffect)(()=>{let k=j5({plugins:s,spec:e,url:t,layout:n,defaultModelsExpandDepth:f,defaultModelRendering:p,presets:[j5.presets.apis,...m],requestInterceptor:r,responseInterceptor:i,onComplete:()=>{typeof E==`function`&&E(k)},docExpansion:u,supportedSubmitMethods:a,queryConfigEnabled:o,defaultModelExpandDepth:d,displayOperationId:c,tryItOutEnabled:x,displayRequestDuration:S,requestSnippetsEnabled:y,requestSnippets:b,showMutatedRequest:l,deepLinking:h,showExtensions:g,showCommonExtensions:_,filter:v,persistAuthorization:w,withCredentials:C,initialState:D,uncaughtExceptionHandler:O,...typeof T==`string`?{oauth2RedirectUrl:T}:{}});A(k)},[]),(0,V.useEffect)(()=>{k&&(t!==k.specSelectors.url()||t!==N)&&(k.specActions.updateSpec(``),t&&(k.specActions.updateUrl(t),k.specActions.download(t)))},[k,t]),(0,V.useEffect)(()=>{if(k){let t=k.specSelectors.specStr();if(e&&e!==j5.config.defaults.spec&&(e!==t||e!==M)){let t=typeof e==`object`?JSON.stringify(e):e;k.specActions.updateSpec(t)}}},[k,e]),j?V.createElement(j,null):null};P5.System=j5.System,P5.presets=j5.presets,P5.plugins=j5.plugins,P5.config=j5.config;var F5={getApiProtocol:()=>`${window.location.protocol}`,getApiHostName:()=>`${window.location.host}`,getApiHost:()=>`${F5.getApiProtocol()}//${F5.getApiHostName()}`,getApiRootPath:()=>`/api/v0`},I5={[`${F5.getApiRootPath()}/products`]:`products`,[`${F5.getApiRootPath()}/sites`]:`sites`,[`${F5.getApiRootPath()}/releases`]:`releases`,[`${F5.getApiRootPath()}/locations/sites`]:`locationSites`,[`${F5.getApiRootPath()}/taxonomy`]:`taxonomy`},L5=e=>e!=null,R5={requestInterceptor:e=>{let t=new URL(e.url);return t.protocol=F5.getApiProtocol(),t.host=F5.getApiHostName(),t.port=``,{...e,url:t.href}},responseInterceptor:e=>{let t=new URL(e.url);if(!Object.keys(I5).some(e=>t.pathname.startsWith(e)))return e;if(L5(e.body)&&L5(e.body.data)){let{data:n}=e.body,r=Array.isArray(n)&&n.length>3,i={...e.body,data:r?n.slice(0,3):n};delete e.body,delete e.obj,delete e.text,delete e.data;let a=Object.keys(I5).find(e=>t.pathname.startsWith(e)),o=I5[L5(a)?a:``];switch(o===`releases`&&(t.pathname.includes(`products`)?o=`products`:t.pathname.includes(`sites`)&&(o=`sites`)),o){case`products`:if(r)i.data=i.data.map(e=>{let t=e;return Array.isArray(e.changeLogs)&&e.changeLogs.length>3&&(t.changeLogs=e.changeLogs.slice(0,3)),Array.isArray(e.siteCodes)&&e.siteCodes.length>3&&(t.siteCodes=e.siteCodes.slice(0,3)),e});else{let e=i.data,t=Array.isArray(e.changeLogs)&&e.changeLogs.length>3,n=Array.isArray(e.siteCodes)&&e.siteCodes.length>3;i.data={...e,changeLogs:t?e.changeLogs.slice(0,3):e.changeLogs,siteCodes:n?e.siteCodes.slice(0,3):e.siteCodes}}break;case`sites`:if(r)i.data=i.data.map(e=>{let t=e;return Array.isArray(e.dataProducts)&&e.dataProducts.length>3&&(t.dataProducts=e.dataProducts.slice(0,3)),t});else{let e=i.data,t=Array.isArray(e.dataProducts)&&e.dataProducts.length>3;i.data={...e,dataProducts:t?e.dataProducts.slice(0,3):e.dataProducts}}break;default:break}e.body=i,e.obj=i,e.text=JSON.stringify(i),e.data=JSON.stringify(i)}return e}},z5=o((e=>{var t=Symbol.for(`react.transitional.element`);function n(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.jsx=n})),B5=o(((e,t)=>{t.exports=z5()}))(),V5=e=>{let{spec:t}=e;return(0,B5.jsx)(P5,{spec:t,docExpansion:`list`,requestInterceptor:R5.requestInterceptor,responseInterceptor:R5.responseInterceptor})},H5={swagger:`2.0`,info:{version:`0.11.0`,title:`NEON Data API Requests`,description:`Expand the options below, click GET, and then click TRY IT OUT to see example calls.`},basePath:`/api/v0`,consumes:[`application/json`],produces:[`application/json`],securityDefinitions:{"X-API-Token":{type:`apiKey`,name:`X-API-Token`,in:`header`}},security:[{"X-API-Token":[]}],paths:JSON.parse(`{"/products":{"get":{"security":[],"description":"Get information about all data products","tags":["Products"],"operationId":"Get_products_","produces":["application/json"],"parameters":[{"name":"release","in":"query","description":"The name of the release to get availability for","required":false,"type":"string"}],"responses":{"200":{"description":"List of data products","schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/product"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/products/{productCode}":{"get":{"security":[],"description":"Get information about a data product","tags":["Products"],"operationId":"Get_products_productCode_","produces":["application/json"],"parameters":[{"name":"productCode","in":"path","description":"Data product to get","required":true,"type":"string"},{"name":"release","in":"query","description":"The name of the release to get availability for","required":false,"type":"string"}],"responses":{"200":{"description":"Single data product","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/product"}}}},"400":{"description":"Product(s) not found","schema":{"$ref":"#/definitions/error"}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/sites":{"get":{"security":[],"description":"Get information about all field sites","tags":["Sites"],"operationId":"Get_sites_","produces":["application/json"],"parameters":[{"name":"release","in":"query","description":"The name of the release to get availability for","required":false,"type":"string"}],"responses":{"200":{"description":"List of field sites","schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/site"}}}}}}}},"/sites/{siteCode}":{"get":{"security":[],"description":"Get information about a field site","tags":["Sites"],"operationId":"Get_sites:siteCode_","produces":["application/json"],"parameters":[{"name":"siteCode","in":"path","description":"Site to get","required":true,"type":"string"},{"name":"release","in":"query","description":"The name of the release to get availability for","required":false,"type":"string"}],"responses":{"200":{"description":"Single site","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/site"}}}},"400":{"description":"Site(s) not found","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/locations/{locationName}":{"get":{"security":[],"description":"Get information about a location","tags":["Locations"],"operationId":"Get_locations:locationName_","produces":["application/json"],"parameters":[{"name":"locationName","in":"path","description":"Location to get","required":true,"type":"string"},{"name":"history","in":"query","description":"Option to obtain location history information","required":false,"type":"boolean"},{"name":"hierarchy","in":"query","description":"Option to obtain location hierarchy information","required":false,"type":"boolean"},{"name":"locationType","in":"query","description":"\\"When obtaining location hierarchy, specify a type of descendant to query for. For example, to obtain the location hierarchy for all towers at location CPER, utilize: /CPER?hierarchy=true&locationType=TOWER\\"","required":false,"type":"string"}],"responses":{"200":{"description":"Single location","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/location"}}}},"400":{"description":"Location(s) not found","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/locations/sites":{"get":{"security":[],"description":"Get information about the site-level locations","tags":["Locations","Sites"],"operationId":"Get_locations_sites_","produces":["application/json"],"responses":{"200":{"description":"List of locations","schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/location"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/data/{productCode}/{siteCode}/{year-month}":{"get":{"description":"Get files available for a given product/site/month combination","tags":["Data"],"operationId":"Get_data:availability_","produces":["application/json"],"parameters":[{"name":"productCode","in":"path","description":"Product to check for files","required":true,"type":"string"},{"name":"siteCode","in":"path","description":"Site to check for files","required":true,"type":"string"},{"name":"year-month","in":"path","description":"YYYY-MM month to check for files","required":true,"type":"string"},{"name":"package","in":"query","description":"Package type to return, basic or expanded","required":false,"type":"string","enum":["basic","expanded"]},{"name":"release","in":"query","description":"The name of the release to get for","required":false,"type":"string"}],"responses":{"200":{"description":"Available files","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/data"}}}},"400":{"description":"Product, site not found or invalid date range specified","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/data/{productCode}/{siteCode}/{year-month}/{filename}":{"get":{"description":"Get a file for a given product/site/month/filename combination","tags":["Data"],"operationId":"Get_data:availability_file_","produces":["application/octet-stream"],"parameters":[{"name":"productCode","in":"path","description":"Product to check for files","required":true,"type":"string"},{"name":"siteCode","in":"path","description":"Site to check for files","required":true,"type":"string"},{"name":"year-month","in":"path","description":"YYYY-MM month to check for files","required":true,"type":"string"},{"name":"filename","in":"path","description":"The name of the file","required":true,"type":"string"},{"name":"package","in":"query","description":"Package type to return, basic or expanded","required":false,"type":"string","enum":["basic","expanded"]},{"name":"release","in":"query","description":"The name of the release to get for","required":false,"type":"string"}],"responses":{"200":{"description":"Available file data","schema":{"type":"string","format":"binary"}},"302":{"description":"Found available file and redirects to data","schema":{"type":"string","format":"binary"}},"400":{"description":"Invalid file name specified","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/data/package/{productCode}/{siteCode}/{year-month}":{"get":{"description":"Get a data package for a given product/site/month and package combination","tags":["Data"],"operationId":"Get_data:availability_package_","produces":["application/zip"],"parameters":[{"name":"productCode","in":"path","description":"Product to check for files","required":true,"type":"string"},{"name":"siteCode","in":"path","description":"Site to check for files","required":true,"type":"string"},{"name":"year-month","in":"path","description":"YYYY-MM month to check for files","required":true,"type":"string"},{"name":"package","in":"query","description":"Package type to return, basic or expanded","required":false,"type":"string","enum":["basic","expanded"]},{"name":"release","in":"query","description":"The name of the release to get for","required":false,"type":"string"}],"responses":{"200":{"description":"Available data package as zip","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Invalid product, site, or month specified","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/data/query":{"get":{"description":"Get files available for a given product, one or more sites, date range, release, package combination","tags":["Data Query"],"operationId":"Get_data_query:availability_","produces":["application/json"],"parameters":[{"name":"productCode","in":"query","description":"Product code to query for files","required":true,"type":"string"},{"name":"siteCode","in":"query","description":"One or more four letter site codes to query for files","required":true,"type":"string"},{"name":"startDateMonth","in":"query","description":"YYYY-MM start date month to query for files","required":true,"type":"string"},{"name":"endDateMonth","in":"query","description":"YYYY-MM end date month to query for files","required":true,"type":"string"},{"name":"release","in":"query","description":"The name of the release to query for","required":false,"type":"string"},{"name":"package","in":"query","description":"Package type to query, basic or expanded","required":false,"type":"string","enum":["basic","expanded"]},{"name":"includeProvisional","in":"query","description":"Optionally include provisional data in the query","required":false,"type":"boolean"}],"responses":{"200":{"description":"Available files","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/dataQuery"}}}},"400":{"description":"One or more invalid paramaters specified","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}},"post":{"description":"Get files available for a given product, one or more sites, date range, release, package combination","tags":["Data Query"],"operationId":"Post_data_query:availability_","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"DataQueryRequest","in":"body","description":"The data query request","schema":{"type":"object","required":["productCode","siteCodes","startDateMonth","endDateMonth"],"properties":{"productCode":{"type":"string","description":"Product code to query for files"},"siteCodes":{"type":"array","description":"One or more four letter site codes to query for files","items":{"type":"string"}},"startDateMonth":{"type":"string","description":"YYYY-MM start date month to query for files"},"endDateMonth":{"type":"string","description":"YYYY-MM end date month to query for files"},"release":{"type":"string","description":"The name of the release to query for"},"package":{"type":"string","description":"Package type to query, basic or expanded","enum":["basic","expanded"]},"includeProvisional":{"type":"boolean","description":"Optionally include provisional data in the query"}}}}],"responses":{"200":{"description":"Available files","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/dataQuery"}}}},"400":{"description":"One or more invalid paramaters specified","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/releases":{"get":{"security":[],"description":"Get information about all available data releases","tags":["Releases"],"operationId":"Get_releases_","produces":["application/json"],"responses":{"200":{"description":"List of data releases","schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/release"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/releases/{releaseIdentifier}":{"get":{"security":[],"description":"Get information about a data release","tags":["Releases"],"operationId":"Get_releases_releaseIdentifier_","produces":["application/json"],"parameters":[{"name":"releaseIdentifier","in":"path","description":"Release tag or UUID to get information for","required":true,"type":"string"}],"responses":{"200":{"description":"Single data release","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/release"}}}},"400":{"description":"Release(s) not found","schema":{"$ref":"#/definitions/error"}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/releases/{releaseTag}/products":{"get":{"security":[],"description":"Get information about all data products within a specific release","tags":["Releases"],"operationId":"Get_releases_products_","produces":["application/json"],"parameters":[{"name":"releaseTag","in":"path","description":"The name of the release to get availability for","required":true,"type":"string"}],"responses":{"200":{"description":"List of data products","schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/product"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/releases/{releaseTag}/products/{productCode}":{"get":{"security":[],"description":"Get information about a data product within a specific release","tags":["Releases"],"operationId":"Get_releases_products_productCode_","produces":["application/json"],"parameters":[{"name":"releaseTag","in":"path","description":"The name of the release to get availability for","required":true,"type":"string"},{"name":"productCode","in":"path","description":"Data product to get","required":true,"type":"string"}],"responses":{"200":{"description":"Single data product","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/product"}}}},"400":{"description":"Product(s) not found","schema":{"$ref":"#/definitions/error"}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/releases/{releaseTag}/sites":{"get":{"security":[],"description":"Get information about all sites within a specific release","tags":["Releases"],"operationId":"Get_releases_sites_","produces":["application/json"],"parameters":[{"name":"releaseTag","in":"path","description":"The name of the release to get availability for","required":true,"type":"string"}],"responses":{"200":{"description":"List of sites","schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/site"}}}}}}}},"/releases/{releaseTag}/sites/{siteCode}":{"get":{"security":[],"description":"Get information about a field site within a specific release","tags":["Releases"],"operationId":"Get_releases_sites:siteCode_","produces":["application/json"],"parameters":[{"name":"releaseTag","in":"path","description":"The name of the release to get availability for","required":true,"type":"string"},{"name":"siteCode","in":"path","description":"Site to get","required":true,"type":"string"}],"responses":{"200":{"description":"Single site","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/site"}}}},"400":{"description":"Site(s) not found","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/releases/{releaseTag}/data/{productCode}/{siteCode}/{year-month}":{"get":{"description":"Get files available for a given release and product/site/month combination","tags":["Releases"],"operationId":"Get_releases_data:availability_","produces":["application/json"],"parameters":[{"name":"releaseTag","in":"path","description":"The name of the release to get availability for","required":true,"type":"string"},{"name":"productCode","in":"path","description":"Product to check for files","required":true,"type":"string"},{"name":"siteCode","in":"path","description":"Site to check for files","required":true,"type":"string"},{"name":"year-month","in":"path","description":"YYYY-MM month to check for files","required":true,"type":"string"},{"name":"package","in":"query","description":"Package type to return, basic or expanded","required":false,"type":"string","enum":["basic","expanded"]}],"responses":{"200":{"description":"Available files","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/data"}}}},"400":{"description":"Product, site not found or invalid date range specified","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/releases/{releaseTag}/data/{productCode}/{siteCode}/{year-month}/{filename}":{"get":{"description":"Get a file for a given release and product/site/month/filename combination","tags":["Releases"],"operationId":"Get_releases_data:availability_file_","produces":["application/octet-stream"],"parameters":[{"name":"releaseTag","in":"path","description":"The name of the release to get availability for","required":true,"type":"string"},{"name":"productCode","in":"path","description":"Product to check for files","required":true,"type":"string"},{"name":"siteCode","in":"path","description":"Site to check for files","required":true,"type":"string"},{"name":"year-month","in":"path","description":"YYYY-MM month to check for files","required":true,"type":"string"},{"name":"filename","in":"path","description":"The name of the file","required":true,"type":"string"},{"name":"package","in":"query","description":"Package type to return, basic or expanded","required":false,"type":"string","enum":["basic","expanded"]}],"responses":{"200":{"description":"Available file data","schema":{"type":"string","format":"binary"}},"302":{"description":"Found available file and redirects to data","schema":{"type":"string","format":"binary"}},"400":{"description":"Invalid file name specified","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/releases/{releaseTag}/data/package/{productCode}/{siteCode}/{year-month}":{"get":{"description":"Get a data package for a given release and product/site/month and package combination","tags":["Releases"],"operationId":"Get_releases_data:availability_package_","produces":["application/zip"],"parameters":[{"name":"releaseTag","in":"path","description":"The name of the release to get availability for","required":true,"type":"string"},{"name":"productCode","in":"path","description":"Product to check for files","required":true,"type":"string"},{"name":"siteCode","in":"path","description":"Site to check for files","required":true,"type":"string"},{"name":"year-month","in":"path","description":"YYYY-MM month to check for files","required":true,"type":"string"},{"name":"package","in":"query","description":"Package type to return, basic or expanded","required":false,"type":"string","enum":["basic","expanded"]}],"responses":{"200":{"description":"Available data package as zip","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Invalid product, site, or month specified","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/samples/view":{"get":{"description":"For a given sample identifier, get a list of sample custody events as well as any parent and child sample identifiers that currently exist.","tags":["Samples"],"operationId":"Get_samplesByTagClass","produces":["application/json"],"parameters":[{"name":"sampleTag","in":"query","description":"Sample Tag of interest. Must be used in conjunction with a Sample Class only.","required":false,"type":"string"},{"name":"sampleClass","in":"query","description":"Sample Class of interest. Must be used in conjunction with a Sample Tag only.","required":false,"type":"string"},{"name":"sampleUuid","in":"query","description":"UUID of Sample. Must be used on its own.","required":false,"type":"string"},{"name":"barcode","in":"query","description":"Barcode of Sample. Must be used on its own.","required":false,"type":"string"},{"name":"archiveGuid","in":"query","description":"archiveGuid of Sample. Must be used on its own.","required":false,"type":"string"}],"responses":{"200":{"description":"List of sample views.","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/views"}}}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/error"}},"404":{"description":"Sample Not Found","schema":{"$ref":"#/definitions/error"}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/samples/classes":{"get":{"security":[],"description":"Get a list of Sample Classes for a given Sample Tag","tags":["Samples"],"operationId":"Get_sampleClasses:sampleTag_","produces":["application/json"],"parameters":[{"name":"sampleTag","in":"query","description":"Sample Tag of interest","required":true,"type":"string"}],"responses":{"200":{"description":"List of sample classes for a given Sample Tag","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/classes"}}}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/error"}},"404":{"description":"Sample Not Found","schema":{"$ref":"#/definitions/error"}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/samples/supportedClasses":{"get":{"security":[],"description":"Get a list of sample classes and descriptions currently available","tags":["Samples"],"operationId":"Get_supportedSampleClasses","produces":["application/json"],"responses":{"200":{"description":"List of supported sample classes and their descriptions","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/supportedClasses"}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/samples/download":{"get":{"description":"Get a list of sample views for a given sample identifier and search degree.","tags":["Samples"],"operationId":"Get_samplesDownloadBySampleTagClass","produces":["application/json"],"parameters":[{"name":"sampleTag","in":"query","description":"Sample Tag of interest. Must be used in conjunction with a Sample Class only.","required":false,"type":"string"},{"name":"sampleClass","in":"query","description":"Sample Class of interest. Must be used in conjunction with a Sample Tag only.","required":false,"type":"string"},{"name":"sampleUuid","in":"query","description":"UUID of Sample. Must be used on its own.","required":false,"type":"string"},{"name":"barcode","in":"query","description":"Barcode of Sample. Must be used on its own.","required":false,"type":"string"},{"name":"archiveGuid","in":"query","description":"archiveGuid of Sample. Must be used on its own.","required":false,"type":"string"},{"name":"degree","in":"query","description":"degree of sample search","required":false,"type":"string"}],"responses":{"200":{"description":"list of sample views","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/views"}}}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/error"}},"404":{"description":"Sample Not Found","schema":{"$ref":"#/definitions/error"}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/taxonomy":{"get":{"security":[],"description":"Get taxonomic lists","tags":["Taxonomy"],"operationId":"Get_taxonomy","produces":["application/json"],"parameters":[{"name":"taxonTypeCode","in":"query","description":"Taxon type code to get. Must not be used in conjunction with a taxon rank query parameter.","required":false,"enum":["ALGAE","BEETLE","BIRD","FISH","HERPETOLOGY","MACROINVERTEBRATE","MOSQUITO","MOSQUITO_PATHOGENS","SMALL_MAMMAL","PLANT","TICK"],"type":"string"},{"name":"kingdom","in":"query","description":"The taxon rank to get. Must not be used in conjunction with taxon type code.","required":false,"type":"string"},{"name":"phylum","in":"query","description":"The taxon rank to get. Must not be used in conjunction with taxon type code.","required":false,"type":"string"},{"name":"division","in":"query","description":"The taxon rank to get. Must not be used in conjunction with taxon type code.","required":false,"type":"string"},{"name":"order","in":"query","description":"The taxon rank to get. Must not be used in conjunction with taxon type code.","required":false,"type":"string"},{"name":"class","in":"query","description":"The taxon rank to get. Must not be used in conjunction with taxon type code.","required":false,"type":"string"},{"name":"family","in":"query","description":"The taxon rank to get. Must not be used in conjunction with taxon type code.","required":false,"type":"string"},{"name":"genus","in":"query","description":"The taxon rank to get. Must not be used in conjunction with taxon type code.","required":false,"type":"string"},{"name":"scientificname","in":"query","description":"The taxon rank to get. Must not be used in conjunction with taxon type code.","required":false,"type":"string"},{"name":"verbose","in":"query","description":"Get verbose result set","required":false,"type":"boolean"},{"name":"offset","in":"query","description":"The number of items to skip before starting to collect the result set","required":false,"type":"integer"},{"name":"limit","in":"query","description":"The number of items to limit the result set to","required":false,"type":"integer"},{"name":"stream","in":"query","description":"Option to obtain the result as a stream. Utilize for large requests.","required":false,"type":"boolean"}],"responses":{"200":{"description":"List of taxonomic information","schema":{"type":"object","properties":{"count":{"type":"integer","description":"The number of results in the current paged response"},"total":{"type":"integer","description":"The total number of results for the query"},"prev":{"type":"string","format":"uri","description":"Link to the previous page of results when available"},"next":{"type":"string","format":"uri","description":"Link to the next page of results when available"},"data":{"type":"array","items":{"$ref":"#/definitions/taxonomy"}}}}},"400":{"description":"Taxonomic data does not exist for specified query","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/prototype/datasets":{"get":{"security":[],"description":"Get information about all prototype datasets","tags":["Prototype Datasets"],"operationId":"Get_prototype_datasets_","produces":["application/json"],"responses":{"200":{"description":"List of prototype datasets","schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/prototypeDataset"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/prototype/datasets/{uuid}":{"get":{"security":[],"description":"Get information about a prototype dataset","tags":["Prototype Datasets"],"operationId":"Get_prototype_datasets_uuid_","produces":["application/json"],"parameters":[{"name":"uuid","in":"path","description":"Prototype dataset UUID to get","required":true,"type":"string"}],"responses":{"200":{"description":"Single prototype dataset","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/prototypeDataset"}}}},"400":{"description":"Prototype dataset not found","schema":{"$ref":"#/definitions/error"}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/prototype/data/{uuid}":{"get":{"description":"Get information about data files for the prototype dataset","tags":["Prototype Datasets"],"operationId":"Get_prototype_data_uuid_","produces":["application/json"],"parameters":[{"name":"uuid","in":"path","description":"Prototype dataset UUID to get","required":true,"type":"string"}],"responses":{"200":{"description":"Available data for the prototype dataset","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/prototypeDatasetData"}}}},"400":{"description":"Prototype dataset not found","schema":{"$ref":"#/definitions/error"}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/prototype/data/{uuid}/{filename}":{"get":{"description":"Gets a data file","tags":["Prototype Datasets"],"operationId":"Get_prototype_data_uuid_file_","produces":["application/octet-stream"],"parameters":[{"name":"uuid","in":"path","description":"Prototype dataset UUID to get","required":true,"type":"string"},{"name":"filename","in":"path","description":"The name of the data file","required":true,"type":"string"}],"responses":{"200":{"description":"Available file data","schema":{"type":"string","format":"binary"}},"302":{"description":"Found available file and redirects to data","schema":{"type":"string","format":"binary"}},"400":{"description":"Invalid file name specified","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}}}`),definitions:JSON.parse(`{"product":{"type":"object","properties":{"productCodeLong":{"type":"string","description":"Revisioned, long code for the data product (NEON.DOM.SITE.DP1.00001.001, etc)"},"productCode":{"type":"string","description":"Revisioned, shortened code for the data product (DP1.00001.001, DP1.10072.001, etc)"},"productCodePresentation":{"type":"string","description":"Shortened product code"},"productName":{"type":"string","description":"The name of the data product."},"productDescription":{"type":"string","description":"A brief description of the data product."},"productStatus":{"type":"string","enum":["FUTURE","ACTIVE","RETIRED"],"description":"Future, active, or retired product status"},"productCategory":{"type":"string","description":"Level 1, 2, 3, or 4 data product"},"productHasExpanded":{"type":"boolean","description":"Whether a data product has expanded data"},"productScienceTeamAbbr":{"type":"string","description":"Three letter abbreviation for the science team responsible for the data product"},"productScienceTeam":{"type":"string","description":"Science team responsible for the data product"},"productPublicationFormatType":{"type":"string","description":"Class of publication system used during the publication process; can be independent from productScienceTeam."},"productAbstract":{"type":"string","description":"An abstract for the data product"},"productDesignDescription":{"type":"string","description":"A design description of the data product"},"productStudyDescription":{"type":"string","description":"A study description of the data product"},"productBasicDescription":{"type":"string","description":"A description of the basic package available for download"},"productExpandedDescription":{"type":"string","description":"A description of the expanded package available for download"},"productSensor":{"type":"string","description":"A description of the sensor utilized by the data product"},"productRemarks":{"type":"string","description":"Remarks about the data product"},"themes":{"type":"array","description":"List of themes to which the data product belongs.","items":{"type":"string"}},"changeLogs":{"type":"array","description":"List of issues and associated details for the product.","items":{"type":"object","properties":{"id":{"type":"number","format":"int","description":"The identifier for the issue."},"parentIssueID":{"type":"number","format":"int","description":"The identifier for the parent issue that this issue is associated with."},"issueDate":{"type":"string","format":"date-time","description":"The date and time associated with the creation of the issue."},"resolvedDate":{"type":"string","format":"date-time","description":"The date and time associated with the resolution of the issue."},"dateRangeStart":{"type":"string","format":"date-time","description":"The start of the date interval that this issue impacts the data product."},"dateRangeEnd":{"type":"string","format":"date-time","description":"The end of the date interval that this issue impacts the data product."},"locationAffected":{"type":"string","description":"The locations affected by this issue."},"issue":{"type":"string","description":"The description of the issue."},"resolution":{"type":"string","description":"The description of the resolution applied for this issue."}}}},"specs":{"type":"array","description":"List of documents associated with the data product.","items":{"$ref":"#/definitions/spec"}},"keywords":{"type":"array","description":"List of words and phrases associated with the data product","items":{"type":"string"}},"biorepositoryCollections":{"type":"array","description":"List of NEON biorepository collections associated with the data product","items":{"$ref":"#/definitions/biorepositoryCollection"}},"releases":{"type":"array","description":"List of releases that this product has available data within.","items":{"type":"object","properties":{"release":{"type":"string","description":"The name of the release"},"generationDate":{"type":"string","format":"date-time","description":"The generation date of the release."},"url":{"type":"string","description":"The URL to the API endpoint that references the release."},"productDoi":{"type":"object","description":"A description for the DOI associated with the product and release.","properties":{"generationDate":{"type":"string","format":"date-time","description":"The generation date of the DOI."},"url":{"type":"string","description":"The DOI URL for the product and release."}}}}}},"siteCodes":{"type":"array","description":"List of sites and months of available data","items":{"type":"object","properties":{"siteCode":{"type":"string","description":"Four character code for the site"},"availableMonths":{"type":"array","description":"List of years and months that products are available. Formatted as YYYY-MM.","items":{"type":"string"}},"availableDataUrls":{"type":"array","description":"List of data urls for products that are available.","items":{"type":"string"}},"availableReleases":{"type":"array","description":"List of available releases and months contained within each release.","items":{"type":"object","properties":{"release":{"type":"string","description":"The name of the release."},"availableMonths":{"type":"array","description":"List of years and months that products are available within for this release. Formatted as YYYY-MM.","items":{"type":"string"}}}}}}}}}},"biorepositoryCollection":{"type":"object","properties":{"collectionCode":{"type":"string","description":"The collection code assigned to the collection."},"collectionName":{"type":"string","description":"The name of the collection."},"collectionUrl":{"type":"string","description":"The URL to the API endpoint for the specified collection."},"collectionContentUrl":{"type":"string","description":"The URL to the biorepository collection landing page."},"collectionDownloadUrl":{"type":"string","description":"The URL to download the biorepository collection dataset."}}},"spec":{"type":"object","properties":{"specId":{"type":"string","description":"Document identifier for the associated document."},"specNumber":{"type":"string","description":"The specification number or name for the associated document."},"specType":{"type":"string","description":"The MIME type of the associated document."},"specSize":{"type":"number","format":"int","description":"The size in bytes of the associated document."},"specDescription":{"type":"string","description":"Description of the associated document."}}},"site":{"type":"object","properties":{"siteCode":{"type":"string","description":"Four character code for the site"},"siteName":{"type":"string","description":"Full name for the site"},"siteDescription":{"type":"string","description":"Brief site description"},"siteType":{"type":"string","enum":["CORE","GRADIENT"],"description":"Core or Gradient site"},"siteLatitude":{"type":"number","description":"Point latitude for the site"},"siteLongitude":{"type":"number","description":"Point longitude for the site"},"domainCode":{"type":"string","description":"Three character domain abbreviation (D01, D02, etc) for the domain this site is in"},"stateCode":{"type":"string","description":"Two letter state code that this site is in"},"stateName":{"type":"string","description":"Full name of the state or territory that this site is in"},"domainName":{"type":"string","description":"Brief description for the domain this site is in"},"deimsId":{"type":"string","description":"Dynamic Ecological Information Management System - Site and dataset registry (DEIMS-SDR) ID for the site, see deims.org"},"releases":{"type":"array","description":"List of releases that this site has available data within.","items":{"type":"object","properties":{"release":{"type":"string","description":"The name of the release"},"generationDate":{"type":"string","format":"date-time","description":"The generation date of the release."},"url":{"type":"string","description":"The URL to the API endpoint that references the release."}}}},"dataProducts":{"type":"array","items":{"$ref":"#/definitions/productAvailability"}}}},"productAvailability":{"type":"object","properties":{"dataProductCode":{"type":"string","description":"Revisioned, shortened code for the data product (DP1.00001.001, DP1.10072.001, etc)"},"dataProductTitle":{"type":"string","description":"Full title for the data product."},"availableMonths":{"type":"array","description":"List of years and months that products are available. Formatted as YYYY-MM.","items":{"type":"string"}},"availableDataUrls":{"type":"array","description":"List of data urls for products that are available.","items":{"type":"string"}},"availableReleases":{"type":"array","description":"List of available releases and months contained within each release.","items":{"type":"object","properties":{"release":{"type":"string","description":"The name of the release."},"availableMonths":{"type":"array","description":"List of years and months that products are available within for this release. Formatted as YYYY-MM.","items":{"type":"string"}}}}}}},"data":{"type":"object","properties":{"productCode":{"type":"string","description":"The product code."},"siteCode":{"type":"string","description":"The four letter site code."},"month":{"type":"string","description":"The available month. Formatted as YYYY-MM."},"release":{"type":"string","description":"The name of the associated release."},"packages":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","description":"The type of package."},"url":{"type":"string","description":"The URL to the data package API endpoint."}}}},"files":{"type":"array","items":{"$ref":"#/definitions/file"}},"externalData":{"type":"array","items":{"$ref":"#/definitions/externalData"}}}},"file":{"type":"object","properties":{"name":{"description":"Filename","type":"string"},"size":{"description":"File size in bytes","type":"number","format":"int"},"md5":{"description":"MD5 value in hex","type":"string"},"crc32":{"description":"DEPRECATED. CRC32 value in hex","type":"string"},"crc32c":{"description":"CRC32C value in hex","type":"string"},"url":{"description":"Download URL","type":"string"}}},"externalData":{"type":"object","properties":{"name":{"description":"The name of the external data object.","type":"string"},"type":{"description":"The type of external data link provided.","type":"string"},"url":{"description":"URL to external data.","type":"string"}}},"release":{"type":"object","properties":{"release":{"type":"string","description":"The name or \\"tag\\" of the release."},"uuid":{"type":"string","description":"The UUID associated with the release."},"generationDate":{"type":"string","format":"date-time","description":"Generation date of the release."},"artifacts":{"type":"array","description":"The set of artifacts associated with the release.","items":{"type":"object","properties":{"name":{"type":"string","description":"The name of the artifact."},"type":{"type":"string","description":"The type of the artifact."},"url":{"type":"string","description":"The download URL for the artifact"},"size":{"type":"number","format":"int","description":"The file size in bytes."},"md5":{"type":"string","description":"MD5 value in hex"}}}},"dataProducts":{"type":"array","description":"The set of available data products within the release.","items":{"type":"object","properties":{"productCode":{"type":"string","description":"Revisioned, shortened code for the data product (DP1.00001.001, DP1.10072.001, etc)"},"productName":{"type":"string","description":"The name of the data product."},"productDescription":{"type":"string","description":"A brief description of the data product."},"productDoi":{"type":"string","description":"The DOI for the product within the release."}}}}}},"dataQuery":{"type":"object","properties":{"productCode":{"type":"string","description":"Revisioned, shortened code for the data product (DP1.00001.001, DP1.10072.001, etc)"},"siteCodes":{"type":"array","description":"List of four character site codes available","items":{"type":"string"}},"startDate":{"type":"string","format":"date-time","description":"The start date of the query interval"},"endDate":{"type":"string","format":"date-time","description":"The end date of the query interval"},"packageType":{"type":"string","description":"The type of package, basic or expanded"},"releases":{"type":"array","description":"The list of available releases for the query","items":{"type":"object","description":"Describes a release data package","properties":{"release":{"type":"string","description":"The name of the release"},"generationDate":{"type":"string","format":"date-time","description":"The generation date of the release"},"packages":{"type":"array","description":"The list of available packages within the release for the query","items":{"type":"object","description":"Describes a data package","properties":{"domainCode":{"type":"string","description":"Three character domain abbreviation (D01, D02, etc) for the domain this package is in"},"siteCode":{"type":"string","description":"Four character code for the site"},"month":{"type":"string","description":"The available month, formatted as YYYY-MM"},"packageType":{"type":"string","description":"The type of package, basic or expanded"},"generationDate":{"type":"string","format":"date-time","description":"The generation date of the package"},"files":{"type":"array","description":"The list of available files within the package for the query","items":{"$ref":"#/definitions/file"}}}}}}}}}},"location":{"type":"object","properties":{"locationName":{"type":"string","description":"Name of the location"},"locationDescription":{"type":"string","description":"A description of the location."},"locationType":{"type":"string"},"domainCode":{"type":"string","description":"Three character domain abbreviation (D01, D02, etc) for the domain this site is in"},"siteCode":{"type":"string","description":"Four character code for the site"},"locationDecimalLatitude":{"type":"number","format":"double","description":"Decimal latitude for the location."},"locationDecimalLongitude":{"type":"number","format":"double","description":"Decimal longitude for the location."},"locationElevation":{"type":"number","format":"double","description":"Elevation for the location."},"locationUtmEasting":{"type":"number","format":"double","description":"The Universal Transverse Mercator easting."},"locationUtmNorthing":{"type":"number","format":"double","description":"The Universal Transverse Mercator northing."},"locationUtmZone":{"type":"number","format":"int","description":"The integer Universal Transverse Mercator zone."},"locationUtmHemisphere":{"type":"string","description":"The single character Universal Transverse Mercator hemisphere."},"alphaOrientation":{"type":"number","format":"double","description":"The elevation or pitch angle (in degrees) in the vertical plane at which a sensor is oriented relative to the horizontal plane."},"betaOrientation":{"type":"number","format":"double","description":"The roll angle (in degrees) about the longitudinal axis of the sensor at which the sensor is oriented."},"gammaOrientation":{"type":"number","format":"double","description":"The azimuth or yaw angle (in degrees) at which a sensor is facing relative to true North."},"xOffset":{"type":"number","format":"double","description":"Cartesian offsets of a sensor, in meters, west (positive values) or east (negative values) relative to the reference location."},"yOffset":{"type":"number","format":"double","description":"Cartesian offsets of a sensor, in meters, south (positive values) or north (negative values) relative to the reference location."},"zOffset":{"type":"number","format":"double","description":"Cartesian offsets of a sensor, in meters, up (positive values) or down (negative values) relative to the reference location."},"offsetLocation":{"type":"object","$ref":"#/definitions/location","description":"The named location used as a reference point. Offsets are relative to this location."},"locationPolygon":{"type":"object","properties":{"coordinates":{"type":"array","description":"A list of vertices that define the closed structure for the polygon","items":{"type":"object","properties":{"latitude":{"type":"number","format":"double","description":"Decimal latitude for the polygon coordinate."},"longitude":{"type":"number","format":"double","description":"Decimal longitude for the polygon coordinate."},"elevation":{"type":"number","format":"double","description":"Elevation for the polygon coordinate."}}}}}},"activePeriods":{"type":"array","description":"List of active periods for the location","items":{"type":"object","properties":{"activatedDate":{"type":"string","format":"date-time","description":"The activation date for the time period"},"deactivatedDate":{"type":"string","format":"date-time","description":"The deactivation date for the time period"}}}},"locationProperties":{"type":"array","description":"List of properties associated with the location. Contents vary based on the type of location.","items":{"type":"object","properties":{"locationPropertyValue":{"type":"string","description":"Can be a string or a number"},"locationPropertyName":{"type":"string"}}}},"locationHistory":{"type":"array","items":{"type":"object","$ref":"#/definitions/locationHistory"}},"locationParent":{"type":"string","description":"Name of the location that this location is in."},"locationParentUrl":{"type":"string","description":"URL to request location data for the parent of this location."},"locationParentHierarchy":{"type":"object","description":"When querying for the hierarchy, the location's parent hierarchy","$ref":"#/definitions/locationParentHierarchy"},"locationChildren":{"type":"array","description":"A list of names of locations within this location.","items":{"type":"string"}},"locationChildrenUrls":{"type":"array","description":"A list of URLs to request location data for the children of this location.","items":{"type":"string"}},"locationChildHierarchy":{"type":"array","description":"When querying for the hierarchy, the location's set of immediate children and associated hierarchy","items":{"type":"object","$ref":"#/definitions/locationChildHierarchy"}}}},"locationHistory":{"type":"object","properties":{"current":{"type":"boolean","description":"Indicates if this is the current location for this location."},"locationStartDate":{"type":"string","format":"date-time","description":"The start date and time for this location."},"locationEndDate":{"type":"string","format":"date-time","description":"The end date and time for this location."},"locationDecimalLatitude":{"type":"number","format":"double","description":"Decimal latitude for the location."},"locationDecimalLongitude":{"type":"number","format":"double","description":"Decimal longitude for the location."},"locationElevation":{"type":"number","format":"double","description":"Elevation for the location."},"locationUtmEasting":{"type":"number","format":"double","description":"The Universal Transverse Mercator easting."},"locationUtmNorthing":{"type":"number","format":"double","description":"The Universal Transverse Mercator northing."},"locationUtmHemisphere":{"type":"string","description":"The single character Universal Transverse Mercator hemisphere."},"locationUtmZone":{"type":"number","format":"int","description":"The integer Universal Transverse Mercator zone."},"alphaOrientation":{"type":"number","format":"double","description":"The elevation or pitch angle (in degrees) in the vertical plane at which a sensor is oriented relative to the horizontal plane."},"betaOrientation":{"type":"number","format":"double","description":"The roll angle (in degrees) about the longitudinal axis of the sensor at which the sensor is oriented."},"gammaOrientation":{"type":"number","format":"double","description":"The azimuth or yaw angle (in degrees) at which a sensor is facing relative to true North."},"xOffset":{"type":"number","format":"double","description":"Cartesian offsets of a sensor, in meters, west (positive values) or east (negative values) relative to the reference location."},"yOffset":{"type":"number","format":"double","description":"Cartesian offsets of a sensor, in meters, south (positive values) or north (negative values) relative to the reference location."},"zOffset":{"type":"number","format":"double","description":"Cartesian offsets of a sensor, in meters, up (positive values) or down (negative values) relative to the reference location."},"locationPolygon":{"type":"object","properties":{"coordinates":{"type":"array","description":"A list of vertices that define the closed structure for the polygon","items":{"type":"object","properties":{"latitude":{"type":"number","format":"double","description":"Decimal latitude for the polygon coordinate."},"longitude":{"type":"number","format":"double","description":"Decimal longitude for the polygon coordinate."},"elevation":{"type":"number","format":"double","description":"Elevation for the polygon coordinate."}}}}}},"locationProperties":{"type":"array","description":"List of properties associated with the location. Contents vary based on the type of location.","items":{"type":"object","properties":{"locationPropertyValue":{"type":"string","description":"Can be a string or a number"},"locationPropertyName":{"type":"string"}}}}}},"locationParentHierarchy":{"type":"object","properties":{"locationName":{"type":"string","description":"Name of the location"},"locationType":{"type":"string","description":"Type of the location"},"locationParent":{"type":"string","description":"Name of the location that this location is in."},"locationParentUrl":{"type":"string","description":"URL to request location data for the parent of this location."},"locationParentHierarchy":{"type":"object","description":"The location's parent hierarchy"}}},"locationChildHierarchy":{"type":"object","properties":{"locationName":{"type":"string","description":"Name of the location"},"locationType":{"type":"string","description":"Type of the location"},"locationDescription":{"type":"string","description":"A description of the location."},"locationChildHierarchy":{"type":"array","description":"The location's child hierarchy","items":{"type":"object"}}}},"taxonomy":{"type":"object","properties":{"taxonTypeCode":{"description":"NEON taxonomic grouping","type":"string"},"taxonID":{"description":"NEON taxonomic code","type":"string"},"acceptedTaxonID":{"description":"Accepted taxonomic code from the authoritative source (dwc:nameAccordingToID)","type":"string"},"updateDate":{"description":"The date that this taxonomic record was last updated","type":"string"},"dwc:scientificName":{"description":"Scientific name, associated with the taxonID. This is the name of the lowest level taxonomic rank that can be determined. http://rs.tdwg.org/dwc/terms/scientificName","type":"string"},"dwc:scientificNameAuthorship":{"description":"The authorship information for the scientificName formatted according to the conventions of the applicable nomenclaturalCode. http://rs.tdwg.org/dwc/terms/scientificNameAuthorship","type":"string"},"dwc:taxonRank":{"description":"The lowest level taxonomic rank that can be determined for the individual or specimen. http://rs.tdwg.org/dwc/terms/taxonRank","type":"string"},"dwc:vernacularName":{"description":"A common or vernacular name. http://rs.tdwg.org/dwc/terms/vernacularName","type":"string"},"taxonProtocolCategory":{"description":"NEON protocol-specific categorization of the taxon","type":"string"},"dwc:nameAccordingToID":{"description":"An identifier for the source in which the specific taxon concept circumscription is defined or implied. http://rs.tdwg.org/dwc/terms/nameAccordingToID","type":"string"},"dwc:nameAccordingToTitle":{"description":"The reference to the source in which the specific taxon concept circumscription is defined or implied. http://tdwg.github.io/dwc/terms/nameAccordingTo","type":"string"},"dwc:kingdom":{"description":"The scientific name of the kingdom in which the taxon is classified. http://rs.tdwg.org/dwc/terms/kingdom","type":"string"},"gbif:subkingdom":{"description":"The scientific name of the subkingdom in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/subkingdom","type":"string"},"gbif:infrakingdom":{"description":"The scientific name of the infrakingdom in which the taxon is classified","type":"string"},"gbif:superdivision":{"description":"The scientific name of the superdivision in which the taxon is classified","type":"string"},"gbif:division":{"description":"The scientific name of the division in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/phylum","type":"string"},"gbif:subdivision":{"description":"The scientific name of the subdivision in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/subphylum","type":"string"},"gbif:infradivision":{"description":"The scientific name of the infradivision in which the taxon is classified","type":"string"},"gbif:parvdivision":{"description":"The scientific name of the parvdivision in which the taxon is classified","type":"string"},"gbif:superphylum":{"description":"The scientific name of the superphylum in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/superphylum","type":"string"},"dwc:phylum":{"description":"The scientific name of the phylum or division in which the taxon is classified. http://rs.tdwg.org/dwc/terms/phylum","type":"string"},"gbif:subphylum":{"description":"The scientific name of the subphylum in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/subphylum","type":"string"},"gbif:infraphylum":{"description":"The scientific name of the infraphylum in which the taxon is classified","type":"string"},"gbif:superclass":{"description":"The scientific name of the superclass in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/superclass","type":"string"},"dwc:class":{"description":"The scientific name of the class in which the taxon is classified. http://rs.tdwg.org/dwc/terms/class","type":"string"},"gbif:subclass":{"description":"The scientific name of the subclass in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/subclass","type":"string"},"gbif:infraclass":{"description":"The scientific name of the infraclass in which the taxon is classified","type":"string"},"gbif:superorder":{"description":"The scientific name of the superorder in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/superorder","type":"string"},"dwc:order":{"description":"The scientific name of the order in which the taxon is classified. http://rs.tdwg.org/dwc/terms/order","type":"string"},"gbif:suborder":{"description":"The scientific name of the suborder in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/suborder","type":"string"},"gbif:infraorder":{"description":"The scientific name of the infraorder in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/infraorder","type":"string"},"gbif:section":{"description":"The scientific name of the section in which the organism is classified. http://rs.gbif.org/vocabulary/gbif/rank/section","type":"string"},"gbif:subsection":{"description":"The scientific name of the subsection in which the organism is classified. http://rs.gbif.org/vocabulary/gbif/rank/subsection","type":"string"},"gbif:superfamily":{"description":"The scientific name of the superfamily in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/superfamily","type":"string"},"dwc:family":{"description":"The scientific name of the family in which the taxon is classified. http://rs.tdwg.org/dwc/terms/family","type":"string"},"gbif:subfamily":{"description":"The scientific name of the subfamily in which the organism is classified. http://rs.gbif.org/vocabulary/gbif/rank/subfamily","type":"string"},"gbif:tribe":{"description":"The scientific name of the tribe in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/tribe","type":"string"},"gbif:subtribe":{"description":"The scientific name of the subtribe in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/subtribe","type":"string"},"dwc:genus":{"description":"The scientific name of the genus in which the organism is classified. http://rs.tdwg.org/dwc/terms/genus","type":"string"},"dwc:subgenus":{"description":"The scientific name of the subgenus in which the taxon is classified. Values should include the genus to avoid homonym confusion. http://rs.tdwg.org/dwc/terms/subgenus","type":"string"},"gbif:subspecies":{"description":"The subspecies (infraspecific name below the rank of infraspecific epithet) of the scientific name applied to the taxon. http://rs.gbif.org/vocabulary/gbif/rank/subspecies","type":"string"},"gbif:variety":{"description":"The variety (infraspecific name below the rank of infraspecific epithet) of the scientific name applied to the taxon. http://rs.gbif.org/vocabulary/gbif/rank/variety","type":"string"},"gbif:subvariety":{"description":"The subvariety (infraspecific name below the rank of variety) of the scientific name applied to the taxon. http://rs.gbif.org/vocabulary/gbif/rank/subvariety","type":"string"},"gbif:form":{"description":"The form (infraspecific name below the rank of infraspecific epithet) of the scientific name applied to the taxon. http://rs.gbif.org/vocabulary/gbif/rank/form","type":"string"},"gbif:subform":{"description":"The subform (infraspecific name below the rank of form) of the scientific name applied to the taxon. http://rs.gbif.org/vocabulary/gbif/rank/subform","type":"string"},"speciesGroup":{"description":"The unofficial species group into which the taxon is categorized","type":"string"},"dwc:specificEpithet":{"description":"The specific epithet (second part of the species name) of the scientific name applied to the taxon. http://rs.tdwg.org/dwc/terms/specificEpithet","type":"string"},"dwc:infraspecificEpithet":{"description":"The infraspecific epithet (scientific name below the rank of species) of the scientific name applied to the taxon. http://rs.tdwg.org/dwc/terms/infraspecificEpithet","type":"string"}}},"sampleInfo":{"type":"object","properties":{"sampleUuid":{"type":"string","description":"UUID for a given sample"},"sampleTag":{"type":"string","description":"Sample Tag for a given sample"},"sampleClass":{"type":"string","description":"Sample Class for a given sample"},"barcode":{"type":"string","description":"Sample Barcode for a given sample"},"archiveGuid":{"type":"string","description":"Archive GUID for a given sample"}}},"views":{"type":"object","properties":{"sampleViews":{"type":"array","description":"array of sample views for a given sample","items":{"$ref":"#/definitions/sampleView"}}}},"sampleView":{"type":"object","properties":{"sampleUuid":{"type":"string","description":"UUID for a given sample"},"sampleTag":{"type":"string","description":"Sample Tag for a given sample"},"sampleClass":{"type":"string","description":"Sample Class for a given sample"},"barcode":{"type":"string","description":"Sample Barcode for a given sample"},"archiveGuid":{"type":"string","description":"Archive GUID for a given sample"},"sampleEvents":{"type":"array","items":{"$ref":"#/definitions/sampleEvent"}},"parentSampleIdentifiers":{"type":"array","items":{"$ref":"#/definitions/sampleInfo"}},"childSampleIdentifiers":{"type":"array","items":{"$ref":"#/definitions/sampleInfo"}}}},"sampleEvent":{"type":"object","description":"Sample Event for a given sample.","properties":{"ingestTableName":{"type":"string","description":"Ingest Table Name"},"smsFieldEntries":{"type":"array","items":{"$ref":"#/definitions/smsField"}}}},"smsField":{"type":"object","properties":{"smsKey":{"type":"string","description":"SMS Field Name"},"smsValue":{"type":"string","description":"SMS Field Value"}}},"entry":{"type":"object","properties":{"key":{"type":"string","description":"Sample Class Name"},"value":{"type":"string","description":"Sample Class Description"}}},"classes":{"type":"object","properties":{"sampleClasses":{"type":"array","description":"array of Sample Classes for a given sample.","items":{"type":"string"}}}},"supportedClasses":{"type":"object","properties":{"entries":{"type":"array","description":"array of Sample Classes and their descriptions for a given sample.","items":{"$ref":"#/definitions/entry"}}}},"prototypeDataset":{"type":"object","properties":{"uuid":{"type":"string","description":"The UUID of the dataset"},"projectTitle":{"type":"string","description":"The title of the project"},"projectDescription":{"type":"string","description":"The description of the project"},"designDescription":{"type":"string","description":"A description of the dataset's design"},"metadataDescription":{"type":"string","description":"A brief description of the metadata associated with the dataset"},"studyAreaDescription":{"type":"string","description":"A description of the dataset's spatial extent"},"datasetAbstract":{"type":"string","description":"An abstract of the dataset"},"startYear":{"type":"number","format":"int","description":"The start year for the time span of the dataset"},"endYear":{"type":"number","format":"int","description":"The end year for the time span of the dataset"},"dateUploaded":{"type":"string","format":"date-time","description":"The date the dataset was uploaded"},"isPublished":{"type":"boolean","description":"Whether or not the dataset has been included in a publication"},"version":{"type":"string","description":"The version of the dataset"},"versionDescription":{"type":"string","description":"The version description"},"doi":{"type":"object","description":"The DOI for the dataset","$ref":"#/definitions/prototypeDatasetDoi"},"relatedVersions":{"type":"array","description":"The related versions of this dataset","items":{"$ref":"#/definitions/prototypeDatasetRelatedVersion"}},"data":{"type":"object","description":"The dataset's data files","$ref":"#/definitions/prototypeDatasetDataDetail"},"dataThemes":{"type":"array","description":"List of themes to which the dataset belongs","items":{"type":"string"}},"fileTypes":{"type":"array","description":"List of file types to which the dataset belongs","items":{"$ref":"#/definitions/prototypeFileType"}},"keywords":{"type":"array","description":"List of words and phrases associated with the dataset","items":{"type":"string"}},"locations":{"type":"array","description":"List of locations of the dataset's spatial extent","items":{"$ref":"#/definitions/prototypeLocation"}},"publicationCitations":{"type":"array","description":"List of publication citations involving the dataset","items":{"$ref":"#/definitions/prototypePublicationCitation"}},"relatedDataProducts":{"type":"array","description":"List of data product's that the dataset is related to","items":{"$ref":"#/definitions/prototypeRelatedDataProduct"}},"scienceTeams":{"type":"array","description":"List of responsible science teams for the dataset","items":{"type":"string"}}}},"prototypeDatasetDataDetail":{"type":"object","description":"The dataset's data files","properties":{"url":{"type":"string","description":"The data URL for accessing the data files for the dataset"},"files":{"type":"array","description":"List of data files for the dataset","items":{"$ref":"#/definitions/prototypeDataFile"}},"dataLocations":{"type":"array","description":"List of data locations for the dataset","items":{"$ref":"#/definitions/prototypeDataLocation"}}}},"prototypeDatasetData":{"type":"object","description":"Type definition for prototype dataset data","properties":{"datasetUuid":{"type":"string","description":"The dataset UUID"},"datasetProjectTitle":{"type":"string","description":"The title of the project"},"files":{"type":"array","description":"List of data files for the dataset","items":{"$ref":"#/definitions/prototypeDataFile"}},"dataLocations":{"type":"array","description":"List of data locations for the dataset","items":{"$ref":"#/definitions/prototypeDataLocation"}}}},"prototypeDataFile":{"type":"object","description":"Type definition for prototype dataset data file","properties":{"name":{"type":"string","description":"The name of the data file"},"description":{"type":"string","description":"A description of the data file"},"fileSize":{"type":"string","description":"File size in bytes"},"fileName":{"type":"string","description":"The filename of the file"},"md5":{"type":"string","description":"MD5 checksum value in hex"},"url":{"type":"string","description":"Download URL for the file"},"type":{"type":"object","description":"The type of the data file (metadata, data, etc)","$ref":"#/definitions/prototypeDataFileType"}}},"prototypeDataFileType":{"type":"object","description":"Type definition for prototype dataset data file type","properties":{"name":{"type":"string","description":"The name of the data file type"},"description":{"type":"string","description":"The description of the data file type"}}},"prototypeDataLocation":{"type":"object","description":"Type definition for a prototype dataset data location","properties":{"path":{"type":"string","description":"The path or URL to the data location"},"description":{"type":"string","description":"A description of the data location referenced by the path"},"metadata":{"type":"boolean","description":"Indicates that this data location refers to metadata exclusively"}}},"prototypeDatasetDoi":{"type":"object","description":"Type definition for a Prototype Dataset DOI","properties":{"url":{"type":"string","description":"The URL of the DOI"},"generationDate":{"type":"string","format":"date-time","description":"The generation date of the DOI"}}},"prototypeDatasetRelatedVersion":{"type":"object","description":"Type definition for a Prototype Dataset related version","properties":{"datasetUuid":{"type":"string","description":"The related dataset UUID"},"datasetProjectTitle":{"type":"string","description":"The related dataset project title"},"datasetVersion":{"type":"string","description":"The related dataset version"}}},"prototypeFileType":{"type":"object","description":"Type definition for a prototype dataset file type","properties":{"name":{"type":"string","description":"The name of the file type (CSV, PDF, HDF5, etc)"},"description":{"type":"string","description":"A description of the file type"}}},"prototypeLocation":{"type":"object","description":"Type definition for a prototype dataset location","properties":{"domain":{"type":"string","description":"Three character domain abbreviation (D01, D02, etc) for the domain this site is in"},"state":{"type":"string","description":"Two letter state code that this site is in"},"siteCode":{"type":"string","description":"Four character code for the site"},"siteName":{"type":"string","description":"Full name for the site"},"latitude":{"type":"string","description":"Decimal latitude for the location"},"longitude":{"type":"string","description":"Decimal longitude for the location"}}},"prototypePublicationCitation":{"type":"object","description":"Type definition for a prototype dataset publication citation","properties":{"citation":{"type":"string","description":"The citation associated with a publication involving the dataset"},"citationIdentifier":{"type":"string","description":"The citation identifier (DOI, arXiv, URL) associated with a publication involving the dataset"},"citationIdentifierType":{"type":"string","description":"The citation identifier type associated with a publication involving the dataset (DOI, arXiv, URL)"}}},"prototypeRelatedDataProduct":{"type":"object","description":"Type definition for a prototype dataset related data product","properties":{"dataProductIdq":{"type":"string","description":"Revisioned, long code for the data product (NEON.DOM.SITE.DP1.00001.001, etc.)"},"dataProductCode":{"type":"string","description":"Revisioned, shortened code for the data product (DP1.00001.001, DP1.10072.001, etc.)"},"dataProductName":{"type":"string","description":"The name of the data product"},"dataProductDescription":{"type":"string","description":"A brief description of the data product"}}},"error":{"type":"object","properties":{"detail":{"type":"string"},"status":{"type":"number","format":"int"}}}}`)};(0,Le.createRoot)(document.getElementById(`root`)).render((0,B5.jsx)(()=>((0,V.useLayoutEffect)(()=>{if(!window.frameElement)return()=>{};if(typeof ResizeObserver!=`function`)return window.frameElement.style.height=`100vh`,window.frameElement.setAttribute(`scrolling`,`yes`),window.document.body.style.overflow=`scroll`,()=>{};let e=new ResizeObserver(e=>{for(let t of e){let e=t.contentRect;window.frameElement.style.height=`${e.height+60}px`}});return e.observe(window.document.body),()=>{e.disconnect()}}),(0,B5.jsx)(`div`,{className:`neon-data-api-docs-swagger`,children:(0,B5.jsx)(V5,{spec:H5})})),{})); \ No newline at end of file diff --git a/docs/content/explorer/build/index.html b/docs/content/explorer/build/index.html index dccd690..e69f040 100644 --- a/docs/content/explorer/build/index.html +++ b/docs/content/explorer/build/index.html @@ -13,7 +13,7 @@ NEON Data API REST Explorer - + From b57f3f7722a5e5ed7e8c9e8177828c610ef6ffd0 Mon Sep 17 00:00:00 2001 From: jsampson Date: Wed, 23 Sep 2026 09:21:13 -0600 Subject: [PATCH 09/10] swagger def v0.12.0, rebuild packages --- .../build/assets/{index-CmRYfV2N.js => index-BbpVoW5T.js} | 2 +- docs/content/explorer/build/index.html | 2 +- packages/docs-app-swagger/src/swagger.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) rename docs/content/explorer/build/assets/{index-CmRYfV2N.js => index-BbpVoW5T.js} (99%) diff --git a/docs/content/explorer/build/assets/index-CmRYfV2N.js b/docs/content/explorer/build/assets/index-BbpVoW5T.js similarity index 99% rename from docs/content/explorer/build/assets/index-CmRYfV2N.js rename to docs/content/explorer/build/assets/index-BbpVoW5T.js index 5cd832e..f9f1347 100644 --- a/docs/content/explorer/build/assets/index-CmRYfV2N.js +++ b/docs/content/explorer/build/assets/index-BbpVoW5T.js @@ -281,4 +281,4 @@ Use Chrome, Firefox or Internet Explorer 11`)}},48:function(e){var t={};function `):``}(0,JSON.stringify(a,null,2))||`{}`,V.createElement(`br`,null)))}},z0=({servers:e,currentServer:t,setSelectedServer:n,setServerVariableValue:r,getServerVariable:i,getEffectiveServerValue:a})=>{let o=(e.find((e=>e.get(`url`)===t))||(0,H.OrderedMap)()).get(`variables`)||(0,H.OrderedMap)(),s=o.size!==0;(0,V.useEffect)((()=>{t||n(e.first()?.get(`url`))}),[]),(0,V.useEffect)((()=>{let i=e.find((e=>e.get(`url`)===t));if(!i)return void n(e.first().get(`url`));(i.get(`variables`)||(0,H.OrderedMap)()).map(((e,n)=>{r({server:t,key:n,val:e.get(`default`)||``})}))}),[t,e]);let c=(0,V.useCallback)((e=>{n(e.target.value)}),[n]),l=(0,V.useCallback)((e=>{let n=e.target.getAttribute(`data-variable`),i=e.target.value;r({server:t,key:n,val:i})}),[r,t]);return V.createElement(`div`,{className:`servers`},V.createElement(`label`,{htmlFor:`servers`},V.createElement(`select`,{onChange:c,value:t,id:`servers`},e.valueSeq().map((e=>V.createElement(`option`,{value:e.get(`url`),key:e.get(`url`)},e.get(`url`),e.get(`description`)&&` - ${e.get(`description`)}`))).toArray())),s&&V.createElement(`div`,null,V.createElement(`div`,{className:`computed-url`},`Computed URL:`,V.createElement(`code`,null,a(t))),V.createElement(`h4`,null,`Server variables`),V.createElement(`table`,null,V.createElement(`tbody`,null,o.entrySeq().map((([e,n])=>V.createElement(`tr`,{key:e},V.createElement(`td`,null,e),V.createElement(`td`,null,n.get(`enum`)?V.createElement(`select`,{"data-variable":e,onChange:l},n.get(`enum`).map((n=>V.createElement(`option`,{selected:n===i(t,e),key:n,value:n},n)))):V.createElement(`input`,{type:`text`,value:i(t,e)||``,onChange:l,"data-variable":e})))))))))},B0=class extends V.Component{render(){let{specSelectors:e,oas3Selectors:t,oas3Actions:n,getComponent:r}=this.props,i=e.servers(),a=r(`Servers`);return i&&i.size?V.createElement(`div`,null,V.createElement(`span`,{className:`servers-title`},`Servers`),V.createElement(a,{servers:i,currentServer:t.selectedServer(),setSelectedServer:n.setSelectedServer,setServerVariableValue:n.setServerVariableValue,getServerVariable:t.serverVariableValue,getEffectiveServerValue:t.serverEffectiveValue})):null}},V0=Function.prototype,H0=class extends V.Component{constructor(e,t){super(e,t);let{name:n,schema:r}=this.props,i=this.getValue();this.state={name:n,schema:r,value:i}}getValue(){let{name:e,authorized:t}=this.props;return t&&t.getIn([e,`value`])}onChange=e=>{let{onChange:t}=this.props,{value:n,name:r}=e.target,i=Object.assign({},this.state.value);r?i[r]=n:i=n,this.setState({value:i},(()=>t(this.state)))};render(){let{schema:e,getComponent:t,errSelectors:n,name:r,authSelectors:i}=this.props,a=t(`Input`),o=t(`Row`),s=t(`Col`),c=t(`authError`),l=t(`Markdown`,!0),u=t(`JumpToPath`,!0),d=(e.get(`scheme`)||``).toLowerCase(),f=i.selectAuthPath(r),p=this.getValue(),m=n.allErrors().filter((e=>e.get(`authId`)===r));if(d===`basic`){let t=p?p.get(`username`):null;return V.createElement(`div`,null,V.createElement(`h4`,null,V.createElement(`code`,null,r),`\xA0 (http, Basic)`,V.createElement(u,{path:f})),t&&V.createElement(`h6`,null,`Authorized`),V.createElement(o,null,V.createElement(l,{source:e.get(`description`)})),V.createElement(o,null,V.createElement(`label`,{htmlFor:`auth-basic-username`},`Username:`),t?V.createElement(`code`,null,` `,t,` `):V.createElement(s,null,V.createElement(a,{id:`auth-basic-username`,type:`text`,required:`required`,name:`username`,"aria-label":`auth-basic-username`,onChange:this.onChange,autoFocus:!0}))),V.createElement(o,null,V.createElement(`label`,{htmlFor:`auth-basic-password`},`Password:`),t?V.createElement(`code`,null,` ****** `):V.createElement(s,null,V.createElement(a,{id:`auth-basic-password`,autoComplete:`new-password`,name:`password`,type:`password`,"aria-label":`auth-basic-password`,onChange:this.onChange}))),m.valueSeq().map(((e,t)=>V.createElement(c,{error:e,key:t}))))}return d===`bearer`?V.createElement(`div`,null,V.createElement(`h4`,null,V.createElement(`code`,null,r),`\xA0 (http, Bearer)`,V.createElement(u,{path:f})),p&&V.createElement(`h6`,null,`Authorized`),V.createElement(o,null,V.createElement(l,{source:e.get(`description`)})),V.createElement(o,null,V.createElement(`label`,{htmlFor:`auth-bearer-value`},`Value:`),p?V.createElement(`code`,null,` ****** `):V.createElement(s,null,V.createElement(a,{id:`auth-bearer-value`,type:`text`,"aria-label":`auth-bearer-value`,onChange:this.onChange,autoFocus:!0}))),m.valueSeq().map(((e,t)=>V.createElement(c,{error:e,key:t})))):V.createElement(`div`,null,V.createElement(`em`,null,V.createElement(`b`,null,r),` HTTP authentication: unsupported scheme `,`'${d}'`))}},U0=class extends V.Component{setSelectedServer=e=>{let{path:t,method:n}=this.props;return this.forceUpdate(),this.props.setSelectedServer(e,`${t}:${n}`)};setServerVariableValue=e=>{let{path:t,method:n}=this.props;return this.forceUpdate(),this.props.setServerVariableValue({...e,namespace:`${t}:${n}`})};getSelectedServer=()=>{let{path:e,method:t}=this.props;return this.props.getSelectedServer(`${e}:${t}`)};getServerVariable=(e,t)=>{let{path:n,method:r}=this.props;return this.props.getServerVariable({namespace:`${n}:${r}`,server:e},t)};getEffectiveServerValue=e=>{let{path:t,method:n}=this.props;return this.props.getEffectiveServerValue({server:e,namespace:`${t}:${n}`})};render(){let{operationServers:e,pathServers:t,getComponent:n}=this.props;if(!e&&!t)return null;let r=n(`Servers`),i=e||t,a=e?`operation`:`path`;return V.createElement(`div`,{className:`opblock-section operation-servers`},V.createElement(`div`,{className:`opblock-section-header`},V.createElement(`div`,{className:`tab-header`},V.createElement(`h4`,{className:`opblock-title`},`Servers`))),V.createElement(`div`,{className:`opblock-description-wrapper`},V.createElement(`h4`,{className:`message`},`These `,a,`-level options override the global server options.`),V.createElement(r,{servers:i,currentServer:this.getSelectedServer(),setSelectedServer:this.setSelectedServer,setServerVariableValue:this.setServerVariableValue,getServerVariable:this.getServerVariable,getEffectiveServerValue:this.getEffectiveServerValue})))}},W0={Callbacks:F0,HttpAuth:H0,RequestBody:L0,Servers:z0,ServersContainer:B0,RequestBodyEditor:class extends V.PureComponent{static defaultProps={onChange:V0,userHasEditedBody:!1};constructor(e,t){super(e,t),this.state={value:yq(e.value)||e.defaultValue},e.onChange(e.value)}applyDefaultValue=e=>{let{onChange:t,defaultValue:n}=e||this.props;return this.setState({value:n}),t(n)};onChange=e=>{this.props.onChange(yq(e))};onDomChange=e=>{let t=e.target.value;this.setState({value:t},(()=>this.onChange(t)))};UNSAFE_componentWillReceiveProps(e){this.props.value!==e.value&&e.value!==this.state.value&&this.setState({value:yq(e.value)}),!e.value&&e.defaultValue&&this.state.value&&this.applyDefaultValue(e)}render(){let{getComponent:e,errors:t}=this.props,{value:n}=this.state,r=t.size>0,i=e(`TextArea`);return V.createElement(`div`,{className:`body-param`},V.createElement(i,{className:(0,nd.default)(`body-param__text`,{invalid:r}),title:t.size?t.join(`, `):``,value:n,onChange:this.onDomChange}))}},OperationServers:U0,operationLink:R0},G0=new OU(`commonmark`);G0.block.ruler.enable([`table`]),G0.set({linkTarget:`_blank`});var K0=E0((({source:e,className:t=``,getConfigs:n=()=>({useUnsafeMarkdown:!1})})=>{if(typeof e!=`string`)return null;if(e){let{useUnsafeMarkdown:r}=n(),i=s0(G0.render(e),{useUnsafeMarkdown:r}),a;return typeof i==`string`&&(a=i.trim()),V.createElement(`div`,{dangerouslySetInnerHTML:{__html:a},className:(0,nd.default)(t,`renderedMarkdown`)})}return null})),q0=E0((({Ori:e,...t})=>{let{schema:n,getComponent:r,errSelectors:i,authorized:a,onAuthChange:o,name:s,authSelectors:c}=t,l=r(`HttpAuth`);return n.get(`type`)===`http`?V.createElement(l,{key:s,schema:n,name:s,errSelectors:i,authorized:a,getComponent:r,onChange:o,authSelectors:c}):V.createElement(e,t)})),J0=E0(Y$),Y0=E0(class extends V.Component{render(){let{getConfigs:e,schema:t,Ori:n}=this.props,r=[`model-box`],i=null;return!0===t.get(`deprecated`)&&(r.push(`deprecated`),i=V.createElement(`span`,{className:`model-deprecated-warning`},`Deprecated:`)),V.createElement(`div`,{className:r.join(` `)},i,V.createElement(n,Xu({},this.props,{getConfigs:e,depth:1,expandDepth:this.props.expandDepth||0})))}}),X0=E0((({Ori:e,...t})=>{let{schema:n,getComponent:r,errors:i,onChange:a,fn:o}=t,s=o.isFileUploadIntended(n),c=r(`Input`);return s?V.createElement(c,{type:`file`,className:i.length?`invalid`:``,title:i.length?i:``,onChange:e=>{a(e.target.files[0])},disabled:e.isDisabled}):V.createElement(e,t)})),Z0={Markdown:K0,AuthItem:q0,OpenAPIVersion:function(e){return(t,n)=>r=>typeof n.specSelectors?.isOAS30==`function`?n.specSelectors.isOAS30()?V.createElement(e,Xu({},r,n,{Ori:t})):V.createElement(t,r):(console.warn(`OAS30 wrapper: couldn't get spec`),null)}((e=>{let{Ori:t}=e;return V.createElement(t,{oasVersion:`3.0`})})),JsonSchema_string:X0,model:Y0,onlineValidatorBadge:J0},Q0=`oas3_set_servers`,$0=`oas3_set_request_body_value`,e2=`oas3_set_request_body_retain_flag`,t2=`oas3_set_request_body_inclusion`,n2=`oas3_set_active_examples_member`,r2=`oas3_set_request_content_type`,i2=`oas3_set_response_content_type`,a2=`oas3_set_server_variable_value`,o2=`oas3_set_request_body_validate_error`,s2=`oas3_clear_request_body_validate_error`,c2=`oas3_clear_request_body_value`;function l2(e,t){return{type:Q0,payload:{selectedServerUrl:e,namespace:t}}}function u2({value:e,pathMethod:t}){return{type:$0,payload:{value:e,pathMethod:t}}}var d2=({value:e,pathMethod:t})=>({type:e2,payload:{value:e,pathMethod:t}});function f2({value:e,pathMethod:t,name:n}){return{type:t2,payload:{value:e,pathMethod:t,name:n}}}function p2({name:e,pathMethod:t,contextType:n,contextName:r}){return{type:n2,payload:{name:e,pathMethod:t,contextType:n,contextName:r}}}function m2({value:e,pathMethod:t}){return{type:r2,payload:{value:e,pathMethod:t}}}function h2({value:e,path:t,method:n}){return{type:i2,payload:{value:e,path:t,method:n}}}function g2({server:e,namespace:t,key:n,val:r}){return{type:a2,payload:{server:e,namespace:t,key:n,val:r}}}var _2=({path:e,method:t,validationErrors:n})=>({type:o2,payload:{path:e,method:t,validationErrors:n}}),v2=({path:e,method:t})=>({type:s2,payload:{path:e,method:t}}),y2=({pathMethod:e})=>({type:s2,payload:{path:e[0],method:e[1]}}),b2=({pathMethod:e})=>({type:c2,payload:{pathMethod:e}}),x2=e=>(t,...n)=>r=>{if(r.getSystem().specSelectors.isOAS3()){let i=e(t,...n);return typeof i==`function`?i(r):i}return null},S2=x2(((e,t)=>{let n=t?[t,`selectedServer`]:[`selectedServer`];return e.getIn(n)||``})),C2=x2(((e,t,n)=>e.getIn([`requestData`,t,n,`bodyValue`])||null)),w2=x2(((e,t,n)=>e.getIn([`requestData`,t,n,`retainBodyValue`])||!1)),T2=(e,t,n)=>e=>{let{oas3Selectors:r,specSelectors:i,fn:a}=e.getSystem();if(i.isOAS3()){let e=r.requestContentType(t,n);if(e)return I0(i.specResolvedSubtree([`paths`,t,n,`requestBody`]),e,r.activeExamplesMember(t,n,`requestBody`,`requestBody`),a)}return null},E2=x2(((e,t,n)=>e=>{let{oas3Selectors:r,specSelectors:i,fn:a}=e,o=!1,s=r.requestContentType(t,n),c=r.requestBodyValue(t,n),l=i.specResolvedSubtree([`paths`,t,n,`requestBody`]);if(!l)return!1;if(H.Map.isMap(c)&&(c=yq(c.mapEntries((e=>H.Map.isMap(e[1])?[e[0],e[1].get(`value`)]:e)).toJS())),H.List.isList(c)&&(c=yq(c)),s){let e=I0(l,s,r.activeExamplesMember(t,n,`requestBody`,`requestBody`),a);o=!!c&&c!==e}return o})),D2=x2(((e,t,n)=>e.getIn([`requestData`,t,n,`bodyInclusion`])||(0,H.Map)())),O2=x2(((e,t,n)=>e.getIn([`requestData`,t,n,`errors`])||null)),k2=x2(((e,t,n,r,i)=>e.getIn([`examples`,t,n,r,i,`activeExample`])||null)),A2=x2(((e,t,n)=>e.getIn([`requestData`,t,n,`requestContentType`])||null)),j2=x2(((e,t,n)=>e.getIn([`requestData`,t,n,`responseContentType`])||null)),M2=x2(((e,t,n)=>{let r;if(typeof t!=`string`){let{server:e,namespace:i}=t;r=i?[i,`serverVariableValues`,e,n]:[`serverVariableValues`,e,n]}else r=[`serverVariableValues`,t,n];return e.getIn(r)||null})),N2=x2(((e,t)=>{let n;if(typeof t!=`string`){let{server:e,namespace:r}=t;n=r?[r,`serverVariableValues`,e]:[`serverVariableValues`,e]}else n=[`serverVariableValues`,t];return e.getIn(n)||(0,H.OrderedMap)()})),P2=x2(((e,t)=>{var n,r;if(typeof t!=`string`){let{server:i,namespace:a}=t;r=i,n=a?e.getIn([a,`serverVariableValues`,r]):e.getIn([`serverVariableValues`,r])}else r=t,n=e.getIn([`serverVariableValues`,r]);n||=(0,H.OrderedMap)();let i=r;return n.map(((e,t)=>{i=i.replace(RegExp(`{${(0,XG.default)(t)}}`,`g`),e)})),i})),F2=function(e){return(...t)=>n=>{let r=n.getSystem().specSelectors.specJson(),i=[...t][1]||[];return!r.getIn([`paths`,...i,`requestBody`,`required`])||e(...t)}}(((e,t)=>((e,t)=>(t||=[],!!e.getIn([`requestData`,...t,`bodyValue`])))(e,t))),I2=(e,{oas3RequiredRequestBodyContentType:t,oas3RequestContentType:n,oas3RequestBodyValue:r})=>{let i=[];if(!H.Map.isMap(r))return i;let a=[];return Object.keys(t.requestContentType).forEach((e=>{e===n&&t.requestContentType[e].forEach((e=>{a.indexOf(e)<0&&a.push(e)}))})),a.forEach((e=>{r.getIn([e,`value`])||i.push(e)})),i},L2=(0,Rf.default)([`get`,`put`,`post`,`delete`,`options`,`head`,`patch`,`trace`]),R2={[Q0]:(e,{payload:{selectedServerUrl:t,namespace:n}})=>{let r=n?[n,`selectedServer`]:[`selectedServer`];return e.setIn(r,t)},[$0]:(e,{payload:{value:t,pathMethod:n}})=>{let[r,i]=n;if(!H.Map.isMap(t))return e.setIn([`requestData`,r,i,`bodyValue`],t);let a=e.getIn([`requestData`,r,i,`bodyValue`])||(0,H.Map)();H.Map.isMap(a)||(a=(0,H.Map)());let o=a,[...s]=t.keys();return s.forEach((e=>{let n=t.getIn([e]);o.has(e)&&H.Map.isMap(n)||(o=o.setIn([e,`value`],n))})),e.setIn([`requestData`,r,i,`bodyValue`],o)},[e2]:(e,{payload:{value:t,pathMethod:n}})=>{let[r,i]=n;return e.setIn([`requestData`,r,i,`retainBodyValue`],t)},[t2]:(e,{payload:{value:t,pathMethod:n,name:r}})=>{let[i,a]=n;return e.setIn([`requestData`,i,a,`bodyInclusion`,r],t)},[n2]:(e,{payload:{name:t,pathMethod:n,contextType:r,contextName:i}})=>{let[a,o]=n;return e.setIn([`examples`,a,o,r,i,`activeExample`],t)},[r2]:(e,{payload:{value:t,pathMethod:n}})=>{let[r,i]=n;return e.setIn([`requestData`,r,i,`requestContentType`],t)},[i2]:(e,{payload:{value:t,path:n,method:r}})=>e.setIn([`requestData`,n,r,`responseContentType`],t),[a2]:(e,{payload:{server:t,namespace:n,key:r,val:i}})=>{let a=n?[n,`serverVariableValues`,t,r]:[`serverVariableValues`,t,r];return e.setIn(a,i)},[o2]:(e,{payload:{path:t,method:n,validationErrors:r}})=>{let i=[];if(i.push(`Required field is not provided`),r.missingBodyValue)return e.setIn([`requestData`,t,n,`errors`],(0,H.fromJS)(i));if(r.missingRequiredKeys&&r.missingRequiredKeys.length>0){let{missingRequiredKeys:a}=r;return e.updateIn([`requestData`,t,n,`bodyValue`],(0,H.fromJS)({}),(e=>a.reduce(((e,t)=>e.setIn([t,`errors`],(0,H.fromJS)(i))),e)))}return console.warn(`unexpected result: SET_REQUEST_BODY_VALIDATE_ERROR`),e},[s2]:(e,{payload:{path:t,method:n}})=>{let r=e.getIn([`requestData`,t,n,`bodyValue`]);if(!H.Map.isMap(r))return e.setIn([`requestData`,t,n,`errors`],(0,H.fromJS)([]));let[...i]=r.keys();return i?e.updateIn([`requestData`,t,n,`bodyValue`],(0,H.fromJS)({}),(e=>i.reduce(((e,t)=>e.setIn([t,`errors`],(0,H.fromJS)([]))),e))):e},[c2]:(e,{payload:{pathMethod:t}})=>{let[n,r]=t,i=e.getIn([`requestData`,n,r,`bodyValue`]);return i?H.Map.isMap(i)?e.setIn([`requestData`,n,r,`bodyValue`],(0,H.Map)()):e.setIn([`requestData`,n,r,`bodyValue`],``):e}};function z2({getSystem:e}){let t=(e=>(t,n=null)=>{let{getConfigs:r,fn:i}=e(),{fileUploadMediaTypes:a}=r();if(typeof n==`string`&&a.some((e=>n.startsWith(e))))return!0;let o=H.Map.isMap(t);if(!o&&!(0,Lf.default)(t))return!1;let s=o?t.get(`format`):t.format;return i.hasSchemaType(t,`string`)&&[`binary`,`byte`].includes(s)})(e);return{components:W0,wrapComponents:Z0,statePlugins:{spec:{wrapSelectors:vK,selectors:bK},auth:{wrapSelectors:yK},oas3:{actions:{...xK},reducers:R2,selectors:{...SK}}},fn:{isFileUploadIntended:t,isFileUploadIntendedOAS30:t}}}var B2=({specSelectors:e,getComponent:t})=>{let n=e.selectWebhooksOperations();if(!n)return null;let r=Object.keys(n),i=t(`OperationContainer`,!0);return r.length===0?null:V.createElement(`div`,{className:`webhooks`},V.createElement(`h2`,null,`Webhooks`),r.map((e=>V.createElement(`div`,{key:`${e}-webhook`},n[e].map((t=>V.createElement(i,{key:`${e}-${t.method}-webhook`,op:t.operation,tag:`webhooks`,method:t.method,path:e,specPath:(0,H.List)(t.specPath),allowTryItOut:!1})))))))},V2=({getComponent:e,specSelectors:t})=>{let n=t.selectLicenseNameField(),r=t.selectLicenseUrl(),i=e(`Link`);return V.createElement(`div`,{className:`info__license`},r?V.createElement(`div`,{className:`info__license__url`},V.createElement(i,{target:`_blank`,href:YY(r)},n)):V.createElement(`span`,null,n))},H2=({getComponent:e,specSelectors:t})=>{let n=t.selectContactNameField(),r=t.selectContactUrl(),i=t.selectContactEmailField(),a=e(`Link`);return V.createElement(`div`,{className:`info__contact`},r&&V.createElement(`div`,null,V.createElement(a,{href:YY(r),target:`_blank`},n,` - Website`)),i&&V.createElement(a,{href:YY(`mailto:${i}`)},r?`Send email to ${n}`:`Contact ${n}`))},U2=({getComponent:e,specSelectors:t})=>{let n=t.version(),r=t.url(),i=t.basePath(),a=t.host(),o=t.selectInfoSummaryField(),s=t.selectInfoDescriptionField(),c=t.selectInfoTitleField(),l=t.selectInfoTermsOfServiceUrl(),u=t.selectExternalDocsUrl(),d=t.selectExternalDocsDescriptionField(),f=t.contact(),p=t.license(),m=e(`Markdown`,!0),h=e(`Link`),g=e(`VersionStamp`),_=e(`OpenAPIVersion`),v=e(`InfoUrl`),y=e(`InfoBasePath`),b=e(`License`,!0),x=e(`Contact`,!0),S=e(`JsonSchemaDialect`,!0);return V.createElement(`div`,{className:`info`},V.createElement(`hgroup`,{className:`main`},V.createElement(`h1`,{className:`title`},c,V.createElement(`span`,null,n&&V.createElement(g,{version:n}),V.createElement(_,{oasVersion:`3.1`}))),(a||i)&&V.createElement(y,{host:a,basePath:i}),r&&V.createElement(v,{getComponent:e,url:r})),o&&V.createElement(`p`,{className:`info__summary`},o),V.createElement(`div`,{className:`info__description description`},V.createElement(m,{source:s})),l&&V.createElement(`div`,{className:`info__tos`},V.createElement(h,{target:`_blank`,href:YY(l)},`Terms of service`)),f.size>0&&V.createElement(x,null),p.size>0&&V.createElement(b,null),u&&V.createElement(h,{className:`info__extdocs`,target:`_blank`,href:YY(u)},d||u),V.createElement(S,null))},W2=({getComponent:e,specSelectors:t})=>{let n=t.selectJsonSchemaDialectField(),r=t.selectJsonSchemaDialectDefault(),i=e(`Link`);return V.createElement(V.Fragment,null,n&&n===r&&V.createElement(`p`,{className:`info__jsonschemadialect`},`JSON Schema dialect:`,` `,V.createElement(i,{target:`_blank`,href:YY(n)},n)),n&&n!==r&&V.createElement(`div`,{className:`error-wrapper`},V.createElement(`div`,{className:`no-margin`},V.createElement(`div`,{className:`errors`},V.createElement(`div`,{className:`errors-wrapper`},V.createElement(`h4`,{className:`center`},`Warning`),V.createElement(`p`,{className:`message`},V.createElement(`strong`,null,`OpenAPI.jsonSchemaDialect`),` field contains a value different from the default value of`,` `,V.createElement(i,{target:`_blank`,href:r},r),`. Values different from the default one are currently not supported. Please either omit the field or provide it with the default value.`))))))},G2=({bypass:e,isSwagger2:t,isOAS3:n,isOAS31:r,alsoShow:i,children:a})=>e?V.createElement(`div`,null,a):t&&(n||r)?V.createElement(`div`,{className:`version-pragma`},i,V.createElement(`div`,{className:`version-pragma__message version-pragma__message--ambiguous`},V.createElement(`div`,null,V.createElement(`h3`,null,`Unable to render this definition`),V.createElement(`p`,null,V.createElement(`code`,null,`swagger`),` and `,V.createElement(`code`,null,`openapi`),` fields cannot be present in the same Swagger or OpenAPI definition. Please remove one of the fields.`),V.createElement(`p`,null,`Supported version fields are `,V.createElement(`code`,null,`swagger: "2.0"`),` and those that match `,V.createElement(`code`,null,`openapi: 3.x.y`),` (for example,`,` `,V.createElement(`code`,null,`openapi: 3.1.0`),`).`)))):t||n||r?V.createElement(`div`,null,a):V.createElement(`div`,{className:`version-pragma`},i,V.createElement(`div`,{className:`version-pragma__message version-pragma__message--missing`},V.createElement(`div`,null,V.createElement(`h3`,null,`Unable to render this definition`),V.createElement(`p`,null,`The provided definition does not specify a valid version field.`),V.createElement(`p`,null,`Please indicate a valid Swagger or OpenAPI version field. Supported version fields are `,V.createElement(`code`,null,`swagger: "2.0"`),` and those that match `,V.createElement(`code`,null,`openapi: 3.x.y`),` (for example,`,` `,V.createElement(`code`,null,`openapi: 3.1.0`),`).`)))),K2=e=>typeof e==`string`&&e.includes(`#/components/schemas/`)?(e=>{let t=e.replace(/~1/g,`/`).replace(/~0/g,`~`);try{return decodeURIComponent(t)}catch{return t}})(e.replace(/^.*#\/components\/schemas\//,``)):null,q2=(0,V.forwardRef)((({schema:e,getComponent:t,onToggle:n=()=>{},specPath:r},i)=>{let a=t(`JSONSchema202012`),o=K2(e.get(`$$ref`)),s=(0,V.useCallback)(((e,t)=>{n(o,t)}),[o,n]);return V.createElement(a,{name:o,schema:e.toJS(),ref:i,onExpand:s,identifier:r.toJS().join(`_`)})})),J2=({specActions:e,specSelectors:t,layoutSelectors:n,layoutActions:r,getComponent:i,getConfigs:a,fn:o})=>{let s=t.selectSchemas(),c=Object.keys(s).length>0,l=[`components`,`schemas`],{docExpansion:u,defaultModelsExpandDepth:d}=a(),f=d>0&&u!==`none`,p=n.isShown(l,f),m=i(`Collapse`),h=i(`JSONSchema202012`),g=i(`ArrowUpIcon`),_=i(`ArrowDownIcon`),{getTitle:v}=o.jsonSchema202012.useFn();(0,V.useEffect)((()=>{let r=Object.entries(s).some((([e])=>n.isShown([...l,e],!1))),i=p&&(d>1||r),a=t.specResolvedSubtree(l)!=null;i&&!a&&e.requestResolvedSubtree(l)}),[p,d]);let y=(0,V.useCallback)((()=>{r.show(l,!p)}),[p]),b=(0,V.useCallback)((e=>{e!==null&&r.readyToScroll(l,e)}),[]),x=e=>t=>{t!==null&&r.readyToScroll([...l,e],t)},S=n=>(i,a)=>{let o=[...l,n];a?(t.specResolvedSubtree(o)??e.requestResolvedSubtree([...l,n]),r.show(o,!0)):r.show(o,!1)};return!c||d<0?null:V.createElement(`section`,{className:(0,nd.default)(`models`,{"is-open":p}),ref:b},V.createElement(`h4`,null,V.createElement(`button`,{"aria-expanded":p,className:`models-control`,onClick:y},V.createElement(`span`,null,`Schemas`),p?V.createElement(g,null):V.createElement(_,null))),V.createElement(m,{isOpened:p},Object.entries(s).map((([e,t])=>{let n=v(t,{lookup:`basic`})||e;return V.createElement(h,{key:e,ref:x(e),schema:t,name:n,onExpand:S(e)})}))))},Y2=({schema:e,getComponent:t,name:n,authSelectors:r})=>{let i=t(`JumpToPath`,!0),a=r.selectAuthPath(n);return V.createElement(`div`,null,V.createElement(`h4`,null,n,` (mutualTLS) `,V.createElement(i,{path:a})),V.createElement(`p`,null,`Mutual TLS is required by this API/Operation. Certificates are managed via your Operating System and/or your browser.`),V.createElement(`p`,null,e.get(`description`)))},X2=class extends V.Component{constructor(e,t){super(e,t),this.state={}}onAuthChange=e=>{let{name:t}=e;this.setState({[t]:e})};submitAuth=e=>{e.preventDefault();let{authActions:t}=this.props;t.authorizeWithPersistOption(this.state)};logoutClick=e=>{e.preventDefault();let{authActions:t,definitions:n}=this.props,r=n.map(((e,t)=>t)).toArray();this.setState(r.reduce(((e,t)=>(e[t]=``,e)),{})),t.logoutWithPersistOption(r)};close=e=>{e.preventDefault();let{authActions:t}=this.props;t.showDefinitions(!1)};render(){let{definitions:e,getComponent:t,authSelectors:n,errSelectors:r}=this.props,i=t(`AuthItem`),a=t(`oauth2`,!0),o=t(`Button`),s=n.authorized(),c=e.filter(((e,t)=>!!s.get(t))),l=e.filter((e=>e.get(`type`)!==`oauth2`&&e.get(`type`)!==`mutualTLS`)),u=e.filter((e=>e.get(`type`)===`oauth2`)),d=e.filter((e=>e.get(`type`)===`mutualTLS`));return V.createElement(`div`,{className:`auth-container`},l.size>0&&V.createElement(`form`,{onSubmit:this.submitAuth},l.map(((e,a)=>V.createElement(i,{key:a,schema:e,name:a,getComponent:t,onAuthChange:this.onAuthChange,authorized:s,errSelectors:r,authSelectors:n}))).toArray(),V.createElement(`div`,{className:`auth-btn-wrapper`},l.size===c.size?V.createElement(o,{className:`btn modal-btn auth`,onClick:this.logoutClick,"aria-label":`Remove authorization`},`Logout`):V.createElement(o,{type:`submit`,className:`btn modal-btn auth authorize`,"aria-label":`Apply credentials`},`Authorize`),V.createElement(o,{className:`btn modal-btn auth btn-done`,onClick:this.close},`Close`))),u.size>0?V.createElement(`div`,null,V.createElement(`div`,{className:`scope-def`},V.createElement(`p`,null,`Scopes are used to grant an application different levels of access to data on behalf of the end user. Each API may declare one or more scopes.`),V.createElement(`p`,null,`API requires the following scopes. Select which ones you want to grant to Swagger UI.`)),e.filter((e=>e.get(`type`)===`oauth2`)).map(((e,t)=>V.createElement(`div`,{key:t},V.createElement(a,{authorized:s,schema:e,name:t})))).toArray()):null,d.size>0&&V.createElement(`div`,null,d.map(((e,a)=>V.createElement(i,{key:a,schema:e,name:a,getComponent:t,onAuthChange:this.onAuthChange,authorized:s,errSelectors:r,authSelectors:n}))).toArray()))}},Z2=e=>{let t=e.get(`openapi`);return typeof t==`string`&&/^3\.1\.(?:[1-9]\d*|0)$/.test(t)},Q2=e=>(t,...n)=>r=>{if(r.getSystem().specSelectors.isOAS31()){let i=e(t,...n);return typeof i==`function`?i(r):i}return null},$2=e=>(t,n)=>(r,...i)=>{if(n.getSystem().specSelectors.isOAS31()){let a=e(r,...i);return typeof a==`function`?a(t,n):a}return t(...i)},e4=e=>(t,...n)=>r=>{let i=e(t,r,...n);return typeof i==`function`?i(r):i},t4=e=>(t,n)=>r=>n.specSelectors.isOAS31()?V.createElement(e,Xu({},r,{originalComponent:t,getSystem:n.getSystem})):V.createElement(t,r),n4=(e,t)=>{let{fn:n,specSelectors:r}=t;return Object.fromEntries(Object.entries(e).map((([e,t])=>{let i=n[e];return[e,(...e)=>r.isOAS31()?t(...e):typeof i==`function`?i(...e):void 0]})))},r4=t4((({getSystem:e})=>{let t=e().getComponent(`OAS31License`,!0);return V.createElement(t,null)})),i4=t4((({getSystem:e})=>{let t=e().getComponent(`OAS31Contact`,!0);return V.createElement(t,null)})),a4=t4((({getSystem:e})=>{let t=e().getComponent(`OAS31Info`,!0);return V.createElement(t,null)})),o4=(e,{includeReadOnly:t,includeWriteOnly:n})=>{if(!e?.properties)return{};let r=Object.entries(e.properties).filter((([,e])=>(!0!==e?.readOnly||t)&&(!0!==e?.writeOnly||n)));return Object.fromEntries(r)},s4=e=>{if(typeof e!=`function`)return null;let t=e();return()=>[...t,`discriminator`,`xml`,`externalDocs`,`example`,`$$ref`]},c4=t4((({getSystem:e,...t})=>{let{getComponent:n,fn:r,getConfigs:i}=e(),a=i(),o=n(`OAS31Model`),s=n(`withJSONSchema202012SystemContext`);return c4.ModelWithJSONSchemaContext??=s(o,{config:{default$schema:`https://spec.openapis.org/oas/3.1/dialect/base`,defaultExpandedLevels:a.defaultModelExpandDepth,includeReadOnly:t.includeReadOnly,includeWriteOnly:t.includeWriteOnly},fn:{getProperties:r.jsonSchema202012.getProperties,isExpandable:r.jsonSchema202012.isExpandable,getSchemaKeywords:s4(r.jsonSchema202012.getSchemaKeywords)}}),V.createElement(c4.ModelWithJSONSchemaContext,t)})),l4=c4,u4=t4((({getSystem:e})=>{let{getComponent:t,fn:n,getConfigs:r}=e(),i=r();if(u4.ModelsWithJSONSchemaContext)return V.createElement(u4.ModelsWithJSONSchemaContext,null);let a=t(`OAS31Models`,!0),o=t(`withJSONSchema202012SystemContext`);return u4.ModelsWithJSONSchemaContext??=o(a,{config:{default$schema:`https://spec.openapis.org/oas/3.1/dialect/base`,defaultExpandedLevels:i.defaultModelsExpandDepth-1,includeReadOnly:!0,includeWriteOnly:!0},fn:{getProperties:n.jsonSchema202012.getProperties,isExpandable:n.jsonSchema202012.isExpandable,getSchemaKeywords:s4(n.jsonSchema202012.getSchemaKeywords)}}),V.createElement(u4.ModelsWithJSONSchemaContext,null)}));u4.ModelsWithJSONSchemaContext=null;var d4=u4,f4=(e,t)=>e=>{let n=t.specSelectors.isOAS31(),r=t.getComponent(`OAS31VersionPragmaFilter`);return V.createElement(r,Xu({isOAS31:n},e))},p4=t4((({originalComponent:e,...t})=>{let{getComponent:n,schema:r,name:i}=t,a=n(`MutualTLSAuth`,!0);return r.get(`type`)===`mutualTLS`?V.createElement(a,{schema:r,name:i}):V.createElement(e,t)})),m4=t4((({getSystem:e,...t})=>{let n=e().getComponent(`OAS31Auths`,!0);return V.createElement(n,t)})),h4=(0,H.Map)(),g4=U(((e,t)=>t.specSelectors.specJson()),Z2),_4=()=>e=>{let t=e.specSelectors.specJson().get(`webhooks`);return H.Map.isMap(t)?t:h4},v4=U([(e,t)=>t.specSelectors.webhooks(),(e,t)=>t.specSelectors.validOperationMethods(),(e,t)=>t.specSelectors.specResolvedSubtree([`webhooks`])],((e,t)=>e.reduce(((e,n,r)=>{if(!H.Map.isMap(n))return e;let i=n.entrySeq().filter((([e])=>t.includes(e))).map((([e,t])=>({operation:(0,H.Map)({operation:t}),method:e,path:r,specPath:[`webhooks`,r,e]})));return e.concat(i)}),(0,H.List)()).groupBy((e=>e.path)).map((e=>e.toArray())).toObject())),y4=()=>e=>{let t=e.specSelectors.info().get(`license`);return H.Map.isMap(t)?t:h4},b4=()=>e=>e.specSelectors.license().get(`name`,`License`),x4=()=>e=>e.specSelectors.license().get(`url`),S4=U([(e,t)=>t.specSelectors.url(),(e,t)=>t.oas3Selectors.selectedServer(),(e,t)=>t.specSelectors.selectLicenseUrlField()],((e,t,n)=>{if(n)return JY(n,e,{selectedServer:t})})),C4=()=>e=>e.specSelectors.license().get(`identifier`),w4=()=>e=>{let t=e.specSelectors.info().get(`contact`);return H.Map.isMap(t)?t:h4},T4=()=>e=>e.specSelectors.contact().get(`name`,`the developer`),E4=()=>e=>e.specSelectors.contact().get(`email`),D4=()=>e=>e.specSelectors.contact().get(`url`),O4=U([(e,t)=>t.specSelectors.url(),(e,t)=>t.oas3Selectors.selectedServer(),(e,t)=>t.specSelectors.selectContactUrlField()],((e,t,n)=>{if(n)return JY(n,e,{selectedServer:t})})),k4=()=>e=>e.specSelectors.info().get(`title`),A4=()=>e=>e.specSelectors.info().get(`summary`),j4=()=>e=>e.specSelectors.info().get(`description`),M4=()=>e=>e.specSelectors.info().get(`termsOfService`),N4=U([(e,t)=>t.specSelectors.url(),(e,t)=>t.oas3Selectors.selectedServer(),(e,t)=>t.specSelectors.selectInfoTermsOfServiceField()],((e,t,n)=>{if(n)return JY(n,e,{selectedServer:t})})),P4=()=>e=>e.specSelectors.externalDocs().get(`description`),F4=()=>e=>e.specSelectors.externalDocs().get(`url`),I4=U([(e,t)=>t.specSelectors.url(),(e,t)=>t.oas3Selectors.selectedServer(),(e,t)=>t.specSelectors.selectExternalDocsUrlField()],((e,t,n)=>{if(n)return JY(n,e,{selectedServer:t})})),L4=()=>e=>e.specSelectors.specJson().get(`jsonSchemaDialect`),R4=()=>`https://spec.openapis.org/oas/3.1/dialect/base`,z4=U(((e,t)=>t.specSelectors.definitions()),((e,t)=>t.specSelectors.specResolvedSubtree([`components`,`schemas`])),((e,t)=>H.Map.isMap(e)?H.Map.isMap(t)?Object.entries(e.toJS()).reduce(((e,[n,r])=>(e[n]=t.get(n)?.toJS()||r,e)),{}):e.toJS():{})),B4=(e,t)=>(n,...r)=>t.specSelectors.isOAS31()||e(...r),V4=$2((()=>(e,t)=>t.oas31Selectors.selectLicenseUrl())),H4=$2((()=>(e,t)=>{let n=t.specSelectors.securityDefinitions(),r=e();return n&&n.entrySeq().forEach((([e,t])=>{t?.get(`type`)===`mutualTLS`&&(r=r.push(new H.Map({[e]:t})))})),r})),U4=U([(e,t)=>t.specSelectors.url(),(e,t)=>t.oas3Selectors.selectedServer(),(e,t)=>t.specSelectors.selectLicenseUrlField(),(e,t)=>t.specSelectors.selectLicenseIdentifierField()],((e,t,n,r)=>n?JY(n,e,{selectedServer:t}):r?`https://spdx.org/licenses/${r}.html`:void 0)),W4=({schema:e,getSystem:t})=>{let{fn:n,getComponent:r}=t(),{hasKeyword:i}=n.jsonSchema202012.useFn(),a=r(`JSONSchema202012JSONViewer`);return i(e,`example`)?V.createElement(a,{name:`Example`,value:e.example,className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--example`}):null},G4=({schema:e,getSystem:t})=>{let n=e?.xml||{},{fn:r,getComponent:i,getConfigs:a}=t(),{showExtensions:o}=a(),{useComponent:s,useIsExpanded:c,usePath:l,useLevel:u}=r.jsonSchema202012,{path:d}=l(`xml`),{isExpanded:f,setExpanded:p,setCollapsed:m}=c(`xml`),[h,g]=u(),_=o?gq(n):[],v=!!(n.name||n.namespace||n.prefix||_.length>0),y=s(`Accordion`),b=s(`ExpandDeepButton`),x=i(`OpenAPI31Extensions`),S=i(`JSONSchema202012PathContext`)(),C=i(`JSONSchema202012LevelContext`)(),w=(0,V.useCallback)((()=>{f?m():p()}),[f,p,m]),T=(0,V.useCallback)(((e,t)=>{t?p({deep:!0}):m({deep:!0})}),[p,m]);return Object.keys(n).length===0?null:V.createElement(S.Provider,{value:d},V.createElement(C.Provider,{value:g},V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--xml`,"data-json-schema-level":h},v?V.createElement(V.Fragment,null,V.createElement(y,{expanded:f,onChange:w},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},`XML`)),V.createElement(b,{expanded:f,onClick:T})):V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},`XML`),!0===n.attribute&&V.createElement(`span`,{className:`json-schema-2020-12__attribute json-schema-2020-12__attribute--muted`},`attribute`),!0===n.wrapped&&V.createElement(`span`,{className:`json-schema-2020-12__attribute json-schema-2020-12__attribute--muted`},`wrapped`),V.createElement(`strong`,{className:`json-schema-2020-12__attribute json-schema-2020-12__attribute--primary`},`object`),V.createElement(`ul`,{className:(0,nd.default)(`json-schema-2020-12-keyword__children`,{"json-schema-2020-12-keyword__children--collapsed":!f})},f&&V.createElement(V.Fragment,null,n.name&&V.createElement(`li`,{className:`json-schema-2020-12-property`},V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword`},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},`name`),V.createElement(`span`,{className:`json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary`},n.name))),n.namespace&&V.createElement(`li`,{className:`json-schema-2020-12-property`},V.createElement(`div`,{className:`json-schema-2020-12-keyword`},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},`namespace`),V.createElement(`span`,{className:`json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary`},n.namespace))),n.prefix&&V.createElement(`li`,{className:`json-schema-2020-12-property`},V.createElement(`div`,{className:`json-schema-2020-12-keyword`},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},`prefix`),V.createElement(`span`,{className:`json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary`},n.prefix)))),_.length>0&&V.createElement(x,{openAPISpecObj:n,openAPIExtensions:_,getSystem:t})))))},K4=({discriminator:e})=>{let t=e?.mapping||{};return Object.keys(t).length===0?null:Object.entries(t).map((([e,t])=>V.createElement(`div`,{key:`${e}-${t}`,className:`json-schema-2020-12-keyword`},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},e),V.createElement(`span`,{className:`json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary`},t))))},q4=({schema:e,getSystem:t})=>{let n=e?.discriminator||{},{fn:r,getComponent:i,getConfigs:a}=t(),{showExtensions:o}=a(),{useComponent:s,useIsExpanded:c,usePath:l,useLevel:u}=r.jsonSchema202012,d=`discriminator`,{path:f}=l(d),{isExpanded:p,setExpanded:m,setCollapsed:h}=c(d),[g,_]=u(),v=o?gq(n):[],y=!!(n.mapping||v.length>0),b=s(`Accordion`),x=s(`ExpandDeepButton`),S=i(`OpenAPI31Extensions`),C=i(`JSONSchema202012PathContext`)(),w=i(`JSONSchema202012LevelContext`)(),T=(0,V.useCallback)((()=>{p?h():m()}),[p,m,h]),E=(0,V.useCallback)(((e,t)=>{t?m({deep:!0}):h({deep:!0})}),[m,h]);return Object.keys(n).length===0?null:V.createElement(C.Provider,{value:f},V.createElement(w.Provider,{value:_},V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--discriminator`,"data-json-schema-level":g},y?V.createElement(V.Fragment,null,V.createElement(b,{expanded:p,onChange:T},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},`Discriminator`)),V.createElement(x,{expanded:p,onClick:E})):V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},`Discriminator`),n.propertyName&&V.createElement(`span`,{className:`json-schema-2020-12__attribute json-schema-2020-12__attribute--muted`},n.propertyName),V.createElement(`strong`,{className:`json-schema-2020-12__attribute json-schema-2020-12__attribute--primary`},`object`),V.createElement(`ul`,{className:(0,nd.default)(`json-schema-2020-12-keyword__children`,{"json-schema-2020-12-keyword__children--collapsed":!p})},p&&V.createElement(`li`,{className:`json-schema-2020-12-property`},V.createElement(K4,{discriminator:n})),v.length>0&&V.createElement(S,{openAPISpecObj:n,openAPIExtensions:v,getSystem:t})))))},J4=({openAPISpecObj:e,getSystem:t,openAPIExtensions:n})=>{let{fn:r}=t(),{useComponent:i}=r.jsonSchema202012,a=i(`JSONViewer`);return n.map((t=>V.createElement(a,{key:t,name:t,value:e[t],className:`json-schema-2020-12-json-viewer-extension-keyword`})))},Y4=({schema:e,getSystem:t})=>{let n=e?.externalDocs||{},{fn:r,getComponent:i,getConfigs:a}=t(),{showExtensions:o}=a(),{useComponent:s,useIsExpanded:c,usePath:l,useLevel:u}=r.jsonSchema202012,d=`externalDocs`,{path:f}=l(d),{isExpanded:p,setExpanded:m,setCollapsed:h}=c(d),[g,_]=u(),v=o?gq(n):[],y=!!(n.description||n.url||v.length>0),b=s(`Accordion`),x=s(`ExpandDeepButton`),S=i(`JSONSchema202012KeywordDescription`),C=i(`Link`),w=i(`OpenAPI31Extensions`),T=i(`JSONSchema202012PathContext`)(),E=i(`JSONSchema202012LevelContext`)(),D=(0,V.useCallback)((()=>{p?h():m()}),[p,m,h]),O=(0,V.useCallback)(((e,t)=>{t?m({deep:!0}):h({deep:!0})}),[m,h]);return Object.keys(n).length===0?null:V.createElement(T.Provider,{value:f},V.createElement(E.Provider,{value:_},V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--externalDocs`,"data-json-schema-level":g},y?V.createElement(V.Fragment,null,V.createElement(b,{expanded:p,onChange:D},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},`External documentation`)),V.createElement(x,{expanded:p,onClick:O})):V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},`External documentation`),V.createElement(`strong`,{className:`json-schema-2020-12__attribute json-schema-2020-12__attribute--primary`},`object`),V.createElement(`ul`,{className:(0,nd.default)(`json-schema-2020-12-keyword__children`,{"json-schema-2020-12-keyword__children--collapsed":!p})},p&&V.createElement(V.Fragment,null,n.description&&V.createElement(`li`,{className:`json-schema-2020-12-property`},V.createElement(S,{schema:n,getSystem:t})),n.url&&V.createElement(`li`,{className:`json-schema-2020-12-property`},V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword`},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},`url`),V.createElement(`span`,{className:`json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary`},V.createElement(C,{target:`_blank`,href:YY(n.url)},n.url))))),v.length>0&&V.createElement(w,{openAPISpecObj:n,openAPIExtensions:v,getSystem:t})))))},X4=t4(({schema:e,getSystem:t})=>{if(!e?.description)return null;let{getComponent:n}=t(),r=n(`Markdown`);return V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--description`},V.createElement(`div`,{className:`json-schema-2020-12-core-keyword__value json-schema-2020-12-core-keyword__value--secondary`},V.createElement(r,{source:e.description})))}),Z4=t4((({schema:e,getSystem:t,originalComponent:n})=>{let{getComponent:r}=t(),i=r(`JSONSchema202012KeywordDiscriminator`),a=r(`JSONSchema202012KeywordXml`),o=r(`JSONSchema202012KeywordExample`),s=r(`JSONSchema202012KeywordExternalDocs`);return V.createElement(V.Fragment,null,V.createElement(n,{schema:e}),V.createElement(i,{schema:e,getSystem:t}),V.createElement(a,{schema:e,getSystem:t}),V.createElement(s,{schema:e,getSystem:t}),V.createElement(o,{schema:e,getSystem:t}))})),Q4=t4(({schema:e,getSystem:t})=>{let{fn:n,getComponent:r}=t(),{useComponent:i,usePath:a}=n.jsonSchema202012,{getDependentRequired:o,getProperties:s}=n.jsonSchema202012.useFn(),c=n.jsonSchema202012.useConfig(),l=Array.isArray(e?.required)?e.required:[],{path:u}=a(`properties`),d=i(`JSONSchema`),f=r(`JSONSchema202012PathContext`)(),p=s(e,c);return Object.keys(p).length===0?null:V.createElement(f.Provider,{value:u},V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--properties`},V.createElement(`ul`,null,Object.entries(p).map((([t,n])=>{let r=l.includes(t),i=o(t,e);return V.createElement(`li`,{key:t,className:(0,nd.default)(`json-schema-2020-12-property`,{"json-schema-2020-12-property--required":r})},V.createElement(d,{name:t,schema:n,dependentRequired:i}))})))))}),$4=function({fn:e,getSystem:t}){if(e.jsonSchema202012){let n=((e,t)=>{let{fn:n}=t();if(typeof e!=`function`)return null;let{hasKeyword:r}=n.jsonSchema202012;return t=>e(t)||r(t,`example`)||t?.xml||t?.discriminator||t?.externalDocs})(e.jsonSchema202012.isExpandable,t);Object.assign(this.fn.jsonSchema202012,{isExpandable:n,getProperties:o4})}if(typeof e.sampleFromSchema==`function`&&e.jsonSchema202012){let n=n4({sampleFromSchema:e.jsonSchema202012.sampleFromSchema,sampleFromSchemaGeneric:e.jsonSchema202012.sampleFromSchemaGeneric,createXMLExample:e.jsonSchema202012.createXMLExample,memoizedSampleFromSchema:e.jsonSchema202012.memoizedSampleFromSchema,memoizedCreateXMLExample:e.jsonSchema202012.memoizedCreateXMLExample,getJsonSampleSchema:e.jsonSchema202012.getJsonSampleSchema,getYamlSampleSchema:e.jsonSchema202012.getYamlSampleSchema,getXmlSampleSchema:e.jsonSchema202012.getXmlSampleSchema,getSampleSchema:e.jsonSchema202012.getSampleSchema,mergeJsonSchema:e.jsonSchema202012.mergeJsonSchema,getSchemaObjectTypeLabel:t=>e.jsonSchema202012.getType(YK(t)),getSchemaObjectType:t=>e.jsonSchema202012.foldType(YK(t)?.type)},t());Object.assign(this.fn,n)}let n=(e=>(t,n=null)=>{let{fn:r}=e();if(r.isFileUploadIntendedOAS30(t,n))return!0;let i=H.Map.isMap(t);if(!i&&!(0,Lf.default)(t))return!1;let a=i?t.get(`contentMediaType`):t.contentMediaType,o=i?t.get(`contentEncoding`):t.contentEncoding;return typeof a==`string`&&a!==``||typeof o==`string`&&o!==``})(t),{isFileUploadIntended:r}=n4({isFileUploadIntended:n},t());if(this.fn.isFileUploadIntended=r,this.fn.isFileUploadIntendedOAS31=n,e.jsonSchema202012){let{hasSchemaType:n}=n4({hasSchemaType:e.jsonSchema202012.hasSchemaType},t());this.fn.hasSchemaType=n}},e3=({fn:e})=>{let t=e.createSystemSelector||e4,n=e.createOnlyOAS31Selector||Q2;return{afterLoad:$4,fn:{isOAS31:Z2,createSystemSelector:e4,createOnlyOAS31Selector:Q2},components:{Webhooks:B2,JsonSchemaDialect:W2,MutualTLSAuth:Y2,OAS31Info:U2,OAS31License:V2,OAS31Contact:H2,OAS31VersionPragmaFilter:G2,OAS31Model:q2,OAS31Models:J2,OAS31Auths:X2,JSONSchema202012KeywordExample:W4,JSONSchema202012KeywordXml:G4,JSONSchema202012KeywordDiscriminator:q4,JSONSchema202012KeywordExternalDocs:Y4,OpenAPI31Extensions:J4},wrapComponents:{InfoContainer:a4,License:r4,Contact:i4,VersionPragmaFilter:f4,Model:l4,Models:d4,AuthItem:p4,auths:m4,JSONSchema202012KeywordDescription:X4,JSONSchema202012KeywordExamples:Z4,JSONSchema202012KeywordProperties:Q4},statePlugins:{auth:{wrapSelectors:{definitionsToAuthorize:H4}},spec:{selectors:{isOAS31:t(g4),license:y4,selectLicenseNameField:b4,selectLicenseUrlField:x4,selectLicenseIdentifierField:n(C4),selectLicenseUrl:t(S4),contact:w4,selectContactNameField:T4,selectContactEmailField:E4,selectContactUrlField:D4,selectContactUrl:t(O4),selectInfoTitleField:k4,selectInfoSummaryField:n(A4),selectInfoDescriptionField:j4,selectInfoTermsOfServiceField:M4,selectInfoTermsOfServiceUrl:t(N4),selectExternalDocsDescriptionField:P4,selectExternalDocsUrlField:F4,selectExternalDocsUrl:t(I4),webhooks:n(_4),selectWebhooksOperations:n(t(v4)),selectJsonSchemaDialectField:L4,selectJsonSchemaDialectDefault:R4,selectSchemas:t(z4)},wrapSelectors:{isOAS3:B4,selectLicenseUrl:V4}},oas31:{selectors:{selectLicenseUrl:n(t(U4))}}}}},t3=Re.default.object,n3=Re.default.bool,r3=(Re.default.oneOfType([t3,n3]),(0,V.createContext)(null));r3.displayName=`JSONSchemaContext`;var i3=(0,V.createContext)(0);i3.displayName=`JSONSchemaLevelContext`;var a3=(0,V.createContext)(new Set),o3=(0,V.createContext)([]),s3=class{static Collapsed=`collapsed`;static Expanded=`expanded`;static DeeplyExpanded=`deeply-expanded`},c3=()=>{let{config:e}=(0,V.useContext)(r3);return e},$=e=>{let{components:t}=(0,V.useContext)(r3);return t[e]||null},l3=(e=void 0)=>{let{fn:t}=(0,V.useContext)(r3);return e===void 0?t:t[e]},u3=()=>{let[,e]=(0,V.useState)(null),{state:t}=(0,V.useContext)(r3);return{state:t,setState:n=>{n(t),e({})}}},d3=()=>{let e=(0,V.useContext)(i3);return[e,e+1]},f3=e=>{let t=(0,V.useContext)(o3),{setState:n}=u3(),r=typeof e==`string`?[...t,e]:t;return{path:r,pathMutator:(e,t={deep:!1})=>{let i=r.toString();t.deep?n(t=>{Object.keys(t.paths).forEach((n=>{n.startsWith(i)&&(t.paths[n]=e)}))}):n(t=>{t.paths[i]=e,e===s3.Collapsed&&Object.keys(t.paths).forEach((e=>{e.startsWith(i)&&t.paths[e]===s3.DeeplyExpanded&&(t.paths[e]=s3.Expanded)}))})}}},p3=e=>{let[t]=d3(),{defaultExpandedLevels:n}=c3(),{path:r,pathMutator:i}=f3(e),{path:a}=f3(),{state:o}=u3(),s=o.paths[r.toString()],c=o.paths[a.toString()]??o.paths[a.slice(0,-1).toString()],l=s??(n-t>0?s3.Expanded:s3.Collapsed),u=l!==s3.Collapsed;return(0,V.useEffect)((()=>{i(c===s3.DeeplyExpanded?s3.DeeplyExpanded:l)}),[c]),{isExpanded:u,setExpanded:(0,V.useCallback)(((e={deep:!1})=>{i(e.deep?s3.DeeplyExpanded:s3.Expanded)}),[]),setCollapsed:(0,V.useCallback)(((e={deep:!1})=>{i(s3.Collapsed,e)}),[])}},m3=(e=void 0)=>{if(e===void 0)return(0,V.useContext)(a3);let t=(0,V.useContext)(a3);return new Set([...t,e])},h3=(0,V.forwardRef)((({schema:e,name:t=``,dependentRequired:n=[],onExpand:r=()=>{},identifier:i=``},a)=>{let o=l3(),s=i||e?.$id||t,{path:c}=f3(s),{isExpanded:l,setExpanded:u,setCollapsed:d}=p3(s),[f,p]=d3(),m=(()=>{let[e]=d3();return e>0})(),h=o.isExpandable(e)||n.length>0,g=(e=>m3().has(e))(e),_=m3(e),v=o.stringifyConstraints(e),y=$(`Accordion`),b=$(`Keyword$schema`),x=$(`Keyword$vocabulary`),S=$(`Keyword$id`),C=$(`Keyword$anchor`),w=$(`Keyword$dynamicAnchor`),T=$(`Keyword$ref`),E=$(`Keyword$dynamicRef`),D=$(`Keyword$defs`),O=$(`Keyword$comment`),k=$(`KeywordAllOf`),A=$(`KeywordAnyOf`),j=$(`KeywordOneOf`),M=$(`KeywordNot`),N=$(`KeywordIf`),P=$(`KeywordThen`),F=$(`KeywordElse`),I=$(`KeywordDependentSchemas`),L=$(`KeywordPrefixItems`),ee=$(`KeywordItems`),R=$(`KeywordContains`),z=$(`KeywordProperties`),B=$(`KeywordPatternProperties`),te=$(`KeywordAdditionalProperties`),ne=$(`KeywordPropertyNames`),re=$(`KeywordUnevaluatedItems`),ie=$(`KeywordUnevaluatedProperties`),ae=$(`KeywordType`),oe=$(`KeywordEnum`),se=$(`KeywordConst`),ce=$(`KeywordConstraint`),le=$(`KeywordDependentRequired`),ue=$(`KeywordContentSchema`),de=$(`KeywordTitle`),fe=$(`KeywordDescription`),pe=$(`KeywordDefault`),me=$(`KeywordDeprecated`),he=$(`KeywordReadOnly`),ge=$(`KeywordWriteOnly`),_e=$(`KeywordExamples`),ve=$(`ExtensionKeywords`),ye=$(`ExpandDeepButton`),be=(0,V.useCallback)(((e,t)=>{t?u():d(),r(e,t,!1)}),[r,u,d]),xe=(0,V.useCallback)(((e,t)=>{t?u({deep:!0}):d({deep:!0}),r(e,t,!0)}),[r,u,d]);return V.createElement(o3.Provider,{value:c},V.createElement(i3.Provider,{value:p},V.createElement(a3.Provider,{value:_},V.createElement(`article`,{ref:a,"data-json-schema-level":f,className:(0,nd.default)(`json-schema-2020-12`,{"json-schema-2020-12--embedded":m,"json-schema-2020-12--circular":g})},V.createElement(`div`,{className:`json-schema-2020-12-head`},h&&!g?V.createElement(V.Fragment,null,V.createElement(y,{expanded:l,onChange:be},V.createElement(de,{title:t,schema:e})),V.createElement(ye,{expanded:l,onClick:xe})):V.createElement(de,{title:t,schema:e}),V.createElement(me,{schema:e}),V.createElement(he,{schema:e}),V.createElement(ge,{schema:e}),V.createElement(ae,{schema:e,isCircular:g}),v.length>0&&v.map((e=>V.createElement(ce,{key:`${e.scope}-${e.value}`,constraint:e})))),V.createElement(`div`,{className:(0,nd.default)(`json-schema-2020-12-body`,{"json-schema-2020-12-body--collapsed":!l})},l&&V.createElement(V.Fragment,null,V.createElement(fe,{schema:e}),!g&&h&&V.createElement(V.Fragment,null,V.createElement(z,{schema:e}),V.createElement(B,{schema:e}),V.createElement(te,{schema:e}),V.createElement(ie,{schema:e}),V.createElement(ne,{schema:e}),V.createElement(k,{schema:e}),V.createElement(A,{schema:e}),V.createElement(j,{schema:e}),V.createElement(M,{schema:e}),V.createElement(N,{schema:e}),V.createElement(P,{schema:e}),V.createElement(F,{schema:e}),V.createElement(I,{schema:e}),V.createElement(L,{schema:e}),V.createElement(ee,{schema:e}),V.createElement(re,{schema:e}),V.createElement(R,{schema:e}),V.createElement(ue,{schema:e})),V.createElement(oe,{schema:e}),V.createElement(se,{schema:e}),V.createElement(le,{schema:e,dependentRequired:n}),V.createElement(pe,{schema:e}),V.createElement(_e,{schema:e}),V.createElement(b,{schema:e}),V.createElement(x,{schema:e}),V.createElement(S,{schema:e}),V.createElement(C,{schema:e}),V.createElement(w,{schema:e}),V.createElement(T,{schema:e}),!g&&h&&V.createElement(D,{schema:e}),V.createElement(E,{schema:e}),V.createElement(O,{schema:e}),V.createElement(ve,{schema:e})))))))})),g3=({schema:e})=>e?.$schema?V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--$schema`},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},`$schema`),V.createElement(`span`,{className:`json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary`},e.$schema)):null,_3=({schema:e})=>{let t=`$vocabulary`,{path:n}=f3(t),{isExpanded:r,setExpanded:i,setCollapsed:a}=p3(t),o=$(`Accordion`),s=(0,V.useCallback)((()=>{r?a():i()}),[r,i,a]);return e?.$vocabulary&&typeof e.$vocabulary==`object`?V.createElement(o3.Provider,{value:n},V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--$vocabulary`},V.createElement(o,{expanded:r,onChange:s},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},`$vocabulary`)),V.createElement(`strong`,{className:`json-schema-2020-12__attribute json-schema-2020-12__attribute--primary`},`object`),V.createElement(`ul`,null,r&&Object.entries(e.$vocabulary).map((([e,t])=>V.createElement(`li`,{key:e,className:(0,nd.default)(`json-schema-2020-12-$vocabulary-uri`,{"json-schema-2020-12-$vocabulary-uri--disabled":!t})},V.createElement(`span`,{className:`json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary`},e))))))):null},v3=({schema:e})=>e?.$id?V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--$id`},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},`$id`),V.createElement(`span`,{className:`json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary`},e.$id)):null,y3=({schema:e})=>e?.$anchor?V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--$anchor`},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},`$anchor`),V.createElement(`span`,{className:`json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary`},e.$anchor)):null,b3=({schema:e})=>e?.$dynamicAnchor?V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--$dynamicAnchor`},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},`$dynamicAnchor`),V.createElement(`span`,{className:`json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary`},e.$dynamicAnchor)):null,x3=({schema:e})=>e?.$ref?V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--$ref`},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},`$ref`),V.createElement(`span`,{className:`json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary`},e.$ref)):null,S3=({schema:e})=>e?.$dynamicRef?V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--$dynamicRef`},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},`$dynamicRef`),V.createElement(`span`,{className:`json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary`},e.$dynamicRef)):null,C3=({schema:e})=>{let t=e?.$defs||{},n=`$defs`,{path:r}=f3(n),{isExpanded:i,setExpanded:a,setCollapsed:o}=p3(n),[s,c]=d3(),l=$(`Accordion`),u=$(`ExpandDeepButton`),d=$(`JSONSchema`),f=(0,V.useCallback)((()=>{i?o():a()}),[i,a,o]),p=(0,V.useCallback)(((e,t)=>{t?a({deep:!0}):o({deep:!0})}),[a,o]);return Object.keys(t).length===0?null:V.createElement(o3.Provider,{value:r},V.createElement(i3.Provider,{value:c},V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--$defs`,"data-json-schema-level":s},V.createElement(l,{expanded:i,onChange:f},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},`$defs`)),V.createElement(u,{expanded:i,onClick:p}),V.createElement(`strong`,{className:`json-schema-2020-12__attribute json-schema-2020-12__attribute--primary`},`object`),V.createElement(`ul`,{className:(0,nd.default)(`json-schema-2020-12-keyword__children`,{"json-schema-2020-12-keyword__children--collapsed":!i})},i&&V.createElement(V.Fragment,null,Object.entries(t).map((([e,t])=>V.createElement(`li`,{key:e,className:`json-schema-2020-12-property`},V.createElement(d,{name:e,schema:t})))))))))},w3=({schema:e})=>e?.$comment?V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--$comment`},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary`},`$comment`),V.createElement(`span`,{className:`json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary`},e.$comment)):null,T3=({schema:e})=>{let t=e?.allOf||[],n=l3(),r=`allOf`,{path:i}=f3(r),{isExpanded:a,setExpanded:o,setCollapsed:s}=p3(r),[c,l]=d3(),u=$(`Accordion`),d=$(`ExpandDeepButton`),f=$(`JSONSchema`),p=$(`KeywordType`),m=(0,V.useCallback)((()=>{a?s():o()}),[a,o,s]),h=(0,V.useCallback)(((e,t)=>{t?o({deep:!0}):s({deep:!0})}),[o,s]);return Array.isArray(t)&&t.length!==0?V.createElement(o3.Provider,{value:i},V.createElement(i3.Provider,{value:l},V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--allOf`,"data-json-schema-level":c},V.createElement(u,{expanded:a,onChange:m},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary`},`All of`)),V.createElement(d,{expanded:a,onClick:h}),V.createElement(p,{schema:{allOf:t}}),V.createElement(`ul`,{className:(0,nd.default)(`json-schema-2020-12-keyword__children`,{"json-schema-2020-12-keyword__children--collapsed":!a})},a&&V.createElement(V.Fragment,null,t.map(((e,t)=>V.createElement(`li`,{key:`#${t}`,className:`json-schema-2020-12-property`},V.createElement(f,{name:`#${t} ${n.getTitle(e)}`,schema:e}))))))))):null},E3=({schema:e})=>{let t=e?.anyOf||[],n=l3(),r=`anyOf`,{path:i}=f3(r),{isExpanded:a,setExpanded:o,setCollapsed:s}=p3(r),[c,l]=d3(),u=$(`Accordion`),d=$(`ExpandDeepButton`),f=$(`JSONSchema`),p=$(`KeywordType`),m=(0,V.useCallback)((()=>{a?s():o()}),[a,o,s]),h=(0,V.useCallback)(((e,t)=>{t?o({deep:!0}):s({deep:!0})}),[o,s]);return Array.isArray(t)&&t.length!==0?V.createElement(o3.Provider,{value:i},V.createElement(i3.Provider,{value:l},V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--anyOf`,"data-json-schema-level":c},V.createElement(u,{expanded:a,onChange:m},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary`},`Any of`)),V.createElement(d,{expanded:a,onClick:h}),V.createElement(p,{schema:{anyOf:t}}),V.createElement(`ul`,{className:(0,nd.default)(`json-schema-2020-12-keyword__children`,{"json-schema-2020-12-keyword__children--collapsed":!a})},a&&V.createElement(V.Fragment,null,t.map(((e,t)=>V.createElement(`li`,{key:`#${t}`,className:`json-schema-2020-12-property`},V.createElement(f,{name:`#${t} ${n.getTitle(e)}`,schema:e}))))))))):null},D3=({schema:e})=>{let t=e?.oneOf||[],n=l3(),r=`oneOf`,{path:i}=f3(r),{isExpanded:a,setExpanded:o,setCollapsed:s}=p3(r),[c,l]=d3(),u=$(`Accordion`),d=$(`ExpandDeepButton`),f=$(`JSONSchema`),p=$(`KeywordType`),m=(0,V.useCallback)((()=>{a?s():o()}),[a,o,s]),h=(0,V.useCallback)(((e,t)=>{t?o({deep:!0}):s({deep:!0})}),[o,s]);return Array.isArray(t)&&t.length!==0?V.createElement(o3.Provider,{value:i},V.createElement(i3.Provider,{value:l},V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--oneOf`,"data-json-schema-level":c},V.createElement(u,{expanded:a,onChange:m},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary`},`One of`)),V.createElement(d,{expanded:a,onClick:h}),V.createElement(p,{schema:{oneOf:t}}),V.createElement(`ul`,{className:(0,nd.default)(`json-schema-2020-12-keyword__children`,{"json-schema-2020-12-keyword__children--collapsed":!a})},a&&V.createElement(V.Fragment,null,t.map(((e,t)=>V.createElement(`li`,{key:`#${t}`,className:`json-schema-2020-12-property`},V.createElement(f,{name:`#${t} ${n.getTitle(e)}`,schema:e}))))))))):null},O3=({schema:e})=>{let t=l3(),n=$(`JSONSchema`);if(!t.hasKeyword(e,`not`))return null;let r=V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary`},`Not`);return V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--not`},V.createElement(n,{name:r,schema:e.not,identifier:`not`}))},k3=({schema:e})=>{let t=l3(),n=$(`JSONSchema`);if(!t.hasKeyword(e,`if`))return null;let r=V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary`},`If`);return V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--if`},V.createElement(n,{name:r,schema:e.if,identifier:`if`}))},A3=({schema:e})=>{let t=l3(),n=$(`JSONSchema`);if(!t.hasKeyword(e,`then`))return null;let r=V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary`},`Then`);return V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--then`},V.createElement(n,{name:r,schema:e.then,identifier:`then`}))},j3=({schema:e})=>{let t=l3(),n=$(`JSONSchema`);if(!t.hasKeyword(e,`else`))return null;let r=V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary`},`Else`);return V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--if`},V.createElement(n,{name:r,schema:e.else,identifier:`else`}))},M3=({schema:e})=>{let t=e?.dependentSchemas||[],n=`dependentSchemas`,{path:r}=f3(n),{isExpanded:i,setExpanded:a,setCollapsed:o}=p3(n),[s,c]=d3(),l=$(`Accordion`),u=$(`ExpandDeepButton`),d=$(`JSONSchema`),f=(0,V.useCallback)((()=>{i?o():a()}),[i,a,o]),p=(0,V.useCallback)(((e,t)=>{t?a({deep:!0}):o({deep:!0})}),[a,o]);return typeof t!=`object`||Object.keys(t).length===0?null:V.createElement(o3.Provider,{value:r},V.createElement(i3.Provider,{value:c},V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--dependentSchemas`,"data-json-schema-level":s},V.createElement(l,{expanded:i,onChange:f},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary`},`Dependent schemas`)),V.createElement(u,{expanded:i,onClick:p}),V.createElement(`strong`,{className:`json-schema-2020-12__attribute json-schema-2020-12__attribute--primary`},`object`),V.createElement(`ul`,{className:(0,nd.default)(`json-schema-2020-12-keyword__children`,{"json-schema-2020-12-keyword__children--collapsed":!i})},i&&V.createElement(V.Fragment,null,Object.entries(t).map((([e,t])=>V.createElement(`li`,{key:e,className:`json-schema-2020-12-property`},V.createElement(d,{name:e,schema:t})))))))))},N3=({schema:e})=>{let t=e?.prefixItems||[],n=l3(),r=`prefixItems`,{path:i}=f3(r),{isExpanded:a,setExpanded:o,setCollapsed:s}=p3(r),[c,l]=d3(),u=$(`Accordion`),d=$(`ExpandDeepButton`),f=$(`JSONSchema`),p=$(`KeywordType`),m=(0,V.useCallback)((()=>{a?s():o()}),[a,o,s]),h=(0,V.useCallback)(((e,t)=>{t?o({deep:!0}):s({deep:!0})}),[o,s]);return Array.isArray(t)&&t.length!==0?V.createElement(o3.Provider,{value:i},V.createElement(i3.Provider,{value:l},V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--prefixItems`,"data-json-schema-level":c},V.createElement(u,{expanded:a,onChange:m},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary`},`Prefix items`)),V.createElement(d,{expanded:a,onClick:h}),V.createElement(p,{schema:{prefixItems:t}}),V.createElement(`ul`,{className:(0,nd.default)(`json-schema-2020-12-keyword__children`,{"json-schema-2020-12-keyword__children--collapsed":!a})},a&&V.createElement(V.Fragment,null,t.map(((e,t)=>V.createElement(`li`,{key:`#${t}`,className:`json-schema-2020-12-property`},V.createElement(f,{name:`#${t} ${n.getTitle(e)}`,schema:e}))))))))):null},P3=({schema:e})=>{let t=l3(),n=$(`JSONSchema`);if(!t.hasKeyword(e,`items`))return null;let r=V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary`},`Items`);return V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--items`},V.createElement(n,{name:r,schema:e.items,identifier:`items`}))},F3=({schema:e})=>{let t=l3(),n=$(`JSONSchema`);if(!t.hasKeyword(e,`contains`))return null;let r=V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary`},`Contains`);return V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--contains`},V.createElement(n,{name:r,schema:e.contains,identifier:`contains`}))},I3=({schema:e})=>{let t=l3(),n=e?.properties||{},r=Array.isArray(e?.required)?e.required:[],i=$(`JSONSchema`),{path:a}=f3(`properties`);return Object.keys(n).length===0?null:V.createElement(o3.Provider,{value:a},V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--properties`},V.createElement(`ul`,null,Object.entries(n).map((([n,a])=>{let o=r.includes(n),s=t.getDependentRequired(n,e);return V.createElement(`li`,{key:n,className:(0,nd.default)(`json-schema-2020-12-property`,{"json-schema-2020-12-property--required":o})},V.createElement(i,{name:n,schema:a,dependentRequired:s}))})))))},L3=({schema:e})=>{let t=e?.patternProperties||{},n=$(`JSONSchema`),{path:r}=f3(`patternProperties`);return Object.keys(t).length===0?null:V.createElement(o3.Provider,{value:r},V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--patternProperties`},V.createElement(`ul`,null,Object.entries(t).map((([e,t])=>V.createElement(`li`,{key:e,className:`json-schema-2020-12-property`},V.createElement(n,{name:e,schema:t})))))))},R3=({schema:e})=>{let t=l3(),n=$(`JSONSchema`);if(!t.hasKeyword(e,`additionalProperties`))return null;let r=V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary`},`Additional properties`);return V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--additionalProperties`},!0===e.additionalProperties?V.createElement(V.Fragment,null,r,V.createElement(`span`,{className:`json-schema-2020-12__attribute json-schema-2020-12__attribute--primary`},`allowed`)):!1===e.additionalProperties?V.createElement(V.Fragment,null,r,V.createElement(`span`,{className:`json-schema-2020-12__attribute json-schema-2020-12__attribute--primary`},`forbidden`)):V.createElement(n,{name:r,schema:e.additionalProperties,identifier:`additionalProperties`}))},z3=({schema:e})=>{let t=l3(),n=$(`JSONSchema`),r=V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary`},`Property names`);return t.hasKeyword(e,`propertyNames`)?V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--propertyNames`},V.createElement(n,{name:r,schema:e.propertyNames,identifier:`propertyNames`})):null},B3=({schema:e})=>{let t=l3(),n=$(`JSONSchema`);if(!t.hasKeyword(e,`unevaluatedItems`))return null;let r=V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary`},`Unevaluated items`);return V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--unevaluatedItems`},V.createElement(n,{name:r,schema:e.unevaluatedItems,identifier:`unevaluatedItems`}))},V3=({schema:e})=>{let t=l3(),n=$(`JSONSchema`);if(!t.hasKeyword(e,`unevaluatedProperties`))return null;let r=V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary`},`Unevaluated properties`);return V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--unevaluatedProperties`},V.createElement(n,{name:r,schema:e.unevaluatedProperties,identifier:`unevaluatedProperties`}))},H3=({schema:e,isCircular:t=!1})=>{let n=l3().getType(e),r=t?` [circular]`:``;return V.createElement(`strong`,{className:`json-schema-2020-12__attribute json-schema-2020-12__attribute--primary`},`${n}${r}`)},U3=({schema:e})=>{let t=$(`JSONViewer`);return Array.isArray(e?.enum)?V.createElement(t,{name:`Enum`,value:e.enum,className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--enum`}):null},W3=({schema:e})=>{let t=l3(),n=$(`JSONViewer`);return t.hasKeyword(e,`const`)?V.createElement(n,{name:`Const`,value:e.const,className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--const`}):null},G3=e=>typeof e==`string`?`${e.charAt(0).toUpperCase()}${e.slice(1)}`:e,K3=e=>(t,{lookup:n=`extended`}={})=>{let r=e();if(t?.title!=null)return r.upperFirst(String(t.title));if(n===`extended`){if(t?.$anchor!=null)return r.upperFirst(String(t.$anchor));if(t?.$id!=null)return String(t.$id)}return``},q3=e=>{let t=(n,r=new WeakSet)=>{let i=e();if(n==null)return`any`;if(i.isBooleanJSONSchema(n))return n?`any`:`never`;if(typeof n!=`object`||r.has(n))return`any`;r.add(n);let{type:a,prefixItems:o,items:s}=n,c=()=>{if(Array.isArray(o)){let e=o.map((e=>t(e,r))),n=s?t(s,r):`any`;return`array<[${e.join(`, `)}], ${n}>`}return s?`array<${t(s,r)}>`:`array`};if(n.not&&t(n.not)===`any`)return`never`;let l=(e,i)=>Array.isArray(n[e])?`(${n[e].map((e=>t(e,r))).join(i)})`:null,u=[Array.isArray(a)?a.map((e=>e===`array`?c():e)).join(` | `):a===`array`?c():[`null`,`boolean`,`object`,`array`,`number`,`integer`,`string`].includes(a)?a:(()=>{if(Object.hasOwn(n,`prefixItems`)||Object.hasOwn(n,`items`)||Object.hasOwn(n,`contains`))return c();if(Object.hasOwn(n,`properties`)||Object.hasOwn(n,`additionalProperties`)||Object.hasOwn(n,`patternProperties`))return`object`;if([`int32`,`int64`].includes(n.format))return`integer`;if([`float`,`double`].includes(n.format))return`number`;if(Object.hasOwn(n,`minimum`)||Object.hasOwn(n,`maximum`)||Object.hasOwn(n,`exclusiveMinimum`)||Object.hasOwn(n,`exclusiveMaximum`)||Object.hasOwn(n,`multipleOf`))return`number | integer`;if(Object.hasOwn(n,`pattern`)||Object.hasOwn(n,`format`)||Object.hasOwn(n,`minLength`)||Object.hasOwn(n,`maxLength`)||Object.hasOwn(n,`contentEncoding`)||Object.hasOwn(n,`contentMediaType`))return`string`;if(n.const!==void 0){if(n.const===null)return`null`;if(typeof n.const==`boolean`)return`boolean`;if(typeof n.const==`number`)return Number.isInteger(n.const)?`integer`:`number`;if(typeof n.const==`string`)return`string`;if(Array.isArray(n.const))return`array`;if(typeof n.const==`object`)return`object`}return null})(),l(`oneOf`,` | `),l(`anyOf`,` | `),l(`allOf`,` & `)].filter(Boolean).join(` | `);return r.delete(n),u||`any`};return t},J3=e=>typeof e==`boolean`,Y3=(e,t)=>typeof e==`object`&&!!e&&Object.hasOwn(e,t),X3=e=>t=>{let n=e();return t?.$schema||t?.$vocabulary||t?.$id||t?.$anchor||t?.$dynamicAnchor||t?.$ref||t?.$dynamicRef||t?.$defs||t?.$comment||t?.allOf||t?.anyOf||t?.oneOf||n.hasKeyword(t,`not`)||n.hasKeyword(t,`if`)||n.hasKeyword(t,`then`)||n.hasKeyword(t,`else`)||t?.dependentSchemas||t?.prefixItems||n.hasKeyword(t,`items`)||n.hasKeyword(t,`contains`)||t?.properties||t?.patternProperties||n.hasKeyword(t,`additionalProperties`)||n.hasKeyword(t,`propertyNames`)||n.hasKeyword(t,`unevaluatedItems`)||n.hasKeyword(t,`unevaluatedProperties`)||t?.description||t?.enum||n.hasKeyword(t,`const`)||n.hasKeyword(t,`contentSchema`)||n.hasKeyword(t,`default`)||t?.examples||n.getExtensionKeywords(t).length>0},Z3=e=>e===null||[`number`,`bigint`,`boolean`].includes(typeof e)?String(e):Array.isArray(e)?`[${e.map(Z3).join(`, `)}]`:JSON.stringify(e),Q3=(e,t,n)=>{let r=typeof t==`number`,i=typeof n==`number`;return r&&i?t===n?`${t} ${e}`:`[${t}, ${n}] ${e}`:r?`≥ ${t} ${e}`:i?`≤ ${n} ${e}`:null},$3=e=>{let t=[],n=(e=>{if(typeof e?.multipleOf!=`number`||e.multipleOf<=0||e.multipleOf===1)return null;let{multipleOf:t}=e;if(Number.isInteger(t))return`multiple of ${t}`;let n=10**t.toString().split(`.`)[1].length;return`multiple of ${t*n}/${n}`})(e);n!==null&&t.push({scope:`number`,value:n});let r=(e=>{let t=e?.minimum,n=e?.maximum,r=e?.exclusiveMinimum,i=e?.exclusiveMaximum,a=typeof t==`number`,o=typeof n==`number`,s=typeof r==`number`,c=typeof i==`number`,l=s&&(!a||ti);return(a||s)&&(o||c)?`${l?`(`:`[`}${l?r:t}, ${u?i:n}${u?`)`:`]`}`:a||s?`${l?`>`:`≥`} ${l?r:t}`:o||c?`${u?`<`:`≤`} ${u?i:n}`:null})(e);r!==null&&t.push({scope:`number`,value:r}),e?.format&&t.push({scope:`string`,value:e.format});let i=Q3(`characters`,e?.minLength,e?.maxLength);i!==null&&t.push({scope:`string`,value:i}),e?.pattern&&t.push({scope:`string`,value:`matches ${e?.pattern}`}),e?.contentMediaType&&t.push({scope:`string`,value:`media type: ${e.contentMediaType}`}),e?.contentEncoding&&t.push({scope:`string`,value:`encoding: ${e.contentEncoding}`});let a=Q3(e?.uniqueItems?`unique items`:`items`,e?.minItems,e?.maxItems);a!==null&&t.push({scope:`array`,value:a}),e?.uniqueItems&&!a&&t.push({scope:`array`,value:`unique`});let o=Q3(`contained items`,e?.minContains,e?.maxContains);o!==null&&t.push({scope:`array`,value:o});let s=Q3(`properties`,e?.minProperties,e?.maxProperties);return s!==null&&t.push({scope:`object`,value:s}),t},e6=(e,t)=>t?.dependentRequired?Array.from(Object.entries(t.dependentRequired).reduce(((t,[n,r])=>(Array.isArray(r)&&r.includes(e)&&t.add(n),t)),new Set)):[],t6=e=>typeof e==`object`&&!!e&&!Array.isArray(e)&&(Object.getPrototypeOf(e)===null||Object.getPrototypeOf(e)===Object.prototype),n6=()=>`$schema.$vocabulary.$id.$anchor.$dynamicAnchor.$dynamicRef.$ref.$defs.$comment.allOf.anyOf.oneOf.not.if.then.else.dependentSchemas.prefixItems.items.contains.properties.patternProperties.additionalProperties.propertyNames.unevaluatedItems.unevaluatedProperties.type.enum.const.multipleOf.maximum.exclusiveMaximum.minimum.exclusiveMinimum.maxLength.minLength.pattern.maxItems.minItems.uniqueItems.maxContains.minContains.maxProperties.minProperties.required.dependentRequired.title.description.default.deprecated.readOnly.writeOnly.examples.format.contentEncoding.contentMediaType.contentSchema`.split(`.`),r6=e=>t=>{let n=e().getSchemaKeywords();return t6(t)?((e,t)=>{let n=new Set(t);return e.filter((e=>!n.has(e)))})(Object.keys(t),n):[]},i6=(e,t)=>{let n=H.Map.isMap(e);if(!n&&!t6(e))return!1;let r=e=>t===e||Array.isArray(t)&&t.includes(e),i=n?e.get(`type`):e.type;return H.List.isList(i)||Array.isArray(i)?i.some((e=>r(e))):r(i)},a6=V.memo(({constraint:e})=>t6(e)&&typeof e.scope==`string`&&typeof e.value==`string`?V.createElement(`span`,{className:`json-schema-2020-12__constraint json-schema-2020-12__constraint--${e.scope}`},e.value):null),o6=({dependentRequired:e})=>Array.isArray(e)&&e.length!==0?V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--dependentRequired`},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary`},`Required when defined`),V.createElement(`ul`,null,e.map((e=>V.createElement(`li`,{key:e},V.createElement(`span`,{className:`json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--warning`},e)))))):null,s6=({schema:e})=>{let t=l3(),n=$(`JSONSchema`);if(!t.hasKeyword(e,`contentSchema`))return null;let r=V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary`},`Content schema`);return V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--contentSchema`},V.createElement(n,{name:r,schema:e.contentSchema,identifier:`contentSchema`}))},c6=({title:e=``,schema:t})=>{let n=l3(),r=e||n.getTitle(t);return r?V.createElement(`div`,{className:`json-schema-2020-12__title`},r):null},l6=({schema:e})=>e?.description?V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--description`},V.createElement(`div`,{className:`json-schema-2020-12-core-keyword__value json-schema-2020-12-core-keyword__value--secondary`},e.description)):null,u6=({schema:e})=>{let t=l3(),n=$(`JSONViewer`);return t.hasKeyword(e,`default`)?V.createElement(n,{name:`Default`,value:e.default,className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--default`}):null},d6=({schema:e})=>!0===e?.deprecated?V.createElement(`span`,{className:`json-schema-2020-12__attribute json-schema-2020-12__attribute--warning`},`deprecated`):null,f6=({schema:e})=>!0===e?.readOnly?V.createElement(`span`,{className:`json-schema-2020-12__attribute json-schema-2020-12__attribute--muted`},`read-only`):null,p6=({schema:e})=>!0===e?.writeOnly?V.createElement(`span`,{className:`json-schema-2020-12__attribute json-schema-2020-12__attribute--muted`},`write-only`):null,m6=({schema:e})=>{let t=e?.examples||[],n=$(`JSONViewer`);return Array.isArray(t)&&t.length!==0?V.createElement(n,{name:`Examples`,value:e.examples,className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--examples`}):null},h6=({schema:e})=>{let t=l3(),n=`ExtensionKeywords`,{path:r}=f3(n),{isExpanded:i,setExpanded:a,setCollapsed:o}=p3(n),[s,c]=d3(),l=$(`Accordion`),u=$(`ExpandDeepButton`),d=$(`JSONViewer`),{showExtensionKeywords:f}=c3(),p=t.getExtensionKeywords(e),m=(0,V.useCallback)((()=>{i?o():a()}),[i,a,o]),h=(0,V.useCallback)(((e,t)=>{t?a({deep:!0}):o({deep:!0})}),[a,o]);return f&&p.length!==0?V.createElement(o3.Provider,{value:r},V.createElement(i3.Provider,{value:c},V.createElement(`div`,{className:`json-schema-2020-12-keyword json-schema-2020-12-keyword--extension-keywords`,"data-json-schema-level":s},V.createElement(l,{expanded:i,onChange:m},V.createElement(`span`,{className:`json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--extension`},`Extension Keywords`)),V.createElement(u,{expanded:i,onClick:h}),V.createElement(`ul`,{className:(0,nd.default)(`json-schema-2020-12-keyword__children`,{"json-schema-2020-12-keyword__children--collapsed":!i})},i&&V.createElement(V.Fragment,null,p.map((t=>V.createElement(d,{key:t,name:t,value:e[t],className:`json-schema-2020-12-json-viewer-extension-keyword`})))))))):null},g6=({name:e,value:t,className:n})=>{let r=l3(),{path:i}=f3(e),{isExpanded:a,setExpanded:o,setCollapsed:s}=p3(e),[c,l]=d3(),u=$(`Accordion`),d=$(`ExpandDeepButton`),f=typeof t==`string`||typeof t==`number`||typeof t==`bigint`||typeof t==`boolean`||typeof t==`symbol`||t==null,p=(e=>t6(e)&&Object.keys(e).length===0)(t)||(e=>Array.isArray(e)&&e.length===0)(t),m=(0,V.useCallback)((()=>{a?s():o()}),[a,o,s]),h=(0,V.useCallback)(((e,t)=>{t?o({deep:!0}):s({deep:!0})}),[o,s]);return f?V.createElement(`div`,{className:(0,nd.default)(`json-schema-2020-12-json-viewer`,n)},V.createElement(`span`,{className:`json-schema-2020-12-json-viewer__name json-schema-2020-12-json-viewer__name--secondary`},e),V.createElement(`span`,{className:`json-schema-2020-12-json-viewer__value json-schema-2020-12-json-viewer__value--secondary`},r.stringify(t))):p?V.createElement(`div`,{className:(0,nd.default)(`json-schema-2020-12-json-viewer`,n)},V.createElement(`span`,{className:`json-schema-2020-12-json-viewer__name json-schema-2020-12-json-viewer__name--secondary`},e),V.createElement(`strong`,{className:`json-schema-2020-12__attribute json-schema-2020-12__attribute--primary`},Array.isArray(t)?`empty array`:`empty object`)):V.createElement(o3.Provider,{value:i},V.createElement(i3.Provider,{value:l},V.createElement(`div`,{className:(0,nd.default)(`json-schema-2020-12-json-viewer`,n),"data-json-schema-level":c},V.createElement(u,{expanded:a,onChange:m},V.createElement(`span`,{className:`json-schema-2020-12-json-viewer__name json-schema-2020-12-json-viewer__name--secondary`},e)),V.createElement(d,{expanded:a,onClick:h}),V.createElement(`strong`,{className:`json-schema-2020-12__attribute json-schema-2020-12__attribute--primary`},Array.isArray(t)?`array`:`object`),V.createElement(`ul`,{className:(0,nd.default)(`json-schema-2020-12-json-viewer__children`,{"json-schema-2020-12-json-viewer__children--collapsed":!a})},a&&V.createElement(V.Fragment,null,Array.isArray(t)?t.map(((e,t)=>V.createElement(`li`,{key:`#${t}`,className:`json-schema-2020-12-property`},V.createElement(g6,{name:`#${t}`,value:e,className:n})))):Object.entries(t).map((([e,t])=>V.createElement(`li`,{key:e,className:`json-schema-2020-12-property`},V.createElement(g6,{name:e,value:t,className:n})))))))))},_6=g6,v6=({expanded:e=!1,children:t,onChange:n})=>{let r=$(`ChevronRightIcon`),i=(0,V.useCallback)((t=>{n(t,!e)}),[e,n]);return V.createElement(`button`,{type:`button`,className:`json-schema-2020-12-accordion`,onClick:i},V.createElement(`div`,{className:`json-schema-2020-12-accordion__children`},t),V.createElement(`span`,{className:(0,nd.default)(`json-schema-2020-12-accordion__icon`,{"json-schema-2020-12-accordion__icon--expanded":e,"json-schema-2020-12-accordion__icon--collapsed":!e})},V.createElement(r,null)))},y6=({expanded:e,onClick:t})=>{let n=(0,V.useCallback)((n=>{t(n,!e)}),[e,t]);return V.createElement(`button`,{type:`button`,className:`json-schema-2020-12-expand-deep-button`,onClick:n},e?`Collapse all`:`Expand all`)},b6=()=>V.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`24`,height:`24`,viewBox:`0 0 24 24`},V.createElement(`path`,{d:`M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z`})),x6=(e,t={})=>{let n={components:{JSONSchema:h3,Keyword$schema:g3,Keyword$vocabulary:_3,Keyword$id:v3,Keyword$anchor:y3,Keyword$dynamicAnchor:b3,Keyword$ref:x3,Keyword$dynamicRef:S3,Keyword$defs:C3,Keyword$comment:w3,KeywordAllOf:T3,KeywordAnyOf:E3,KeywordOneOf:D3,KeywordNot:O3,KeywordIf:k3,KeywordThen:A3,KeywordElse:j3,KeywordDependentSchemas:M3,KeywordPrefixItems:N3,KeywordItems:P3,KeywordContains:F3,KeywordProperties:I3,KeywordPatternProperties:L3,KeywordAdditionalProperties:R3,KeywordPropertyNames:z3,KeywordUnevaluatedItems:B3,KeywordUnevaluatedProperties:V3,KeywordType:H3,KeywordEnum:U3,KeywordConst:W3,KeywordConstraint:a6,KeywordDependentRequired:o6,KeywordContentSchema:s6,KeywordTitle:c6,KeywordDescription:l6,KeywordDefault:u6,KeywordDeprecated:d6,KeywordReadOnly:f6,KeywordWriteOnly:p6,KeywordExamples:m6,ExtensionKeywords:h6,JSONViewer:_6,Accordion:v6,ExpandDeepButton:y6,ChevronRightIcon:b6,...t.components},config:{default$schema:`https://json-schema.org/draft/2020-12/schema`,defaultExpandedLevels:0,showExtensionKeywords:!0,...t.config},fn:{upperFirst:G3,getTitle:K3(l3),getType:q3(l3),isBooleanJSONSchema:J3,hasKeyword:Y3,isExpandable:X3(l3),stringify:Z3,stringifyConstraints:$3,getDependentRequired:e6,getSchemaKeywords:n6,getExtensionKeywords:r6(l3),...t.fn},state:{paths:{}}},r=t=>V.createElement(r3.Provider,{value:n},V.createElement(e,t));return r.contexts={JSONSchemaContext:r3},r.displayName=e.displayName,r},S6=({getSystem:e})=>(t,n={})=>{let{getComponent:r,getConfigs:i}=e(),a=i();return x6(t,{components:{JSONSchema:r(`JSONSchema202012`),Keyword$schema:r(`JSONSchema202012Keyword$schema`),Keyword$vocabulary:r(`JSONSchema202012Keyword$vocabulary`),Keyword$id:r(`JSONSchema202012Keyword$id`),Keyword$anchor:r(`JSONSchema202012Keyword$anchor`),Keyword$dynamicAnchor:r(`JSONSchema202012Keyword$dynamicAnchor`),Keyword$ref:r(`JSONSchema202012Keyword$ref`),Keyword$dynamicRef:r(`JSONSchema202012Keyword$dynamicRef`),Keyword$defs:r(`JSONSchema202012Keyword$defs`),Keyword$comment:r(`JSONSchema202012Keyword$comment`),KeywordAllOf:r(`JSONSchema202012KeywordAllOf`),KeywordAnyOf:r(`JSONSchema202012KeywordAnyOf`),KeywordOneOf:r(`JSONSchema202012KeywordOneOf`),KeywordNot:r(`JSONSchema202012KeywordNot`),KeywordIf:r(`JSONSchema202012KeywordIf`),KeywordThen:r(`JSONSchema202012KeywordThen`),KeywordElse:r(`JSONSchema202012KeywordElse`),KeywordDependentSchemas:r(`JSONSchema202012KeywordDependentSchemas`),KeywordPrefixItems:r(`JSONSchema202012KeywordPrefixItems`),KeywordItems:r(`JSONSchema202012KeywordItems`),KeywordContains:r(`JSONSchema202012KeywordContains`),KeywordProperties:r(`JSONSchema202012KeywordProperties`),KeywordPatternProperties:r(`JSONSchema202012KeywordPatternProperties`),KeywordAdditionalProperties:r(`JSONSchema202012KeywordAdditionalProperties`),KeywordPropertyNames:r(`JSONSchema202012KeywordPropertyNames`),KeywordUnevaluatedItems:r(`JSONSchema202012KeywordUnevaluatedItems`),KeywordUnevaluatedProperties:r(`JSONSchema202012KeywordUnevaluatedProperties`),KeywordType:r(`JSONSchema202012KeywordType`),KeywordEnum:r(`JSONSchema202012KeywordEnum`),KeywordConst:r(`JSONSchema202012KeywordConst`),KeywordConstraint:r(`JSONSchema202012KeywordConstraint`),KeywordDependentRequired:r(`JSONSchema202012KeywordDependentRequired`),KeywordContentSchema:r(`JSONSchema202012KeywordContentSchema`),KeywordTitle:r(`JSONSchema202012KeywordTitle`),KeywordDescription:r(`JSONSchema202012KeywordDescription`),KeywordDefault:r(`JSONSchema202012KeywordDefault`),KeywordDeprecated:r(`JSONSchema202012KeywordDeprecated`),KeywordReadOnly:r(`JSONSchema202012KeywordReadOnly`),KeywordWriteOnly:r(`JSONSchema202012KeywordWriteOnly`),KeywordExamples:r(`JSONSchema202012KeywordExamples`),ExtensionKeywords:r(`JSONSchema202012ExtensionKeywords`),JSONViewer:r(`JSONSchema202012JSONViewer`),Accordion:r(`JSONSchema202012Accordion`),ExpandDeepButton:r(`JSONSchema202012ExpandDeepButton`),ChevronRightIcon:r(`JSONSchema202012ChevronRightIcon`),...n.components},config:{showExtensionKeywords:a.showExtensions,...n.config},fn:{...n.fn}})},C6=({getSystem:e,fn:t})=>{let n=()=>({upperFirst:t.upperFirst,...t.jsonSchema202012});return{components:{JSONSchema202012:h3,JSONSchema202012Keyword$schema:g3,JSONSchema202012Keyword$vocabulary:_3,JSONSchema202012Keyword$id:v3,JSONSchema202012Keyword$anchor:y3,JSONSchema202012Keyword$dynamicAnchor:b3,JSONSchema202012Keyword$ref:x3,JSONSchema202012Keyword$dynamicRef:S3,JSONSchema202012Keyword$defs:C3,JSONSchema202012Keyword$comment:w3,JSONSchema202012KeywordAllOf:T3,JSONSchema202012KeywordAnyOf:E3,JSONSchema202012KeywordOneOf:D3,JSONSchema202012KeywordNot:O3,JSONSchema202012KeywordIf:k3,JSONSchema202012KeywordThen:A3,JSONSchema202012KeywordElse:j3,JSONSchema202012KeywordDependentSchemas:M3,JSONSchema202012KeywordPrefixItems:N3,JSONSchema202012KeywordItems:P3,JSONSchema202012KeywordContains:F3,JSONSchema202012KeywordProperties:I3,JSONSchema202012KeywordPatternProperties:L3,JSONSchema202012KeywordAdditionalProperties:R3,JSONSchema202012KeywordPropertyNames:z3,JSONSchema202012KeywordUnevaluatedItems:B3,JSONSchema202012KeywordUnevaluatedProperties:V3,JSONSchema202012KeywordType:H3,JSONSchema202012KeywordEnum:U3,JSONSchema202012KeywordConst:W3,JSONSchema202012KeywordConstraint:a6,JSONSchema202012KeywordDependentRequired:o6,JSONSchema202012KeywordContentSchema:s6,JSONSchema202012KeywordTitle:c6,JSONSchema202012KeywordDescription:l6,JSONSchema202012KeywordDefault:u6,JSONSchema202012KeywordDeprecated:d6,JSONSchema202012KeywordReadOnly:f6,JSONSchema202012KeywordWriteOnly:p6,JSONSchema202012KeywordExamples:m6,JSONSchema202012ExtensionKeywords:h6,JSONSchema202012JSONViewer:_6,JSONSchema202012Accordion:v6,JSONSchema202012ExpandDeepButton:y6,JSONSchema202012ChevronRightIcon:b6,withJSONSchema202012Context:x6,withJSONSchema202012SystemContext:S6(e()),JSONSchema202012PathContext:()=>o3,JSONSchema202012LevelContext:()=>i3},fn:{upperFirst:G3,jsonSchema202012:{getTitle:K3(n),getType:q3(n),isExpandable:X3(n),isBooleanJSONSchema:J3,hasKeyword:Y3,useFn:l3,useConfig:c3,useComponent:$,useIsExpanded:p3,usePath:f3,useLevel:d3,getSchemaKeywords:n6,getExtensionKeywords:r6(n),hasSchemaType:i6}}}},w6=(e,{sample:t=[]}={})=>((e,t={})=>{let{minItems:n,maxItems:r,uniqueItems:i}=t,{contains:a,minContains:o,maxContains:s}=t,c=[...e];if(typeof a==`object`&&a&&Number.isInteger(o)&&o>1){let e=c.at(0);for(let t=1;t0&&(c=e.slice(0,r)),Number.isInteger(n)&&n>0)for(let e=0;c.length{throw Error(`Not implemented`)},E6=e=>VK()(e),D6=e=>e.at(0),O6=e=>typeof e==`boolean`,k6=e=>(0,Lf.default)(e),A6=e=>O6(e)||k6(e),j6=class{data={};register(e,t){this.data[e]=t}unregister(e){e===void 0?this.data={}:delete this.data[e]}get(e){return this.data[e]}},M6=()=>0,N6=()=>0,P6=()=>.1,F6=()=>.1,I6=()=>`user@example.com`,L6=()=>`실례@example.com`,R6=()=>`example.com`,z6=()=>`실례.com`,B6=()=>`198.51.100.42`,V6=()=>`2001:0db8:5b96:0000:0000:426f:8e17:642a`,H6=()=>`https://example.com/`,U6=()=>`path/index.html`,W6=()=>`https://실례.com/`,G6=()=>`path/실례.html`,K6=()=>`3fa85f64-5717-4562-b3fc-2c963f66afa6`,q6=()=>`https://example.com/dictionary/{term:1}/{term}`,J6=()=>`/a/b/c`,Y6=()=>`1/0`,X6=()=>new Date().toISOString(),Z6=()=>new Date().toISOString().substring(0,10),Q6=()=>new Date().toISOString().substring(11),$6=()=>`P3D`,e8=()=>`********`,t8=()=>`^[a-z]+$`,n8=new class extends j6{#e={int32:M6,int64:N6,float:P6,double:F6,email:I6,"idn-email":L6,hostname:R6,"idn-hostname":z6,ipv4:B6,ipv6:V6,uri:H6,"uri-reference":U6,iri:W6,"iri-reference":G6,uuid:K6,"uri-template":q6,"json-pointer":J6,"relative-json-pointer":Y6,"date-time":X6,date:Z6,time:Q6,duration:$6,password:e8,regex:t8};data={...this.#e};get defaults(){return{...this.#e}}},r8=(e,t)=>typeof t==`function`?n8.register(e,t):t===null?n8.unregister(e):n8.get(e);r8.getDefaults=()=>n8.defaults;var i8=r8,a8=Q(287).Buffer,o8=e=>a8.from(e).toString(`ascii`),s8=Q(287).Buffer,c8=e=>s8.from(e).toString(`utf8`),l8=Q(287).Buffer,u8=e=>l8.from(e).toString(`binary`),d8=e=>{let t=``;for(let n=0;n=33&&r<=60||r>=62&&r<=126||r===9||r===32)t+=e.charAt(n);else if(r===13||r===10)t+=`\r `;else if(r>126){let r=unescape(encodeURIComponent(e.charAt(n)));for(let e=0;ef8.from(e).toString(`hex`),m8=Q(287).Buffer,h8=e=>{let t=m8.from(e).toString(`utf8`),n=`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567`,r=0,i=``,a=0,o=0;for(let e=0;e=5;)i+=n.charAt(a>>>o-5&31),o-=5;o>0&&(i+=n.charAt(a<<5-o&31),r=(8-8*t.length%5)%5);for(let e=0;eg8.from(e).toString(`base64`),v8=Q(287).Buffer,y8=e=>v8.from(e).toString(`base64url`),b8=new class extends j6{#e={"7bit":o8,"8bit":c8,binary:u8,"quoted-printable":d8,base16:p8,base32:h8,base64:_8,base64url:y8};data={...this.#e};get defaults(){return{...this.#e}}},x8=(e,t)=>typeof t==`function`?b8.register(e,t):t===null?b8.unregister(e):b8.get(e);x8.getDefaults=()=>b8.defaults;var S8=x8,C8={"text/plain":()=>`string`,"text/css":()=>`.selector { border: 1px solid red }`,"text/csv":()=>`value1,value2,value3`,"text/html":()=>`

content

`,"text/calendar":()=>`BEGIN:VCALENDAR`,"text/javascript":()=>`console.dir('Hello world!');`,"text/xml":()=>`John Doe`,"text/*":()=>`string`},w8={"image/*":()=>E6(25).toString(`binary`)},T8={"audio/*":()=>E6(25).toString(`binary`)},E8={"video/*":()=>E6(25).toString(`binary`)},D8={"application/json":()=>`{"key":"value"}`,"application/ld+json":()=>`{"name": "John Doe"}`,"application/x-httpd-php":()=>`Hello World!

'; ?>`,"application/rtf":()=>String.raw`{\rtf1\adeflang1025\ansi\ansicpg1252\uc1`,"application/x-sh":()=>`echo "Hello World!"`,"application/xhtml+xml":()=>`

content

`,"application/*":()=>E6(25).toString(`binary`)},O8=new class extends j6{#e={...C8,...w8,...T8,...E8,...D8};data={...this.#e};get defaults(){return{...this.#e}}},k8=(e,t)=>{if(typeof t==`function`)return O8.register(e,t);if(t===null)return O8.unregister(e);let n=e.split(`;`).at(0),r=`${n.split(`/`).at(0)}/*`;return O8.get(e)||O8.get(n)||O8.get(r)};k8.getDefaults=()=>O8.defaults;var A8=k8,j8=(e,t={})=>{let{maxLength:n,minLength:r}=t,i=e;if(Number.isInteger(n)&&n>0&&(i=i.slice(0,n)),Number.isInteger(r)&&r>0){let e=0;for(;i.length{let{contentEncoding:n,contentMediaType:r,contentSchema:i}=e,{pattern:a,format:o}=e,s=S8(n)||Qz.default,c;return c=typeof a==`string`?j8((e=>{try{let t=new Bf.default(e.replace(/(?<=(?{let{format:t}=e,n=i8(t);return typeof n==`function`?n(e):`string`})(e):A6(i)&&typeof r==`string`&&t!==void 0?Array.isArray(t)||typeof t==`object`?JSON.stringify(t):j8(String(t),e):typeof r==`string`?(e=>{let{contentMediaType:t}=e,n=A8(t);return typeof n==`function`?n(e):`string`})(e):j8(`string`,e),s(c)},N8=(e,t={})=>{let{minimum:n,maximum:r,exclusiveMinimum:i,exclusiveMaximum:a}=t,{multipleOf:o}=t,s=Number.isInteger(e)?1:2**-52,c=typeof n==`number`?n:null,l=typeof r==`number`?r:null,u=e;if(typeof i==`number`&&(c=c===null?i+s:Math.max(c,i+s)),typeof a==`number`&&(l=l===null?a-s:Math.min(l,a-s)),u=c>l&&e||c||l||u,typeof o==`number`&&o>0){let e=u%o;u=e===0?u:u+o-e}return u},P8=new Proxy({array:w6,object:T6,string:M8,number:e=>{let{format:t}=e,n;return n=typeof t==`string`?(e=>{let{format:t}=e,n=i8(t);return typeof n==`function`?n(e):0})(e):0,N8(n,e)},integer:e=>{let{format:t}=e,n;return n=typeof t==`string`?(e=>{let{format:t}=e,n=i8(t);if(typeof n==`function`)return n(e);switch(t){case`int32`:return M6();case`int64`:return N6()}return 0})(e):0,N8(n,e)},boolean:e=>typeof e.default!=`boolean`||e.default,null:()=>null},{get:(e,t)=>typeof t==`string`&&Object.hasOwn(e,t)?e[t]:()=>`Unknown Type: ${t}`}),F8=[`array`,`object`,`number`,`integer`,`string`,`boolean`,`null`],I8=e=>{if(!k6(e))return!1;let{examples:t,example:n,default:r}=e;return!!(Array.isArray(t)&&t.length>=1)||r!==void 0||n!==void 0},L8=e=>{if(!k6(e))return null;let{examples:t,example:n,default:r}=e;return Array.isArray(t)&&t.length>=1?t.at(0):r===void 0?n===void 0?void 0:n:r},R8={array:[`items`,`prefixItems`,`contains`,`maxContains`,`minContains`,`maxItems`,`minItems`,`uniqueItems`,`unevaluatedItems`],object:[`properties`,`additionalProperties`,`patternProperties`,`propertyNames`,`minProperties`,`maxProperties`,`required`,`dependentSchemas`,`dependentRequired`,`unevaluatedProperties`],string:[`pattern`,`format`,`minLength`,`maxLength`,`contentEncoding`,`contentMediaType`,`contentSchema`],integer:[`minimum`,`maximum`,`exclusiveMinimum`,`exclusiveMaximum`,`multipleOf`]};R8.number=R8.integer;var z8=`string`,B8=e=>e===void 0?null:e===null?`null`:Array.isArray(e)?`array`:Number.isInteger(e)?`integer`:typeof e,V8=e=>{if(Array.isArray(e)&&e.length>=1){if(e.includes(`array`))return`array`;if(e.includes(`object`))return`object`;{let t=e.filter((e=>e!==`null`)),n=D6(t.length>0?t:e);if(F8.includes(n))return n}}return F8.includes(e)?e:null},H8=(e,t=new WeakSet)=>{if(!k6(e)||t.has(e))return z8;t.add(e);let{type:n,const:r}=e;if(n=V8(n),typeof n!=`string`){let t=Object.keys(R8);e:for(let r=0;rArray.isArray(e[n])?V8(e[n].map((e=>H8(e,t)))):null,i=r(`allOf`),a=r(`anyOf`),o=r(`oneOf`),s=e.not?H8(e.not,t):null;(i||a||o||s)&&(n=V8([i,a,o,s].filter(Boolean)))}if(typeof n!=`string`&&I8(e)){let t=B8(L8(e));n=typeof t==`string`?t:n}return t.delete(e),n||z8},U8=e=>H8(e),W8=e=>O6(e)?(e=>!1===e?{not:{}}:{})(e):k6(e)?e:{},G8=(e,t,n={})=>{if(O6(e)&&!0===e)return!0;if(O6(e)&&!1===e)return!1;if(O6(t)&&!0===t)return!0;if(O6(t)&&!1===t)return!1;if(!A6(e))return t;if(!A6(t))return e;let r={...t,...e};if(t.type&&e.type&&Array.isArray(t.type)&&typeof t.type==`string`){let n=QK(t.type).concat(e.type);r.type=Array.from(new Set(n))}if(Array.isArray(t.required)&&Array.isArray(e.required)&&(r.required=[...new Set([...e.required,...t.required])]),t.properties&&e.properties){let i=new Set([...Object.keys(t.properties),...Object.keys(e.properties)]);r.properties={};for(let a of i){let i=t.properties[a]||{},o=e.properties[a]||{};i.readOnly&&!n.includeReadOnly||i.writeOnly&&!n.includeWriteOnly?r.required=(r.required||[]).filter((e=>e!==a)):r.properties[a]=G8(o,i,n)}}return A6(t.items)&&A6(e.items)&&(r.items=G8(e.items,t.items,n)),A6(t.contains)&&A6(e.contains)&&(r.contains=G8(e.contains,t.contains,n)),A6(t.contentSchema)&&A6(e.contentSchema)&&(r.contentSchema=G8(e.contentSchema,t.contentSchema,n)),r},K8=G8,q8=(e,t={},n=void 0,r=!1)=>{if(e==null&&n===void 0)return;typeof e?.toJS==`function`&&(e=e.toJS()),e=W8(e);let i=n!==void 0||I8(e),a=!i&&Array.isArray(e.oneOf)&&e.oneOf.length>0,o=!i&&Array.isArray(e.anyOf)&&e.anyOf.length>0;if(!i&&(a||o)){let n=W8(D6(a?e.oneOf:e.anyOf));!(e=K8(e,n,t)).xml&&n.xml&&(e.xml=n.xml),I8(e)&&I8(n)&&(i=!0)}let s={},{xml:c,properties:l,additionalProperties:u,items:d,contains:f}=e||{},p=U8(e),{includeReadOnly:m,includeWriteOnly:h}=t;c||={};let g,{name:_,prefix:v,namespace:y}=c,b={};Object.hasOwn(e,`type`)||(e.type=p),r&&(_||=`notagname`,g=(v?`${v}:`:``)+_,y)&&(s[v?`xmlns:${v}`:`xmlns`]=y),r&&(b[g]=[]);let x=XK(l),S,C=0,w=()=>Number.isInteger(e.maxProperties)&&e.maxProperties>0&&C>=e.maxProperties,T=t=>!(Number.isInteger(e.maxProperties)&&e.maxProperties>0)||!w()&&(!(t=>!Array.isArray(e.required)||e.required.length===0||!e.required.includes(t))(t)||e.maxProperties-C-(()=>{if(!Array.isArray(e.required)||e.required.length===0)return 0;let t=0;return r?e.required.forEach((e=>t+=b[e]===void 0?0:1)):e.required.forEach((e=>{t+=b[g]?.find((t=>t[e]!==void 0))===void 0?0:1})),e.required.length-t})()>0);if(S=r?(n,i=void 0)=>{if(e&&x[n]){if(x[n].xml=x[n].xml||{},x[n].xml.attribute){let e=Array.isArray(x[n].enum)?D6(x[n].enum):void 0;if(I8(x[n]))s[x[n].xml.name||n]=L8(x[n]);else if(e!==void 0)s[x[n].xml.name||n]=e;else{let e=W8(x[n]),r=U8(e),a=x[n].xml.name||n;r===`array`?s[a]=q8(x[n],t,i,!1).map((e=>(0,Lf.default)(e)?`UnknownTypeObject`:Array.isArray(e)?`UnknownTypeArray`:e)).join(` `):s[a]=r===`object`?`UnknownTypeObject`:P8[r](e)}return}x[n].xml.name=x[n].xml.name||n}else x[n]||!1===u||(x[n]={xml:{name:n}});let a=q8(x[n],t,i,r);T(n)&&(C++,Array.isArray(a)?b[g]=b[g].concat(a):b[g].push(a))}:(n,i)=>{if(T(n)){if((0,Lf.default)(e.discriminator?.mapping)&&e.discriminator.propertyName===n&&typeof e.$$ref==`string`){for(let t in e.discriminator.mapping)if(e.$$ref.search(e.discriminator.mapping[t])!==-1){b[n]=t;break}}else b[n]=q8(x[n],t,i,r);C++}},i){let i;if(i=n===void 0?L8(e):n,!r){if(typeof i==`number`&&p===`string`)return`${i}`;if(typeof i!=`string`||p===`string`)return i;try{return JSON.parse(i)}catch{return i}}if(p===`array`){if(!Array.isArray(i)){if(typeof i==`string`)return i;i=[i]}let n=[];return k6(d)&&(d.xml=d.xml||c||{},d.xml.name=d.xml.name||c.name,n=i.map((e=>q8(d,t,e,r)))),k6(f)&&(f.xml=f.xml||c||{},f.xml.name=f.xml.name||c.name,n=[q8(f,t,void 0,r),...n]),n=P8.array(e,{sample:n}),c.wrapped?(b[g]=n,(0,Vf.default)(s)||b[g].push({_attr:s})):b=n,b}if(p===`object`){if(typeof i==`string`)return i;for(let e in i)Object.hasOwn(i,e)&&(x[e]?.readOnly&&!m||x[e]?.writeOnly&&!h||(x[e]?.xml?.attribute?s[x[e].xml.name||e]=i[e]:S(e,i[e])));return(0,Vf.default)(s)||b[g].push({_attr:s}),b}return b[g]=(0,Vf.default)(s)?i:[{_attr:s},i],b}if(p===`array`){let n=[];if(k6(f))if(r&&(f.xml=f.xml||e.xml||{},f.xml.name=f.xml.name||c.name),Array.isArray(f.anyOf)){let{anyOf:e,...i}=d;n.push(...f.anyOf.map((e=>q8(K8(e,i,t),t,void 0,r))))}else if(Array.isArray(f.oneOf)){let{oneOf:e,...i}=d;n.push(...f.oneOf.map((e=>q8(K8(e,i,t),t,void 0,r))))}else{if(!(!r||r&&c.wrapped))return q8(f,t,void 0,r);n.push(q8(f,t,void 0,r))}if(k6(d))if(r&&(d.xml=d.xml||e.xml||{},d.xml.name=d.xml.name||c.name),Array.isArray(d.anyOf)){let{anyOf:e,...i}=d;n.push(...d.anyOf.map((e=>q8(K8(e,i,t),t,void 0,r))))}else if(Array.isArray(d.oneOf)){let{oneOf:e,...i}=d;n.push(...d.oneOf.map((e=>q8(K8(e,i,t),t,void 0,r))))}else{if(!(!r||r&&c.wrapped))return q8(d,t,void 0,r);n.push(q8(d,t,void 0,r))}return n=P8.array(e,{sample:n}),r&&c.wrapped?(b[g]=n,(0,Vf.default)(s)||b[g].push({_attr:s}),b):n}if(p===`object`){for(let e in x)Object.hasOwn(x,e)&&(x[e]?.deprecated||x[e]?.readOnly&&!m||x[e]?.writeOnly&&!h||S(e));if(r&&s&&b[g].push({_attr:s}),w())return b;if(O6(u)&&u)r?b[g].push({additionalProp:`Anything can be here`}):b.additionalProp1={},C++;else if(k6(u)){let n=u,i=q8(n,t,void 0,r);if(r&&typeof n?.xml?.name==`string`&&n?.xml?.name!==`notagname`)b[g].push(i);else{let t=n?.[`x-additionalPropertiesName`]||`additionalProp`,a=Number.isInteger(e.minProperties)&&e.minProperties>0&&C{let r=q8(e,t,n,!0);if(r)return typeof r==`string`?r:vX()(r,{declaration:!0,indent:` `})},Y8=(e,t,n)=>q8(e,t,n,!1),X8=(e,t,n)=>[e,JSON.stringify(t),JSON.stringify(n)],Z8=SX(J8,X8),Q8=SX(Y8,X8),$8=new class extends j6{#e={};data={...this.#e};get defaults(){return{...this.#e}}},e5=(e,t)=>(t!==void 0&&$8.register(e,t),$8.get(e)),t5=[{when:/json/,shouldStringifyTypes:[`string`]}],n5=[`object`],r5=e=>(t,n,r,i)=>{let{fn:a}=e(),o=a.jsonSchema202012.memoizedSampleFromSchema(t,n,i),s=typeof o;return(0,Ii.default)(t5.reduce(((e,t)=>t.when.test(r)?[...e,...t.shouldStringifyTypes]:e),n5),(e=>e===s))?JSON.stringify(o,null,2):o},i5=e=>(t,n,r,i)=>{let{fn:a}=e(),o=a.jsonSchema202012.getJsonSampleSchema(t,n,r,i),s;try{s=gl.dump(gl.load(o),{lineWidth:-1},{schema:hl}),s[s.length-1]===` `&&(s=s.slice(0,s.length-1))}catch(e){return console.error(e),`error: could not generate yaml example`}return s.replace(/\t/g,` `)},a5=e=>(t,n,r)=>{let{fn:i}=e();if(t&&!t.xml&&(t.xml={}),t&&!t.xml.name){if(!t.$$ref&&(t.type||t.items||t.properties||t.additionalProperties))return` -`;if(t.$$ref){let e=t.$$ref.match(/\S*\/(\S+)$/);t.xml.name=e[1]}}return i.jsonSchema202012.memoizedCreateXMLExample(t,n,r)},o5=e=>(t,n=``,r={},i=void 0)=>{let{fn:a}=e();return typeof t?.toJS==`function`&&(t=t.toJS()),typeof i?.toJS==`function`&&(i=i.toJS()),/xml/.test(n)?a.jsonSchema202012.getXmlSampleSchema(t,r,i):/(yaml|yml)/.test(n)?a.jsonSchema202012.getYamlSampleSchema(t,r,n,i):a.jsonSchema202012.getJsonSampleSchema(t,r,n,i)},s5=({getSystem:e})=>({fn:{jsonSchema202012:{sampleFromSchema:Y8,sampleFromSchemaGeneric:q8,sampleOptionAPI:e5,sampleEncoderAPI:S8,sampleFormatAPI:i8,sampleMediaTypeAPI:A8,createXMLExample:J8,memoizedSampleFromSchema:Q8,memoizedCreateXMLExample:Z8,getJsonSampleSchema:r5(e),getYamlSampleSchema:i5(e),getXmlSampleSchema:a5(e),getSampleSchema:o5(e),mergeJsonSchema:K8,foldType:V8}}});function c5(){return[d0,z2,C6,s5,e3]}var l5=e=>()=>({fn:e.fn,components:e.components}),u5=e=>{let t=wK()({layout:{layout:e.layout,filter:e.filter},spec:{spec:``,url:e.url},requestSnippets:e.requestSnippets},e.initialState);if(e.initialState)for(let[n,r]of Object.entries(e.initialState))r===void 0&&delete t[n];return{system:{configs:e.configs},plugins:e.presets,state:t}},d5=()=>e=>{let t=e.queryConfigEnabled?(()=>{let e=new URLSearchParams(zK.location.search);return Object.fromEntries(e)})():{};return Object.entries(t).reduce(((e,[t,n])=>(t===`config`?e.configUrl=n:t===`urls.primaryName`?e[t]=n:e=(0,Wf.default)(e,t,n),e)),{})},f5=({url:e,system:t})=>async n=>{if(!e||typeof t.configsActions?.getConfigByUrl!=`function`)return{};let r=(()=>{let e={};return e.promise=new Promise(((t,n)=>{e.resolve=t,e.reject=n})),e})();return t.configsActions.getConfigByUrl({url:e,loadRemoteConfig:!0,requestInterceptor:n.requestInterceptor,responseInterceptor:n.responseInterceptor},(e=>{r.resolve(e)})),r.promise},p5=()=>()=>{let e={};return globalThis.location&&(e.oauth2RedirectUrl=`${globalThis.location.protocol}//${globalThis.location.host}${globalThis.location.pathname.substring(0,globalThis.location.pathname.lastIndexOf(`/`))}/oauth2-redirect.html`),e},m5=Object.freeze({dom_id:null,domNode:null,spec:{},url:``,urls:null,configUrl:null,layout:`BaseLayout`,docExpansion:`list`,maxDisplayedTags:-1,filter:!1,validatorUrl:`https://validator.swagger.io/validator`,oauth2RedirectUrl:void 0,persistAuthorization:!1,configs:{},displayOperationId:!1,displayRequestDuration:!1,deepLinking:!1,tryItOutEnabled:!1,requestInterceptor:e=>(e.curlOptions=[],e),responseInterceptor:e=>e,showMutatedRequest:!0,defaultModelRendering:`example`,defaultModelExpandDepth:1,defaultModelsExpandDepth:1,showExtensions:!1,showCommonExtensions:!1,withCredentials:!1,requestSnippetsEnabled:!1,requestSnippets:{generators:{curl_bash:{title:`cURL (bash)`,syntax:`bash`},curl_powershell:{title:`cURL (PowerShell)`,syntax:`powershell`},curl_cmd:{title:`cURL (CMD)`,syntax:`bash`}},defaultExpanded:!0,languages:null},supportedSubmitMethods:[`get`,`put`,`post`,`delete`,`options`,`head`,`patch`,`trace`],queryConfigEnabled:!1,presets:[c5],plugins:[],initialState:{},fn:{},components:{},syntaxHighlight:{activated:!0,theme:`agate`},operationsSorter:null,tagsSorter:null,onComplete:null,modelPropertyMacro:null,parameterMacro:null,fileUploadMediaTypes:[`application/octet-stream`,`image/`,`audio/`,`video/`],uncaughtExceptionHandler:null}),h5=(e,t=[])=>Array.isArray(e)?e:t,g5=(e,t=!1)=>!0===e||e===`true`||e===1||e===`1`||!1!==e&&e!==`false`&&e!==0&&e!==`0`&&t,_5=e=>e===null||e===`null`?null:e,v5=e=>g5(e,String(e)),y5=(e,t)=>typeof e==`function`?e:t,b5=e=>Array.isArray(e)?e:null,x5=e=>typeof e==`function`?e:null,S5=e=>e===null||e===`null`?null:String(e),C5=(e,t=-1)=>{let n=parseInt(e,10);return Number.isNaN(n)?t:n},w5=(e,t={})=>(0,Lf.default)(e)?e:t,T5=e=>typeof e==`function`||typeof e==`string`?e:null,E5=e=>String(e),D5={components:{typeCaster:w5},configs:{typeCaster:w5},configUrl:{typeCaster:S5},deepLinking:{typeCaster:g5,defaultValue:m5.deepLinking},defaultModelExpandDepth:{typeCaster:C5,defaultValue:m5.defaultModelExpandDepth},defaultModelRendering:{typeCaster:E5},defaultModelsExpandDepth:{typeCaster:C5,defaultValue:m5.defaultModelsExpandDepth},displayOperationId:{typeCaster:g5,defaultValue:m5.displayOperationId},displayRequestDuration:{typeCaster:g5,defaultValue:m5.displayRequestDuration},docExpansion:{typeCaster:E5},dom_id:{typeCaster:S5},domNode:{typeCaster:_5},fileUploadMediaTypes:{typeCaster:h5,defaultValue:m5.fileUploadMediaTypes},filter:{typeCaster:v5},fn:{typeCaster:w5},initialState:{typeCaster:w5},layout:{typeCaster:E5},maxDisplayedTags:{typeCaster:C5,defaultValue:m5.maxDisplayedTags},modelPropertyMacro:{typeCaster:x5},oauth2RedirectUrl:{typeCaster:e=>e===void 0||e===`undefined`?void 0:String(e)},onComplete:{typeCaster:x5},operationsSorter:{typeCaster:T5},paramaterMacro:{typeCaster:x5},persistAuthorization:{typeCaster:g5,defaultValue:m5.persistAuthorization},plugins:{typeCaster:h5,defaultValue:m5.plugins},presets:{typeCaster:h5,defaultValue:m5.presets},requestInterceptor:{typeCaster:y5,defaultValue:m5.requestInterceptor},requestSnippets:{typeCaster:w5,defaultValue:m5.requestSnippets},requestSnippetsEnabled:{typeCaster:g5,defaultValue:m5.requestSnippetsEnabled},responseInterceptor:{typeCaster:y5,defaultValue:m5.responseInterceptor},showCommonExtensions:{typeCaster:g5,defaultValue:m5.showCommonExtensions},showExtensions:{typeCaster:g5,defaultValue:m5.showExtensions},showMutatedRequest:{typeCaster:g5,defaultValue:m5.showMutatedRequest},spec:{typeCaster:w5,defaultValue:m5.spec},supportedSubmitMethods:{typeCaster:h5,defaultValue:m5.supportedSubmitMethods},syntaxHighlight:{typeCaster:(e,t)=>(0,Lf.default)(e)?e:!1===e||e===`false`||e===0||e===`0`?{activated:!1}:t,defaultValue:m5.syntaxHighlight},"syntaxHighlight.activated":{typeCaster:g5,defaultValue:m5.syntaxHighlight.activated},"syntaxHighlight.theme":{typeCaster:E5},tagsSorter:{typeCaster:T5},tryItOutEnabled:{typeCaster:g5,defaultValue:m5.tryItOutEnabled},url:{typeCaster:E5},urls:{typeCaster:b5},"urls.primaryName":{typeCaster:E5},validatorUrl:{typeCaster:S5},withCredentials:{typeCaster:g5,defaultValue:m5.withCredentials},uncaughtExceptionHandler:{typeCaster:x5}},O5=e=>Object.entries(D5).reduce(((e,[t,{typeCaster:n,defaultValue:r}])=>((0,ZG.default)(e,t)&&(e=(0,QG.default)(t,n((0,Wu.default)(e,t),r),e)),e)),{...e}),k5=(e,...t)=>{let n=Symbol.for(`domNode`),r=Symbol.for(`primaryName`),i=[];for(let e of t){let t={...e};Object.hasOwn(t,`domNode`)&&(n=t.domNode,delete t.domNode),Object.hasOwn(t,`urls.primaryName`)?(r=t[`urls.primaryName`],delete t[`urls.primaryName`]):Array.isArray(t.urls)&&Object.hasOwn(t.urls,`primaryName`)&&(r=t.urls.primaryName,delete t.urls.primaryName),i.push(t)}let a=wK()(e,...i);return n!==Symbol.for(`domNode`)&&(a.domNode=n),r!==Symbol.for(`primaryName`)&&Array.isArray(a.urls)&&(a.urls.primaryName=r),O5(a)};function A5(e){let t=d5()(e),n=p5()(),r=A5.config.merge({},A5.config.defaults,n,e,t),i=u5(r),a=l5(r),o=new Tq(i);o.register([r.plugins,a]);let s=o.getSystem(),c=e=>{o.setConfigs(e),s.configsActions.loaded()},l=e=>{!t.url&&typeof e.spec==`object`&&Object.keys(e.spec).length>0?(s.specActions.updateUrl(``),s.specActions.updateLoadingStatus(`success`),s.specActions.updateSpec(JSON.stringify(e.spec))):typeof s.specActions.download==`function`&&e.url&&!e.urls&&(s.specActions.updateUrl(e.url),s.specActions.download(e.url))},u=e=>{if(e.domNode)s.render(e.domNode,`App`);else if(e.dom_id){let t=document.querySelector(e.dom_id);s.render(t,`App`)}else e.dom_id===null||e.domNode===null||console.error("Skipped rendering: no `dom_id` or `domNode` was specified")};return r.configUrl?((async()=>{let{configUrl:e}=r,n=await f5({url:e,system:s})(r),i=A5.config.merge({},r,n,t);c(i),n!==null&&l(i),u(i)})(),s):(c(r),l(r),u(r),s)}A5.System=Tq,A5.config={defaults:m5,merge:k5,typeCast:O5,typeCastMappings:D5},A5.presets={base:d0,apis:c5},A5.plugins={Auth:hJ,Configs:DJ,DeepLining:PJ,Err:HJ,Filter:WJ,Icons:QJ,JSONSchema5:gX,JSONSchema5Samples:GX,JSONSchema202012:C6,JSONSchema202012Samples:s5,Layout:mY,Logs:hY,OpenAPI30:z2,OpenAPI31:z2,OnComplete:_Y,RequestSnippets:PY,Spec:ZQ,SwaggerClient:$Q,Util:e$,View:l$,ViewLegacy:u$,DownloadUrl:d$,SyntaxHighlighting:x$,Versions:C$,SafeRender:O$};var j5=A5,{config:M5}=j5,N5=e=>{let t=(0,V.useRef)();return(0,V.useEffect)(()=>{t.current=e},[e]),t.current},P5=({spec:e=M5.defaults.spec,url:t=M5.defaults.url,layout:n=M5.defaults.layout,requestInterceptor:r=M5.defaults.requestInterceptor,responseInterceptor:i=M5.defaults.responseInterceptor,supportedSubmitMethods:a=M5.defaults.supportedSubmitMethods,queryConfigEnabled:o=M5.defaults.queryConfigEnabled,plugins:s=M5.defaults.plugins,displayOperationId:c=M5.defaults.displayOperationId,showMutatedRequest:l=M5.defaults.showMutatedRequest,docExpansion:u=M5.defaults.docExpansion,defaultModelExpandDepth:d=M5.defaults.defaultModelExpandDepth,defaultModelsExpandDepth:f=M5.defaults.defaultModelsExpandDepth,defaultModelRendering:p=M5.defaults.defaultModelRendering,presets:m=M5.defaults.presets,deepLinking:h=M5.defaults.deepLinking,showExtensions:g=M5.defaults.showExtensions,showCommonExtensions:_=M5.defaults.showCommonExtensions,filter:v=M5.defaults.filter,requestSnippetsEnabled:y=M5.defaults.requestSnippetsEnabled,requestSnippets:b=M5.defaults.requestSnippets,tryItOutEnabled:x=M5.defaults.tryItOutEnabled,displayRequestDuration:S=M5.defaults.displayRequestDuration,withCredentials:C=M5.defaults.withCredentials,persistAuthorization:w=M5.defaults.persistAuthorization,oauth2RedirectUrl:T=M5.defaults.oauth2RedirectUrl,onComplete:E=null,initialState:D=M5.defaults.initialState,uncaughtExceptionHandler:O=M5.defaults.uncaughtExceptionHandler})=>{let[k,A]=(0,V.useState)(null),j=k?.getComponent(`App`,`root`),M=N5(e),N=N5(t);return(0,V.useEffect)(()=>{let k=j5({plugins:s,spec:e,url:t,layout:n,defaultModelsExpandDepth:f,defaultModelRendering:p,presets:[j5.presets.apis,...m],requestInterceptor:r,responseInterceptor:i,onComplete:()=>{typeof E==`function`&&E(k)},docExpansion:u,supportedSubmitMethods:a,queryConfigEnabled:o,defaultModelExpandDepth:d,displayOperationId:c,tryItOutEnabled:x,displayRequestDuration:S,requestSnippetsEnabled:y,requestSnippets:b,showMutatedRequest:l,deepLinking:h,showExtensions:g,showCommonExtensions:_,filter:v,persistAuthorization:w,withCredentials:C,initialState:D,uncaughtExceptionHandler:O,...typeof T==`string`?{oauth2RedirectUrl:T}:{}});A(k)},[]),(0,V.useEffect)(()=>{k&&(t!==k.specSelectors.url()||t!==N)&&(k.specActions.updateSpec(``),t&&(k.specActions.updateUrl(t),k.specActions.download(t)))},[k,t]),(0,V.useEffect)(()=>{if(k){let t=k.specSelectors.specStr();if(e&&e!==j5.config.defaults.spec&&(e!==t||e!==M)){let t=typeof e==`object`?JSON.stringify(e):e;k.specActions.updateSpec(t)}}},[k,e]),j?V.createElement(j,null):null};P5.System=j5.System,P5.presets=j5.presets,P5.plugins=j5.plugins,P5.config=j5.config;var F5={getApiProtocol:()=>`${window.location.protocol}`,getApiHostName:()=>`${window.location.host}`,getApiHost:()=>`${F5.getApiProtocol()}//${F5.getApiHostName()}`,getApiRootPath:()=>`/api/v0`},I5={[`${F5.getApiRootPath()}/products`]:`products`,[`${F5.getApiRootPath()}/sites`]:`sites`,[`${F5.getApiRootPath()}/releases`]:`releases`,[`${F5.getApiRootPath()}/locations/sites`]:`locationSites`,[`${F5.getApiRootPath()}/taxonomy`]:`taxonomy`},L5=e=>e!=null,R5={requestInterceptor:e=>{let t=new URL(e.url);return t.protocol=F5.getApiProtocol(),t.host=F5.getApiHostName(),t.port=``,{...e,url:t.href}},responseInterceptor:e=>{let t=new URL(e.url);if(!Object.keys(I5).some(e=>t.pathname.startsWith(e)))return e;if(L5(e.body)&&L5(e.body.data)){let{data:n}=e.body,r=Array.isArray(n)&&n.length>3,i={...e.body,data:r?n.slice(0,3):n};delete e.body,delete e.obj,delete e.text,delete e.data;let a=Object.keys(I5).find(e=>t.pathname.startsWith(e)),o=I5[L5(a)?a:``];switch(o===`releases`&&(t.pathname.includes(`products`)?o=`products`:t.pathname.includes(`sites`)&&(o=`sites`)),o){case`products`:if(r)i.data=i.data.map(e=>{let t=e;return Array.isArray(e.changeLogs)&&e.changeLogs.length>3&&(t.changeLogs=e.changeLogs.slice(0,3)),Array.isArray(e.siteCodes)&&e.siteCodes.length>3&&(t.siteCodes=e.siteCodes.slice(0,3)),e});else{let e=i.data,t=Array.isArray(e.changeLogs)&&e.changeLogs.length>3,n=Array.isArray(e.siteCodes)&&e.siteCodes.length>3;i.data={...e,changeLogs:t?e.changeLogs.slice(0,3):e.changeLogs,siteCodes:n?e.siteCodes.slice(0,3):e.siteCodes}}break;case`sites`:if(r)i.data=i.data.map(e=>{let t=e;return Array.isArray(e.dataProducts)&&e.dataProducts.length>3&&(t.dataProducts=e.dataProducts.slice(0,3)),t});else{let e=i.data,t=Array.isArray(e.dataProducts)&&e.dataProducts.length>3;i.data={...e,dataProducts:t?e.dataProducts.slice(0,3):e.dataProducts}}break;default:break}e.body=i,e.obj=i,e.text=JSON.stringify(i),e.data=JSON.stringify(i)}return e}},z5=o((e=>{var t=Symbol.for(`react.transitional.element`);function n(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.jsx=n})),B5=o(((e,t)=>{t.exports=z5()}))(),V5=e=>{let{spec:t}=e;return(0,B5.jsx)(P5,{spec:t,docExpansion:`list`,requestInterceptor:R5.requestInterceptor,responseInterceptor:R5.responseInterceptor})},H5={swagger:`2.0`,info:{version:`0.11.0`,title:`NEON Data API Requests`,description:`Expand the options below, click GET, and then click TRY IT OUT to see example calls.`},basePath:`/api/v0`,consumes:[`application/json`],produces:[`application/json`],securityDefinitions:{"X-API-Token":{type:`apiKey`,name:`X-API-Token`,in:`header`}},security:[{"X-API-Token":[]}],paths:JSON.parse(`{"/products":{"get":{"security":[],"description":"Get information about all data products","tags":["Products"],"operationId":"Get_products_","produces":["application/json"],"parameters":[{"name":"release","in":"query","description":"The name of the release to get availability for","required":false,"type":"string"}],"responses":{"200":{"description":"List of data products","schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/product"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/products/{productCode}":{"get":{"security":[],"description":"Get information about a data product","tags":["Products"],"operationId":"Get_products_productCode_","produces":["application/json"],"parameters":[{"name":"productCode","in":"path","description":"Data product to get","required":true,"type":"string"},{"name":"release","in":"query","description":"The name of the release to get availability for","required":false,"type":"string"}],"responses":{"200":{"description":"Single data product","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/product"}}}},"400":{"description":"Product(s) not found","schema":{"$ref":"#/definitions/error"}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/sites":{"get":{"security":[],"description":"Get information about all field sites","tags":["Sites"],"operationId":"Get_sites_","produces":["application/json"],"parameters":[{"name":"release","in":"query","description":"The name of the release to get availability for","required":false,"type":"string"}],"responses":{"200":{"description":"List of field sites","schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/site"}}}}}}}},"/sites/{siteCode}":{"get":{"security":[],"description":"Get information about a field site","tags":["Sites"],"operationId":"Get_sites:siteCode_","produces":["application/json"],"parameters":[{"name":"siteCode","in":"path","description":"Site to get","required":true,"type":"string"},{"name":"release","in":"query","description":"The name of the release to get availability for","required":false,"type":"string"}],"responses":{"200":{"description":"Single site","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/site"}}}},"400":{"description":"Site(s) not found","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/locations/{locationName}":{"get":{"security":[],"description":"Get information about a location","tags":["Locations"],"operationId":"Get_locations:locationName_","produces":["application/json"],"parameters":[{"name":"locationName","in":"path","description":"Location to get","required":true,"type":"string"},{"name":"history","in":"query","description":"Option to obtain location history information","required":false,"type":"boolean"},{"name":"hierarchy","in":"query","description":"Option to obtain location hierarchy information","required":false,"type":"boolean"},{"name":"locationType","in":"query","description":"\\"When obtaining location hierarchy, specify a type of descendant to query for. For example, to obtain the location hierarchy for all towers at location CPER, utilize: /CPER?hierarchy=true&locationType=TOWER\\"","required":false,"type":"string"}],"responses":{"200":{"description":"Single location","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/location"}}}},"400":{"description":"Location(s) not found","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/locations/sites":{"get":{"security":[],"description":"Get information about the site-level locations","tags":["Locations","Sites"],"operationId":"Get_locations_sites_","produces":["application/json"],"responses":{"200":{"description":"List of locations","schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/location"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/data/{productCode}/{siteCode}/{year-month}":{"get":{"description":"Get files available for a given product/site/month combination","tags":["Data"],"operationId":"Get_data:availability_","produces":["application/json"],"parameters":[{"name":"productCode","in":"path","description":"Product to check for files","required":true,"type":"string"},{"name":"siteCode","in":"path","description":"Site to check for files","required":true,"type":"string"},{"name":"year-month","in":"path","description":"YYYY-MM month to check for files","required":true,"type":"string"},{"name":"package","in":"query","description":"Package type to return, basic or expanded","required":false,"type":"string","enum":["basic","expanded"]},{"name":"release","in":"query","description":"The name of the release to get for","required":false,"type":"string"}],"responses":{"200":{"description":"Available files","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/data"}}}},"400":{"description":"Product, site not found or invalid date range specified","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/data/{productCode}/{siteCode}/{year-month}/{filename}":{"get":{"description":"Get a file for a given product/site/month/filename combination","tags":["Data"],"operationId":"Get_data:availability_file_","produces":["application/octet-stream"],"parameters":[{"name":"productCode","in":"path","description":"Product to check for files","required":true,"type":"string"},{"name":"siteCode","in":"path","description":"Site to check for files","required":true,"type":"string"},{"name":"year-month","in":"path","description":"YYYY-MM month to check for files","required":true,"type":"string"},{"name":"filename","in":"path","description":"The name of the file","required":true,"type":"string"},{"name":"package","in":"query","description":"Package type to return, basic or expanded","required":false,"type":"string","enum":["basic","expanded"]},{"name":"release","in":"query","description":"The name of the release to get for","required":false,"type":"string"}],"responses":{"200":{"description":"Available file data","schema":{"type":"string","format":"binary"}},"302":{"description":"Found available file and redirects to data","schema":{"type":"string","format":"binary"}},"400":{"description":"Invalid file name specified","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/data/package/{productCode}/{siteCode}/{year-month}":{"get":{"description":"Get a data package for a given product/site/month and package combination","tags":["Data"],"operationId":"Get_data:availability_package_","produces":["application/zip"],"parameters":[{"name":"productCode","in":"path","description":"Product to check for files","required":true,"type":"string"},{"name":"siteCode","in":"path","description":"Site to check for files","required":true,"type":"string"},{"name":"year-month","in":"path","description":"YYYY-MM month to check for files","required":true,"type":"string"},{"name":"package","in":"query","description":"Package type to return, basic or expanded","required":false,"type":"string","enum":["basic","expanded"]},{"name":"release","in":"query","description":"The name of the release to get for","required":false,"type":"string"}],"responses":{"200":{"description":"Available data package as zip","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Invalid product, site, or month specified","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/data/query":{"get":{"description":"Get files available for a given product, one or more sites, date range, release, package combination","tags":["Data Query"],"operationId":"Get_data_query:availability_","produces":["application/json"],"parameters":[{"name":"productCode","in":"query","description":"Product code to query for files","required":true,"type":"string"},{"name":"siteCode","in":"query","description":"One or more four letter site codes to query for files","required":true,"type":"string"},{"name":"startDateMonth","in":"query","description":"YYYY-MM start date month to query for files","required":true,"type":"string"},{"name":"endDateMonth","in":"query","description":"YYYY-MM end date month to query for files","required":true,"type":"string"},{"name":"release","in":"query","description":"The name of the release to query for","required":false,"type":"string"},{"name":"package","in":"query","description":"Package type to query, basic or expanded","required":false,"type":"string","enum":["basic","expanded"]},{"name":"includeProvisional","in":"query","description":"Optionally include provisional data in the query","required":false,"type":"boolean"}],"responses":{"200":{"description":"Available files","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/dataQuery"}}}},"400":{"description":"One or more invalid paramaters specified","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}},"post":{"description":"Get files available for a given product, one or more sites, date range, release, package combination","tags":["Data Query"],"operationId":"Post_data_query:availability_","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"DataQueryRequest","in":"body","description":"The data query request","schema":{"type":"object","required":["productCode","siteCodes","startDateMonth","endDateMonth"],"properties":{"productCode":{"type":"string","description":"Product code to query for files"},"siteCodes":{"type":"array","description":"One or more four letter site codes to query for files","items":{"type":"string"}},"startDateMonth":{"type":"string","description":"YYYY-MM start date month to query for files"},"endDateMonth":{"type":"string","description":"YYYY-MM end date month to query for files"},"release":{"type":"string","description":"The name of the release to query for"},"package":{"type":"string","description":"Package type to query, basic or expanded","enum":["basic","expanded"]},"includeProvisional":{"type":"boolean","description":"Optionally include provisional data in the query"}}}}],"responses":{"200":{"description":"Available files","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/dataQuery"}}}},"400":{"description":"One or more invalid paramaters specified","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/releases":{"get":{"security":[],"description":"Get information about all available data releases","tags":["Releases"],"operationId":"Get_releases_","produces":["application/json"],"responses":{"200":{"description":"List of data releases","schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/release"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/releases/{releaseIdentifier}":{"get":{"security":[],"description":"Get information about a data release","tags":["Releases"],"operationId":"Get_releases_releaseIdentifier_","produces":["application/json"],"parameters":[{"name":"releaseIdentifier","in":"path","description":"Release tag or UUID to get information for","required":true,"type":"string"}],"responses":{"200":{"description":"Single data release","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/release"}}}},"400":{"description":"Release(s) not found","schema":{"$ref":"#/definitions/error"}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/releases/{releaseTag}/products":{"get":{"security":[],"description":"Get information about all data products within a specific release","tags":["Releases"],"operationId":"Get_releases_products_","produces":["application/json"],"parameters":[{"name":"releaseTag","in":"path","description":"The name of the release to get availability for","required":true,"type":"string"}],"responses":{"200":{"description":"List of data products","schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/product"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/releases/{releaseTag}/products/{productCode}":{"get":{"security":[],"description":"Get information about a data product within a specific release","tags":["Releases"],"operationId":"Get_releases_products_productCode_","produces":["application/json"],"parameters":[{"name":"releaseTag","in":"path","description":"The name of the release to get availability for","required":true,"type":"string"},{"name":"productCode","in":"path","description":"Data product to get","required":true,"type":"string"}],"responses":{"200":{"description":"Single data product","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/product"}}}},"400":{"description":"Product(s) not found","schema":{"$ref":"#/definitions/error"}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/releases/{releaseTag}/sites":{"get":{"security":[],"description":"Get information about all sites within a specific release","tags":["Releases"],"operationId":"Get_releases_sites_","produces":["application/json"],"parameters":[{"name":"releaseTag","in":"path","description":"The name of the release to get availability for","required":true,"type":"string"}],"responses":{"200":{"description":"List of sites","schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/site"}}}}}}}},"/releases/{releaseTag}/sites/{siteCode}":{"get":{"security":[],"description":"Get information about a field site within a specific release","tags":["Releases"],"operationId":"Get_releases_sites:siteCode_","produces":["application/json"],"parameters":[{"name":"releaseTag","in":"path","description":"The name of the release to get availability for","required":true,"type":"string"},{"name":"siteCode","in":"path","description":"Site to get","required":true,"type":"string"}],"responses":{"200":{"description":"Single site","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/site"}}}},"400":{"description":"Site(s) not found","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/releases/{releaseTag}/data/{productCode}/{siteCode}/{year-month}":{"get":{"description":"Get files available for a given release and product/site/month combination","tags":["Releases"],"operationId":"Get_releases_data:availability_","produces":["application/json"],"parameters":[{"name":"releaseTag","in":"path","description":"The name of the release to get availability for","required":true,"type":"string"},{"name":"productCode","in":"path","description":"Product to check for files","required":true,"type":"string"},{"name":"siteCode","in":"path","description":"Site to check for files","required":true,"type":"string"},{"name":"year-month","in":"path","description":"YYYY-MM month to check for files","required":true,"type":"string"},{"name":"package","in":"query","description":"Package type to return, basic or expanded","required":false,"type":"string","enum":["basic","expanded"]}],"responses":{"200":{"description":"Available files","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/data"}}}},"400":{"description":"Product, site not found or invalid date range specified","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/releases/{releaseTag}/data/{productCode}/{siteCode}/{year-month}/{filename}":{"get":{"description":"Get a file for a given release and product/site/month/filename combination","tags":["Releases"],"operationId":"Get_releases_data:availability_file_","produces":["application/octet-stream"],"parameters":[{"name":"releaseTag","in":"path","description":"The name of the release to get availability for","required":true,"type":"string"},{"name":"productCode","in":"path","description":"Product to check for files","required":true,"type":"string"},{"name":"siteCode","in":"path","description":"Site to check for files","required":true,"type":"string"},{"name":"year-month","in":"path","description":"YYYY-MM month to check for files","required":true,"type":"string"},{"name":"filename","in":"path","description":"The name of the file","required":true,"type":"string"},{"name":"package","in":"query","description":"Package type to return, basic or expanded","required":false,"type":"string","enum":["basic","expanded"]}],"responses":{"200":{"description":"Available file data","schema":{"type":"string","format":"binary"}},"302":{"description":"Found available file and redirects to data","schema":{"type":"string","format":"binary"}},"400":{"description":"Invalid file name specified","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/releases/{releaseTag}/data/package/{productCode}/{siteCode}/{year-month}":{"get":{"description":"Get a data package for a given release and product/site/month and package combination","tags":["Releases"],"operationId":"Get_releases_data:availability_package_","produces":["application/zip"],"parameters":[{"name":"releaseTag","in":"path","description":"The name of the release to get availability for","required":true,"type":"string"},{"name":"productCode","in":"path","description":"Product to check for files","required":true,"type":"string"},{"name":"siteCode","in":"path","description":"Site to check for files","required":true,"type":"string"},{"name":"year-month","in":"path","description":"YYYY-MM month to check for files","required":true,"type":"string"},{"name":"package","in":"query","description":"Package type to return, basic or expanded","required":false,"type":"string","enum":["basic","expanded"]}],"responses":{"200":{"description":"Available data package as zip","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Invalid product, site, or month specified","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/samples/view":{"get":{"description":"For a given sample identifier, get a list of sample custody events as well as any parent and child sample identifiers that currently exist.","tags":["Samples"],"operationId":"Get_samplesByTagClass","produces":["application/json"],"parameters":[{"name":"sampleTag","in":"query","description":"Sample Tag of interest. Must be used in conjunction with a Sample Class only.","required":false,"type":"string"},{"name":"sampleClass","in":"query","description":"Sample Class of interest. Must be used in conjunction with a Sample Tag only.","required":false,"type":"string"},{"name":"sampleUuid","in":"query","description":"UUID of Sample. Must be used on its own.","required":false,"type":"string"},{"name":"barcode","in":"query","description":"Barcode of Sample. Must be used on its own.","required":false,"type":"string"},{"name":"archiveGuid","in":"query","description":"archiveGuid of Sample. Must be used on its own.","required":false,"type":"string"}],"responses":{"200":{"description":"List of sample views.","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/views"}}}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/error"}},"404":{"description":"Sample Not Found","schema":{"$ref":"#/definitions/error"}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/samples/classes":{"get":{"security":[],"description":"Get a list of Sample Classes for a given Sample Tag","tags":["Samples"],"operationId":"Get_sampleClasses:sampleTag_","produces":["application/json"],"parameters":[{"name":"sampleTag","in":"query","description":"Sample Tag of interest","required":true,"type":"string"}],"responses":{"200":{"description":"List of sample classes for a given Sample Tag","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/classes"}}}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/error"}},"404":{"description":"Sample Not Found","schema":{"$ref":"#/definitions/error"}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/samples/supportedClasses":{"get":{"security":[],"description":"Get a list of sample classes and descriptions currently available","tags":["Samples"],"operationId":"Get_supportedSampleClasses","produces":["application/json"],"responses":{"200":{"description":"List of supported sample classes and their descriptions","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/supportedClasses"}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/samples/download":{"get":{"description":"Get a list of sample views for a given sample identifier and search degree.","tags":["Samples"],"operationId":"Get_samplesDownloadBySampleTagClass","produces":["application/json"],"parameters":[{"name":"sampleTag","in":"query","description":"Sample Tag of interest. Must be used in conjunction with a Sample Class only.","required":false,"type":"string"},{"name":"sampleClass","in":"query","description":"Sample Class of interest. Must be used in conjunction with a Sample Tag only.","required":false,"type":"string"},{"name":"sampleUuid","in":"query","description":"UUID of Sample. Must be used on its own.","required":false,"type":"string"},{"name":"barcode","in":"query","description":"Barcode of Sample. Must be used on its own.","required":false,"type":"string"},{"name":"archiveGuid","in":"query","description":"archiveGuid of Sample. Must be used on its own.","required":false,"type":"string"},{"name":"degree","in":"query","description":"degree of sample search","required":false,"type":"string"}],"responses":{"200":{"description":"list of sample views","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/views"}}}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/error"}},"404":{"description":"Sample Not Found","schema":{"$ref":"#/definitions/error"}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/taxonomy":{"get":{"security":[],"description":"Get taxonomic lists","tags":["Taxonomy"],"operationId":"Get_taxonomy","produces":["application/json"],"parameters":[{"name":"taxonTypeCode","in":"query","description":"Taxon type code to get. Must not be used in conjunction with a taxon rank query parameter.","required":false,"enum":["ALGAE","BEETLE","BIRD","FISH","HERPETOLOGY","MACROINVERTEBRATE","MOSQUITO","MOSQUITO_PATHOGENS","SMALL_MAMMAL","PLANT","TICK"],"type":"string"},{"name":"kingdom","in":"query","description":"The taxon rank to get. Must not be used in conjunction with taxon type code.","required":false,"type":"string"},{"name":"phylum","in":"query","description":"The taxon rank to get. Must not be used in conjunction with taxon type code.","required":false,"type":"string"},{"name":"division","in":"query","description":"The taxon rank to get. Must not be used in conjunction with taxon type code.","required":false,"type":"string"},{"name":"order","in":"query","description":"The taxon rank to get. Must not be used in conjunction with taxon type code.","required":false,"type":"string"},{"name":"class","in":"query","description":"The taxon rank to get. Must not be used in conjunction with taxon type code.","required":false,"type":"string"},{"name":"family","in":"query","description":"The taxon rank to get. Must not be used in conjunction with taxon type code.","required":false,"type":"string"},{"name":"genus","in":"query","description":"The taxon rank to get. Must not be used in conjunction with taxon type code.","required":false,"type":"string"},{"name":"scientificname","in":"query","description":"The taxon rank to get. Must not be used in conjunction with taxon type code.","required":false,"type":"string"},{"name":"verbose","in":"query","description":"Get verbose result set","required":false,"type":"boolean"},{"name":"offset","in":"query","description":"The number of items to skip before starting to collect the result set","required":false,"type":"integer"},{"name":"limit","in":"query","description":"The number of items to limit the result set to","required":false,"type":"integer"},{"name":"stream","in":"query","description":"Option to obtain the result as a stream. Utilize for large requests.","required":false,"type":"boolean"}],"responses":{"200":{"description":"List of taxonomic information","schema":{"type":"object","properties":{"count":{"type":"integer","description":"The number of results in the current paged response"},"total":{"type":"integer","description":"The total number of results for the query"},"prev":{"type":"string","format":"uri","description":"Link to the previous page of results when available"},"next":{"type":"string","format":"uri","description":"Link to the next page of results when available"},"data":{"type":"array","items":{"$ref":"#/definitions/taxonomy"}}}}},"400":{"description":"Taxonomic data does not exist for specified query","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/prototype/datasets":{"get":{"security":[],"description":"Get information about all prototype datasets","tags":["Prototype Datasets"],"operationId":"Get_prototype_datasets_","produces":["application/json"],"responses":{"200":{"description":"List of prototype datasets","schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/prototypeDataset"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/prototype/datasets/{uuid}":{"get":{"security":[],"description":"Get information about a prototype dataset","tags":["Prototype Datasets"],"operationId":"Get_prototype_datasets_uuid_","produces":["application/json"],"parameters":[{"name":"uuid","in":"path","description":"Prototype dataset UUID to get","required":true,"type":"string"}],"responses":{"200":{"description":"Single prototype dataset","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/prototypeDataset"}}}},"400":{"description":"Prototype dataset not found","schema":{"$ref":"#/definitions/error"}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/prototype/data/{uuid}":{"get":{"description":"Get information about data files for the prototype dataset","tags":["Prototype Datasets"],"operationId":"Get_prototype_data_uuid_","produces":["application/json"],"parameters":[{"name":"uuid","in":"path","description":"Prototype dataset UUID to get","required":true,"type":"string"}],"responses":{"200":{"description":"Available data for the prototype dataset","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/prototypeDatasetData"}}}},"400":{"description":"Prototype dataset not found","schema":{"$ref":"#/definitions/error"}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/prototype/data/{uuid}/{filename}":{"get":{"description":"Gets a data file","tags":["Prototype Datasets"],"operationId":"Get_prototype_data_uuid_file_","produces":["application/octet-stream"],"parameters":[{"name":"uuid","in":"path","description":"Prototype dataset UUID to get","required":true,"type":"string"},{"name":"filename","in":"path","description":"The name of the data file","required":true,"type":"string"}],"responses":{"200":{"description":"Available file data","schema":{"type":"string","format":"binary"}},"302":{"description":"Found available file and redirects to data","schema":{"type":"string","format":"binary"}},"400":{"description":"Invalid file name specified","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}}}`),definitions:JSON.parse(`{"product":{"type":"object","properties":{"productCodeLong":{"type":"string","description":"Revisioned, long code for the data product (NEON.DOM.SITE.DP1.00001.001, etc)"},"productCode":{"type":"string","description":"Revisioned, shortened code for the data product (DP1.00001.001, DP1.10072.001, etc)"},"productCodePresentation":{"type":"string","description":"Shortened product code"},"productName":{"type":"string","description":"The name of the data product."},"productDescription":{"type":"string","description":"A brief description of the data product."},"productStatus":{"type":"string","enum":["FUTURE","ACTIVE","RETIRED"],"description":"Future, active, or retired product status"},"productCategory":{"type":"string","description":"Level 1, 2, 3, or 4 data product"},"productHasExpanded":{"type":"boolean","description":"Whether a data product has expanded data"},"productScienceTeamAbbr":{"type":"string","description":"Three letter abbreviation for the science team responsible for the data product"},"productScienceTeam":{"type":"string","description":"Science team responsible for the data product"},"productPublicationFormatType":{"type":"string","description":"Class of publication system used during the publication process; can be independent from productScienceTeam."},"productAbstract":{"type":"string","description":"An abstract for the data product"},"productDesignDescription":{"type":"string","description":"A design description of the data product"},"productStudyDescription":{"type":"string","description":"A study description of the data product"},"productBasicDescription":{"type":"string","description":"A description of the basic package available for download"},"productExpandedDescription":{"type":"string","description":"A description of the expanded package available for download"},"productSensor":{"type":"string","description":"A description of the sensor utilized by the data product"},"productRemarks":{"type":"string","description":"Remarks about the data product"},"themes":{"type":"array","description":"List of themes to which the data product belongs.","items":{"type":"string"}},"changeLogs":{"type":"array","description":"List of issues and associated details for the product.","items":{"type":"object","properties":{"id":{"type":"number","format":"int","description":"The identifier for the issue."},"parentIssueID":{"type":"number","format":"int","description":"The identifier for the parent issue that this issue is associated with."},"issueDate":{"type":"string","format":"date-time","description":"The date and time associated with the creation of the issue."},"resolvedDate":{"type":"string","format":"date-time","description":"The date and time associated with the resolution of the issue."},"dateRangeStart":{"type":"string","format":"date-time","description":"The start of the date interval that this issue impacts the data product."},"dateRangeEnd":{"type":"string","format":"date-time","description":"The end of the date interval that this issue impacts the data product."},"locationAffected":{"type":"string","description":"The locations affected by this issue."},"issue":{"type":"string","description":"The description of the issue."},"resolution":{"type":"string","description":"The description of the resolution applied for this issue."}}}},"specs":{"type":"array","description":"List of documents associated with the data product.","items":{"$ref":"#/definitions/spec"}},"keywords":{"type":"array","description":"List of words and phrases associated with the data product","items":{"type":"string"}},"biorepositoryCollections":{"type":"array","description":"List of NEON biorepository collections associated with the data product","items":{"$ref":"#/definitions/biorepositoryCollection"}},"releases":{"type":"array","description":"List of releases that this product has available data within.","items":{"type":"object","properties":{"release":{"type":"string","description":"The name of the release"},"generationDate":{"type":"string","format":"date-time","description":"The generation date of the release."},"url":{"type":"string","description":"The URL to the API endpoint that references the release."},"productDoi":{"type":"object","description":"A description for the DOI associated with the product and release.","properties":{"generationDate":{"type":"string","format":"date-time","description":"The generation date of the DOI."},"url":{"type":"string","description":"The DOI URL for the product and release."}}}}}},"siteCodes":{"type":"array","description":"List of sites and months of available data","items":{"type":"object","properties":{"siteCode":{"type":"string","description":"Four character code for the site"},"availableMonths":{"type":"array","description":"List of years and months that products are available. Formatted as YYYY-MM.","items":{"type":"string"}},"availableDataUrls":{"type":"array","description":"List of data urls for products that are available.","items":{"type":"string"}},"availableReleases":{"type":"array","description":"List of available releases and months contained within each release.","items":{"type":"object","properties":{"release":{"type":"string","description":"The name of the release."},"availableMonths":{"type":"array","description":"List of years and months that products are available within for this release. Formatted as YYYY-MM.","items":{"type":"string"}}}}}}}}}},"biorepositoryCollection":{"type":"object","properties":{"collectionCode":{"type":"string","description":"The collection code assigned to the collection."},"collectionName":{"type":"string","description":"The name of the collection."},"collectionUrl":{"type":"string","description":"The URL to the API endpoint for the specified collection."},"collectionContentUrl":{"type":"string","description":"The URL to the biorepository collection landing page."},"collectionDownloadUrl":{"type":"string","description":"The URL to download the biorepository collection dataset."}}},"spec":{"type":"object","properties":{"specId":{"type":"string","description":"Document identifier for the associated document."},"specNumber":{"type":"string","description":"The specification number or name for the associated document."},"specType":{"type":"string","description":"The MIME type of the associated document."},"specSize":{"type":"number","format":"int","description":"The size in bytes of the associated document."},"specDescription":{"type":"string","description":"Description of the associated document."}}},"site":{"type":"object","properties":{"siteCode":{"type":"string","description":"Four character code for the site"},"siteName":{"type":"string","description":"Full name for the site"},"siteDescription":{"type":"string","description":"Brief site description"},"siteType":{"type":"string","enum":["CORE","GRADIENT"],"description":"Core or Gradient site"},"siteLatitude":{"type":"number","description":"Point latitude for the site"},"siteLongitude":{"type":"number","description":"Point longitude for the site"},"domainCode":{"type":"string","description":"Three character domain abbreviation (D01, D02, etc) for the domain this site is in"},"stateCode":{"type":"string","description":"Two letter state code that this site is in"},"stateName":{"type":"string","description":"Full name of the state or territory that this site is in"},"domainName":{"type":"string","description":"Brief description for the domain this site is in"},"deimsId":{"type":"string","description":"Dynamic Ecological Information Management System - Site and dataset registry (DEIMS-SDR) ID for the site, see deims.org"},"releases":{"type":"array","description":"List of releases that this site has available data within.","items":{"type":"object","properties":{"release":{"type":"string","description":"The name of the release"},"generationDate":{"type":"string","format":"date-time","description":"The generation date of the release."},"url":{"type":"string","description":"The URL to the API endpoint that references the release."}}}},"dataProducts":{"type":"array","items":{"$ref":"#/definitions/productAvailability"}}}},"productAvailability":{"type":"object","properties":{"dataProductCode":{"type":"string","description":"Revisioned, shortened code for the data product (DP1.00001.001, DP1.10072.001, etc)"},"dataProductTitle":{"type":"string","description":"Full title for the data product."},"availableMonths":{"type":"array","description":"List of years and months that products are available. Formatted as YYYY-MM.","items":{"type":"string"}},"availableDataUrls":{"type":"array","description":"List of data urls for products that are available.","items":{"type":"string"}},"availableReleases":{"type":"array","description":"List of available releases and months contained within each release.","items":{"type":"object","properties":{"release":{"type":"string","description":"The name of the release."},"availableMonths":{"type":"array","description":"List of years and months that products are available within for this release. Formatted as YYYY-MM.","items":{"type":"string"}}}}}}},"data":{"type":"object","properties":{"productCode":{"type":"string","description":"The product code."},"siteCode":{"type":"string","description":"The four letter site code."},"month":{"type":"string","description":"The available month. Formatted as YYYY-MM."},"release":{"type":"string","description":"The name of the associated release."},"packages":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","description":"The type of package."},"url":{"type":"string","description":"The URL to the data package API endpoint."}}}},"files":{"type":"array","items":{"$ref":"#/definitions/file"}},"externalData":{"type":"array","items":{"$ref":"#/definitions/externalData"}}}},"file":{"type":"object","properties":{"name":{"description":"Filename","type":"string"},"size":{"description":"File size in bytes","type":"number","format":"int"},"md5":{"description":"MD5 value in hex","type":"string"},"crc32":{"description":"DEPRECATED. CRC32 value in hex","type":"string"},"crc32c":{"description":"CRC32C value in hex","type":"string"},"url":{"description":"Download URL","type":"string"}}},"externalData":{"type":"object","properties":{"name":{"description":"The name of the external data object.","type":"string"},"type":{"description":"The type of external data link provided.","type":"string"},"url":{"description":"URL to external data.","type":"string"}}},"release":{"type":"object","properties":{"release":{"type":"string","description":"The name or \\"tag\\" of the release."},"uuid":{"type":"string","description":"The UUID associated with the release."},"generationDate":{"type":"string","format":"date-time","description":"Generation date of the release."},"artifacts":{"type":"array","description":"The set of artifacts associated with the release.","items":{"type":"object","properties":{"name":{"type":"string","description":"The name of the artifact."},"type":{"type":"string","description":"The type of the artifact."},"url":{"type":"string","description":"The download URL for the artifact"},"size":{"type":"number","format":"int","description":"The file size in bytes."},"md5":{"type":"string","description":"MD5 value in hex"}}}},"dataProducts":{"type":"array","description":"The set of available data products within the release.","items":{"type":"object","properties":{"productCode":{"type":"string","description":"Revisioned, shortened code for the data product (DP1.00001.001, DP1.10072.001, etc)"},"productName":{"type":"string","description":"The name of the data product."},"productDescription":{"type":"string","description":"A brief description of the data product."},"productDoi":{"type":"string","description":"The DOI for the product within the release."}}}}}},"dataQuery":{"type":"object","properties":{"productCode":{"type":"string","description":"Revisioned, shortened code for the data product (DP1.00001.001, DP1.10072.001, etc)"},"siteCodes":{"type":"array","description":"List of four character site codes available","items":{"type":"string"}},"startDate":{"type":"string","format":"date-time","description":"The start date of the query interval"},"endDate":{"type":"string","format":"date-time","description":"The end date of the query interval"},"packageType":{"type":"string","description":"The type of package, basic or expanded"},"releases":{"type":"array","description":"The list of available releases for the query","items":{"type":"object","description":"Describes a release data package","properties":{"release":{"type":"string","description":"The name of the release"},"generationDate":{"type":"string","format":"date-time","description":"The generation date of the release"},"packages":{"type":"array","description":"The list of available packages within the release for the query","items":{"type":"object","description":"Describes a data package","properties":{"domainCode":{"type":"string","description":"Three character domain abbreviation (D01, D02, etc) for the domain this package is in"},"siteCode":{"type":"string","description":"Four character code for the site"},"month":{"type":"string","description":"The available month, formatted as YYYY-MM"},"packageType":{"type":"string","description":"The type of package, basic or expanded"},"generationDate":{"type":"string","format":"date-time","description":"The generation date of the package"},"files":{"type":"array","description":"The list of available files within the package for the query","items":{"$ref":"#/definitions/file"}}}}}}}}}},"location":{"type":"object","properties":{"locationName":{"type":"string","description":"Name of the location"},"locationDescription":{"type":"string","description":"A description of the location."},"locationType":{"type":"string"},"domainCode":{"type":"string","description":"Three character domain abbreviation (D01, D02, etc) for the domain this site is in"},"siteCode":{"type":"string","description":"Four character code for the site"},"locationDecimalLatitude":{"type":"number","format":"double","description":"Decimal latitude for the location."},"locationDecimalLongitude":{"type":"number","format":"double","description":"Decimal longitude for the location."},"locationElevation":{"type":"number","format":"double","description":"Elevation for the location."},"locationUtmEasting":{"type":"number","format":"double","description":"The Universal Transverse Mercator easting."},"locationUtmNorthing":{"type":"number","format":"double","description":"The Universal Transverse Mercator northing."},"locationUtmZone":{"type":"number","format":"int","description":"The integer Universal Transverse Mercator zone."},"locationUtmHemisphere":{"type":"string","description":"The single character Universal Transverse Mercator hemisphere."},"alphaOrientation":{"type":"number","format":"double","description":"The elevation or pitch angle (in degrees) in the vertical plane at which a sensor is oriented relative to the horizontal plane."},"betaOrientation":{"type":"number","format":"double","description":"The roll angle (in degrees) about the longitudinal axis of the sensor at which the sensor is oriented."},"gammaOrientation":{"type":"number","format":"double","description":"The azimuth or yaw angle (in degrees) at which a sensor is facing relative to true North."},"xOffset":{"type":"number","format":"double","description":"Cartesian offsets of a sensor, in meters, west (positive values) or east (negative values) relative to the reference location."},"yOffset":{"type":"number","format":"double","description":"Cartesian offsets of a sensor, in meters, south (positive values) or north (negative values) relative to the reference location."},"zOffset":{"type":"number","format":"double","description":"Cartesian offsets of a sensor, in meters, up (positive values) or down (negative values) relative to the reference location."},"offsetLocation":{"type":"object","$ref":"#/definitions/location","description":"The named location used as a reference point. Offsets are relative to this location."},"locationPolygon":{"type":"object","properties":{"coordinates":{"type":"array","description":"A list of vertices that define the closed structure for the polygon","items":{"type":"object","properties":{"latitude":{"type":"number","format":"double","description":"Decimal latitude for the polygon coordinate."},"longitude":{"type":"number","format":"double","description":"Decimal longitude for the polygon coordinate."},"elevation":{"type":"number","format":"double","description":"Elevation for the polygon coordinate."}}}}}},"activePeriods":{"type":"array","description":"List of active periods for the location","items":{"type":"object","properties":{"activatedDate":{"type":"string","format":"date-time","description":"The activation date for the time period"},"deactivatedDate":{"type":"string","format":"date-time","description":"The deactivation date for the time period"}}}},"locationProperties":{"type":"array","description":"List of properties associated with the location. Contents vary based on the type of location.","items":{"type":"object","properties":{"locationPropertyValue":{"type":"string","description":"Can be a string or a number"},"locationPropertyName":{"type":"string"}}}},"locationHistory":{"type":"array","items":{"type":"object","$ref":"#/definitions/locationHistory"}},"locationParent":{"type":"string","description":"Name of the location that this location is in."},"locationParentUrl":{"type":"string","description":"URL to request location data for the parent of this location."},"locationParentHierarchy":{"type":"object","description":"When querying for the hierarchy, the location's parent hierarchy","$ref":"#/definitions/locationParentHierarchy"},"locationChildren":{"type":"array","description":"A list of names of locations within this location.","items":{"type":"string"}},"locationChildrenUrls":{"type":"array","description":"A list of URLs to request location data for the children of this location.","items":{"type":"string"}},"locationChildHierarchy":{"type":"array","description":"When querying for the hierarchy, the location's set of immediate children and associated hierarchy","items":{"type":"object","$ref":"#/definitions/locationChildHierarchy"}}}},"locationHistory":{"type":"object","properties":{"current":{"type":"boolean","description":"Indicates if this is the current location for this location."},"locationStartDate":{"type":"string","format":"date-time","description":"The start date and time for this location."},"locationEndDate":{"type":"string","format":"date-time","description":"The end date and time for this location."},"locationDecimalLatitude":{"type":"number","format":"double","description":"Decimal latitude for the location."},"locationDecimalLongitude":{"type":"number","format":"double","description":"Decimal longitude for the location."},"locationElevation":{"type":"number","format":"double","description":"Elevation for the location."},"locationUtmEasting":{"type":"number","format":"double","description":"The Universal Transverse Mercator easting."},"locationUtmNorthing":{"type":"number","format":"double","description":"The Universal Transverse Mercator northing."},"locationUtmHemisphere":{"type":"string","description":"The single character Universal Transverse Mercator hemisphere."},"locationUtmZone":{"type":"number","format":"int","description":"The integer Universal Transverse Mercator zone."},"alphaOrientation":{"type":"number","format":"double","description":"The elevation or pitch angle (in degrees) in the vertical plane at which a sensor is oriented relative to the horizontal plane."},"betaOrientation":{"type":"number","format":"double","description":"The roll angle (in degrees) about the longitudinal axis of the sensor at which the sensor is oriented."},"gammaOrientation":{"type":"number","format":"double","description":"The azimuth or yaw angle (in degrees) at which a sensor is facing relative to true North."},"xOffset":{"type":"number","format":"double","description":"Cartesian offsets of a sensor, in meters, west (positive values) or east (negative values) relative to the reference location."},"yOffset":{"type":"number","format":"double","description":"Cartesian offsets of a sensor, in meters, south (positive values) or north (negative values) relative to the reference location."},"zOffset":{"type":"number","format":"double","description":"Cartesian offsets of a sensor, in meters, up (positive values) or down (negative values) relative to the reference location."},"locationPolygon":{"type":"object","properties":{"coordinates":{"type":"array","description":"A list of vertices that define the closed structure for the polygon","items":{"type":"object","properties":{"latitude":{"type":"number","format":"double","description":"Decimal latitude for the polygon coordinate."},"longitude":{"type":"number","format":"double","description":"Decimal longitude for the polygon coordinate."},"elevation":{"type":"number","format":"double","description":"Elevation for the polygon coordinate."}}}}}},"locationProperties":{"type":"array","description":"List of properties associated with the location. Contents vary based on the type of location.","items":{"type":"object","properties":{"locationPropertyValue":{"type":"string","description":"Can be a string or a number"},"locationPropertyName":{"type":"string"}}}}}},"locationParentHierarchy":{"type":"object","properties":{"locationName":{"type":"string","description":"Name of the location"},"locationType":{"type":"string","description":"Type of the location"},"locationParent":{"type":"string","description":"Name of the location that this location is in."},"locationParentUrl":{"type":"string","description":"URL to request location data for the parent of this location."},"locationParentHierarchy":{"type":"object","description":"The location's parent hierarchy"}}},"locationChildHierarchy":{"type":"object","properties":{"locationName":{"type":"string","description":"Name of the location"},"locationType":{"type":"string","description":"Type of the location"},"locationDescription":{"type":"string","description":"A description of the location."},"locationChildHierarchy":{"type":"array","description":"The location's child hierarchy","items":{"type":"object"}}}},"taxonomy":{"type":"object","properties":{"taxonTypeCode":{"description":"NEON taxonomic grouping","type":"string"},"taxonID":{"description":"NEON taxonomic code","type":"string"},"acceptedTaxonID":{"description":"Accepted taxonomic code from the authoritative source (dwc:nameAccordingToID)","type":"string"},"updateDate":{"description":"The date that this taxonomic record was last updated","type":"string"},"dwc:scientificName":{"description":"Scientific name, associated with the taxonID. This is the name of the lowest level taxonomic rank that can be determined. http://rs.tdwg.org/dwc/terms/scientificName","type":"string"},"dwc:scientificNameAuthorship":{"description":"The authorship information for the scientificName formatted according to the conventions of the applicable nomenclaturalCode. http://rs.tdwg.org/dwc/terms/scientificNameAuthorship","type":"string"},"dwc:taxonRank":{"description":"The lowest level taxonomic rank that can be determined for the individual or specimen. http://rs.tdwg.org/dwc/terms/taxonRank","type":"string"},"dwc:vernacularName":{"description":"A common or vernacular name. http://rs.tdwg.org/dwc/terms/vernacularName","type":"string"},"taxonProtocolCategory":{"description":"NEON protocol-specific categorization of the taxon","type":"string"},"dwc:nameAccordingToID":{"description":"An identifier for the source in which the specific taxon concept circumscription is defined or implied. http://rs.tdwg.org/dwc/terms/nameAccordingToID","type":"string"},"dwc:nameAccordingToTitle":{"description":"The reference to the source in which the specific taxon concept circumscription is defined or implied. http://tdwg.github.io/dwc/terms/nameAccordingTo","type":"string"},"dwc:kingdom":{"description":"The scientific name of the kingdom in which the taxon is classified. http://rs.tdwg.org/dwc/terms/kingdom","type":"string"},"gbif:subkingdom":{"description":"The scientific name of the subkingdom in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/subkingdom","type":"string"},"gbif:infrakingdom":{"description":"The scientific name of the infrakingdom in which the taxon is classified","type":"string"},"gbif:superdivision":{"description":"The scientific name of the superdivision in which the taxon is classified","type":"string"},"gbif:division":{"description":"The scientific name of the division in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/phylum","type":"string"},"gbif:subdivision":{"description":"The scientific name of the subdivision in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/subphylum","type":"string"},"gbif:infradivision":{"description":"The scientific name of the infradivision in which the taxon is classified","type":"string"},"gbif:parvdivision":{"description":"The scientific name of the parvdivision in which the taxon is classified","type":"string"},"gbif:superphylum":{"description":"The scientific name of the superphylum in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/superphylum","type":"string"},"dwc:phylum":{"description":"The scientific name of the phylum or division in which the taxon is classified. http://rs.tdwg.org/dwc/terms/phylum","type":"string"},"gbif:subphylum":{"description":"The scientific name of the subphylum in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/subphylum","type":"string"},"gbif:infraphylum":{"description":"The scientific name of the infraphylum in which the taxon is classified","type":"string"},"gbif:superclass":{"description":"The scientific name of the superclass in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/superclass","type":"string"},"dwc:class":{"description":"The scientific name of the class in which the taxon is classified. http://rs.tdwg.org/dwc/terms/class","type":"string"},"gbif:subclass":{"description":"The scientific name of the subclass in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/subclass","type":"string"},"gbif:infraclass":{"description":"The scientific name of the infraclass in which the taxon is classified","type":"string"},"gbif:superorder":{"description":"The scientific name of the superorder in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/superorder","type":"string"},"dwc:order":{"description":"The scientific name of the order in which the taxon is classified. http://rs.tdwg.org/dwc/terms/order","type":"string"},"gbif:suborder":{"description":"The scientific name of the suborder in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/suborder","type":"string"},"gbif:infraorder":{"description":"The scientific name of the infraorder in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/infraorder","type":"string"},"gbif:section":{"description":"The scientific name of the section in which the organism is classified. http://rs.gbif.org/vocabulary/gbif/rank/section","type":"string"},"gbif:subsection":{"description":"The scientific name of the subsection in which the organism is classified. http://rs.gbif.org/vocabulary/gbif/rank/subsection","type":"string"},"gbif:superfamily":{"description":"The scientific name of the superfamily in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/superfamily","type":"string"},"dwc:family":{"description":"The scientific name of the family in which the taxon is classified. http://rs.tdwg.org/dwc/terms/family","type":"string"},"gbif:subfamily":{"description":"The scientific name of the subfamily in which the organism is classified. http://rs.gbif.org/vocabulary/gbif/rank/subfamily","type":"string"},"gbif:tribe":{"description":"The scientific name of the tribe in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/tribe","type":"string"},"gbif:subtribe":{"description":"The scientific name of the subtribe in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/subtribe","type":"string"},"dwc:genus":{"description":"The scientific name of the genus in which the organism is classified. http://rs.tdwg.org/dwc/terms/genus","type":"string"},"dwc:subgenus":{"description":"The scientific name of the subgenus in which the taxon is classified. Values should include the genus to avoid homonym confusion. http://rs.tdwg.org/dwc/terms/subgenus","type":"string"},"gbif:subspecies":{"description":"The subspecies (infraspecific name below the rank of infraspecific epithet) of the scientific name applied to the taxon. http://rs.gbif.org/vocabulary/gbif/rank/subspecies","type":"string"},"gbif:variety":{"description":"The variety (infraspecific name below the rank of infraspecific epithet) of the scientific name applied to the taxon. http://rs.gbif.org/vocabulary/gbif/rank/variety","type":"string"},"gbif:subvariety":{"description":"The subvariety (infraspecific name below the rank of variety) of the scientific name applied to the taxon. http://rs.gbif.org/vocabulary/gbif/rank/subvariety","type":"string"},"gbif:form":{"description":"The form (infraspecific name below the rank of infraspecific epithet) of the scientific name applied to the taxon. http://rs.gbif.org/vocabulary/gbif/rank/form","type":"string"},"gbif:subform":{"description":"The subform (infraspecific name below the rank of form) of the scientific name applied to the taxon. http://rs.gbif.org/vocabulary/gbif/rank/subform","type":"string"},"speciesGroup":{"description":"The unofficial species group into which the taxon is categorized","type":"string"},"dwc:specificEpithet":{"description":"The specific epithet (second part of the species name) of the scientific name applied to the taxon. http://rs.tdwg.org/dwc/terms/specificEpithet","type":"string"},"dwc:infraspecificEpithet":{"description":"The infraspecific epithet (scientific name below the rank of species) of the scientific name applied to the taxon. http://rs.tdwg.org/dwc/terms/infraspecificEpithet","type":"string"}}},"sampleInfo":{"type":"object","properties":{"sampleUuid":{"type":"string","description":"UUID for a given sample"},"sampleTag":{"type":"string","description":"Sample Tag for a given sample"},"sampleClass":{"type":"string","description":"Sample Class for a given sample"},"barcode":{"type":"string","description":"Sample Barcode for a given sample"},"archiveGuid":{"type":"string","description":"Archive GUID for a given sample"}}},"views":{"type":"object","properties":{"sampleViews":{"type":"array","description":"array of sample views for a given sample","items":{"$ref":"#/definitions/sampleView"}}}},"sampleView":{"type":"object","properties":{"sampleUuid":{"type":"string","description":"UUID for a given sample"},"sampleTag":{"type":"string","description":"Sample Tag for a given sample"},"sampleClass":{"type":"string","description":"Sample Class for a given sample"},"barcode":{"type":"string","description":"Sample Barcode for a given sample"},"archiveGuid":{"type":"string","description":"Archive GUID for a given sample"},"sampleEvents":{"type":"array","items":{"$ref":"#/definitions/sampleEvent"}},"parentSampleIdentifiers":{"type":"array","items":{"$ref":"#/definitions/sampleInfo"}},"childSampleIdentifiers":{"type":"array","items":{"$ref":"#/definitions/sampleInfo"}}}},"sampleEvent":{"type":"object","description":"Sample Event for a given sample.","properties":{"ingestTableName":{"type":"string","description":"Ingest Table Name"},"smsFieldEntries":{"type":"array","items":{"$ref":"#/definitions/smsField"}}}},"smsField":{"type":"object","properties":{"smsKey":{"type":"string","description":"SMS Field Name"},"smsValue":{"type":"string","description":"SMS Field Value"}}},"entry":{"type":"object","properties":{"key":{"type":"string","description":"Sample Class Name"},"value":{"type":"string","description":"Sample Class Description"}}},"classes":{"type":"object","properties":{"sampleClasses":{"type":"array","description":"array of Sample Classes for a given sample.","items":{"type":"string"}}}},"supportedClasses":{"type":"object","properties":{"entries":{"type":"array","description":"array of Sample Classes and their descriptions for a given sample.","items":{"$ref":"#/definitions/entry"}}}},"prototypeDataset":{"type":"object","properties":{"uuid":{"type":"string","description":"The UUID of the dataset"},"projectTitle":{"type":"string","description":"The title of the project"},"projectDescription":{"type":"string","description":"The description of the project"},"designDescription":{"type":"string","description":"A description of the dataset's design"},"metadataDescription":{"type":"string","description":"A brief description of the metadata associated with the dataset"},"studyAreaDescription":{"type":"string","description":"A description of the dataset's spatial extent"},"datasetAbstract":{"type":"string","description":"An abstract of the dataset"},"startYear":{"type":"number","format":"int","description":"The start year for the time span of the dataset"},"endYear":{"type":"number","format":"int","description":"The end year for the time span of the dataset"},"dateUploaded":{"type":"string","format":"date-time","description":"The date the dataset was uploaded"},"isPublished":{"type":"boolean","description":"Whether or not the dataset has been included in a publication"},"version":{"type":"string","description":"The version of the dataset"},"versionDescription":{"type":"string","description":"The version description"},"doi":{"type":"object","description":"The DOI for the dataset","$ref":"#/definitions/prototypeDatasetDoi"},"relatedVersions":{"type":"array","description":"The related versions of this dataset","items":{"$ref":"#/definitions/prototypeDatasetRelatedVersion"}},"data":{"type":"object","description":"The dataset's data files","$ref":"#/definitions/prototypeDatasetDataDetail"},"dataThemes":{"type":"array","description":"List of themes to which the dataset belongs","items":{"type":"string"}},"fileTypes":{"type":"array","description":"List of file types to which the dataset belongs","items":{"$ref":"#/definitions/prototypeFileType"}},"keywords":{"type":"array","description":"List of words and phrases associated with the dataset","items":{"type":"string"}},"locations":{"type":"array","description":"List of locations of the dataset's spatial extent","items":{"$ref":"#/definitions/prototypeLocation"}},"publicationCitations":{"type":"array","description":"List of publication citations involving the dataset","items":{"$ref":"#/definitions/prototypePublicationCitation"}},"relatedDataProducts":{"type":"array","description":"List of data product's that the dataset is related to","items":{"$ref":"#/definitions/prototypeRelatedDataProduct"}},"scienceTeams":{"type":"array","description":"List of responsible science teams for the dataset","items":{"type":"string"}}}},"prototypeDatasetDataDetail":{"type":"object","description":"The dataset's data files","properties":{"url":{"type":"string","description":"The data URL for accessing the data files for the dataset"},"files":{"type":"array","description":"List of data files for the dataset","items":{"$ref":"#/definitions/prototypeDataFile"}},"dataLocations":{"type":"array","description":"List of data locations for the dataset","items":{"$ref":"#/definitions/prototypeDataLocation"}}}},"prototypeDatasetData":{"type":"object","description":"Type definition for prototype dataset data","properties":{"datasetUuid":{"type":"string","description":"The dataset UUID"},"datasetProjectTitle":{"type":"string","description":"The title of the project"},"files":{"type":"array","description":"List of data files for the dataset","items":{"$ref":"#/definitions/prototypeDataFile"}},"dataLocations":{"type":"array","description":"List of data locations for the dataset","items":{"$ref":"#/definitions/prototypeDataLocation"}}}},"prototypeDataFile":{"type":"object","description":"Type definition for prototype dataset data file","properties":{"name":{"type":"string","description":"The name of the data file"},"description":{"type":"string","description":"A description of the data file"},"fileSize":{"type":"string","description":"File size in bytes"},"fileName":{"type":"string","description":"The filename of the file"},"md5":{"type":"string","description":"MD5 checksum value in hex"},"url":{"type":"string","description":"Download URL for the file"},"type":{"type":"object","description":"The type of the data file (metadata, data, etc)","$ref":"#/definitions/prototypeDataFileType"}}},"prototypeDataFileType":{"type":"object","description":"Type definition for prototype dataset data file type","properties":{"name":{"type":"string","description":"The name of the data file type"},"description":{"type":"string","description":"The description of the data file type"}}},"prototypeDataLocation":{"type":"object","description":"Type definition for a prototype dataset data location","properties":{"path":{"type":"string","description":"The path or URL to the data location"},"description":{"type":"string","description":"A description of the data location referenced by the path"},"metadata":{"type":"boolean","description":"Indicates that this data location refers to metadata exclusively"}}},"prototypeDatasetDoi":{"type":"object","description":"Type definition for a Prototype Dataset DOI","properties":{"url":{"type":"string","description":"The URL of the DOI"},"generationDate":{"type":"string","format":"date-time","description":"The generation date of the DOI"}}},"prototypeDatasetRelatedVersion":{"type":"object","description":"Type definition for a Prototype Dataset related version","properties":{"datasetUuid":{"type":"string","description":"The related dataset UUID"},"datasetProjectTitle":{"type":"string","description":"The related dataset project title"},"datasetVersion":{"type":"string","description":"The related dataset version"}}},"prototypeFileType":{"type":"object","description":"Type definition for a prototype dataset file type","properties":{"name":{"type":"string","description":"The name of the file type (CSV, PDF, HDF5, etc)"},"description":{"type":"string","description":"A description of the file type"}}},"prototypeLocation":{"type":"object","description":"Type definition for a prototype dataset location","properties":{"domain":{"type":"string","description":"Three character domain abbreviation (D01, D02, etc) for the domain this site is in"},"state":{"type":"string","description":"Two letter state code that this site is in"},"siteCode":{"type":"string","description":"Four character code for the site"},"siteName":{"type":"string","description":"Full name for the site"},"latitude":{"type":"string","description":"Decimal latitude for the location"},"longitude":{"type":"string","description":"Decimal longitude for the location"}}},"prototypePublicationCitation":{"type":"object","description":"Type definition for a prototype dataset publication citation","properties":{"citation":{"type":"string","description":"The citation associated with a publication involving the dataset"},"citationIdentifier":{"type":"string","description":"The citation identifier (DOI, arXiv, URL) associated with a publication involving the dataset"},"citationIdentifierType":{"type":"string","description":"The citation identifier type associated with a publication involving the dataset (DOI, arXiv, URL)"}}},"prototypeRelatedDataProduct":{"type":"object","description":"Type definition for a prototype dataset related data product","properties":{"dataProductIdq":{"type":"string","description":"Revisioned, long code for the data product (NEON.DOM.SITE.DP1.00001.001, etc.)"},"dataProductCode":{"type":"string","description":"Revisioned, shortened code for the data product (DP1.00001.001, DP1.10072.001, etc.)"},"dataProductName":{"type":"string","description":"The name of the data product"},"dataProductDescription":{"type":"string","description":"A brief description of the data product"}}},"error":{"type":"object","properties":{"detail":{"type":"string"},"status":{"type":"number","format":"int"}}}}`)};(0,Le.createRoot)(document.getElementById(`root`)).render((0,B5.jsx)(()=>((0,V.useLayoutEffect)(()=>{if(!window.frameElement)return()=>{};if(typeof ResizeObserver!=`function`)return window.frameElement.style.height=`100vh`,window.frameElement.setAttribute(`scrolling`,`yes`),window.document.body.style.overflow=`scroll`,()=>{};let e=new ResizeObserver(e=>{for(let t of e){let e=t.contentRect;window.frameElement.style.height=`${e.height+60}px`}});return e.observe(window.document.body),()=>{e.disconnect()}}),(0,B5.jsx)(`div`,{className:`neon-data-api-docs-swagger`,children:(0,B5.jsx)(V5,{spec:H5})})),{})); \ No newline at end of file +`;if(t.$$ref){let e=t.$$ref.match(/\S*\/(\S+)$/);t.xml.name=e[1]}}return i.jsonSchema202012.memoizedCreateXMLExample(t,n,r)},o5=e=>(t,n=``,r={},i=void 0)=>{let{fn:a}=e();return typeof t?.toJS==`function`&&(t=t.toJS()),typeof i?.toJS==`function`&&(i=i.toJS()),/xml/.test(n)?a.jsonSchema202012.getXmlSampleSchema(t,r,i):/(yaml|yml)/.test(n)?a.jsonSchema202012.getYamlSampleSchema(t,r,n,i):a.jsonSchema202012.getJsonSampleSchema(t,r,n,i)},s5=({getSystem:e})=>({fn:{jsonSchema202012:{sampleFromSchema:Y8,sampleFromSchemaGeneric:q8,sampleOptionAPI:e5,sampleEncoderAPI:S8,sampleFormatAPI:i8,sampleMediaTypeAPI:A8,createXMLExample:J8,memoizedSampleFromSchema:Q8,memoizedCreateXMLExample:Z8,getJsonSampleSchema:r5(e),getYamlSampleSchema:i5(e),getXmlSampleSchema:a5(e),getSampleSchema:o5(e),mergeJsonSchema:K8,foldType:V8}}});function c5(){return[d0,z2,C6,s5,e3]}var l5=e=>()=>({fn:e.fn,components:e.components}),u5=e=>{let t=wK()({layout:{layout:e.layout,filter:e.filter},spec:{spec:``,url:e.url},requestSnippets:e.requestSnippets},e.initialState);if(e.initialState)for(let[n,r]of Object.entries(e.initialState))r===void 0&&delete t[n];return{system:{configs:e.configs},plugins:e.presets,state:t}},d5=()=>e=>{let t=e.queryConfigEnabled?(()=>{let e=new URLSearchParams(zK.location.search);return Object.fromEntries(e)})():{};return Object.entries(t).reduce(((e,[t,n])=>(t===`config`?e.configUrl=n:t===`urls.primaryName`?e[t]=n:e=(0,Wf.default)(e,t,n),e)),{})},f5=({url:e,system:t})=>async n=>{if(!e||typeof t.configsActions?.getConfigByUrl!=`function`)return{};let r=(()=>{let e={};return e.promise=new Promise(((t,n)=>{e.resolve=t,e.reject=n})),e})();return t.configsActions.getConfigByUrl({url:e,loadRemoteConfig:!0,requestInterceptor:n.requestInterceptor,responseInterceptor:n.responseInterceptor},(e=>{r.resolve(e)})),r.promise},p5=()=>()=>{let e={};return globalThis.location&&(e.oauth2RedirectUrl=`${globalThis.location.protocol}//${globalThis.location.host}${globalThis.location.pathname.substring(0,globalThis.location.pathname.lastIndexOf(`/`))}/oauth2-redirect.html`),e},m5=Object.freeze({dom_id:null,domNode:null,spec:{},url:``,urls:null,configUrl:null,layout:`BaseLayout`,docExpansion:`list`,maxDisplayedTags:-1,filter:!1,validatorUrl:`https://validator.swagger.io/validator`,oauth2RedirectUrl:void 0,persistAuthorization:!1,configs:{},displayOperationId:!1,displayRequestDuration:!1,deepLinking:!1,tryItOutEnabled:!1,requestInterceptor:e=>(e.curlOptions=[],e),responseInterceptor:e=>e,showMutatedRequest:!0,defaultModelRendering:`example`,defaultModelExpandDepth:1,defaultModelsExpandDepth:1,showExtensions:!1,showCommonExtensions:!1,withCredentials:!1,requestSnippetsEnabled:!1,requestSnippets:{generators:{curl_bash:{title:`cURL (bash)`,syntax:`bash`},curl_powershell:{title:`cURL (PowerShell)`,syntax:`powershell`},curl_cmd:{title:`cURL (CMD)`,syntax:`bash`}},defaultExpanded:!0,languages:null},supportedSubmitMethods:[`get`,`put`,`post`,`delete`,`options`,`head`,`patch`,`trace`],queryConfigEnabled:!1,presets:[c5],plugins:[],initialState:{},fn:{},components:{},syntaxHighlight:{activated:!0,theme:`agate`},operationsSorter:null,tagsSorter:null,onComplete:null,modelPropertyMacro:null,parameterMacro:null,fileUploadMediaTypes:[`application/octet-stream`,`image/`,`audio/`,`video/`],uncaughtExceptionHandler:null}),h5=(e,t=[])=>Array.isArray(e)?e:t,g5=(e,t=!1)=>!0===e||e===`true`||e===1||e===`1`||!1!==e&&e!==`false`&&e!==0&&e!==`0`&&t,_5=e=>e===null||e===`null`?null:e,v5=e=>g5(e,String(e)),y5=(e,t)=>typeof e==`function`?e:t,b5=e=>Array.isArray(e)?e:null,x5=e=>typeof e==`function`?e:null,S5=e=>e===null||e===`null`?null:String(e),C5=(e,t=-1)=>{let n=parseInt(e,10);return Number.isNaN(n)?t:n},w5=(e,t={})=>(0,Lf.default)(e)?e:t,T5=e=>typeof e==`function`||typeof e==`string`?e:null,E5=e=>String(e),D5={components:{typeCaster:w5},configs:{typeCaster:w5},configUrl:{typeCaster:S5},deepLinking:{typeCaster:g5,defaultValue:m5.deepLinking},defaultModelExpandDepth:{typeCaster:C5,defaultValue:m5.defaultModelExpandDepth},defaultModelRendering:{typeCaster:E5},defaultModelsExpandDepth:{typeCaster:C5,defaultValue:m5.defaultModelsExpandDepth},displayOperationId:{typeCaster:g5,defaultValue:m5.displayOperationId},displayRequestDuration:{typeCaster:g5,defaultValue:m5.displayRequestDuration},docExpansion:{typeCaster:E5},dom_id:{typeCaster:S5},domNode:{typeCaster:_5},fileUploadMediaTypes:{typeCaster:h5,defaultValue:m5.fileUploadMediaTypes},filter:{typeCaster:v5},fn:{typeCaster:w5},initialState:{typeCaster:w5},layout:{typeCaster:E5},maxDisplayedTags:{typeCaster:C5,defaultValue:m5.maxDisplayedTags},modelPropertyMacro:{typeCaster:x5},oauth2RedirectUrl:{typeCaster:e=>e===void 0||e===`undefined`?void 0:String(e)},onComplete:{typeCaster:x5},operationsSorter:{typeCaster:T5},paramaterMacro:{typeCaster:x5},persistAuthorization:{typeCaster:g5,defaultValue:m5.persistAuthorization},plugins:{typeCaster:h5,defaultValue:m5.plugins},presets:{typeCaster:h5,defaultValue:m5.presets},requestInterceptor:{typeCaster:y5,defaultValue:m5.requestInterceptor},requestSnippets:{typeCaster:w5,defaultValue:m5.requestSnippets},requestSnippetsEnabled:{typeCaster:g5,defaultValue:m5.requestSnippetsEnabled},responseInterceptor:{typeCaster:y5,defaultValue:m5.responseInterceptor},showCommonExtensions:{typeCaster:g5,defaultValue:m5.showCommonExtensions},showExtensions:{typeCaster:g5,defaultValue:m5.showExtensions},showMutatedRequest:{typeCaster:g5,defaultValue:m5.showMutatedRequest},spec:{typeCaster:w5,defaultValue:m5.spec},supportedSubmitMethods:{typeCaster:h5,defaultValue:m5.supportedSubmitMethods},syntaxHighlight:{typeCaster:(e,t)=>(0,Lf.default)(e)?e:!1===e||e===`false`||e===0||e===`0`?{activated:!1}:t,defaultValue:m5.syntaxHighlight},"syntaxHighlight.activated":{typeCaster:g5,defaultValue:m5.syntaxHighlight.activated},"syntaxHighlight.theme":{typeCaster:E5},tagsSorter:{typeCaster:T5},tryItOutEnabled:{typeCaster:g5,defaultValue:m5.tryItOutEnabled},url:{typeCaster:E5},urls:{typeCaster:b5},"urls.primaryName":{typeCaster:E5},validatorUrl:{typeCaster:S5},withCredentials:{typeCaster:g5,defaultValue:m5.withCredentials},uncaughtExceptionHandler:{typeCaster:x5}},O5=e=>Object.entries(D5).reduce(((e,[t,{typeCaster:n,defaultValue:r}])=>((0,ZG.default)(e,t)&&(e=(0,QG.default)(t,n((0,Wu.default)(e,t),r),e)),e)),{...e}),k5=(e,...t)=>{let n=Symbol.for(`domNode`),r=Symbol.for(`primaryName`),i=[];for(let e of t){let t={...e};Object.hasOwn(t,`domNode`)&&(n=t.domNode,delete t.domNode),Object.hasOwn(t,`urls.primaryName`)?(r=t[`urls.primaryName`],delete t[`urls.primaryName`]):Array.isArray(t.urls)&&Object.hasOwn(t.urls,`primaryName`)&&(r=t.urls.primaryName,delete t.urls.primaryName),i.push(t)}let a=wK()(e,...i);return n!==Symbol.for(`domNode`)&&(a.domNode=n),r!==Symbol.for(`primaryName`)&&Array.isArray(a.urls)&&(a.urls.primaryName=r),O5(a)};function A5(e){let t=d5()(e),n=p5()(),r=A5.config.merge({},A5.config.defaults,n,e,t),i=u5(r),a=l5(r),o=new Tq(i);o.register([r.plugins,a]);let s=o.getSystem(),c=e=>{o.setConfigs(e),s.configsActions.loaded()},l=e=>{!t.url&&typeof e.spec==`object`&&Object.keys(e.spec).length>0?(s.specActions.updateUrl(``),s.specActions.updateLoadingStatus(`success`),s.specActions.updateSpec(JSON.stringify(e.spec))):typeof s.specActions.download==`function`&&e.url&&!e.urls&&(s.specActions.updateUrl(e.url),s.specActions.download(e.url))},u=e=>{if(e.domNode)s.render(e.domNode,`App`);else if(e.dom_id){let t=document.querySelector(e.dom_id);s.render(t,`App`)}else e.dom_id===null||e.domNode===null||console.error("Skipped rendering: no `dom_id` or `domNode` was specified")};return r.configUrl?((async()=>{let{configUrl:e}=r,n=await f5({url:e,system:s})(r),i=A5.config.merge({},r,n,t);c(i),n!==null&&l(i),u(i)})(),s):(c(r),l(r),u(r),s)}A5.System=Tq,A5.config={defaults:m5,merge:k5,typeCast:O5,typeCastMappings:D5},A5.presets={base:d0,apis:c5},A5.plugins={Auth:hJ,Configs:DJ,DeepLining:PJ,Err:HJ,Filter:WJ,Icons:QJ,JSONSchema5:gX,JSONSchema5Samples:GX,JSONSchema202012:C6,JSONSchema202012Samples:s5,Layout:mY,Logs:hY,OpenAPI30:z2,OpenAPI31:z2,OnComplete:_Y,RequestSnippets:PY,Spec:ZQ,SwaggerClient:$Q,Util:e$,View:l$,ViewLegacy:u$,DownloadUrl:d$,SyntaxHighlighting:x$,Versions:C$,SafeRender:O$};var j5=A5,{config:M5}=j5,N5=e=>{let t=(0,V.useRef)();return(0,V.useEffect)(()=>{t.current=e},[e]),t.current},P5=({spec:e=M5.defaults.spec,url:t=M5.defaults.url,layout:n=M5.defaults.layout,requestInterceptor:r=M5.defaults.requestInterceptor,responseInterceptor:i=M5.defaults.responseInterceptor,supportedSubmitMethods:a=M5.defaults.supportedSubmitMethods,queryConfigEnabled:o=M5.defaults.queryConfigEnabled,plugins:s=M5.defaults.plugins,displayOperationId:c=M5.defaults.displayOperationId,showMutatedRequest:l=M5.defaults.showMutatedRequest,docExpansion:u=M5.defaults.docExpansion,defaultModelExpandDepth:d=M5.defaults.defaultModelExpandDepth,defaultModelsExpandDepth:f=M5.defaults.defaultModelsExpandDepth,defaultModelRendering:p=M5.defaults.defaultModelRendering,presets:m=M5.defaults.presets,deepLinking:h=M5.defaults.deepLinking,showExtensions:g=M5.defaults.showExtensions,showCommonExtensions:_=M5.defaults.showCommonExtensions,filter:v=M5.defaults.filter,requestSnippetsEnabled:y=M5.defaults.requestSnippetsEnabled,requestSnippets:b=M5.defaults.requestSnippets,tryItOutEnabled:x=M5.defaults.tryItOutEnabled,displayRequestDuration:S=M5.defaults.displayRequestDuration,withCredentials:C=M5.defaults.withCredentials,persistAuthorization:w=M5.defaults.persistAuthorization,oauth2RedirectUrl:T=M5.defaults.oauth2RedirectUrl,onComplete:E=null,initialState:D=M5.defaults.initialState,uncaughtExceptionHandler:O=M5.defaults.uncaughtExceptionHandler})=>{let[k,A]=(0,V.useState)(null),j=k?.getComponent(`App`,`root`),M=N5(e),N=N5(t);return(0,V.useEffect)(()=>{let k=j5({plugins:s,spec:e,url:t,layout:n,defaultModelsExpandDepth:f,defaultModelRendering:p,presets:[j5.presets.apis,...m],requestInterceptor:r,responseInterceptor:i,onComplete:()=>{typeof E==`function`&&E(k)},docExpansion:u,supportedSubmitMethods:a,queryConfigEnabled:o,defaultModelExpandDepth:d,displayOperationId:c,tryItOutEnabled:x,displayRequestDuration:S,requestSnippetsEnabled:y,requestSnippets:b,showMutatedRequest:l,deepLinking:h,showExtensions:g,showCommonExtensions:_,filter:v,persistAuthorization:w,withCredentials:C,initialState:D,uncaughtExceptionHandler:O,...typeof T==`string`?{oauth2RedirectUrl:T}:{}});A(k)},[]),(0,V.useEffect)(()=>{k&&(t!==k.specSelectors.url()||t!==N)&&(k.specActions.updateSpec(``),t&&(k.specActions.updateUrl(t),k.specActions.download(t)))},[k,t]),(0,V.useEffect)(()=>{if(k){let t=k.specSelectors.specStr();if(e&&e!==j5.config.defaults.spec&&(e!==t||e!==M)){let t=typeof e==`object`?JSON.stringify(e):e;k.specActions.updateSpec(t)}}},[k,e]),j?V.createElement(j,null):null};P5.System=j5.System,P5.presets=j5.presets,P5.plugins=j5.plugins,P5.config=j5.config;var F5={getApiProtocol:()=>`${window.location.protocol}`,getApiHostName:()=>`${window.location.host}`,getApiHost:()=>`${F5.getApiProtocol()}//${F5.getApiHostName()}`,getApiRootPath:()=>`/api/v0`},I5={[`${F5.getApiRootPath()}/products`]:`products`,[`${F5.getApiRootPath()}/sites`]:`sites`,[`${F5.getApiRootPath()}/releases`]:`releases`,[`${F5.getApiRootPath()}/locations/sites`]:`locationSites`,[`${F5.getApiRootPath()}/taxonomy`]:`taxonomy`},L5=e=>e!=null,R5={requestInterceptor:e=>{let t=new URL(e.url);return t.protocol=F5.getApiProtocol(),t.host=F5.getApiHostName(),t.port=``,{...e,url:t.href}},responseInterceptor:e=>{let t=new URL(e.url);if(!Object.keys(I5).some(e=>t.pathname.startsWith(e)))return e;if(L5(e.body)&&L5(e.body.data)){let{data:n}=e.body,r=Array.isArray(n)&&n.length>3,i={...e.body,data:r?n.slice(0,3):n};delete e.body,delete e.obj,delete e.text,delete e.data;let a=Object.keys(I5).find(e=>t.pathname.startsWith(e)),o=I5[L5(a)?a:``];switch(o===`releases`&&(t.pathname.includes(`products`)?o=`products`:t.pathname.includes(`sites`)&&(o=`sites`)),o){case`products`:if(r)i.data=i.data.map(e=>{let t=e;return Array.isArray(e.changeLogs)&&e.changeLogs.length>3&&(t.changeLogs=e.changeLogs.slice(0,3)),Array.isArray(e.siteCodes)&&e.siteCodes.length>3&&(t.siteCodes=e.siteCodes.slice(0,3)),e});else{let e=i.data,t=Array.isArray(e.changeLogs)&&e.changeLogs.length>3,n=Array.isArray(e.siteCodes)&&e.siteCodes.length>3;i.data={...e,changeLogs:t?e.changeLogs.slice(0,3):e.changeLogs,siteCodes:n?e.siteCodes.slice(0,3):e.siteCodes}}break;case`sites`:if(r)i.data=i.data.map(e=>{let t=e;return Array.isArray(e.dataProducts)&&e.dataProducts.length>3&&(t.dataProducts=e.dataProducts.slice(0,3)),t});else{let e=i.data,t=Array.isArray(e.dataProducts)&&e.dataProducts.length>3;i.data={...e,dataProducts:t?e.dataProducts.slice(0,3):e.dataProducts}}break;default:break}e.body=i,e.obj=i,e.text=JSON.stringify(i),e.data=JSON.stringify(i)}return e}},z5=o((e=>{var t=Symbol.for(`react.transitional.element`);function n(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.jsx=n})),B5=o(((e,t)=>{t.exports=z5()}))(),V5=e=>{let{spec:t}=e;return(0,B5.jsx)(P5,{spec:t,docExpansion:`list`,requestInterceptor:R5.requestInterceptor,responseInterceptor:R5.responseInterceptor})},H5={swagger:`2.0`,info:{version:`0.12.0`,title:`NEON Data API Requests`,description:`Expand the options below, click GET, and then click TRY IT OUT to see example calls.`},basePath:`/api/v0`,consumes:[`application/json`],produces:[`application/json`],securityDefinitions:{"X-API-Token":{type:`apiKey`,name:`X-API-Token`,in:`header`}},security:[{"X-API-Token":[]}],paths:JSON.parse(`{"/products":{"get":{"security":[],"description":"Get information about all data products","tags":["Products"],"operationId":"Get_products_","produces":["application/json"],"parameters":[{"name":"release","in":"query","description":"The name of the release to get availability for","required":false,"type":"string"}],"responses":{"200":{"description":"List of data products","schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/product"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/products/{productCode}":{"get":{"security":[],"description":"Get information about a data product","tags":["Products"],"operationId":"Get_products_productCode_","produces":["application/json"],"parameters":[{"name":"productCode","in":"path","description":"Data product to get","required":true,"type":"string"},{"name":"release","in":"query","description":"The name of the release to get availability for","required":false,"type":"string"}],"responses":{"200":{"description":"Single data product","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/product"}}}},"400":{"description":"Product(s) not found","schema":{"$ref":"#/definitions/error"}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/sites":{"get":{"security":[],"description":"Get information about all field sites","tags":["Sites"],"operationId":"Get_sites_","produces":["application/json"],"parameters":[{"name":"release","in":"query","description":"The name of the release to get availability for","required":false,"type":"string"}],"responses":{"200":{"description":"List of field sites","schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/site"}}}}}}}},"/sites/{siteCode}":{"get":{"security":[],"description":"Get information about a field site","tags":["Sites"],"operationId":"Get_sites:siteCode_","produces":["application/json"],"parameters":[{"name":"siteCode","in":"path","description":"Site to get","required":true,"type":"string"},{"name":"release","in":"query","description":"The name of the release to get availability for","required":false,"type":"string"}],"responses":{"200":{"description":"Single site","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/site"}}}},"400":{"description":"Site(s) not found","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/locations/{locationName}":{"get":{"security":[],"description":"Get information about a location","tags":["Locations"],"operationId":"Get_locations:locationName_","produces":["application/json"],"parameters":[{"name":"locationName","in":"path","description":"Location to get","required":true,"type":"string"},{"name":"history","in":"query","description":"Option to obtain location history information","required":false,"type":"boolean"},{"name":"hierarchy","in":"query","description":"Option to obtain location hierarchy information","required":false,"type":"boolean"},{"name":"locationType","in":"query","description":"\\"When obtaining location hierarchy, specify a type of descendant to query for. For example, to obtain the location hierarchy for all towers at location CPER, utilize: /CPER?hierarchy=true&locationType=TOWER\\"","required":false,"type":"string"}],"responses":{"200":{"description":"Single location","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/location"}}}},"400":{"description":"Location(s) not found","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/locations/sites":{"get":{"security":[],"description":"Get information about the site-level locations","tags":["Locations","Sites"],"operationId":"Get_locations_sites_","produces":["application/json"],"responses":{"200":{"description":"List of locations","schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/location"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/data/{productCode}/{siteCode}/{year-month}":{"get":{"description":"Get files available for a given product/site/month combination","tags":["Data"],"operationId":"Get_data:availability_","produces":["application/json"],"parameters":[{"name":"productCode","in":"path","description":"Product to check for files","required":true,"type":"string"},{"name":"siteCode","in":"path","description":"Site to check for files","required":true,"type":"string"},{"name":"year-month","in":"path","description":"YYYY-MM month to check for files","required":true,"type":"string"},{"name":"package","in":"query","description":"Package type to return, basic or expanded","required":false,"type":"string","enum":["basic","expanded"]},{"name":"release","in":"query","description":"The name of the release to get for","required":false,"type":"string"}],"responses":{"200":{"description":"Available files","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/data"}}}},"400":{"description":"Product, site not found or invalid date range specified","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/data/{productCode}/{siteCode}/{year-month}/{filename}":{"get":{"description":"Get a file for a given product/site/month/filename combination","tags":["Data"],"operationId":"Get_data:availability_file_","produces":["application/octet-stream"],"parameters":[{"name":"productCode","in":"path","description":"Product to check for files","required":true,"type":"string"},{"name":"siteCode","in":"path","description":"Site to check for files","required":true,"type":"string"},{"name":"year-month","in":"path","description":"YYYY-MM month to check for files","required":true,"type":"string"},{"name":"filename","in":"path","description":"The name of the file","required":true,"type":"string"},{"name":"package","in":"query","description":"Package type to return, basic or expanded","required":false,"type":"string","enum":["basic","expanded"]},{"name":"release","in":"query","description":"The name of the release to get for","required":false,"type":"string"}],"responses":{"200":{"description":"Available file data","schema":{"type":"string","format":"binary"}},"302":{"description":"Found available file and redirects to data","schema":{"type":"string","format":"binary"}},"400":{"description":"Invalid file name specified","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/data/package/{productCode}/{siteCode}/{year-month}":{"get":{"description":"Get a data package for a given product/site/month and package combination","tags":["Data"],"operationId":"Get_data:availability_package_","produces":["application/zip"],"parameters":[{"name":"productCode","in":"path","description":"Product to check for files","required":true,"type":"string"},{"name":"siteCode","in":"path","description":"Site to check for files","required":true,"type":"string"},{"name":"year-month","in":"path","description":"YYYY-MM month to check for files","required":true,"type":"string"},{"name":"package","in":"query","description":"Package type to return, basic or expanded","required":false,"type":"string","enum":["basic","expanded"]},{"name":"release","in":"query","description":"The name of the release to get for","required":false,"type":"string"}],"responses":{"200":{"description":"Available data package as zip","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Invalid product, site, or month specified","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/data/query":{"get":{"description":"Get files available for a given product, one or more sites, date range, release, package combination","tags":["Data Query"],"operationId":"Get_data_query:availability_","produces":["application/json"],"parameters":[{"name":"productCode","in":"query","description":"Product code to query for files","required":true,"type":"string"},{"name":"siteCode","in":"query","description":"One or more four letter site codes to query for files","required":true,"type":"string"},{"name":"startDateMonth","in":"query","description":"YYYY-MM start date month to query for files","required":true,"type":"string"},{"name":"endDateMonth","in":"query","description":"YYYY-MM end date month to query for files","required":true,"type":"string"},{"name":"release","in":"query","description":"The name of the release to query for","required":false,"type":"string"},{"name":"package","in":"query","description":"Package type to query, basic or expanded","required":false,"type":"string","enum":["basic","expanded"]},{"name":"includeProvisional","in":"query","description":"Optionally include provisional data in the query","required":false,"type":"boolean"}],"responses":{"200":{"description":"Available files","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/dataQuery"}}}},"400":{"description":"One or more invalid paramaters specified","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}},"post":{"description":"Get files available for a given product, one or more sites, date range, release, package combination","tags":["Data Query"],"operationId":"Post_data_query:availability_","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"DataQueryRequest","in":"body","description":"The data query request","schema":{"type":"object","required":["productCode","siteCodes","startDateMonth","endDateMonth"],"properties":{"productCode":{"type":"string","description":"Product code to query for files"},"siteCodes":{"type":"array","description":"One or more four letter site codes to query for files","items":{"type":"string"}},"startDateMonth":{"type":"string","description":"YYYY-MM start date month to query for files"},"endDateMonth":{"type":"string","description":"YYYY-MM end date month to query for files"},"release":{"type":"string","description":"The name of the release to query for"},"package":{"type":"string","description":"Package type to query, basic or expanded","enum":["basic","expanded"]},"includeProvisional":{"type":"boolean","description":"Optionally include provisional data in the query"}}}}],"responses":{"200":{"description":"Available files","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/dataQuery"}}}},"400":{"description":"One or more invalid paramaters specified","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/releases":{"get":{"security":[],"description":"Get information about all available data releases","tags":["Releases"],"operationId":"Get_releases_","produces":["application/json"],"responses":{"200":{"description":"List of data releases","schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/release"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/releases/{releaseIdentifier}":{"get":{"security":[],"description":"Get information about a data release","tags":["Releases"],"operationId":"Get_releases_releaseIdentifier_","produces":["application/json"],"parameters":[{"name":"releaseIdentifier","in":"path","description":"Release tag or UUID to get information for","required":true,"type":"string"}],"responses":{"200":{"description":"Single data release","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/release"}}}},"400":{"description":"Release(s) not found","schema":{"$ref":"#/definitions/error"}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/releases/{releaseTag}/products":{"get":{"security":[],"description":"Get information about all data products within a specific release","tags":["Releases"],"operationId":"Get_releases_products_","produces":["application/json"],"parameters":[{"name":"releaseTag","in":"path","description":"The name of the release to get availability for","required":true,"type":"string"}],"responses":{"200":{"description":"List of data products","schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/product"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/releases/{releaseTag}/products/{productCode}":{"get":{"security":[],"description":"Get information about a data product within a specific release","tags":["Releases"],"operationId":"Get_releases_products_productCode_","produces":["application/json"],"parameters":[{"name":"releaseTag","in":"path","description":"The name of the release to get availability for","required":true,"type":"string"},{"name":"productCode","in":"path","description":"Data product to get","required":true,"type":"string"}],"responses":{"200":{"description":"Single data product","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/product"}}}},"400":{"description":"Product(s) not found","schema":{"$ref":"#/definitions/error"}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/releases/{releaseTag}/sites":{"get":{"security":[],"description":"Get information about all sites within a specific release","tags":["Releases"],"operationId":"Get_releases_sites_","produces":["application/json"],"parameters":[{"name":"releaseTag","in":"path","description":"The name of the release to get availability for","required":true,"type":"string"}],"responses":{"200":{"description":"List of sites","schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/site"}}}}}}}},"/releases/{releaseTag}/sites/{siteCode}":{"get":{"security":[],"description":"Get information about a field site within a specific release","tags":["Releases"],"operationId":"Get_releases_sites:siteCode_","produces":["application/json"],"parameters":[{"name":"releaseTag","in":"path","description":"The name of the release to get availability for","required":true,"type":"string"},{"name":"siteCode","in":"path","description":"Site to get","required":true,"type":"string"}],"responses":{"200":{"description":"Single site","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/site"}}}},"400":{"description":"Site(s) not found","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/releases/{releaseTag}/data/{productCode}/{siteCode}/{year-month}":{"get":{"description":"Get files available for a given release and product/site/month combination","tags":["Releases"],"operationId":"Get_releases_data:availability_","produces":["application/json"],"parameters":[{"name":"releaseTag","in":"path","description":"The name of the release to get availability for","required":true,"type":"string"},{"name":"productCode","in":"path","description":"Product to check for files","required":true,"type":"string"},{"name":"siteCode","in":"path","description":"Site to check for files","required":true,"type":"string"},{"name":"year-month","in":"path","description":"YYYY-MM month to check for files","required":true,"type":"string"},{"name":"package","in":"query","description":"Package type to return, basic or expanded","required":false,"type":"string","enum":["basic","expanded"]}],"responses":{"200":{"description":"Available files","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/data"}}}},"400":{"description":"Product, site not found or invalid date range specified","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/releases/{releaseTag}/data/{productCode}/{siteCode}/{year-month}/{filename}":{"get":{"description":"Get a file for a given release and product/site/month/filename combination","tags":["Releases"],"operationId":"Get_releases_data:availability_file_","produces":["application/octet-stream"],"parameters":[{"name":"releaseTag","in":"path","description":"The name of the release to get availability for","required":true,"type":"string"},{"name":"productCode","in":"path","description":"Product to check for files","required":true,"type":"string"},{"name":"siteCode","in":"path","description":"Site to check for files","required":true,"type":"string"},{"name":"year-month","in":"path","description":"YYYY-MM month to check for files","required":true,"type":"string"},{"name":"filename","in":"path","description":"The name of the file","required":true,"type":"string"},{"name":"package","in":"query","description":"Package type to return, basic or expanded","required":false,"type":"string","enum":["basic","expanded"]}],"responses":{"200":{"description":"Available file data","schema":{"type":"string","format":"binary"}},"302":{"description":"Found available file and redirects to data","schema":{"type":"string","format":"binary"}},"400":{"description":"Invalid file name specified","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/releases/{releaseTag}/data/package/{productCode}/{siteCode}/{year-month}":{"get":{"description":"Get a data package for a given release and product/site/month and package combination","tags":["Releases"],"operationId":"Get_releases_data:availability_package_","produces":["application/zip"],"parameters":[{"name":"releaseTag","in":"path","description":"The name of the release to get availability for","required":true,"type":"string"},{"name":"productCode","in":"path","description":"Product to check for files","required":true,"type":"string"},{"name":"siteCode","in":"path","description":"Site to check for files","required":true,"type":"string"},{"name":"year-month","in":"path","description":"YYYY-MM month to check for files","required":true,"type":"string"},{"name":"package","in":"query","description":"Package type to return, basic or expanded","required":false,"type":"string","enum":["basic","expanded"]}],"responses":{"200":{"description":"Available data package as zip","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Invalid product, site, or month specified","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/samples/view":{"get":{"description":"For a given sample identifier, get a list of sample custody events as well as any parent and child sample identifiers that currently exist.","tags":["Samples"],"operationId":"Get_samplesByTagClass","produces":["application/json"],"parameters":[{"name":"sampleTag","in":"query","description":"Sample Tag of interest. Must be used in conjunction with a Sample Class only.","required":false,"type":"string"},{"name":"sampleClass","in":"query","description":"Sample Class of interest. Must be used in conjunction with a Sample Tag only.","required":false,"type":"string"},{"name":"sampleUuid","in":"query","description":"UUID of Sample. Must be used on its own.","required":false,"type":"string"},{"name":"barcode","in":"query","description":"Barcode of Sample. Must be used on its own.","required":false,"type":"string"},{"name":"archiveGuid","in":"query","description":"archiveGuid of Sample. Must be used on its own.","required":false,"type":"string"}],"responses":{"200":{"description":"List of sample views.","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/views"}}}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/error"}},"404":{"description":"Sample Not Found","schema":{"$ref":"#/definitions/error"}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/samples/classes":{"get":{"security":[],"description":"Get a list of Sample Classes for a given Sample Tag","tags":["Samples"],"operationId":"Get_sampleClasses:sampleTag_","produces":["application/json"],"parameters":[{"name":"sampleTag","in":"query","description":"Sample Tag of interest","required":true,"type":"string"}],"responses":{"200":{"description":"List of sample classes for a given Sample Tag","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/classes"}}}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/error"}},"404":{"description":"Sample Not Found","schema":{"$ref":"#/definitions/error"}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/samples/supportedClasses":{"get":{"security":[],"description":"Get a list of sample classes and descriptions currently available","tags":["Samples"],"operationId":"Get_supportedSampleClasses","produces":["application/json"],"responses":{"200":{"description":"List of supported sample classes and their descriptions","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/supportedClasses"}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/samples/download":{"get":{"description":"Get a list of sample views for a given sample identifier and search degree.","tags":["Samples"],"operationId":"Get_samplesDownloadBySampleTagClass","produces":["application/json"],"parameters":[{"name":"sampleTag","in":"query","description":"Sample Tag of interest. Must be used in conjunction with a Sample Class only.","required":false,"type":"string"},{"name":"sampleClass","in":"query","description":"Sample Class of interest. Must be used in conjunction with a Sample Tag only.","required":false,"type":"string"},{"name":"sampleUuid","in":"query","description":"UUID of Sample. Must be used on its own.","required":false,"type":"string"},{"name":"barcode","in":"query","description":"Barcode of Sample. Must be used on its own.","required":false,"type":"string"},{"name":"archiveGuid","in":"query","description":"archiveGuid of Sample. Must be used on its own.","required":false,"type":"string"},{"name":"degree","in":"query","description":"degree of sample search","required":false,"type":"string"}],"responses":{"200":{"description":"list of sample views","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/views"}}}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/error"}},"404":{"description":"Sample Not Found","schema":{"$ref":"#/definitions/error"}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/taxonomy":{"get":{"security":[],"description":"Get taxonomic lists","tags":["Taxonomy"],"operationId":"Get_taxonomy","produces":["application/json"],"parameters":[{"name":"taxonTypeCode","in":"query","description":"Taxon type code to get. Must not be used in conjunction with a taxon rank query parameter.","required":false,"enum":["ALGAE","BEETLE","BIRD","FISH","HERPETOLOGY","MACROINVERTEBRATE","MOSQUITO","MOSQUITO_PATHOGENS","SMALL_MAMMAL","PLANT","TICK"],"type":"string"},{"name":"kingdom","in":"query","description":"The taxon rank to get. Must not be used in conjunction with taxon type code.","required":false,"type":"string"},{"name":"phylum","in":"query","description":"The taxon rank to get. Must not be used in conjunction with taxon type code.","required":false,"type":"string"},{"name":"division","in":"query","description":"The taxon rank to get. Must not be used in conjunction with taxon type code.","required":false,"type":"string"},{"name":"order","in":"query","description":"The taxon rank to get. Must not be used in conjunction with taxon type code.","required":false,"type":"string"},{"name":"class","in":"query","description":"The taxon rank to get. Must not be used in conjunction with taxon type code.","required":false,"type":"string"},{"name":"family","in":"query","description":"The taxon rank to get. Must not be used in conjunction with taxon type code.","required":false,"type":"string"},{"name":"genus","in":"query","description":"The taxon rank to get. Must not be used in conjunction with taxon type code.","required":false,"type":"string"},{"name":"scientificname","in":"query","description":"The taxon rank to get. Must not be used in conjunction with taxon type code.","required":false,"type":"string"},{"name":"verbose","in":"query","description":"Get verbose result set","required":false,"type":"boolean"},{"name":"offset","in":"query","description":"The number of items to skip before starting to collect the result set","required":false,"type":"integer"},{"name":"limit","in":"query","description":"The number of items to limit the result set to","required":false,"type":"integer"},{"name":"stream","in":"query","description":"Option to obtain the result as a stream. Utilize for large requests.","required":false,"type":"boolean"}],"responses":{"200":{"description":"List of taxonomic information","schema":{"type":"object","properties":{"count":{"type":"integer","description":"The number of results in the current paged response"},"total":{"type":"integer","description":"The total number of results for the query"},"prev":{"type":"string","format":"uri","description":"Link to the previous page of results when available"},"next":{"type":"string","format":"uri","description":"Link to the next page of results when available"},"data":{"type":"array","items":{"$ref":"#/definitions/taxonomy"}}}}},"400":{"description":"Taxonomic data does not exist for specified query","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/prototype/datasets":{"get":{"security":[],"description":"Get information about all prototype datasets","tags":["Prototype Datasets"],"operationId":"Get_prototype_datasets_","produces":["application/json"],"responses":{"200":{"description":"List of prototype datasets","schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/prototypeDataset"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/prototype/datasets/{uuid}":{"get":{"security":[],"description":"Get information about a prototype dataset","tags":["Prototype Datasets"],"operationId":"Get_prototype_datasets_uuid_","produces":["application/json"],"parameters":[{"name":"uuid","in":"path","description":"Prototype dataset UUID to get","required":true,"type":"string"}],"responses":{"200":{"description":"Single prototype dataset","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/prototypeDataset"}}}},"400":{"description":"Prototype dataset not found","schema":{"$ref":"#/definitions/error"}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/prototype/data/{uuid}":{"get":{"description":"Get information about data files for the prototype dataset","tags":["Prototype Datasets"],"operationId":"Get_prototype_data_uuid_","produces":["application/json"],"parameters":[{"name":"uuid","in":"path","description":"Prototype dataset UUID to get","required":true,"type":"string"}],"responses":{"200":{"description":"Available data for the prototype dataset","schema":{"type":"object","properties":{"data":{"$ref":"#/definitions/prototypeDatasetData"}}}},"400":{"description":"Prototype dataset not found","schema":{"$ref":"#/definitions/error"}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}},"/prototype/data/{uuid}/{filename}":{"get":{"description":"Gets a data file","tags":["Prototype Datasets"],"operationId":"Get_prototype_data_uuid_file_","produces":["application/octet-stream"],"parameters":[{"name":"uuid","in":"path","description":"Prototype dataset UUID to get","required":true,"type":"string"},{"name":"filename","in":"path","description":"The name of the data file","required":true,"type":"string"}],"responses":{"200":{"description":"Available file data","schema":{"type":"string","format":"binary"}},"302":{"description":"Found available file and redirects to data","schema":{"type":"string","format":"binary"}},"400":{"description":"Invalid file name specified","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/error"}}}}},"default":{"description":"General error","schema":{"$ref":"#/definitions/error"}}}}}}`),definitions:JSON.parse(`{"product":{"type":"object","properties":{"productCodeLong":{"type":"string","description":"Revisioned, long code for the data product (NEON.DOM.SITE.DP1.00001.001, etc)"},"productCode":{"type":"string","description":"Revisioned, shortened code for the data product (DP1.00001.001, DP1.10072.001, etc)"},"productCodePresentation":{"type":"string","description":"Shortened product code"},"productName":{"type":"string","description":"The name of the data product."},"productDescription":{"type":"string","description":"A brief description of the data product."},"productStatus":{"type":"string","enum":["FUTURE","ACTIVE","RETIRED"],"description":"Future, active, or retired product status"},"productCategory":{"type":"string","description":"Level 1, 2, 3, or 4 data product"},"productHasExpanded":{"type":"boolean","description":"Whether a data product has expanded data"},"productScienceTeamAbbr":{"type":"string","description":"Three letter abbreviation for the science team responsible for the data product"},"productScienceTeam":{"type":"string","description":"Science team responsible for the data product"},"productPublicationFormatType":{"type":"string","description":"Class of publication system used during the publication process; can be independent from productScienceTeam."},"productAbstract":{"type":"string","description":"An abstract for the data product"},"productDesignDescription":{"type":"string","description":"A design description of the data product"},"productStudyDescription":{"type":"string","description":"A study description of the data product"},"productBasicDescription":{"type":"string","description":"A description of the basic package available for download"},"productExpandedDescription":{"type":"string","description":"A description of the expanded package available for download"},"productSensor":{"type":"string","description":"A description of the sensor utilized by the data product"},"productRemarks":{"type":"string","description":"Remarks about the data product"},"themes":{"type":"array","description":"List of themes to which the data product belongs.","items":{"type":"string"}},"changeLogs":{"type":"array","description":"List of issues and associated details for the product.","items":{"type":"object","properties":{"id":{"type":"number","format":"int","description":"The identifier for the issue."},"parentIssueID":{"type":"number","format":"int","description":"The identifier for the parent issue that this issue is associated with."},"issueDate":{"type":"string","format":"date-time","description":"The date and time associated with the creation of the issue."},"resolvedDate":{"type":"string","format":"date-time","description":"The date and time associated with the resolution of the issue."},"dateRangeStart":{"type":"string","format":"date-time","description":"The start of the date interval that this issue impacts the data product."},"dateRangeEnd":{"type":"string","format":"date-time","description":"The end of the date interval that this issue impacts the data product."},"locationAffected":{"type":"string","description":"The locations affected by this issue."},"issue":{"type":"string","description":"The description of the issue."},"resolution":{"type":"string","description":"The description of the resolution applied for this issue."}}}},"specs":{"type":"array","description":"List of documents associated with the data product.","items":{"$ref":"#/definitions/spec"}},"keywords":{"type":"array","description":"List of words and phrases associated with the data product","items":{"type":"string"}},"biorepositoryCollections":{"type":"array","description":"List of NEON biorepository collections associated with the data product","items":{"$ref":"#/definitions/biorepositoryCollection"}},"releases":{"type":"array","description":"List of releases that this product has available data within.","items":{"type":"object","properties":{"release":{"type":"string","description":"The name of the release"},"generationDate":{"type":"string","format":"date-time","description":"The generation date of the release."},"url":{"type":"string","description":"The URL to the API endpoint that references the release."},"productDoi":{"type":"object","description":"A description for the DOI associated with the product and release.","properties":{"generationDate":{"type":"string","format":"date-time","description":"The generation date of the DOI."},"url":{"type":"string","description":"The DOI URL for the product and release."}}}}}},"siteCodes":{"type":"array","description":"List of sites and months of available data","items":{"type":"object","properties":{"siteCode":{"type":"string","description":"Four character code for the site"},"availableMonths":{"type":"array","description":"List of years and months that products are available. Formatted as YYYY-MM.","items":{"type":"string"}},"availableDataUrls":{"type":"array","description":"List of data urls for products that are available.","items":{"type":"string"}},"availableReleases":{"type":"array","description":"List of available releases and months contained within each release.","items":{"type":"object","properties":{"release":{"type":"string","description":"The name of the release."},"availableMonths":{"type":"array","description":"List of years and months that products are available within for this release. Formatted as YYYY-MM.","items":{"type":"string"}}}}}}}}}},"biorepositoryCollection":{"type":"object","properties":{"collectionCode":{"type":"string","description":"The collection code assigned to the collection."},"collectionName":{"type":"string","description":"The name of the collection."},"collectionUrl":{"type":"string","description":"The URL to the API endpoint for the specified collection."},"collectionContentUrl":{"type":"string","description":"The URL to the biorepository collection landing page."},"collectionDownloadUrl":{"type":"string","description":"The URL to download the biorepository collection dataset."}}},"spec":{"type":"object","properties":{"specId":{"type":"string","description":"Document identifier for the associated document."},"specNumber":{"type":"string","description":"The specification number or name for the associated document."},"specType":{"type":"string","description":"The MIME type of the associated document."},"specSize":{"type":"number","format":"int","description":"The size in bytes of the associated document."},"specDescription":{"type":"string","description":"Description of the associated document."}}},"site":{"type":"object","properties":{"siteCode":{"type":"string","description":"Four character code for the site"},"siteName":{"type":"string","description":"Full name for the site"},"siteDescription":{"type":"string","description":"Brief site description"},"siteType":{"type":"string","enum":["CORE","GRADIENT"],"description":"Core or Gradient site"},"siteLatitude":{"type":"number","description":"Point latitude for the site"},"siteLongitude":{"type":"number","description":"Point longitude for the site"},"domainCode":{"type":"string","description":"Three character domain abbreviation (D01, D02, etc) for the domain this site is in"},"stateCode":{"type":"string","description":"Two letter state code that this site is in"},"stateName":{"type":"string","description":"Full name of the state or territory that this site is in"},"domainName":{"type":"string","description":"Brief description for the domain this site is in"},"deimsId":{"type":"string","description":"Dynamic Ecological Information Management System - Site and dataset registry (DEIMS-SDR) ID for the site, see deims.org"},"releases":{"type":"array","description":"List of releases that this site has available data within.","items":{"type":"object","properties":{"release":{"type":"string","description":"The name of the release"},"generationDate":{"type":"string","format":"date-time","description":"The generation date of the release."},"url":{"type":"string","description":"The URL to the API endpoint that references the release."}}}},"dataProducts":{"type":"array","items":{"$ref":"#/definitions/productAvailability"}}}},"productAvailability":{"type":"object","properties":{"dataProductCode":{"type":"string","description":"Revisioned, shortened code for the data product (DP1.00001.001, DP1.10072.001, etc)"},"dataProductTitle":{"type":"string","description":"Full title for the data product."},"availableMonths":{"type":"array","description":"List of years and months that products are available. Formatted as YYYY-MM.","items":{"type":"string"}},"availableDataUrls":{"type":"array","description":"List of data urls for products that are available.","items":{"type":"string"}},"availableReleases":{"type":"array","description":"List of available releases and months contained within each release.","items":{"type":"object","properties":{"release":{"type":"string","description":"The name of the release."},"availableMonths":{"type":"array","description":"List of years and months that products are available within for this release. Formatted as YYYY-MM.","items":{"type":"string"}}}}}}},"data":{"type":"object","properties":{"productCode":{"type":"string","description":"The product code."},"siteCode":{"type":"string","description":"The four letter site code."},"month":{"type":"string","description":"The available month. Formatted as YYYY-MM."},"release":{"type":"string","description":"The name of the associated release."},"packages":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","description":"The type of package."},"url":{"type":"string","description":"The URL to the data package API endpoint."}}}},"files":{"type":"array","items":{"$ref":"#/definitions/file"}},"externalData":{"type":"array","items":{"$ref":"#/definitions/externalData"}}}},"file":{"type":"object","properties":{"name":{"description":"Filename","type":"string"},"size":{"description":"File size in bytes","type":"number","format":"int"},"md5":{"description":"MD5 value in hex","type":"string"},"crc32":{"description":"DEPRECATED. CRC32 value in hex","type":"string"},"crc32c":{"description":"CRC32C value in hex","type":"string"},"url":{"description":"Download URL","type":"string"}}},"externalData":{"type":"object","properties":{"name":{"description":"The name of the external data object.","type":"string"},"type":{"description":"The type of external data link provided.","type":"string"},"url":{"description":"URL to external data.","type":"string"}}},"release":{"type":"object","properties":{"release":{"type":"string","description":"The name or \\"tag\\" of the release."},"uuid":{"type":"string","description":"The UUID associated with the release."},"generationDate":{"type":"string","format":"date-time","description":"Generation date of the release."},"artifacts":{"type":"array","description":"The set of artifacts associated with the release.","items":{"type":"object","properties":{"name":{"type":"string","description":"The name of the artifact."},"type":{"type":"string","description":"The type of the artifact."},"url":{"type":"string","description":"The download URL for the artifact"},"size":{"type":"number","format":"int","description":"The file size in bytes."},"md5":{"type":"string","description":"MD5 value in hex"}}}},"dataProducts":{"type":"array","description":"The set of available data products within the release.","items":{"type":"object","properties":{"productCode":{"type":"string","description":"Revisioned, shortened code for the data product (DP1.00001.001, DP1.10072.001, etc)"},"productName":{"type":"string","description":"The name of the data product."},"productDescription":{"type":"string","description":"A brief description of the data product."},"productDoi":{"type":"string","description":"The DOI for the product within the release."}}}}}},"dataQuery":{"type":"object","properties":{"productCode":{"type":"string","description":"Revisioned, shortened code for the data product (DP1.00001.001, DP1.10072.001, etc)"},"siteCodes":{"type":"array","description":"List of four character site codes available","items":{"type":"string"}},"startDate":{"type":"string","format":"date-time","description":"The start date of the query interval"},"endDate":{"type":"string","format":"date-time","description":"The end date of the query interval"},"packageType":{"type":"string","description":"The type of package, basic or expanded"},"releases":{"type":"array","description":"The list of available releases for the query","items":{"type":"object","description":"Describes a release data package","properties":{"release":{"type":"string","description":"The name of the release"},"generationDate":{"type":"string","format":"date-time","description":"The generation date of the release"},"packages":{"type":"array","description":"The list of available packages within the release for the query","items":{"type":"object","description":"Describes a data package","properties":{"domainCode":{"type":"string","description":"Three character domain abbreviation (D01, D02, etc) for the domain this package is in"},"siteCode":{"type":"string","description":"Four character code for the site"},"month":{"type":"string","description":"The available month, formatted as YYYY-MM"},"packageType":{"type":"string","description":"The type of package, basic or expanded"},"generationDate":{"type":"string","format":"date-time","description":"The generation date of the package"},"files":{"type":"array","description":"The list of available files within the package for the query","items":{"$ref":"#/definitions/file"}}}}}}}}}},"location":{"type":"object","properties":{"locationName":{"type":"string","description":"Name of the location"},"locationDescription":{"type":"string","description":"A description of the location."},"locationType":{"type":"string"},"domainCode":{"type":"string","description":"Three character domain abbreviation (D01, D02, etc) for the domain this site is in"},"siteCode":{"type":"string","description":"Four character code for the site"},"locationDecimalLatitude":{"type":"number","format":"double","description":"Decimal latitude for the location."},"locationDecimalLongitude":{"type":"number","format":"double","description":"Decimal longitude for the location."},"locationElevation":{"type":"number","format":"double","description":"Elevation for the location."},"locationUtmEasting":{"type":"number","format":"double","description":"The Universal Transverse Mercator easting."},"locationUtmNorthing":{"type":"number","format":"double","description":"The Universal Transverse Mercator northing."},"locationUtmZone":{"type":"number","format":"int","description":"The integer Universal Transverse Mercator zone."},"locationUtmHemisphere":{"type":"string","description":"The single character Universal Transverse Mercator hemisphere."},"alphaOrientation":{"type":"number","format":"double","description":"The elevation or pitch angle (in degrees) in the vertical plane at which a sensor is oriented relative to the horizontal plane."},"betaOrientation":{"type":"number","format":"double","description":"The roll angle (in degrees) about the longitudinal axis of the sensor at which the sensor is oriented."},"gammaOrientation":{"type":"number","format":"double","description":"The azimuth or yaw angle (in degrees) at which a sensor is facing relative to true North."},"xOffset":{"type":"number","format":"double","description":"Cartesian offsets of a sensor, in meters, west (positive values) or east (negative values) relative to the reference location."},"yOffset":{"type":"number","format":"double","description":"Cartesian offsets of a sensor, in meters, south (positive values) or north (negative values) relative to the reference location."},"zOffset":{"type":"number","format":"double","description":"Cartesian offsets of a sensor, in meters, up (positive values) or down (negative values) relative to the reference location."},"offsetLocation":{"type":"object","$ref":"#/definitions/location","description":"The named location used as a reference point. Offsets are relative to this location."},"locationPolygon":{"type":"object","properties":{"coordinates":{"type":"array","description":"A list of vertices that define the closed structure for the polygon","items":{"type":"object","properties":{"latitude":{"type":"number","format":"double","description":"Decimal latitude for the polygon coordinate."},"longitude":{"type":"number","format":"double","description":"Decimal longitude for the polygon coordinate."},"elevation":{"type":"number","format":"double","description":"Elevation for the polygon coordinate."}}}}}},"activePeriods":{"type":"array","description":"List of active periods for the location","items":{"type":"object","properties":{"activatedDate":{"type":"string","format":"date-time","description":"The activation date for the time period"},"deactivatedDate":{"type":"string","format":"date-time","description":"The deactivation date for the time period"}}}},"locationProperties":{"type":"array","description":"List of properties associated with the location. Contents vary based on the type of location.","items":{"type":"object","properties":{"locationPropertyValue":{"type":"string","description":"Can be a string or a number"},"locationPropertyName":{"type":"string"}}}},"locationHistory":{"type":"array","items":{"type":"object","$ref":"#/definitions/locationHistory"}},"locationParent":{"type":"string","description":"Name of the location that this location is in."},"locationParentUrl":{"type":"string","description":"URL to request location data for the parent of this location."},"locationParentHierarchy":{"type":"object","description":"When querying for the hierarchy, the location's parent hierarchy","$ref":"#/definitions/locationParentHierarchy"},"locationChildren":{"type":"array","description":"A list of names of locations within this location.","items":{"type":"string"}},"locationChildrenUrls":{"type":"array","description":"A list of URLs to request location data for the children of this location.","items":{"type":"string"}},"locationChildHierarchy":{"type":"array","description":"When querying for the hierarchy, the location's set of immediate children and associated hierarchy","items":{"type":"object","$ref":"#/definitions/locationChildHierarchy"}}}},"locationHistory":{"type":"object","properties":{"current":{"type":"boolean","description":"Indicates if this is the current location for this location."},"locationStartDate":{"type":"string","format":"date-time","description":"The start date and time for this location."},"locationEndDate":{"type":"string","format":"date-time","description":"The end date and time for this location."},"locationDecimalLatitude":{"type":"number","format":"double","description":"Decimal latitude for the location."},"locationDecimalLongitude":{"type":"number","format":"double","description":"Decimal longitude for the location."},"locationElevation":{"type":"number","format":"double","description":"Elevation for the location."},"locationUtmEasting":{"type":"number","format":"double","description":"The Universal Transverse Mercator easting."},"locationUtmNorthing":{"type":"number","format":"double","description":"The Universal Transverse Mercator northing."},"locationUtmHemisphere":{"type":"string","description":"The single character Universal Transverse Mercator hemisphere."},"locationUtmZone":{"type":"number","format":"int","description":"The integer Universal Transverse Mercator zone."},"alphaOrientation":{"type":"number","format":"double","description":"The elevation or pitch angle (in degrees) in the vertical plane at which a sensor is oriented relative to the horizontal plane."},"betaOrientation":{"type":"number","format":"double","description":"The roll angle (in degrees) about the longitudinal axis of the sensor at which the sensor is oriented."},"gammaOrientation":{"type":"number","format":"double","description":"The azimuth or yaw angle (in degrees) at which a sensor is facing relative to true North."},"xOffset":{"type":"number","format":"double","description":"Cartesian offsets of a sensor, in meters, west (positive values) or east (negative values) relative to the reference location."},"yOffset":{"type":"number","format":"double","description":"Cartesian offsets of a sensor, in meters, south (positive values) or north (negative values) relative to the reference location."},"zOffset":{"type":"number","format":"double","description":"Cartesian offsets of a sensor, in meters, up (positive values) or down (negative values) relative to the reference location."},"locationPolygon":{"type":"object","properties":{"coordinates":{"type":"array","description":"A list of vertices that define the closed structure for the polygon","items":{"type":"object","properties":{"latitude":{"type":"number","format":"double","description":"Decimal latitude for the polygon coordinate."},"longitude":{"type":"number","format":"double","description":"Decimal longitude for the polygon coordinate."},"elevation":{"type":"number","format":"double","description":"Elevation for the polygon coordinate."}}}}}},"locationProperties":{"type":"array","description":"List of properties associated with the location. Contents vary based on the type of location.","items":{"type":"object","properties":{"locationPropertyValue":{"type":"string","description":"Can be a string or a number"},"locationPropertyName":{"type":"string"}}}}}},"locationParentHierarchy":{"type":"object","properties":{"locationName":{"type":"string","description":"Name of the location"},"locationType":{"type":"string","description":"Type of the location"},"locationParent":{"type":"string","description":"Name of the location that this location is in."},"locationParentUrl":{"type":"string","description":"URL to request location data for the parent of this location."},"locationParentHierarchy":{"type":"object","description":"The location's parent hierarchy"}}},"locationChildHierarchy":{"type":"object","properties":{"locationName":{"type":"string","description":"Name of the location"},"locationType":{"type":"string","description":"Type of the location"},"locationDescription":{"type":"string","description":"A description of the location."},"locationChildHierarchy":{"type":"array","description":"The location's child hierarchy","items":{"type":"object"}}}},"taxonomy":{"type":"object","properties":{"taxonTypeCode":{"description":"NEON taxonomic grouping","type":"string"},"taxonID":{"description":"NEON taxonomic code","type":"string"},"acceptedTaxonID":{"description":"Accepted taxonomic code from the authoritative source (dwc:nameAccordingToID)","type":"string"},"updateDate":{"description":"The date that this taxonomic record was last updated","type":"string"},"dwc:scientificName":{"description":"Scientific name, associated with the taxonID. This is the name of the lowest level taxonomic rank that can be determined. http://rs.tdwg.org/dwc/terms/scientificName","type":"string"},"dwc:scientificNameAuthorship":{"description":"The authorship information for the scientificName formatted according to the conventions of the applicable nomenclaturalCode. http://rs.tdwg.org/dwc/terms/scientificNameAuthorship","type":"string"},"dwc:taxonRank":{"description":"The lowest level taxonomic rank that can be determined for the individual or specimen. http://rs.tdwg.org/dwc/terms/taxonRank","type":"string"},"dwc:vernacularName":{"description":"A common or vernacular name. http://rs.tdwg.org/dwc/terms/vernacularName","type":"string"},"taxonProtocolCategory":{"description":"NEON protocol-specific categorization of the taxon","type":"string"},"dwc:nameAccordingToID":{"description":"An identifier for the source in which the specific taxon concept circumscription is defined or implied. http://rs.tdwg.org/dwc/terms/nameAccordingToID","type":"string"},"dwc:nameAccordingToTitle":{"description":"The reference to the source in which the specific taxon concept circumscription is defined or implied. http://tdwg.github.io/dwc/terms/nameAccordingTo","type":"string"},"dwc:kingdom":{"description":"The scientific name of the kingdom in which the taxon is classified. http://rs.tdwg.org/dwc/terms/kingdom","type":"string"},"gbif:subkingdom":{"description":"The scientific name of the subkingdom in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/subkingdom","type":"string"},"gbif:infrakingdom":{"description":"The scientific name of the infrakingdom in which the taxon is classified","type":"string"},"gbif:superdivision":{"description":"The scientific name of the superdivision in which the taxon is classified","type":"string"},"gbif:division":{"description":"The scientific name of the division in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/phylum","type":"string"},"gbif:subdivision":{"description":"The scientific name of the subdivision in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/subphylum","type":"string"},"gbif:infradivision":{"description":"The scientific name of the infradivision in which the taxon is classified","type":"string"},"gbif:parvdivision":{"description":"The scientific name of the parvdivision in which the taxon is classified","type":"string"},"gbif:superphylum":{"description":"The scientific name of the superphylum in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/superphylum","type":"string"},"dwc:phylum":{"description":"The scientific name of the phylum or division in which the taxon is classified. http://rs.tdwg.org/dwc/terms/phylum","type":"string"},"gbif:subphylum":{"description":"The scientific name of the subphylum in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/subphylum","type":"string"},"gbif:infraphylum":{"description":"The scientific name of the infraphylum in which the taxon is classified","type":"string"},"gbif:superclass":{"description":"The scientific name of the superclass in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/superclass","type":"string"},"dwc:class":{"description":"The scientific name of the class in which the taxon is classified. http://rs.tdwg.org/dwc/terms/class","type":"string"},"gbif:subclass":{"description":"The scientific name of the subclass in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/subclass","type":"string"},"gbif:infraclass":{"description":"The scientific name of the infraclass in which the taxon is classified","type":"string"},"gbif:superorder":{"description":"The scientific name of the superorder in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/superorder","type":"string"},"dwc:order":{"description":"The scientific name of the order in which the taxon is classified. http://rs.tdwg.org/dwc/terms/order","type":"string"},"gbif:suborder":{"description":"The scientific name of the suborder in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/suborder","type":"string"},"gbif:infraorder":{"description":"The scientific name of the infraorder in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/infraorder","type":"string"},"gbif:section":{"description":"The scientific name of the section in which the organism is classified. http://rs.gbif.org/vocabulary/gbif/rank/section","type":"string"},"gbif:subsection":{"description":"The scientific name of the subsection in which the organism is classified. http://rs.gbif.org/vocabulary/gbif/rank/subsection","type":"string"},"gbif:superfamily":{"description":"The scientific name of the superfamily in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/superfamily","type":"string"},"dwc:family":{"description":"The scientific name of the family in which the taxon is classified. http://rs.tdwg.org/dwc/terms/family","type":"string"},"gbif:subfamily":{"description":"The scientific name of the subfamily in which the organism is classified. http://rs.gbif.org/vocabulary/gbif/rank/subfamily","type":"string"},"gbif:tribe":{"description":"The scientific name of the tribe in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/tribe","type":"string"},"gbif:subtribe":{"description":"The scientific name of the subtribe in which the taxon is classified. http://rs.gbif.org/vocabulary/gbif/rank/subtribe","type":"string"},"dwc:genus":{"description":"The scientific name of the genus in which the organism is classified. http://rs.tdwg.org/dwc/terms/genus","type":"string"},"dwc:subgenus":{"description":"The scientific name of the subgenus in which the taxon is classified. Values should include the genus to avoid homonym confusion. http://rs.tdwg.org/dwc/terms/subgenus","type":"string"},"gbif:subspecies":{"description":"The subspecies (infraspecific name below the rank of infraspecific epithet) of the scientific name applied to the taxon. http://rs.gbif.org/vocabulary/gbif/rank/subspecies","type":"string"},"gbif:variety":{"description":"The variety (infraspecific name below the rank of infraspecific epithet) of the scientific name applied to the taxon. http://rs.gbif.org/vocabulary/gbif/rank/variety","type":"string"},"gbif:subvariety":{"description":"The subvariety (infraspecific name below the rank of variety) of the scientific name applied to the taxon. http://rs.gbif.org/vocabulary/gbif/rank/subvariety","type":"string"},"gbif:form":{"description":"The form (infraspecific name below the rank of infraspecific epithet) of the scientific name applied to the taxon. http://rs.gbif.org/vocabulary/gbif/rank/form","type":"string"},"gbif:subform":{"description":"The subform (infraspecific name below the rank of form) of the scientific name applied to the taxon. http://rs.gbif.org/vocabulary/gbif/rank/subform","type":"string"},"speciesGroup":{"description":"The unofficial species group into which the taxon is categorized","type":"string"},"dwc:specificEpithet":{"description":"The specific epithet (second part of the species name) of the scientific name applied to the taxon. http://rs.tdwg.org/dwc/terms/specificEpithet","type":"string"},"dwc:infraspecificEpithet":{"description":"The infraspecific epithet (scientific name below the rank of species) of the scientific name applied to the taxon. http://rs.tdwg.org/dwc/terms/infraspecificEpithet","type":"string"}}},"sampleInfo":{"type":"object","properties":{"sampleUuid":{"type":"string","description":"UUID for a given sample"},"sampleTag":{"type":"string","description":"Sample Tag for a given sample"},"sampleClass":{"type":"string","description":"Sample Class for a given sample"},"barcode":{"type":"string","description":"Sample Barcode for a given sample"},"archiveGuid":{"type":"string","description":"Archive GUID for a given sample"}}},"views":{"type":"object","properties":{"sampleViews":{"type":"array","description":"array of sample views for a given sample","items":{"$ref":"#/definitions/sampleView"}}}},"sampleView":{"type":"object","properties":{"sampleUuid":{"type":"string","description":"UUID for a given sample"},"sampleTag":{"type":"string","description":"Sample Tag for a given sample"},"sampleClass":{"type":"string","description":"Sample Class for a given sample"},"barcode":{"type":"string","description":"Sample Barcode for a given sample"},"archiveGuid":{"type":"string","description":"Archive GUID for a given sample"},"sampleEvents":{"type":"array","items":{"$ref":"#/definitions/sampleEvent"}},"parentSampleIdentifiers":{"type":"array","items":{"$ref":"#/definitions/sampleInfo"}},"childSampleIdentifiers":{"type":"array","items":{"$ref":"#/definitions/sampleInfo"}}}},"sampleEvent":{"type":"object","description":"Sample Event for a given sample.","properties":{"ingestTableName":{"type":"string","description":"Ingest Table Name"},"smsFieldEntries":{"type":"array","items":{"$ref":"#/definitions/smsField"}}}},"smsField":{"type":"object","properties":{"smsKey":{"type":"string","description":"SMS Field Name"},"smsValue":{"type":"string","description":"SMS Field Value"}}},"entry":{"type":"object","properties":{"key":{"type":"string","description":"Sample Class Name"},"value":{"type":"string","description":"Sample Class Description"}}},"classes":{"type":"object","properties":{"sampleClasses":{"type":"array","description":"array of Sample Classes for a given sample.","items":{"type":"string"}}}},"supportedClasses":{"type":"object","properties":{"entries":{"type":"array","description":"array of Sample Classes and their descriptions for a given sample.","items":{"$ref":"#/definitions/entry"}}}},"prototypeDataset":{"type":"object","properties":{"uuid":{"type":"string","description":"The UUID of the dataset"},"projectTitle":{"type":"string","description":"The title of the project"},"projectDescription":{"type":"string","description":"The description of the project"},"designDescription":{"type":"string","description":"A description of the dataset's design"},"metadataDescription":{"type":"string","description":"A brief description of the metadata associated with the dataset"},"studyAreaDescription":{"type":"string","description":"A description of the dataset's spatial extent"},"datasetAbstract":{"type":"string","description":"An abstract of the dataset"},"startYear":{"type":"number","format":"int","description":"The start year for the time span of the dataset"},"endYear":{"type":"number","format":"int","description":"The end year for the time span of the dataset"},"dateUploaded":{"type":"string","format":"date-time","description":"The date the dataset was uploaded"},"isPublished":{"type":"boolean","description":"Whether or not the dataset has been included in a publication"},"version":{"type":"string","description":"The version of the dataset"},"versionDescription":{"type":"string","description":"The version description"},"doi":{"type":"object","description":"The DOI for the dataset","$ref":"#/definitions/prototypeDatasetDoi"},"relatedVersions":{"type":"array","description":"The related versions of this dataset","items":{"$ref":"#/definitions/prototypeDatasetRelatedVersion"}},"data":{"type":"object","description":"The dataset's data files","$ref":"#/definitions/prototypeDatasetDataDetail"},"dataThemes":{"type":"array","description":"List of themes to which the dataset belongs","items":{"type":"string"}},"fileTypes":{"type":"array","description":"List of file types to which the dataset belongs","items":{"$ref":"#/definitions/prototypeFileType"}},"keywords":{"type":"array","description":"List of words and phrases associated with the dataset","items":{"type":"string"}},"locations":{"type":"array","description":"List of locations of the dataset's spatial extent","items":{"$ref":"#/definitions/prototypeLocation"}},"publicationCitations":{"type":"array","description":"List of publication citations involving the dataset","items":{"$ref":"#/definitions/prototypePublicationCitation"}},"relatedDataProducts":{"type":"array","description":"List of data product's that the dataset is related to","items":{"$ref":"#/definitions/prototypeRelatedDataProduct"}},"scienceTeams":{"type":"array","description":"List of responsible science teams for the dataset","items":{"type":"string"}}}},"prototypeDatasetDataDetail":{"type":"object","description":"The dataset's data files","properties":{"url":{"type":"string","description":"The data URL for accessing the data files for the dataset"},"files":{"type":"array","description":"List of data files for the dataset","items":{"$ref":"#/definitions/prototypeDataFile"}},"dataLocations":{"type":"array","description":"List of data locations for the dataset","items":{"$ref":"#/definitions/prototypeDataLocation"}}}},"prototypeDatasetData":{"type":"object","description":"Type definition for prototype dataset data","properties":{"datasetUuid":{"type":"string","description":"The dataset UUID"},"datasetProjectTitle":{"type":"string","description":"The title of the project"},"files":{"type":"array","description":"List of data files for the dataset","items":{"$ref":"#/definitions/prototypeDataFile"}},"dataLocations":{"type":"array","description":"List of data locations for the dataset","items":{"$ref":"#/definitions/prototypeDataLocation"}}}},"prototypeDataFile":{"type":"object","description":"Type definition for prototype dataset data file","properties":{"name":{"type":"string","description":"The name of the data file"},"description":{"type":"string","description":"A description of the data file"},"fileSize":{"type":"string","description":"File size in bytes"},"fileName":{"type":"string","description":"The filename of the file"},"md5":{"type":"string","description":"MD5 checksum value in hex"},"url":{"type":"string","description":"Download URL for the file"},"type":{"type":"object","description":"The type of the data file (metadata, data, etc)","$ref":"#/definitions/prototypeDataFileType"}}},"prototypeDataFileType":{"type":"object","description":"Type definition for prototype dataset data file type","properties":{"name":{"type":"string","description":"The name of the data file type"},"description":{"type":"string","description":"The description of the data file type"}}},"prototypeDataLocation":{"type":"object","description":"Type definition for a prototype dataset data location","properties":{"path":{"type":"string","description":"The path or URL to the data location"},"description":{"type":"string","description":"A description of the data location referenced by the path"},"metadata":{"type":"boolean","description":"Indicates that this data location refers to metadata exclusively"}}},"prototypeDatasetDoi":{"type":"object","description":"Type definition for a Prototype Dataset DOI","properties":{"url":{"type":"string","description":"The URL of the DOI"},"generationDate":{"type":"string","format":"date-time","description":"The generation date of the DOI"}}},"prototypeDatasetRelatedVersion":{"type":"object","description":"Type definition for a Prototype Dataset related version","properties":{"datasetUuid":{"type":"string","description":"The related dataset UUID"},"datasetProjectTitle":{"type":"string","description":"The related dataset project title"},"datasetVersion":{"type":"string","description":"The related dataset version"}}},"prototypeFileType":{"type":"object","description":"Type definition for a prototype dataset file type","properties":{"name":{"type":"string","description":"The name of the file type (CSV, PDF, HDF5, etc)"},"description":{"type":"string","description":"A description of the file type"}}},"prototypeLocation":{"type":"object","description":"Type definition for a prototype dataset location","properties":{"domain":{"type":"string","description":"Three character domain abbreviation (D01, D02, etc) for the domain this site is in"},"state":{"type":"string","description":"Two letter state code that this site is in"},"siteCode":{"type":"string","description":"Four character code for the site"},"siteName":{"type":"string","description":"Full name for the site"},"latitude":{"type":"string","description":"Decimal latitude for the location"},"longitude":{"type":"string","description":"Decimal longitude for the location"}}},"prototypePublicationCitation":{"type":"object","description":"Type definition for a prototype dataset publication citation","properties":{"citation":{"type":"string","description":"The citation associated with a publication involving the dataset"},"citationIdentifier":{"type":"string","description":"The citation identifier (DOI, arXiv, URL) associated with a publication involving the dataset"},"citationIdentifierType":{"type":"string","description":"The citation identifier type associated with a publication involving the dataset (DOI, arXiv, URL)"}}},"prototypeRelatedDataProduct":{"type":"object","description":"Type definition for a prototype dataset related data product","properties":{"dataProductIdq":{"type":"string","description":"Revisioned, long code for the data product (NEON.DOM.SITE.DP1.00001.001, etc.)"},"dataProductCode":{"type":"string","description":"Revisioned, shortened code for the data product (DP1.00001.001, DP1.10072.001, etc.)"},"dataProductName":{"type":"string","description":"The name of the data product"},"dataProductDescription":{"type":"string","description":"A brief description of the data product"}}},"error":{"type":"object","properties":{"detail":{"type":"string"},"status":{"type":"number","format":"int"}}}}`)};(0,Le.createRoot)(document.getElementById(`root`)).render((0,B5.jsx)(()=>((0,V.useLayoutEffect)(()=>{if(!window.frameElement)return()=>{};if(typeof ResizeObserver!=`function`)return window.frameElement.style.height=`100vh`,window.frameElement.setAttribute(`scrolling`,`yes`),window.document.body.style.overflow=`scroll`,()=>{};let e=new ResizeObserver(e=>{for(let t of e){let e=t.contentRect;window.frameElement.style.height=`${e.height+60}px`}});return e.observe(window.document.body),()=>{e.disconnect()}}),(0,B5.jsx)(`div`,{className:`neon-data-api-docs-swagger`,children:(0,B5.jsx)(V5,{spec:H5})})),{})); \ No newline at end of file diff --git a/docs/content/explorer/build/index.html b/docs/content/explorer/build/index.html index e69f040..6c42cb7 100644 --- a/docs/content/explorer/build/index.html +++ b/docs/content/explorer/build/index.html @@ -13,7 +13,7 @@ NEON Data API REST Explorer - + diff --git a/packages/docs-app-swagger/src/swagger.json b/packages/docs-app-swagger/src/swagger.json index 77506c7..4366442 100644 --- a/packages/docs-app-swagger/src/swagger.json +++ b/packages/docs-app-swagger/src/swagger.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "version": "0.11.0", + "version": "0.12.0", "title": "NEON Data API Requests", "description": "Expand the options below, click GET, and then click TRY IT OUT to see example calls." }, From d0e9d0dba5b7e362252736a6edf8b505b23a777b Mon Sep 17 00:00:00 2001 From: jsampson Date: Thu, 1 Oct 2026 11:56:59 -0600 Subject: [PATCH 10/10] remove branch from workflow --- .github/workflows/docker-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index e932d1f..90e9361 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -2,7 +2,7 @@ name: Docker Publish on: push: - branches: [ main, multi-arch ] + branches: [ main ] tags: [ 'v*' ] env: