// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`Smithy Api Gateway Java Standalone Unit Tests Synth 1`] = `
Object {
  ".gitattributes": "# ~~ Generated by projen. To modify, edit src/test/java/projenrc.java and run \\"npx projen\\".

/.gitattributes linguist-generated
/.github/workflows/pull-request-lint.yml linguist-generated
/.gitignore linguist-generated
/.projen/** linguist-generated
/.projen/deps.json linguist-generated
/.projen/files.json linguist-generated
/.projen/tasks.json linguist-generated
/generated/README.md linguist-generated
/pom.xml linguist-generated",
  ".github/workflows/pull-request-lint.yml": "# ~~ Generated by projen. To modify, edit src/test/java/projenrc.java and run \\"npx projen\\".

name: pull-request-lint
on:
  pull_request_target:
    types:
      - labeled
      - opened
      - synchronize
      - reopened
      - ready_for_review
      - edited
jobs:
  validate:
    name: Validate PR title
    runs-on: ubuntu-latest
    permissions:
      pull-requests: write
    steps:
      - uses: amannn/action-semantic-pull-request@v5.0.2
        env:
          GITHUB_TOKEN: \${{ secrets.GITHUB_TOKEN }}
        with:
          types: |-
            feat
            fix
            chore
          requireScope: false
",
  ".gitignore": "# ~~ Generated by projen. To modify, edit src/test/java/projenrc.java and run \\"npx projen\\".
node_modules/
!/.gitattributes
!/.projen/tasks.json
!/.projen/deps.json
!/.projen/files.json
!/.github/workflows/pull-request-lint.yml
!/pom.xml
.classpath
.project
.settings
target
dist/java
smithy/output
smithy/gradle
smithy/gradlew
smithy/gradlew.bat
smithy/.gradle
smithy/build
!/generated/README.md
",
  ".projen/deps.json": Object {
    "//": "~~ Generated by projen. To modify, edit src/test/java/projenrc.java and run \\"npx projen\\".",
    "dependencies": Array [
      Object {
        "metadata": Object {
          "configuration": Object {
            "source": "1.8",
            "target": "1.8",
          },
        },
        "name": "org.apache.maven.plugins/maven-compiler-plugin",
        "type": "build",
        "version": "3.8.1",
      },
      Object {
        "metadata": Object {
          "configuration": Object {
            "rules": Array [
              Object {
                "requireMavenVersion": Array [
                  Object {
                    "version": "3.6",
                  },
                ],
              },
            ],
          },
          "executions": Array [
            Object {
              "goals": Array [
                "enforce",
              ],
              "id": "enforce-maven",
            },
          ],
        },
        "name": "org.apache.maven.plugins/maven-enforcer-plugin",
        "type": "build",
        "version": "3.0.0-M3",
      },
      Object {
        "metadata": Object {
          "configuration": Object {
            "archive": Object {
              "index": true,
              "manifest": Object {
                "addDefaultImplementationEntries": true,
                "addDefaultSpecificationEntries": true,
              },
            },
          },
        },
        "name": "org.apache.maven.plugins/maven-jar-plugin",
        "type": "build",
        "version": "3.2.0",
      },
      Object {
        "metadata": Object {
          "configuration": Object {
            "additionalJOptions": Object {
              "additionalJOption": Array [
                "-J-XX:+TieredCompilation",
                "-J-XX:TieredStopAtLevel=1",
              ],
            },
            "detectJavaApiLink": false,
            "failOnError": false,
            "show": "protected",
          },
          "executions": Array [
            Object {
              "goals": Array [
                "jar",
              ],
              "id": "attach-javadocs",
            },
          ],
        },
        "name": "org.apache.maven.plugins/maven-javadoc-plugin",
        "type": "build",
        "version": "3.2.0",
      },
      Object {
        "metadata": Object {
          "configuration": Object {
            "createDependencyReducedPom": false,
            "finalName": "test-1.0.0",
          },
          "executions": Array [
            Object {
              "goals": Array [
                "shade",
              ],
              "id": "shade-task",
              "phase": "package",
            },
          ],
        },
        "name": "org.apache.maven.plugins/maven-shade-plugin",
        "type": "build",
        "version": "3.3.0",
      },
      Object {
        "metadata": Object {
          "executions": Array [
            Object {
              "goals": Array [
                "jar",
              ],
              "id": "attach-sources",
            },
          ],
        },
        "name": "org.apache.maven.plugins/maven-source-plugin",
        "type": "build",
        "version": "3.2.1",
      },
      Object {
        "name": "org.codehaus.mojo/exec-maven-plugin",
        "type": "build",
        "version": "3.0.0",
      },
      Object {
        "name": "com.fasterxml.jackson.core/jackson-databind",
        "type": "runtime",
        "version": "^2",
      },
      Object {
        "name": "com.generated.api/test-java",
        "type": "runtime",
        "version": "0.0.0",
      },
      Object {
        "name": "io.github.cdklabs/cdknag",
        "type": "runtime",
        "version": "^2",
      },
      Object {
        "name": "io.github.cdklabs/projen",
        "type": "runtime",
        "version": "^0",
      },
      Object {
        "name": "org.projectlombok/lombok",
        "type": "runtime",
        "version": "^1",
      },
      Object {
        "name": "software.amazon.awscdk/aws-cdk-lib",
        "type": "runtime",
        "version": "^2",
      },
      Object {
        "name": "software.aws.awsprototypingsdk/open-api-gateway",
        "type": "runtime",
        "version": "^0",
      },
      Object {
        "name": "software.constructs/constructs",
        "type": "runtime",
        "version": "^10",
      },
      Object {
        "name": "org.junit.jupiter/junit-jupiter-api",
        "type": "test",
        "version": "5.7.0",
      },
      Object {
        "name": "org.junit.jupiter/junit-jupiter-engine",
        "type": "test",
        "version": "5.7.0",
      },
    ],
  },
  ".projen/files.json": Object {
    "//": "~~ Generated by projen. To modify, edit src/test/java/projenrc.java and run \\"npx projen\\".",
    "files": Array [
      ".gitattributes",
      ".github/workflows/pull-request-lint.yml",
      ".gitignore",
      ".projen/deps.json",
      ".projen/files.json",
      ".projen/tasks.json",
      "generated/README.md",
      "pom.xml",
    ],
  },
  ".projen/tasks.json": Object {
    "//": "~~ Generated by projen. To modify, edit src/test/java/projenrc.java and run \\"npx projen\\".",
    "tasks": Object {
      "build": Object {
        "description": "Full release build",
        "name": "build",
        "steps": Array [
          Object {
            "spawn": "default",
          },
          Object {
            "spawn": "pre-compile",
          },
          Object {
            "spawn": "compile",
          },
          Object {
            "spawn": "post-compile",
          },
          Object {
            "spawn": "test",
          },
          Object {
            "spawn": "package",
          },
        ],
      },
      "clobber": Object {
        "condition": "git diff --exit-code > /dev/null",
        "description": "hard resets to HEAD of origin and cleans the local repo",
        "env": Object {
          "BRANCH": "$(git branch --show-current)",
        },
        "name": "clobber",
        "steps": Array [
          Object {
            "exec": "git checkout -b scratch",
            "name": "save current HEAD in \\"scratch\\" branch",
          },
          Object {
            "exec": "git checkout $BRANCH",
          },
          Object {
            "exec": "git fetch origin",
            "name": "fetch latest changes from origin",
          },
          Object {
            "exec": "git reset --hard origin/$BRANCH",
            "name": "hard reset to origin commit",
          },
          Object {
            "exec": "git clean -fdx",
            "name": "clean all untracked files",
          },
          Object {
            "say": "ready to rock! (unpushed commits are under the \\"scratch\\" branch)",
          },
        ],
      },
      "compile": Object {
        "description": "Only compile",
        "name": "compile",
        "steps": Array [
          Object {
            "exec": "mvn compiler:compile",
          },
        ],
      },
      "default": Object {
        "description": "Synthesize project files",
        "name": "default",
        "steps": Array [
          Object {
            "exec": "mvn compiler:testCompile --quiet",
          },
          Object {
            "exec": "mvn exec:java --quiet -Dexec.mainClass=projenrc -Dexec.classpathScope=\\"test\\"",
          },
        ],
      },
      "eject": Object {
        "description": "Remove projen from the project",
        "env": Object {
          "PROJEN_EJECTING": "true",
        },
        "name": "eject",
        "steps": Array [
          Object {
            "spawn": "default",
          },
        ],
      },
      "package": Object {
        "description": "Creates the distribution package",
        "env": Object {
          "MAVEN_OPTS": "-XX:+TieredCompilation -XX:TieredStopAtLevel=1",
        },
        "name": "package",
        "steps": Array [
          Object {
            "exec": "mkdir -p dist/java",
          },
          Object {
            "exec": "mvn deploy -D=altDeploymentRepository=local::default::file:///$PWD/dist/java",
          },
        ],
      },
      "post-compile": Object {
        "description": "Runs after successful compilation",
        "name": "post-compile",
      },
      "pre-compile": Object {
        "description": "Prepare the project for compilation",
        "name": "pre-compile",
      },
      "test": Object {
        "description": "Run tests",
        "name": "test",
        "steps": Array [
          Object {
            "exec": "mvn test",
          },
        ],
      },
    },
  },
  "README.md": "# replace this",
  "generated/.client-settings.json": Object {
    "//": "~~ Generated by projen. To modify, edit src/test/java/projenrc.java and run \\"npx projen\\".",
    "clientLanguages": Array [
      "java",
    ],
    "documentationFormats": Array [],
  },
  "generated/README.md": "## Generated Clients

This directory contains generated client code based on your OpenAPI Specification file (spec.yaml).

Like other \`projen\` managed files, this directory should be checked in to source control, but should not be edited manually.",
  "generated/java/.gitattributes": "# ~~ Generated by projen. To modify, edit .projenrc.js and run \\"npx projen\\".

/.gitattributes linguist-generated
/.gitignore linguist-generated
/.openapi-generator-ignore linguist-generated
/.projen/** linguist-generated
/.projen/deps.json linguist-generated
/.projen/files.json linguist-generated
/.projen/tasks.json linguist-generated
/package.json linguist-generated
/pom.xml linguist-generated",
  "generated/java/.github/workflows/maven.yml": "# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
#
# This file is auto-generated by OpenAPI Generator (https://openapi-generator.tech)

name: Java CI with Maven

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

jobs:
  build:
    name: Build Hello
    runs-on: ubuntu-latest
    strategy:
      matrix:
        java: [ '8' ]
    steps:
    - uses: actions/checkout@v2
    - name: Set up JDK
      uses: actions/setup-java@v2
      with:
        java-version: \${{ matrix.java }}
        distribution: 'temurin'
        cache: maven
    - name: Build with Maven
      run: mvn -B package --no-transfer-progress --file pom.xml
",
  "generated/java/.gitignore": "# ~~ Generated by projen. To modify, edit .projenrc.js and run \\"npx projen\\".
node_modules/
!/.gitattributes
!/.projen/tasks.json
!/.projen/deps.json
!/.projen/files.json
!/pom.xml
.classpath
.project
.settings
target
dist/java
!/.openapi-generator-ignore
!/package.json
",
  "generated/java/.openapi-generator-ignore": "# ~~ Generated by projen. To modify, edit .projenrc.js and run \\"npx projen\\".
.gitignore
pom.xml
",
  "generated/java/.openapi-generator/FILES": ".github/workflows/maven.yml
.travis.yml
README.md
api/openapi.yaml
build.gradle
build.sbt
docs/ApiErrorResponseContent.md
docs/DefaultApi.md
docs/SayHelloResponseContent.md
git_push.sh
gradle.properties
gradle/wrapper/gradle-wrapper.jar
gradle/wrapper/gradle-wrapper.properties
gradlew
gradlew.bat
settings.gradle
src/main/AndroidManifest.xml
src/main/java/com/generated/api/testjava/client/ApiCallback.java
src/main/java/com/generated/api/testjava/client/ApiClient.java
src/main/java/com/generated/api/testjava/client/ApiException.java
src/main/java/com/generated/api/testjava/client/ApiResponse.java
src/main/java/com/generated/api/testjava/client/Configuration.java
src/main/java/com/generated/api/testjava/client/GzipRequestInterceptor.java
src/main/java/com/generated/api/testjava/client/JSON.java
src/main/java/com/generated/api/testjava/client/Pair.java
src/main/java/com/generated/api/testjava/client/ProgressRequestBody.java
src/main/java/com/generated/api/testjava/client/ProgressResponseBody.java
src/main/java/com/generated/api/testjava/client/ServerConfiguration.java
src/main/java/com/generated/api/testjava/client/ServerVariable.java
src/main/java/com/generated/api/testjava/client/StringUtil.java
src/main/java/com/generated/api/testjava/client/api/DefaultApi.java
src/main/java/com/generated/api/testjava/client/api/DefaultApi/Handlers.java
src/main/java/com/generated/api/testjava/client/api/DefaultApi/OperationConfig.java
src/main/java/com/generated/api/testjava/client/api/DefaultApi/OperationLookup.java
src/main/java/com/generated/api/testjava/client/api/DefaultApi/Operations.java
src/main/java/com/generated/api/testjava/client/auth/ApiKeyAuth.java
src/main/java/com/generated/api/testjava/client/auth/Authentication.java
src/main/java/com/generated/api/testjava/client/auth/HttpBasicAuth.java
src/main/java/com/generated/api/testjava/client/auth/HttpBearerAuth.java
src/main/java/com/generated/api/testjava/client/model/AbstractOpenApiSchema.java
src/main/java/com/generated/api/testjava/client/model/ApiErrorResponseContent.java
src/main/java/com/generated/api/testjava/client/model/SayHelloResponseContent.java
src/test/java/com/generated/api/testjava/client/api/DefaultApiTest.java
src/test/java/com/generated/api/testjava/client/model/ApiErrorResponseContentTest.java
src/test/java/com/generated/api/testjava/client/model/SayHelloResponseContentTest.java
",
  "generated/java/.openapi-generator/VERSION": "6.3.0",
  "generated/java/.projen/deps.json": Object {
    "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \\"npx projen\\".",
    "dependencies": Array [
      Object {
        "metadata": Object {
          "configuration": Object {
            "source": "1.8",
            "target": "1.8",
          },
        },
        "name": "org.apache.maven.plugins/maven-compiler-plugin",
        "type": "build",
        "version": "3.8.1",
      },
      Object {
        "metadata": Object {
          "configuration": Object {
            "rules": Array [
              Object {
                "requireMavenVersion": Array [
                  Object {
                    "version": "3.6",
                  },
                ],
              },
            ],
          },
          "executions": Array [
            Object {
              "goals": Array [
                "enforce",
              ],
              "id": "enforce-maven",
            },
          ],
        },
        "name": "org.apache.maven.plugins/maven-enforcer-plugin",
        "type": "build",
        "version": "3.0.0-M3",
      },
      Object {
        "metadata": Object {
          "configuration": Object {
            "archive": Object {
              "index": true,
              "manifest": Object {
                "addDefaultImplementationEntries": true,
                "addDefaultSpecificationEntries": true,
              },
            },
          },
        },
        "name": "org.apache.maven.plugins/maven-jar-plugin",
        "type": "build",
        "version": "3.2.0",
      },
      Object {
        "metadata": Object {
          "configuration": Object {
            "additionalJOptions": Object {
              "additionalJOption": Array [
                "-J-XX:+TieredCompilation",
                "-J-XX:TieredStopAtLevel=1",
              ],
            },
            "detectJavaApiLink": false,
            "failOnError": false,
            "show": "protected",
          },
          "executions": Array [
            Object {
              "goals": Array [
                "jar",
              ],
              "id": "attach-javadocs",
            },
          ],
        },
        "name": "org.apache.maven.plugins/maven-javadoc-plugin",
        "type": "build",
        "version": "3.2.0",
      },
      Object {
        "metadata": Object {
          "executions": Array [
            Object {
              "goals": Array [
                "jar",
              ],
              "id": "attach-sources",
            },
          ],
        },
        "name": "org.apache.maven.plugins/maven-source-plugin",
        "type": "build",
        "version": "3.2.1",
      },
      Object {
        "name": "com.amazonaws/aws-lambda-java-core",
        "type": "runtime",
        "version": "1.2.1",
      },
      Object {
        "name": "com.amazonaws/aws-lambda-java-events",
        "type": "runtime",
        "version": "3.11.0",
      },
      Object {
        "name": "com.google.code.findbugs/jsr305",
        "type": "runtime",
        "version": "3.0.2",
      },
      Object {
        "name": "com.google.code.gson/gson",
        "type": "runtime",
        "version": "2.9.1",
      },
      Object {
        "name": "com.squareup.okhttp3/logging-interceptor",
        "type": "runtime",
        "version": "4.10.0",
      },
      Object {
        "name": "com.squareup.okhttp3/okhttp",
        "type": "runtime",
        "version": "4.10.0",
      },
      Object {
        "name": "io.gsonfire/gson-fire",
        "type": "runtime",
        "version": "1.8.5",
      },
      Object {
        "name": "io.swagger/swagger-annotations",
        "type": "runtime",
        "version": "1.6.8",
      },
      Object {
        "name": "jakarta.annotation/jakarta.annotation-api",
        "type": "runtime",
        "version": "1.3.5",
      },
      Object {
        "name": "javax.ws.rs/javax.ws.rs-api",
        "type": "runtime",
        "version": "2.1.1",
      },
      Object {
        "name": "javax.ws.rs/jsr311-api",
        "type": "runtime",
        "version": "1.1.1",
      },
      Object {
        "name": "org.apache.commons/commons-lang3",
        "type": "runtime",
        "version": "3.12.0",
      },
      Object {
        "name": "org.openapitools/jackson-databind-nullable",
        "type": "runtime",
        "version": "0.2.4",
      },
      Object {
        "name": "org.projectlombok/lombok",
        "type": "runtime",
        "version": "1.18.24",
      },
      Object {
        "name": "org.junit.jupiter/junit-jupiter-api",
        "type": "test",
        "version": "5.9.1",
      },
      Object {
        "name": "org.mockito/mockito-core",
        "type": "test",
        "version": "3.12.4",
      },
    ],
  },
  "generated/java/.projen/files.json": Object {
    "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \\"npx projen\\".",
    "files": Array [
      ".gitattributes",
      ".gitignore",
      ".openapi-generator-ignore",
      ".projen/deps.json",
      ".projen/files.json",
      ".projen/tasks.json",
      "package.json",
      "pom.xml",
    ],
  },
  "generated/java/.projen/tasks.json": Object {
    "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \\"npx projen\\".",
    "tasks": Object {
      "build": Object {
        "description": "Full release build",
        "name": "build",
        "steps": Array [
          Object {
            "spawn": "pre-compile",
          },
          Object {
            "spawn": "compile",
          },
          Object {
            "spawn": "post-compile",
          },
          Object {
            "spawn": "test",
          },
          Object {
            "spawn": "package",
          },
        ],
      },
      "compile": Object {
        "description": "Only compile",
        "name": "compile",
        "steps": Array [
          Object {
            "exec": "mvn compiler:compile",
          },
        ],
      },
      "default": Object {
        "description": "Synthesize project files",
        "name": "default",
        "steps": Array [
          Object {
            "cwd": "../..",
            "exec": "npx projen default",
          },
        ],
      },
      "package": Object {
        "description": "Creates the distribution package",
        "env": Object {
          "MAVEN_OPTS": "-XX:+TieredCompilation -XX:TieredStopAtLevel=1",
        },
        "name": "package",
        "steps": Array [
          Object {
            "exec": "mkdir -p dist/java",
          },
          Object {
            "exec": "mvn deploy -D=altDeploymentRepository=local::default::file:///$PWD/dist/java",
          },
        ],
      },
      "post-compile": Object {
        "description": "Runs after successful compilation",
        "name": "post-compile",
      },
      "pre-compile": Object {
        "description": "Prepare the project for compilation",
        "name": "pre-compile",
      },
      "test": Object {
        "description": "Run tests",
        "name": "test",
      },
    },
  },
  "generated/java/.travis.yml": "#
# Generated by OpenAPI Generator: https://openapi-generator.tech
#
# Ref: https://docs.travis-ci.com/user/languages/java/
#
language: java
jdk:
  - openjdk12
  - openjdk11
  - openjdk10
  - openjdk9
  - openjdk8
before_install:
  # ensure gradlew has proper permission
  - chmod a+x ./gradlew
script:
  # test using maven
  #- mvn test
  # test using gradle
  - gradle test
  # test using sbt
  # - sbt test
",
  "generated/java/README.md": "# test-java

Hello
- API version: 1.0

A sample smithy api


*Automatically generated by the [OpenAPI Generator](https://openapi-generator.tech)*


## Requirements

Building the API client library requires:
1. Java 1.8+
2. Maven (3.8.3+)/Gradle (7.2+)

## Installation

To install the API client library to your local Maven repository, simply execute:

\`\`\`shell
mvn clean install
\`\`\`

To deploy it to a remote Maven repository instead, configure the settings of the repository and execute:

\`\`\`shell
mvn clean deploy
\`\`\`

Refer to the [OSSRH Guide](http://central.sonatype.org/pages/ossrh-guide.html) for more information.

### Maven users

Add this dependency to your project's POM:

\`\`\`xml
<dependency>
  <groupId>com.generated.api</groupId>
  <artifactId>test-java</artifactId>
  <version>0.0.0</version>
  <scope>compile</scope>
</dependency>
\`\`\`

### Gradle users

Add this dependency to your project's build file:

\`\`\`groovy
  repositories {
    mavenCentral()     // Needed if the 'test-java' jar has been published to maven central.
    mavenLocal()       // Needed if the 'test-java' jar has been published to the local maven repo.
  }

  dependencies {
     implementation \\"com.generated.api:test-java:0.0.0\\"
  }
\`\`\`

### Others

At first generate the JAR by executing:

\`\`\`shell
mvn clean package
\`\`\`

Then manually install the following JARs:

* \`target/test-java-0.0.0.jar\`
* \`target/lib/*.jar\`

## Getting Started

Please follow the [installation](#installation) instruction and execute the following Java code:

\`\`\`java

// Import classes:
import com.generated.api.testjava.client.ApiClient;
import com.generated.api.testjava.client.ApiException;
import com.generated.api.testjava.client.Configuration;
import com.generated.api.testjava.client.models.*;
import com.generated.api.testjava.client.api.DefaultApi;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = Configuration.getDefaultApiClient();
    defaultClient.setBasePath(\\"http://localhost\\");

    DefaultApi apiInstance = new DefaultApi(defaultClient);
    String name = \\"name_example\\"; // String | 
    try {
      SayHelloResponseContent result = apiInstance.sayHello(name)
            .execute();
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println(\\"Exception when calling DefaultApi#sayHello\\");
      System.err.println(\\"Status code: \\" + e.getCode());
      System.err.println(\\"Reason: \\" + e.getResponseBody());
      System.err.println(\\"Response headers: \\" + e.getResponseHeaders());
      e.printStackTrace();
    }
  }
}

\`\`\`

## Documentation for API Endpoints

All URIs are relative to *http://localhost*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*DefaultApi* | [**sayHello**](docs/DefaultApi.md#sayHello) | **GET** /hello | 


## Documentation for Models

 - [ApiErrorResponseContent](docs/ApiErrorResponseContent.md)
 - [SayHelloResponseContent](docs/SayHelloResponseContent.md)


## Documentation for Authorization

All endpoints do not require authorization.
Authentication schemes defined for the API:

## Recommendation

It's recommended to create an instance of \`ApiClient\` per thread in a multithreaded environment to avoid any potential issues.

## Author



",
  "generated/java/api/openapi.yaml": "openapi: 3.0.2
info:
  description: A sample smithy api
  title: Hello
  version: \\"1.0\\"
servers:
- url: /
paths:
  /hello:
    get:
      operationId: SayHello
      parameters:
      - explode: true
        in: query
        name: name
        required: true
        schema:
          type: string
        style: form
      responses:
        \\"200\\":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SayHelloResponseContent'
          description: SayHello 200 response
        \\"400\\":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseContent'
          description: ApiError 400 response
      x-accepts: application/json
components:
  schemas:
    ApiErrorResponseContent:
      properties:
        errorMessage:
          type: string
      required:
      - errorMessage
      type: object
    SayHelloResponseContent:
      properties:
        message:
          type: string
      required:
      - message
      type: object

",
  "generated/java/build.gradle": "apply plugin: 'idea'
apply plugin: 'eclipse'
apply plugin: 'java'
apply plugin: 'com.diffplug.spotless'

group = 'com.generated.api'
version = '0.0.0'

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.+'
        classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
        classpath 'com.diffplug.spotless:spotless-plugin-gradle:6.11.0'
    }
}

repositories {
    mavenCentral()
}
sourceSets {
    main.java.srcDirs = ['src/main/java']
}

if(hasProperty('target') && target == 'android') {

    apply plugin: 'com.android.library'
    apply plugin: 'com.github.dcendents.android-maven'

    android {
        compileSdkVersion 25
        buildToolsVersion '25.0.2'
        defaultConfig {
            minSdkVersion 14
            targetSdkVersion 25
        }
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_8
            targetCompatibility JavaVersion.VERSION_1_8
        }

        // Rename the aar correctly
        libraryVariants.all { variant ->
            variant.outputs.each { output ->
                def outputFile = output.outputFile
                if (outputFile != null && outputFile.name.endsWith('.aar')) {
                    def fileName = \\"\${project.name}-\${variant.baseName}-\${version}.aar\\"
                    output.outputFile = new File(outputFile.parent, fileName)
                }
            }
        }

        dependencies {
            provided \\"jakarta.annotation:jakarta.annotation-api:$jakarta_annotation_version\\"
        }
    }

    afterEvaluate {
        android.libraryVariants.all { variant ->
            def task = project.tasks.create \\"jar\${variant.name.capitalize()}\\", Jar
            task.description = \\"Create jar artifact for \${variant.name}\\"
            task.dependsOn variant.javaCompile
            task.from variant.javaCompile.destinationDir
            task.destinationDir = project.file(\\"\${project.buildDir}/outputs/jar\\")
            task.archiveName = \\"\${project.name}-\${variant.baseName}-\${version}.jar\\"
            artifacts.add('archives', task)
        }
    }

    task sourcesJar(type: Jar) {
        from android.sourceSets.main.java.srcDirs
        classifier = 'sources'
    }

    artifacts {
        archives sourcesJar
    }

} else {

    apply plugin: 'java'
    apply plugin: 'maven-publish'

    sourceCompatibility = JavaVersion.VERSION_1_8
    targetCompatibility = JavaVersion.VERSION_1_8

    publishing {
        publications {
            maven(MavenPublication) {
               artifactId = 'test-java'
               from components.java
            }
        }
    }

    task execute(type:JavaExec) {
       main = System.getProperty('mainClass')
       classpath = sourceSets.main.runtimeClasspath
    }
}

ext {
    jakarta_annotation_version = \\"1.3.5\\"
}

dependencies {
    implementation 'io.swagger:swagger-annotations:1.6.8'
    implementation \\"com.google.code.findbugs:jsr305:3.0.2\\"
    implementation 'com.squareup.okhttp3:okhttp:4.10.0'
    implementation 'com.squareup.okhttp3:logging-interceptor:4.10.0'
    implementation 'com.google.code.gson:gson:2.9.1'
    implementation 'io.gsonfire:gson-fire:1.8.5'
    implementation 'javax.ws.rs:jsr311-api:1.1.1'
    implementation 'javax.ws.rs:javax.ws.rs-api:2.1.1'
    implementation 'org.openapitools:jackson-databind-nullable:0.2.4'
    implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.12.0'
    implementation \\"jakarta.annotation:jakarta.annotation-api:$jakarta_annotation_version\\"
    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.9.1'
    testImplementation 'org.mockito:mockito-core:3.12.4'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.9.1'
}

javadoc {
    options.tags = [ \\"http.response.details:a:Http Response Details\\" ]
}

// Use spotless plugin to automatically format code, remove unused import, etc
// To apply changes directly to the file, run \`gradlew spotlessApply\`
// Ref: https://github.com/diffplug/spotless/tree/main/plugin-gradle
spotless {
    // comment out below to run spotless as part of the \`check\` task
    enforceCheck false

    format 'misc', {
        // define the files (e.g. '*.gradle', '*.md') to apply \`misc\` to
        target '.gitignore'

        // define the steps to apply to those files
        trimTrailingWhitespace()
        indentWithSpaces() // Takes an integer argument if you don't like 4
        endWithNewline()
    }
    java {
        // don't need to set target, it is inferred from java

        // apply a specific flavor of google-java-format
        googleJavaFormat('1.8').aosp().reflowLongStrings()

        removeUnusedImports()
        importOrder()
    }
}

test {
    // Enable JUnit 5 (Gradle 4.6+).
    useJUnitPlatform()

    // Always run tests, even when nothing changed.
    dependsOn 'cleanTest'

    // Show test results.
    testLogging {
        events \\"passed\\", \\"skipped\\", \\"failed\\"
    }

}
",
  "generated/java/build.sbt": "lazy val root = (project in file(\\".\\")).
  settings(
    organization := \\"com.generated.api\\",
    name := \\"test-java\\",
    version := \\"0.0.0\\",
    scalaVersion := \\"2.11.4\\",
    scalacOptions ++= Seq(\\"-feature\\"),
    javacOptions in compile ++= Seq(\\"-Xlint:deprecation\\"),
    publishArtifact in (Compile, packageDoc) := false,
    resolvers += Resolver.mavenLocal,
    libraryDependencies ++= Seq(
      \\"io.swagger\\" % \\"swagger-annotations\\" % \\"1.6.5\\",
      \\"com.squareup.okhttp3\\" % \\"okhttp\\" % \\"4.10.0\\",
      \\"com.squareup.okhttp3\\" % \\"logging-interceptor\\" % \\"4.10.0\\",
      \\"com.google.code.gson\\" % \\"gson\\" % \\"2.9.1\\",
      \\"org.apache.commons\\" % \\"commons-lang3\\" % \\"3.12.0\\",
      \\"javax.ws.rs\\" % \\"jsr311-api\\" % \\"1.1.1\\",
      \\"javax.ws.rs\\" % \\"javax.ws.rs-api\\" % \\"2.1.1\\",
      \\"org.openapitools\\" % \\"jackson-databind-nullable\\" % \\"0.2.4\\",
      \\"io.gsonfire\\" % \\"gson-fire\\" % \\"1.8.5\\" % \\"compile\\",
      \\"jakarta.annotation\\" % \\"jakarta.annotation-api\\" % \\"1.3.5\\" % \\"compile\\",
      \\"com.google.code.findbugs\\" % \\"jsr305\\" % \\"3.0.2\\" % \\"compile\\",
      \\"jakarta.annotation\\" % \\"jakarta.annotation-api\\" % \\"1.3.5\\" % \\"compile\\",
      \\"org.junit.jupiter\\" % \\"junit-jupiter-api\\" % \\"5.9.1\\" % \\"test\\",
      \\"com.novocode\\" % \\"junit-interface\\" % \\"0.10\\" % \\"test\\",
      \\"org.mockito\\" % \\"mockito-core\\" % \\"3.12.4\\" % \\"test\\"
    )
  )
",
  "generated/java/docs/ApiErrorResponseContent.md": "

# ApiErrorResponseContent


## Properties

| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
|**errorMessage** | **String** |  |  |



",
  "generated/java/docs/DefaultApi.md": "# DefaultApi

All URIs are relative to *http://localhost*

| Method | HTTP request | Description |
|------------- | ------------- | -------------|
| [**sayHello**](DefaultApi.md#sayHello) | **GET** /hello |  |


<a name=\\"sayHello\\"></a>
# **sayHello**
> SayHelloResponseContent sayHello(name).execute();



### Example
\`\`\`java
// Import classes:
import com.generated.api.testjava.client.ApiClient;
import com.generated.api.testjava.client.ApiException;
import com.generated.api.testjava.client.Configuration;
import com.generated.api.testjava.client.models.*;
import com.generated.api.testjava.client.api.DefaultApi;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = Configuration.getDefaultApiClient();
    defaultClient.setBasePath(\\"http://localhost\\");

    DefaultApi apiInstance = new DefaultApi(defaultClient);
    String name = \\"name_example\\"; // String | 
    try {
      SayHelloResponseContent result = apiInstance.sayHello(name)
            .execute();
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println(\\"Exception when calling DefaultApi#sayHello\\");
      System.err.println(\\"Status code: \\" + e.getCode());
      System.err.println(\\"Reason: \\" + e.getResponseBody());
      System.err.println(\\"Response headers: \\" + e.getResponseHeaders());
      e.printStackTrace();
    }
  }
}
\`\`\`

### Parameters

| Name | Type | Description  | Notes |
|------------- | ------------- | ------------- | -------------|
| **name** | **String**|  | |

### Return type

[**SayHelloResponseContent**](SayHelloResponseContent.md)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: Not defined
 - **Accept**: application/json

### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | SayHello 200 response |  -  |
| **400** | ApiError 400 response |  -  |

",
  "generated/java/docs/SayHelloResponseContent.md": "

# SayHelloResponseContent


## Properties

| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
|**message** | **String** |  |  |



",
  "generated/java/git_push.sh": "#!/bin/sh
# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/
#
# Usage example: /bin/sh ./git_push.sh wing328 openapi-petstore-perl \\"minor update\\" \\"gitlab.com\\"

git_user_id=$1
git_repo_id=$2
release_note=$3
git_host=$4

if [ \\"$git_host\\" = \\"\\" ]; then
    git_host=\\"github.com\\"
    echo \\"[INFO] No command line input provided. Set \\\\$git_host to $git_host\\"
fi

if [ \\"$git_user_id\\" = \\"\\" ]; then
    git_user_id=\\"GIT_USER_ID\\"
    echo \\"[INFO] No command line input provided. Set \\\\$git_user_id to $git_user_id\\"
fi

if [ \\"$git_repo_id\\" = \\"\\" ]; then
    git_repo_id=\\"GIT_REPO_ID\\"
    echo \\"[INFO] No command line input provided. Set \\\\$git_repo_id to $git_repo_id\\"
fi

if [ \\"$release_note\\" = \\"\\" ]; then
    release_note=\\"Minor update\\"
    echo \\"[INFO] No command line input provided. Set \\\\$release_note to $release_note\\"
fi

# Initialize the local directory as a Git repository
git init

# Adds the files in the local repository and stages them for commit.
git add .

# Commits the tracked changes and prepares them to be pushed to a remote repository.
git commit -m \\"$release_note\\"

# Sets the new remote
git_remote=$(git remote)
if [ \\"$git_remote\\" = \\"\\" ]; then # git remote not defined

    if [ \\"$GIT_TOKEN\\" = \\"\\" ]; then
        echo \\"[INFO] \\\\$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment.\\"
        git remote add origin https://\${git_host}/\${git_user_id}/\${git_repo_id}.git
    else
        git remote add origin https://\${git_user_id}:\\"\${GIT_TOKEN}\\"@\${git_host}/\${git_user_id}/\${git_repo_id}.git
    fi

fi

git pull origin master

# Pushes (Forces) the changes in the local repository up to the remote repository
echo \\"Git pushing to https://\${git_host}/\${git_user_id}/\${git_repo_id}.git\\"
git push origin master 2>&1 | grep -v 'To https'
",
  "generated/java/gradle.properties": "# This file is automatically generated by OpenAPI Generator (https://github.com/openAPITools/openapi-generator).
# To include other gradle properties as part of the code generation process, please use the \`gradleProperties\` option.
#
# Gradle properties reference: https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties
# For example, uncomment below to build for Android
#target = android
",
  "generated/java/gradle/wrapper/gradle-wrapper.jar": "PK
�����A������������	���META-INF/�PK
�����A�m�>=@���?������META-INF/MANIFEST.MF�M��LK-.�
K-*��ϳR0�3����-�I�M�+I,
�d��Z)�%��*�%��r�r�PK
�����A���������������org/�PK
�����A���������������org/gradle/�PK
�����A���������������org/gradle/wrapper/�PK
�����A��%Ӧ�����/���org/gradle/wrapper/BootstrapMainStarter$1.class�R�n�@=Ӹu1���Ey�@_Iik�6�U�@.,Ru��L�!��G�	�6 ���(ı	]t1ss�չ���_��x���󸳈��ᾏM|4�i��s�Z�}.���k�ތ�=e�d/c���Υ�e<Mzn���1�g�(��qn�Q��4S�'+G#e�y�
��Tj�u�:e��t(@&�9��V|!?�H��K���$ʤ�G]g��w��(3�V\`�_(�9�T�G���&�D
l\\\\&�d���dyA֩r�<��0�#l��(�>i�0�c��=<�O���b��+7.P���m�B%����M�
�-�wźl�6i<�Z2�93�����#��ұ�w�ںl
h�������x8F��E��v~�ė�9�P%p�w8�.�R3�S�	ѵ��Ac�+j�g�QEoN Sz��B�z������j�\\\\�:�����
zQ^��oPK
�����A�i,���$
��-���org/gradle/wrapper/BootstrapMainStarter.class�V�SW�sÙ°,�1*���BI�/�V�V�(�-m��.�!�nv�f��jï­½<����	�%�2�ӗv����;�IIb���ٳ���]7�>��1���IF�2^�	C��0%c���A�0#aVF�d\\\\�{2�Ǽ�d\\\\�Uq�BNP��p]�R2\\"�!c7%|؉^|$AaQ�ʋ� .aI�~ ���ee�4��1�r����tSwN3��+��U��U�䳕�\\"��E�(a��k����{��w�u��T-��.�Z��黶�����9�r���h��u4���8C�,����-펖64���:�n�=�n�/�w�hv�<�l#� {.'�a�nVf��ӚM����U�
[��'b��0��^�SXB�D�]Î�.I���,[�X��͗�w��$w7'nm���H��SçI��r��=���btr6���+�n�e	��:K�YP���_�_�%u��P�-q
i��g���M�-{�\\\\f����I�jW˔0�\`��
N���V8s��K���b���
ʇ���2�_t+�c�O����f�\\\\�ɧ�X�C��Cϖ�K�����
���9%��9
,�H�X�
ʩ���;
�c���|�O��}�.�w��Tk�)��3|N�*Z�R�RU_�K_�k�z�3�U梾
��\`\\\\�4�T�[�၂����l����#��+*0�>�i�X
��i�FZ$K�]�h�O&�������Vo����FW���c-�M��D�qh�ƛ�:U�T��T����;#R�Nv���R�zH$['tk=��e��&ś�o����h�8�6�ls�ܕ���P�=��֣
�e�d�,�X��:�׶�\`�Զ�l\\"�z�ϼ���N�E�/��w�ۼ�-j=𒶨���y1/[�\\\\�f	�U�e��v��S/7,��xBY|��͙ZI,<�J��G�x���&����[������
�_�
Ct]b	:O�Iӓa�$E��$��>¶�C��w�\\\\�����o4��
Hn\\"�#RG�w�
��Nb(Utm�{��ۣ�*z����*�c�h ���#9_xW���c�h�yG�}�ը�/��C��C�A����S�s/A݇���~8�#�E�R�7q%��B��#
ܤ@-8q;Dv�{K�0�*���G����c�M%�8N����M����UK��;I�1�D��	�%Ğↄ���DvN��ަ�D�����g���y|��px���#U��c���������U��]����@�}���i�P8�T�(�j�@�	�1*B��� �qg)<r�
���<��8�dܾ8O�d��wS���PK
�����A�hQ�}��������#���org/gradle/wrapper/Download$1.class}�M
�0��h5�*v/����?�B\\\\x�؆���T{7�C�)���
��^���C�0 $g{s��Z�[�mE�,�]&;�i�����ڜ!!̬S\\\\9�k�'�J:��-V����6Zx/=!m��F�ӥ�YM��iH� t�nX�~�~�8\\\\j�4��PK
�����A�y�[�4�����A���org/gradle/wrapper/Download$DefaultDownloadProgressListener.class�U�SU�n6��eRH(Z@�%U+
ik[ J%D��%�
�.���@��>�ԗ���_:#Bu�}ә�#�z���qF=�~t
8�ɹ7��s�����'��+��Do4��ҌH�5Éœm�9��f�� W.����&�a�@��[&�x;ra�c\\"�	i.�4p��C��*�3t<������̪ϗ���)(g���,Q�\`8���1o�u<^��{_T��W�^�Ŋ�ժ�{�_n����v��<�����o�!<ꕉks�vŕ�҂�g��C+-�ĝY���}1,�U��1q�ל\`��VÞ¥q��ժ��s�:���h�庯�V]�nE�ZS��|�g\\\\d�M�R���e��!���!Z�\\\\J�[	�d'̭�2c�J�&�r]qRru�J�+���8	�S�Xm����ٚ��Mx����o��r\`{.�h��-��g�T^*wS��٢ߡ��d���l�2��gPZ��Um8l�����)�A�X�F��	���y����k�50'=�ұ�A��Zu��3�57��ĶS\\"�x����n�\\\\7�!C�T�D��M-�%:���ho-%+Ա��B�fuN�I�Q{�E�qM�%���帨v���>E���[��[�NMLݠʧ�77PPb�d�15�/N�nj3����RZl�1�eShK���|^���dS�:83��m����1t��Ȧ�1$���0��p��1��@����:X�
���������M�
:��)�4�G��!�Lx���G/���6�p��I�ͩ7�x�#B_\`����8���w0�=m�u�d��C�C-��\`�I���ˡ����d�)V�\`���.�_	�7R�;!����a��إ�3�m��KH)v#�#oH��վ����VZ��N�I�r.n��{��7��!=���IbN����7\`����h
a.����yD���}�����2^@�#G��e!��YY�c�J�\\"#��#K��xY&�-/�D15��4%���%V���k�T��D������%�|�
�@�ۥ��l�ܧ�g�h	��Ј��|/�7/]>(�B�_PK
�����A����ۡ��~��4���org/gradle/wrapper/Download$ProxyAuthenticator.class�U�sSE��M�Mn74�J�X�1I�$E��E���\`�a���ۛ�����xsc�?�3:���8>��8�:>�W����۴���;��9��s���9����~p%G1�ᴁ>���3Q�����q���u�3U�(>�༚/t�\\"&t\\\\������zp�@+o�踪�C��nU�y����seO�l���D�\\"�ܤ��خ(���X�y��TGdz�!\\\\pK���h9r����ÄšM+��k
{Ix���a��z�͉��.�2��z���H�\`�jU&����^wY��d��z��=�uN��Ż�k�s���Db�wg[%���)��}�r���wM�f��Ū��c�0��� W�2\\\\��_�Gz�{y5�2�8��\`̻5ϔW,�tlg+�2�x
�9��_IE�)����s�Xбȱ��:np,�&C_{�j�]��
V��n��+�[�q�!�n�p8��+(���!���59N\\"ɐ���pt������L2�R��8uӜ��&�d��YQ����j9$ق��$_�phvn��2��%Q�8W���h�P�Yg�Ve��{w�m~�KTa��ZM��A����k�e��~�F!r3��{��h�����4U��)U��\\"�άݕ��ⰱD�na]x�'6�aJ�W
�����RH/a���>z�Y<�nI!h�RQ'�N��4�����2[}K���<�4�@6po�V����/ia�k�:����7�H�C/f�������.o���;�i�#�#k�=SÿblX�6=��G�\\"�<<R�+[�O��z?HH{��(�����<�o�3��Xş���\`�oT�O�L�^E/�&��o��ÙŒ#E�\\"��H5M�G�=���g��x��P��I2)�2C[\`��7��h8U�0U���Ar�eoByQ���N�p�/���0}��PK
�����A��pO�)���&��!���org/gradle/wrapper/Download.class�Y	x[Օ>�Z޳��J�DI�8^I	�\`�+�Xv�Bx��m%�$��,�%��{X
�,�t�����9�@�-	{�lt�鴝)3̾vh����'Y��I��|�}��{���s�_��s/�*�Q)��x�?�<���h~���x�Ex�q���~M���c4��Ia���K<d�C��^:�.��b�hѨ
�zh{�����\\\\&�g�\\\\�p��r��}<�C����lU������_�Z�=t/��[|��^,�sUx�
>O�����,�R�,�Л���ռB45
ת\\\\��\\\\�\\"ñ¯‚ 7z�u�P�^��E�e��+��CW�*�ŗ/Í¥*7��CHjV�2���i���R4�D�*�6��+ܮ�m�f��U*wx(�A�7��I�NA�f���uܣ�f����ܫpH��T�Wy�B'���y@��B���Qx��ת�K��T�U�-t��U6TRyX��#*�Qy�XUxT���Ōd[TO��ӹ�!=5���Ǣq=�9N�Tg$e\`d�t�ິ9b��Ƞn�A,����ݳ�{����P��l�{�}zcT�
7��d$6��T���L=fnգihg��o��޻+����AQ51����sUo{(�����cЮ������;��v������
vvC�Y���L���u�20����aq�����p�pRG���I=�0���r�*w����F2��Z�i��/&�������b�fD�ܲUÚŒD���JC��n��P����˦v:�2Ü—Eb����z�����[��m�!T����n#٧����A=�UOF��&:Í‘v�L�����}�Bh�I�W�zr�y�4S����A|ۭ��B�%�>O\\"O|Uq�0����cLd��\\\\L~�Szv�1���ᔲ����:)M���+u�݁���7�����g����<����YZI���#Ҧ�5��j���mݐ�l?����7hˍ�7D�������I���.l��HÌ–=�p- �~\`�H�I,�����F2�G� �2��
;���CC\\"	��h�Ʊ�h�!���qS�v�as$O�Î’x#B9����i����^����DÊŽ�P
26=or:�k�}�Q#�6sʃρq.�p����H�0���b�$�*f���I%�����u��6N+�O��
�1G�Oq̊��?��:3�:���*x�UOE�\\"aEQ�O7���g07x�ׂ�!;m��2֬n�
�d���H�-V7+�
�Z��2Ì‘8\\\\� �/iE�[�5~͐�Y^�&����\`fA��'Ù®'��57�+�B�qm�[�
�yy+�]�SN�e�ȕH���n�9K�_�[�ǖ���*�& t<���
��p\`�S]T�Gж����x��]�+'�r4w<e��x*��.98\\"n���%+/����hz�ն�u���VyB�tr��Z��n��E_P��?�7j�ezH�{�I[QKR���41��7��
ߢ�!�U��m�3�.R�4�$��S��Ɵ���g5�}^�#tH���*�Z��B�ğ���S���i\`e�4
	�S��4�<A���$v�i��WM���
ߡ�|��_�5�G��������ֳ��UfH#������3o����%�ܧ����F�O��/�=�N(\\\\/���e\\\\!g�]��+?,����4�:C�G��
?��Q~L������D�Ʌn�Y1��z*�9�N�F�A����Oj�-~J���Lx���~B��۟�	�:5VZӑ������ ����gEs�(0��bᦀi��d�p�Y�1���9)N��荋�y4X�l7C2Fv�ԯ�	{�M�� u��@BO���ؓ~F?�%P�K����m�z���W�S�0}}�2�
s{ �;h@���)c7��d��d�g��WIw��}2�;-x���X�����tn�P�\\\\lOFn�+��RB�w����/k�=�>�+� ��U�	����x��4%�j|��؀�_�$�b����▧�}�k�¯j�����m��D�7������E
S@P4�6���
�uS7qcn�n�V	0-�Zq7���P+b�T\`���o�T 7�t\\"�6��h�\`�v��>+4�д�MU!q�]V����m�N4쳫�f��jPn
G')J<�\`)zd]֍�KS�KS�ꥩf�E^W��;HWE2Ip}��y�LIr%�e(-ei����>��#�v:�rM���t�o<�9,�Ǟ�:��7���^Ss��
�'�8 � _����E����7a��Š����SI5�3PU{�p�V:�����|l�]9&���ܕ�
]7��j��N;�;�z|I����)E�o�?{\\\\��cXXaYu�n~��W��&���N\\"i��<)ôo���;b��!�'A�@[����{�=�7I*.3.1���>)>����������������\`�̂����5�O��g����6>��.�Xn˳k8�W�zH�z8G�{�߼<����sb�3� ������GW��V1�(Y9U��(l��ߢ�������y��NQ�;@R��8���N��@��>{�cb�F!Ûµ?��F��4Ai3����#F]��xJ<��d����fߞ���	���53c!�)��J����!j��~G<eZ�ͨvO��fK�U֋><*�I����tJ��Lh���hj
���n)+���d��$�قvAu�Og��0���-n�Gx/��0l��|e�5;��ɗ2��=���\`�Hl_|/�wic�;�,�zД��,vB�ˠE�m3�N�b�5��'Gus�VE���n��b��<�[���Q	}��m���0Ɵ�
�O�?��g�>�TE�'^��{��ŃS~�v�ݒ��п����K�� 79�-����Tr�c�|F2߇փ/�E4�V����X���=(�ZT.�g�
�ȞP���x����؁�X�y�\\\\c��ɐr�T����T���K����?I��Z��,�3x�%��z�����ę�c�锚V����ZR�ZJ��&j�nj�Z��RZF_���-�k�u|U�oH�<\\"%��\\\\��5w��\\\\9M>��*��� �B�[#��T\\"��	,*�pX��K�Y>xBz�I�08�> �������TYS�|5~�q�]�w'��9�uc4�8U�m�p�C�|H%j�	��R�nZGs�(i�崞j�]���#綺���$NJd�t��	:eO��%ͣ��w�(.�,���S���&kϊ�g�}�O������rt���i�@
���N�9��%7�E����S*mm��V�Q��E^P�M�l���C�,�������F*0	\`Kp��-98����
��ҳXy\\\\nÆ´�Lv3�XQ��mws���������t��8-��K�hY�ߝ��MΚZ�s���M��	�*�ryE���o�ߙ��&We5=�6�bt�O�Zo��2�˯fh���Ғ�i�	Z���qZ=�x�֜���-=���V��oYU�Z;Zz�C�a�s��h��k����ZЪ�'�R7�WsK3�tt�ALU��3t��u�T�+C�ן������&El8NW\\"l��Z3�&η�׎^�6��1��TSyq!��/?�,>�ަ��S|��}�g˯�x%�
�\\\\�i1�D@�殣U�#�w׃�0�m4��P\\"4_���n�(�f�N�gI�Y
>5�{���H����f�	�sd��� �#��Mn�Et�G7�2:�5t+7�m��V\`�>\`c��)�9M'��\\\\Kρ���h=��K����!h�\\"ze8�:����n���GH�b=��Y,����r@�׺��^A���@�@��w�;����S�C��z]�7zS��d
;���L\\\\,�.����JQ>��	��\`��)V芰BoO 	Uc�����a{�E�*~wig��\`g���ǩc�%$�h6�g~DM��O����-���1
���@�\\\\�mn���;��E�?�~�~$�����+︉u�K��<���� RdK
���?���믅N���i2 �! �|Wg�g�1SS?Fۭ�A:�̀� P�(����V����@w9��d�m�%��\\\\�j�?@J���#�ƅ�0֯�����s5�ޥ[��(6��̶#C�t��vf�Z�.�t]���:�n1tb<���C 69��F���\\\\~�߅Ic�Q����^��1��+VFW��\\\\���)�5*2&�U\\"��8��z���j\`BH���|��T�K�������-8�H��^�������'�Ѐ��S����G�sxp6�h�����%z�H4���ȑ���H�↉K�O诡��p-�L\`{��1�\\"�L�=�	IŒ�!�XH�S8�MVǘ���D�Ƴ���t.��BA�rmMJ�[:�],�!��<R��ӋH������Ӗ;O��7�w5����-F���vPgM-������l�Tbջ��ɬ��r�*<��;���CTG1ޗ��xn���P%P0�
�١�-4���B��PkC�:4J}�<�+�V4��ӝF���*��5�B.�IoH�tXǰ-R���w����^Z�9�}i��i+���u���C0�NZC����B���ۈ��Hy�I�ܒ�4�b�����Q�č�I���9�|7��^:J�KPK
�����A�y�L���������1���org/gradle/wrapper/DownloadProgressListener.classu��
�@E�+�jD��E�@ۖE�ER�I��#3c�[�>���4�v��9���������O�Ī.r%��J[��M	DŽ�,��]���8��kߟ_�PU:�]�3a���G�����\\\\�^�&a�t\\"-�E�eY����˛�8\\\\3��K tЎBN��k؁�PK
�����A�!9|������3���org/gradle/wrapper/ExclusiveFileAccessManager.class�W�sW�Y�ګu|i�V�MNZ*;��J�lB�N�K�Ǝ[��t-���v�j��S�B[(���P\`x�3�L�$x����0��}�0��+9�%L=��s��ݿ����O������t<�gZ��Y��jxNG_�pNGϨ×��x^mME�SKA-E�H
�1��::\`��vI�b3lIŞDIG��qu���fxJ_�~O��c�u,�J������
_��5���ɡ�#���SgGF��
t�_2/�Y�t�S�g9���C�S�Mǟ1��h�t��DE@�v�]��;��.��\\"�,��	�2�|��@t�-R�m�r�jiNz��-�=�\`�3�g�s��,jɎ��|v�3���.yf�,���]�X��e��BAV*�c�K���̀ 0�	�ܬ��OU߲��)T=O:~vȴme��{]ԓs�d�W�䕲�-3�Q�d��E��!�C���q�]	0�E�(��;&f�*2�B5���?��^����}��虫\\\\j�L����C���l��tGuZ��5�[\\"
�Mn,�r�Q�������t�1��)�,,N��@L��5|C�75|K@g�dٷ�'�hʚwL��Q���tnk�}�2�ts��ҟ&J',�VXj�t��%syN�nE>]��o3��;6���lK�q�oF3�V�B�����>%l�W
�!�8$\`���������Dղ��3�\\"�x	���D]A��مE�U
��W����x���c�L�Q��V$��Cn�.��O<i�2]6U����]/� ��H�i���~\`\`��,\\"ޒ��G~��xg4�n�
�)��gLڽ�V���� M
��^2-��	L��\\\\:l�����(�3�e�:�j����qZ�/�WY�;A���}3��r����S#���
^L/x�R��X�	|:�u���L��i���Y���L�v�;��������u����!I���=�A������ўf�U�yLX�uc���U\\\\���Ӧ� p�v�Q�Nεv5�����|o9L�޻rקt���K���Ul)��̨��;��Wv����椯�74O�Ҭ�
���+�,1���
�F[F
�f��>#�&��A7zx� �N5@��T3��(����z��Y�4�}�
��] ҳ�4�?�E�vqݏ�<̏ ����L����N�p�8>K.���1��Dg�[A|�4n�kh�Lp�����S���ES�v\\\\�c�����~]+蘭�vvR���5dw�������=�#r�<��\\\\K��T�����8���lo�7�\`.��Ր��S�
W����ĮT�U4]����~�T��7��6���v����7�BZ ��H�
Ò«@'�c ���Klϓ��3�1�����c�����DQDDwp>���P�z�p}���@8B gmγ*&_$W��
��+�k��r�}�F�A?~��(��AZ��8�����:�ư�q���8�
ӛ�\\"��؅Q�c���?�	z5)��qj��sDP�h�	h��F�9҈����u�>�c��~��iMȈvz5�HM���� �����$?b�)n�I�P�$)S������ݳ��hÑ ǧB����<���q���0��.Ҷ���x��d�(���WW���w@�M�߉�߭5S<��
�a�<��u�.�˟�3��Gh���G�At�=��dl�٦@]�������ys����:�m��O�	
�	���8x4�?PK
�����A���,y�����-���org/gradle/wrapper/GradleUserHomeLookup.class�S�N�@=$v��ԔK
J)$����E�\`@\\"\\\\�@�<E&Y��#ǡ�_Ջ�H}�C���:�K �af����9��?�~�0�Q�Ix&c\\\\��
B���\\\\�_DЂ)	I
�d�\\"��1-�Y��eceq7��_M/.���n�H�׶6-u\`��m:%=�{�S��0t���Nom�\\\\~��1t,�N�7?k�UN�����l����_\`h�'�mKn�6t�,�oV����c��\\\\�p��5=K��\`��oU)�+�%�,�\\\\���2���\`�[�ޚ{�S�{X-���R��'j-W_�lN���o7�r0F�+y�\`×…*����2�I�~*z��0qOi$��JV	O��^�x�9��@��-�o���w�S��C����j�E�1D�ګx2+���\`��H}��n�����Õº5B'�1������d�?a�߽8�fw���nB��q�
qhN�a�^-�N�3߽��0�d6��È�jELU1tS&>�-�sc-��g��O�N�QM��}(1�����#�j��R�\`�뛿̀i��m���P/�Q��WM:����;\\"��+)	Q�g<D��)�\`�W�%L&|
�[��[ˆ��_��%��7p%w�vM%9���:)���\\"��a���h\`��PK
�����A�Pr���	��-��*���org/gradle/wrapper/GradleWrapperMain.class�Xx�����բr��\\"�E;�\\"L1X�!	$| @D������n��%N�t��F��'q
N����Nwz��齓�8�g�t�� }�>4����+�{���>��e�k�\\"�T��R���rx����y*J$��Wp����B?^$	/V��ԏs~�L��UTI�*�B.�RÅ«p^��U�qɯQ�Z�N��[����*���я7��foQ�Vux��Z�]�;T,���;��ǻT��n�����rx����������U|��0R*F1��\\"R0��#*6á’Š;pُ+r�G�xX�#��cr��*>�O��S����H�G�H�?�����*��/�����+*v�sw�ki���n�w��kW���==�]����)�1�LJ�m+j��j�����Ѥ!,������no�ȩN����l��P�P6�l��#���P�~_�9@m�H�؝�3��XԐF��zt�nE�<M������i
5Y�@�h<m�##�ոÙpg��H�N�b��:Tè²£]��(��cY@MKÞ©[�.G�l��\\\\-�L.�#!)�e�v[��%#��0�Q�mg4��j�bz|@:��ᡠ�~3~���
���&l#�'�*K@��6�P�;��y�t�d�#{e\\"O,!r�Kڑh�$]���ꥱf�~�D͡!i��(��E�HS���I�$�/��\\\\��3��뎂�18��@>D*�mpn�rg2ⵡ<Z~\\\\�Җe+����LOid&5��ػ��k�(-�!v������c�	fe�n�5�'m��v3h�,��ݶ�b�>�$����
M�S�Nk��b�v�I��p�|N�A[-2<D����QSа��[C���\`F�:��o����d�N\`(�Zé²­JR�aæ°†o��
����yN
�LF[\`��q�4|?��C�H��5��1�&��CO3�~��)���_��\\"x����pOW�+
��o�{��)�r4�S�.���k$���Ep��n�$F�YcI������=���h%lN$^L8ס?��Zv�%w��ɺ'��I��5���7ܿ㪆�*����k�@YΖ�_r߿<��?xB�5:$1CE§�bM�p��9ADj2'�%�v$fd)_�5Q*��
�xM��L\`K���vp���1�0�/���
�V0�I�?8h��\`?{�1=a�/M,_���]ÇŽ��&41S�+WD�&*E�\\"��S���\\\\�pU�51G�eF�y����|I\\\\ �\\"j�y(�΅���:��Ѳ��45O��O�y�&Å’P�t�S���ѳ�^GDW��M���-�P2f���L�ȕ�s02����Kj\\\\�3��;�y��x�άmNq\`�2��v1o�]vS%���M�*gIai�ϛ��R#/ I�EV�@(_1���
�����-�Z��z��y=�0��BS5���U�U^'z��jN1u(���8�D�*�
��U�=�=]���Cd~��\`>E卭��Zx��Ǵ0Íœ�-N7J3s��D��^�����}Q����.oV���Bӊ������JT*&�N�u]��6�6�G��>�&�O0�V�>ۘ��<Qȯ���#�1�-�/�����7�Zk����\\\\,3�N����sK{���6���)/���������#���?l8�y�dR�����nwk�?H�������!�=^����WZ���83O�i�є�!���.Mx��LсB*�������TI��BՖ��Mt$O�	�f/���<ӳ�M����~�{]�v�<�¦y\\"9��N�\`�~���'�5cvs6e�we�5��d�+8ß›5���߼�s�!������
�����˱�!����2�����R�� ��Y��Qe�=2����1�vq(�=���Q(M�_
�5��K(�+
�u��Zw
3S(�$WHr�$Gw��k����_C
��J�0�I�QH-���Ma^
55\\\\�������¦ҕcXԤ֨
���)���!ō��#�(�b�8�Rֲ�Oz���	t��֣+0+����с5�&b���
0p3�\`�D��f�c��c+F��ވ��v'|��^:LDKqG�5����(��������$�1@ԏrn\`�1�s�P���w���9�t'(�<m�\\"ƈ�=&��I:BYE�]LTB}+��h�
��Vd&�(w��@ݮC��P���+�8$��:��!�V�!�_e�J�߅�,geY��(\\"�ђ�+���U�[h�I�Q���'K�܌8>R��#�3��PSX���6�p�m�afx��V��+T�hNa�=�'��[}������{[G�+���\\"�	\\\\��jE�GrSh#n�v\\"�J��m�\\"в
���R5h!R��q+m��d� n�������8�Y5w�f�	�k�:˯�L8w�����o�����T��N�JU�M;��dP�(Ka�ݘ�X,';R�f��S�X�t�j1�A�����DWi��Q�C7�fSZM�8vRzU����D�ĕ��	<���PK
�����A�����������\\"���org/gradle/wrapper/IDownload.classE��
�0������
^�b��*A�{���(����l|�J�Tf $_����u�X���! �����<!L���_9S�d�]~)�l�IΎ�\`u�EQfZ�=�,������g5�	cmR��H�*ËB�h��*e�S.�0���O�A�Zp-�-Õµcӳ��
PK
�����A�9l�V�����\\"���org/gradle/wrapper/Install$1.class�Xy|w����,��PBh�Zls/�*��BB1m !�����!�3��,�zPm�G��z�XE��lB���@k�o�V�G=��SE}of7��,)1����w������M��硇��?�a,n�ܼ���7���%�ˆ��2d�yr�G���\\"�_�+/�����	�LF7^�͝�p^���e��b�W�x
�	�L��^ϲ� �x�����-L�V���Q��1�������w�x�-c��H�=ܼW��Bx�!|HF>�ai'$|T�:�/�	?&��NJ��@��XaXQ�Г7�&���zD��V��Ê™&���6�X����\`��-��6��L͉�v��eL��Cz<m�L'P�a��H�Vc���dR�#}^ßšOJ��b5=Cꪵ�z�	�JO����H�qb:Czj�J�奴��)G5�ۤ���Eச��Pj�;�%j�յ{��V����C7��tbP�������^��y�]��)�v�$�Ji4�j���h�C�IE����8��i�a	�teO�\\\\$h9���$Lv�)�bA��SJ�wn?Ւ��	��l�|��i�T�5b�#��ZJ=��cMq�d�vD3�t�
O:���%�U��;�̹���vS�;���G�w�I�E§$����Y;ezJ�i��s�t#�s�e��z���:i��m�I�g�eG4mۚ�DZɉ���=r������\\\\l���@�݌V��ԩ9CVL§<�1�q��Mج\`7�Í
�b��V�)؁��W�\`��Ct[Z7b��\`g<���&kX�gx��U�0&|������E_—|_��5_�9��7%<��[xT��1)�;
���	����(�>~@F��@��Y�%�H����'����)�9~��<~��WxL�����߰��\\"N�i��av�yܲ���'�;	�W��Q�����?�/D\\\\���V+mĪM˩N����jJ�jǢN4	��55e�-$��|���
�¤��i�u�MGOhSB�Wt�����%+i/ƌ����F��KL�\\\\��va:PÑ™^hw4*\\\\���kQ���^\\\\)�6jk��������d��Q�|5\\\\$��5g�ʧ��@�y��Њ�p�6\`�&��ƚew�R��r,oI�ښRe��~�멶�\\\\s�n��g�B�s�\`�2Ҏ�Ku��1j4���ZIWU|�WP�1�P��j�Ym�lj9�49�U�[:��y�c���c)G��ܧ�v���N���45�g�jÖ¼yΚ!���BR�g�yq)�P��1.(�e%�O�W�U��N�qM����m�;Öšguh�wX��pg/�����0��aŧM[˦m��i�9�l�H��vX(65���c��� �(�)��X��,J�|��{v���g>B�T᫪���D����T�v�j��t��7��s1\`�t�.U�z���{�̈́�z�e�%ؒ��K)y9X����튢u�,5N	V>]���E�#�+�K�%TÓ—N�>+*�)P�%�Ӄ���M���,r{z7�7��~;�|�n���� Q]]�D]���������������Q��fj����-�V�I@��w�A�O�#=�[\`=e�Y���DY��B�G�7S2�_����ӻ�V}\\\\6���T���/z�&pyg��\\"D]թ�XB���~i�'��>H���6��?�e]�G1<�	˧Lh��YQbWfI+�\\"���&����kX|���!���]ۗ�x+Z���
�3�N\`�yt���e�%X������tLϚ��pp�}'�;��È .�z�G?�l�n�yjOà¶–@����,d�+��/;m.P�Ƕ�-\\"����>�G=��d�k-��&��ⱶϝ�:�u�<�b7LB��\\"!��1�w1u7�q��Q�Մ�5�����}4$��	�#����;	�'	ß§	ݏ�#�=I�~�b	n�q�؆�]� v����na�G܏=�z�#�'Σ_<����‸�[]L�L��a7��ORN��v?ɮ�^I�~��mFu�5�q�Ӯ����rk?����Y��Ӣ/�A�r
���i���n#O�����II�~��Hv9B��,��{��%4���QA#6?	:T���.�\\"n�r8���Jf��dO0%��!�^�a����%\`��F����_7��@�PK
�����A��gh�|����-���org/gradle/wrapper/Install$InstallCheck.class��]OA��i�]�l��T)��	Q���hR���ۡ,,-�m��
�H4�x�?�xfv�I
m����;�s޳3����\`�đ�a9AaE�2]�Q�㚁�ul0U�W\\\\�~\\"R�#��[N�z��1]8����Į�}^��\`��kUk��9�*���U櫚�஻s(�c�ք��r�>�v�z�X��V\`�����S�Y!%�M�:�N�BE&�NM�n������]�ns��=G��E��eZ���M	�V���Q�ǟ85��a�2���m:Tq�
�㗄�8���-�cH�5�}��Oæ�:ɮ
+����X���%\`k@��h�6$h{dP�	o���jgʤ�Woz��e;lUBL������0�4a\`��m�ѱɰ8�#7qK���oo�G�n0L��6���Q	z�\\"HK4KK;4&('w�J�&4��O��Y���Ju�b\\\\�aS�Fs3X��a�&�l�a�����C�>eQ'��X~�Z~��/mL�J��BcsH�Rl^!3�Ó˜�L™��f#��'�yN��������	Z�.D��f��&C�,�c��?c�c����
y1�;��9�ʼna^rH|�d���
gqo�8:��~{�;��\\\\&N*�b{����2q��9�0�v�>Y���PK
�����A�^�,���C-�� ���org/gradle/wrapper/Install.class�Y	|T��?'�����\\"!�#�JØ—@�I��Z�%yIFf����E[����Ҋ]l�����ME��Z��nv��}�n_[Z�?��L&�C���/��޽�{��9��;O���cD�����\\\\$�Y�L��X���hJ��&�� ��t�gx���H��<S�fI3;�gsX�s�<��
��+M���4��}����ҽ\\\\�qU��su���2R#O�i�Ƌ���A^�K�����u�4+�Y9�����j�Z����&\\\\��s��>�
2�N�o��A*���A�&�7i_�qs�Va;n��E���g�,}K���H���4���)o
R=�I�+H?���M���A��/
�F�Xc#H���Fnp��tJ�Rc3HÛ¹K�� �pD�K��SF�i7OpT��4+��D��A���BN�-*�|���\\"P���A�����q�7~�4���]A��fi�-��k|���	�%���{e����UA����G�������&�)���h����أ^��5R)3�Z׸�n{��5�n��T�}[�斋��m��T�|�q�Q5��5���w�fߐ~q{�M����Mtw�ӌ��]�m�Q���2�IÓªiV�X�L�ƣ	��i�aӺ̼�4�:�k�
�9n���\`�t��#�NE.3�G�f]G��Jm2→�ƍC�I��M$��2]X�:z��&��|��!�i2Ml��͖t�ݴ��$:���{f�k�D๙�;;�����4ls]$e3�r�\`��á]��eØ‘D|u���H�Fl\\"��ȟg*?mVШ�[����o��L�qӮپ�	$��$�=��e�[�1��QQ}]ޤ��a�y�0��SZy�U�Y���E��P�:�j�]�������e)���[0ّ�¼y�)ɥ�-z�	�����tW���\`w=�����x��R�$�)�#mE���M@'��.�m�l��t	�s�6Å“i;�FL����7l���	�����^I\\"�n���=���™�����ݡ���^fZ���|nM$��Fi=ViW�dp:7?7A��|0�3SV$�������$�?�5�e���zC\\"�M0��lЄG-\\\\3R쵫5�aX�L�*�R��eec;��l-�8
N0:�UP)L%�V��b�ٗ4;l�S��&�j�O���- ��{$�FOb��Hwܰ�6_x
^c���L��سŀ[L+I�$���A���ܸ*�s�it:�4ew&�v�j��	+fض\\"�F���'ÙŽD�g�-VB�r}:u8q�鬱2c��͹�]��Z�Ç–V:	�瓌w�Ԑ�Ō8�OQ��D���I#���8�1��)+���C�W�iFMI���}@����x��xt�@�����'<��F�����h|�k��{�g�m�?�e\`,�Ak�Ik�@.GH�d�l���(�\\"���<f��t�̥v���i����ͦʒ��gr�bwVk*O&�����H$���Ó‚as�=w�|���@OT�4�?�.\\\\�����|������o�4��Y<,�R�����J�K���2Z&�֜9���+�k��y�2Eey�^�g�k��╲�-���L�sAߒ�]V�.��	�18.�j��3V����Xp)[�/2���gu�
�V����~J/��8=��Ut�N�+u�A���c�3*ue�M:]K�鴏���#:����1�Y��r���O��I�
��A�\\"a�)�o�OC�|
�$Z7�U�Z��3|2E�l^�t����:���� X������k����|H��n����HsX�{�f���.>_�ί/��KS�Ý	3�'�0�\\\\ۈ��F�d���������.���ه�<�^���_��dX���\`X�����<��Q����'\\"�w
[$±7&������e~�i�5��0��vY���a�>C���?��W\`R��!�R�Ce�p��mi�ˀs;�)�����nW����1.3����F,)�C�7b�,(��O
+�{�����0?��Xh���G���@�:��y4,eS8��ږX.�%aÂh�<t��2��]V\\"��V:%�p*��X8�*���
��J�ل��T���/;2�e��
؄�T�8fB���fE��ښ�ۑ��+^$辊Rb8��Y��/)X���E������<}��HL�#�L��P:�����진��'�@��Y�l��O#�������t���~�{9�r9��9�����oI��J��E��#�=%ʾ�%Y���=!������/��}���?��Y26�dLPѐHG;U�6Ff��pr�:w%�ڰ�i�c�\\"���q���/�O5~Y���u����z��R�_�u�
�u�k�ӫ�;�/�������I�W%��Q�<s�6�(����)�������O���w��'O�L�O�B����\`F���̿�>W��y�i��|5��$���㴭�J�:ߌFV3(����G�U�LS�JQ�� �zYS��ns�JA	�m�#��TV>�.e�(��ۉ)e���Sٝ�3�;zC1E��VQ9��oe�����\\\\����V;m��+H�����s�@S���
0�kÏ®i�p��CN���AA�A�.r�s(?ŝ�(�|��/�k�t�Ӱ��€9_G4�ˆ�3Þ²r���<2K�;�qvb���QqY�+�����{�eO��|?�(kK��m�:�vn�;��C��cI���.u\\"�/�1�v�������}���or���I�^X�O��X��na_�H�#�	�X�mX�x\`��{�F:����h\`d��U�p���Y���E~����KQ�H�+s���~8�Nv�kO%�iÛ”x�$?^�>'��M�z��j2 8F�Hj]���=�N ��S_6b�I���'�M��4S�\\\\nYT4���\\"n������^#b���a�b3/���%��W���/'d����2Wc2��mV�_k��cn�$En�^9��l8�Tb�ID���ǂ3�Z.������=�@��υNzM!W/�d?�阓��d
x�y����,'焖�E.���~�ʛX��Ys�iݐ���#��u
h�m�:	����e����]^�,�[#o�&��M	�l��1��0.n�ٙ����%
�r���=��xhYc.�j�uq�v2�zq��t��r\\"�Q��M��x+��P��9�H. T���Q��t��@{=����v8x�ϭ�Š!
���LO�~��WT!����+��Є�j���N~�s�2LS�\\\\�0�fS)���
��px��F\\"�$2�z�
ԓ������i�R�4�k+h�&4�Z*�	x�\\\\�
y���'�Y�~����hJ[E��UUVR��M}�J�%g9t���*�ZM3h$_����얓s-�D�D>ZE������1�׃�t3}�̀���O�jͤO��O�b�+?�5�w���0����iG)�i���UÒŒ�r��I��@���[p+ͬ�h�ro��S'�T�y��䬃'~Q=@��^뗇���:��;D�A:���Y�/����n����D�[�_��4�Vit���4.ä›´p����d�t�U~>x�9�n�=r\\"��� �yT�z�2�*F���At.��������!�Xg�Ja�E��7P�Z��vR�S?%�~z��.��&�B��&-L>K��8!���S&�|��h-��cV\\\\�?���a��/ҝJ�}t���-t>�
.^쾖�D����u)i'�֯�^�J4�W��X���^���5:�/MƻFa>N�4jx�Əp��
f�y<}\\"<�k�~��3�)Eeއ���S�z�*�R�=��B�Sգ�<ЂD�G��k Z8�H&Ý£d_Ì£B�WC�}���u������â�a��B7(}��9�u)��z:
������=���a�K_Ƽ�,+saNl7�<�)�ѱ��i.�7�,C�,OaKqTC�TWQ5H�k���Kn�E@�ҝE�4�\`ek��[�|խm@�(\\\\��m!� �|�p������h�n
�[j��_	��#7����=H�B?�W�W�$�!g�zL�Hy�p-PO_Ua}X%Q�7�k�8=�s|���C�
QW+ii�Z�nM�^R-�<��	�b�mt��b'�t�������- '�^���;��~�������U���¬s�d(����I(��r�n�8<���悜s���0\\"
W�����
�c}��{r�ŒN���g�Y�؀�J��pl�w���������̓T��[�����5�y����E��9\\\\��u��w���qä ¦�~�6�
�m��<H���y}3l�6��[�jOPIH+���J(�:@�;����Z�L��<�8Jo�6�%
�Іh78����t����]4@�6��ki��oBq\`����}�����y����R-\`VX��.V����ױ����4�����,��΍o�\\\\x��V~Gy4	���i��$�JA�<v�Y��{.���mP{���]�|s=h_��cl?<��@���Sa����{1P���)8�}Y�A�z�~��F
	���l�	��D$D�A�s|lB/f���ILM/2�R���1@�͕E��u�N>�!ϡ\\\\l)q_��߇y���Hc��!��N�%�\\"r�������Jfף0���*�����Y;�
��9
�U���䕣��y]�A�ҥ�\\"�Q��,�Sl�2b�g��ϑf���eZL��E\`)�~�9/���)���/�+r~XA�R~Ɠ�?4A�_����@~/ʔ���DҍC�#�A�G�%�h��0y�2ps�&~�JD�*yI@�J\\"��KHVۈ�AJ
��rI���.���=H���
i<qv�J# �����.ĹoA6�l��#������X�F�*f��$�d��LC��wd����8��R��Bߏ���6�s]�ڇ���?��\\\\aV
���~{]����
�=A�*�Qa�Ɯ�o���9w#�YA�'�_ �'��������դ��&\\"�4��qZ�Q�JB-�2�a
J�d8���
T͐;'�c��?3�����8R-���̶�ޏӄ�jU��<�
�7Ù§w��S%*v�s�&�8��P�L��<)�L/��Z���.�k)���:ӝ�H�пU]uXi]p\\\\j���S1=)�_�'#t#V��UT��W�~��%B�!��48�1�&.Ċ��9)�W:Z�^�|��Y����=�uY�?��>�g�f�_k���i�w��n|��ΐO!\\\\�y�#�
���N�v��|5r���-�L��D$��[\\\\���,p������<w+<Xt1��>�1��h=O�׀\`ރ/���N�mS��w�砲+�PK
�����A��:�o��4�����org/gradle/wrapper/Logger.class��ko�\`���Unc��@�&s*]7��11$KH�\`�w�ʓ�����_�O�Fg�?��x�R�5K���r��w.��??h�G�b���1TP����4w��+ͶU���]����.;\`XxfX���!R9���Ӳ��!�1,�j<8�>?4�d�ck��qǐ{�0�#�b�vtUwx�����Q;����6m�!W���\\\\5���]�1,�)��@�F\\\\�s��˵w/��'.Hq�ϰ3��:�NW�����fu���-Ce\\"��!���l�U�#�;��m\\"x�*�@o���b�w����=C���j[�$�B#��
�%q<L�rI�X�'�<%N\`�������F	�\\\\��\\\\�c���~�b@���r�J[}C#qi0�����4͡ܙ�z�|�w/��\\\\L~��sW(��5��e�N�S��Na�l�v{��k?�j��}�]Kd&{��Jo�y�Z�VR�Ɖ�|�}_3]���'Ŀ\\"\\\\?ED
�g��PP����pz*���U�{QL�[�5���	�	!1!D��>�c���I![3�̔��Jg���X�&��ov�HIFi��
Q��V�(�Iؔ��)r��
/�,��*�������ꊧP�*qw(�P�&n�_ݖ7ۛPK
�����A��\`�������8���org/gradle/wrapper/PathAssembler$LocalDistribution.class�Q�J�@=������x�+�P��AA(*(��mۥ���M��RP��?J���*�/3sf�̜�}{y���,R����6�.�]�0�U�J.d�a���7<�q�/C��-�IŐޒ�L���M�h���ٍ��!W��8l_��:��2~)����+�q7�$u�b2�=Z�d���8b��H�ݐ�Z�Z6J��5ū�no6�
�yRߡ�
SK?��
~M$_S�|a���Y�WЈ�I�V�~ϒ5�����>��p]�1��_	1*BՂ�rCT��_q�iX�OL��Z��|-��
F��d�	�S�M>W|+�<�*�>�~0T���u��h
��Y��&�㙉�B�b��5y]Ka�O���u�F~%���w��-�;�<y}��)ҕ��PK
�����A���;��+��&���org/gradle/wrapper/PathAssembler.class�V��=c-#���I���	�,�I	�8�D��,;�F���H˓H3b���N	k-�RJ���%R�|�����3c�6r�/o�{s�=�w�����~�8>
�VZG���0T\\\\�u��e/�<��x<�6�������O;����5�D\\\\���[�v�a�8�����>��~�֓\\"n��0��4ψxV�s!<��~��^�@?f�'\\"^
�e6_	��^�u�Cěn���ri\\\\5-C�ٖ�k���)�XI6M������兹���ə�����lf�����e���*�Z15G�⨀�1]3-Y�咭�8?;snbl����hȅ��\`*Ƥ^f7���TK
���e%o����q]@𔪩�ic۽�φ���E�R5e�.�c^Ε�˹.ʆ�so�o������nS.��5C�T#u^�Vϐe�4�WgQ��K�k��a�IB��Eې�wt�s�|�,X���(��i
( ��MeZf�C
�m�����L�4�jE�L��%�lR�m�&es�,�е�6Ai������\\\\T�բbZ�]'S�ۆj]Oe��&�@�Ņ�r1-@��n�:��W*�>AӁ �9K�_���(:
��_U&�,E3�����@��ЫW�/M�R��]$\`y�R��7�)x��@�[�7M�����5�?�1m��m#��\\"����Fñ¶„¯ï¿½>	'q���JH�	ñˆ„‡1-aѷ�5����]	2r�vRI�j��~�>��/I���_�l����~�w���1N������=��Ŵ�_v���?J��,�/����a]@�îL1Si���,����g�Q��i�C��&e ���:kk�ZV�����R!��Vt��6�jۊ�u3±?��ɸ���nI�'�]c���M�ngo��!6�X��I5��p2J%Uͨ�]��k�:���
�39n�ۖ���Ÿ+~��BĆv��/��\\\\w�i��t�)��
���g�U71K���p�޿-Т�
Qs9z��M4'9K�L�DS^QU����sCi����~�����K��c���kCqWp{�?6�]-hW
�E���iN:X�Ђ����7�iz<�fͽ�2�j�׸:Z��%�����Ù„;��jڹ�V�/�i�ˍ�+�q[.�;�<:ta�E�{�1���у�q�Y4�w�|ntdG���S�w�Oh��fK��gg�!����x�&|�;�O;��4�� ZEA�V��6<�3�c1��X�Bvç0p#���_C O���'jO�7Z�W�5�7жT�D��*:\\"�4��i�����N6}#�|�l�u�dcSp�K=��\`
{���\\"H� �#�C�O����kH:9N���9��8&(�V��>H\\"��.g����2�� ���;C
(��sdɓ�(�&�X��8��¾*��p�t#���K�A7LO�.=�Ћ�a��*�c1Q�w;�z-����G�x�H��z�x�t���6п�'Rj8�u���zvK��tVG>q\\"���!�א���]>�.J}��6�$�38O�m$��1K{�=�y'��:�,8��Bȉ���c��e��%ם��Y�����A ����U1�����9:��e
���Q��u�n|�A�c	������W�	��1{I�X6�Gs�t?�'ד��KU5��QƠ��DvQNʡqZ�u�x�F�{���Ds�9\\\\Z!���];<:�S�T\\"B��o!��-��p}�[�S��)2Be��Tj�s���/�#�(�ct\`���\\\\�:�S���8t����S�
��'�)��h�PK
�����A�������|	��0���org/gradle/wrapper/SystemPropertiesHandler.class�V�SU�]��!,-�
��-�3��TR����%A(��.a�,�ݸٔ�W�~��L}���Ǚ��2c�W��ڱ��&
$��9��s~��s�ޛ���?��\\"��Q� ��P0�Oc(xSNޒڔ�i3
fh@ԏ99�-ż��T,H�;�X�R=.��r����~��{x_���&��c�����r|!:}mn~v�\\":�B�ԚvC�53�;�a&#
ã–™u4�Y��9]���aΘ�'Ô³(��Vi=<e��LncE����.�Y	-��ن��^'ed��,;N��jZo�Z&����V��7�l���I���$u��+p2T(װ�FZ���9�H�������m�چ@�339��\\"L����?6���3�a��y��-&��dnC7�r�fW��CÔ¡L�.�����ꋈ-V&Ùª,5�ٷ��}�G���ӭ�c^��^8�ȃ�1�ܸ�%���Q�P����u����45'g3��\\\\?�z����z���'t|P��x���֙Բ)��\\"����j	�=��2��b
�*�2�*�h߫z>g:Ɔ���V��K9#���]Q۶��͔nv�-m��ν�v^g-�*6\`Ja���#Y��\\"GAN�
l�����-|,�����g+[�*�Dŧ�L�縥�|��+|��|+�Xyvy�)��'�1Mn�Bʶ6�w{/(���X,��(~>Wٹ�##I���=���(�D���WF��$v t�$�0;��/���~�*�x�B�D�V�\`�
-n��|/�#�����)�����y�e�Ǥ2FIi��&�^�ʫ,=A��5��ٶ����T�m�M�fRص/}6��-Ʒ�bU	�$e�g���RevX�|�3%���_
๡~�cg5h�O�W��-a�������.����5�T����c��O��_�	�����{�L����������P;�e���3�y��؆:�J�{�3�P�w�@����y42ES��p�~Gw�\\"03��V�;�L�M\`���q��=��4�����/��Z��>�u����\`i��N�]x�G7Y� κc�A=�#7?������	�I4�lv1�4��$ Ĩn��q��R!9K�M�-�z���9�BÔ¯r���W�)�5�\\"� �,����9z|�~�_=/����!�~�L�0���8�WI�H�-_���{��M
F1�W�U>��
�=��������Sp�L<\`��ݖ_b�qW��PK
�����A��=����?��-���org/gradle/wrapper/WrapperConfiguration.class��mOA�g����JK�|i�

\\"	HULCߐ-��H����&~*M$&�����3w�e��&3�3�������_���:����a�\`@E�G	xL�<�2O�<%������xN�8m��P��k����3��5���QO��M��5�)����!�Bw�~�+���1��sM�(�/;��0�/�w�^����9���sܰ���
�n����Z�d,8t|�Z�kZM��l��ONl�ڍ�����iv<N,��n�����gJe��i_n.]�!Öœ4*:Z�l��k����B�j�jttW�(;\\"�v]��߳�����s�~�\\"�D�EE,�펷o�t��GU<K�1���+����}����տ�Z]�U���խ�כo�d\`���B���o���2���daØ€<��!H��)S��U ��#l6����&���W�h\\"F}����9���B�F�G;��]�3�7͟��l�)��l��0N�q�{(E[��y�a��f�0�?@�p\\\\��F��&z�
�?@�v>,.�s�m���ns��=�N��N8�u�	ѽ���q$&�L*A��=HL)���BCO*A4dF	r_
�� s�����
�)%Ƞ2�)�Ae�E�,���	��$!�<W��j������ y2�I� U%�5HR�@͛ 2jf�PK
�����A�G��	����(���org/gradle/wrapper/WrapperExecutor.class�W����-���X2lƀ�l+�ؘ��C�l�!�9Kg�@�)�����t�+m���tЙ�l7��t��g���y�;��8(�A�z�����=���_����GCxLA�*�m
�8�@����q��2ޥ�ޭ�O(��s2ޣ\`!���{yx����I�~0����|�WO����yx6����Q&�W�<��O��ϟ��32>��X���yw���y�%^}9�����3�2�y~��Oȸ�\`;���)H��^V0�YW��^�а�;98��14���724�3��Ot
K��Nj�-;ޞ�-#;�[��N3����}H�t	�e���]�rbb��Aqy1yp�Ȗm�G�C���N�$��*=�
8%g�9ݲ
=/a��z�62��9����u�Ȑ�N�l�=qԤ��1.aC�i���[Z:������k?�̝��\`i�af�Rݘi���z��oX4�֔���r��!v��S�F\`�N3M�-�1�z_arT��Q�5�c���!�2x��ݮ\\\\�)��&*����ԉ^-�ޫ�cd
{���Z��n�!	]��$E�锞s=�'r|˝��4g�9���yJ���Y��E�
���n�
ts@�f�J�BU�(E�2��DK����2t!cj�'-BF�Y�&�v����\\\\�v�w�����d�L��m�z���^B<��d���)G�Go..?�n.�LƗ�a�6��z5�K�l�q
h�8Y[�#��0H	M�(aɨ�-��W
��vМ$����\`Pm��ެ�?}U�b��4F��s�N����V���\\\\;��/T��,P���(�H�dHW)�(�M��5�yb-٫$E;����\\"6�	���v�
o�J�V�;�6w����T�$گ���-�T|ߡ�]�y����I�XjZ]�\\"%��)Y�6�>�6i�5�~��g#�M	��;����{,�5�;����U�kUD�
�u=��*���$$�)�-���^Q��I?dIe	ÍžP�#��1���F/Q�0��'�i?e6�!#��(莄�1��e�L�%�|�%y��,d��KÜ¢\\"�|j��¡�S�Rq�m�5��U�;^�G�Q�˚h�&��}#YÜŽI��7w<}�E�A��'�L�QQ�W�M��U�����ό�D��2��	}ʉx>���1COG���)7r��a�W��T��N{�R�ӓ�|88a��������AXTY����oeÝ‚zfu����y������tR��{���:���v��:�Z��|\`G�_8檫x�8󨊣����~Ì•��7�:��+x��@��-I
�:b�qJ޻q(�Kq6�۷�b��j	&�������};dm�?J�p�E����)�@aڦ��ŕf�hr%��Q���2&��x�g�lL�->lD�����M6�uF�g����ºߏ�
C���!̣B�h�^�G��Ю
�h�ϳ_F��~�;=�U����7Ӿ˳_�0�kZ��c��z8��Ivz���v����0ixUñp�,sϢf���a\\\\���s	oе(�C���B�b�j��J�%���%�@����,,V.�Z�X@3#�8����ꚑ�RM�\`:B���B�N�c�X@�	x�e,��^F8���8isO�[�\`I�QfQ?��b^���Ϣa���
�I��t�V9gw��\\"3X�6;�kc�s��9['��_@c�p��
qvC�,bW/��<�guЁE4n\\"k�����XB���e�(�ۉr�}��NLb�n�����<����pa��Kq��K���0 V�HI�8C��K���?RM��Q%ӿV��tʯ<�Z�0�hn!��{ȣ��9o(g.�nmt��rg���RH�\\"2����	�L��D�r�
�.<�7�^�Mҫh���7�.@�#�}����\\"��l�%�4�-��p��Xn�Ŷ���%�PG
�2k����Yu�
�2�&\\"[�rۇ����[g��~;/@��M��d�客��T��P, Ia�UOs#�M�\\\\�#\\"t[�f8�80���HyCT�!���Hs�����c��/����օ�T�UY��<��0ý�������������8��*C9����ݻm�ʌ=�HN@N��3XL�̈[�[�\\\\
mRH	#SdL9<HwR�\\"����>�\\\\����ť�l�
9O��C(�.�H']��T� ��!ٞ ތīS����]��h�DL��yW�!p
5
���k�N�<��X�zZ*%q3a�0LQwx�|q�,8��x����?��cKQ���.-�.��\\"�c#�Lg�d
�_EXƙ\`-q�-z3Ai̷�D#�7�6�������^��=n*����\\"�-����PK
�����A��e�������#���gradle-wrapper-classpath.properties+(��JM.)�M/JL�I�M���**�+��M���PK
�����A������������)���gradle-wrapper-parameter-names.properties�PK
�����A���������������org/gradle/cli/�PK
�����A���?�<��S��1���org/gradle/cli/AbstractCommandLineConverter.class�T]oA=���\\"��~C?��R*O��h4!����aY�m\`�C��ߢ/4����2��P���a��9{�s���?�PF�@;:v
D�c@���{xY9y�x��\\\\Yc�fs�Ú‘ß±V�g{m[�x�KH��[�{Ê…�'�&?��b�N��ӵKV�-��)�%��^�{������m!mQaظ������|�j�U��n���l㌟�R�{N�����}f[��C�����-��k��ږ�=,ȍ��Ø‚ak^���߫�^t��֔���-J��_,�/]���c��t�ˡ�+;X���r��C�uVQCW�	u�h�Ca�oܠ������1a�6C���2Qľ�L��K��
&�!9��a{	Q�23Qu�{�'�M���~rՐ���3|i153�mn�Devf���߆J����~-C�H�;\\"d�9�����edc���Dq�ָSX��\`I�w/!)��:�Fy�7���_�|�@�8_A�#��F��VX!�K\`���R~�;�x��)�>=�N�Rnp���؜�c�h��⟐��ϔ�4=c/�-e��PK
�����A�׃��X���
��;���org/gradle/cli/AbstractPropertiesCommandLineConverter.class�V[WU�N2��0�	H��Ԅ��KK�IQJ�������;L�0f���O��Z��Z_�t������A��}N.i�2Y9��}���;�v���O�6�Q0��e|�\`�|��\`w,�'?��
��H����\`	�=��
V���>�B��x�����&c��.cC���i���?]c���З1-c���i8��\\"qB[׊k�cr�Ɣ�m�e����B��h���Ћfb~��M�V�d8�i��ޞf����'��$
F]�p�䙶�0�fv�}-QԬB\\"�9�U ёѻ���E#�0�f���f�[��-�Pv�T�4��V5�%\\\\���X3L�X����QgIW����W]�p��0�?���:���ĒVJFO���MA\`i
Үq�����A�1\\\\W@
��\\\\�A܊�A)5\\"ɓ�4����8,��F�h�J+g�^�z��K��a�@7��e<��f͂�y\\"�߾�;D='���+�;��%��,��W��J�/G�d����L�Xg<�m�x#����x
�*&0.�Ko '�+�A�|g��<ß¡�o�(\`[��b�*��Sa�����������C���%M�U�4�ܹz��%�LEu|t��g�1qBu�)���k$1����
5����xE;i1g��Yu[s밨��D:2�KZM�u6�?Al��T'�[�'\\\\�L�z	��o�B��E�1]^����.���&�z6�K�Z6<��S+Y�h~�u.�V�8X�b��u���2��i�t�e��d��N�۾��H;�4A��?2/y/���j���~���43�1���ˀ$� ��<�g�yWjFK$���j,��
�t��D��� �� �'R��k���$G	�}/a�N�ƫ֪�j�~�����DH���AR����� ͹?���
�#�0,_;���iq��9|��)�[A�l �q\\"��0���%�T���q�Զ��9��N����R�7��3�w��o��=\\"\\\\��	�b��j��kD�����Q0����-��#Ku�s�u��Q��Ā�ٿ���c�c�Úº)�Q��=��[��tx�V��p�2�?�\`�'g[��:��YMᶘ��PK
�����A�}��yG��K��1���org/gradle/cli/CommandLineArgumentException.class���J1�O�3���Zm+���U�V
\\"
��–��i�Ff�̨������$-U�fq�{r�wO�����34K(\`˄mu
�����=}�^DE��S�E�=.�T}.�m���Q���/
��&���t��_��G�\\"�]�8�bl *�b&ҫ�=�\\\\�.��$����rA�^��2�(�d�[�ŀf�&՗V��2S���o�/c�PF�	��?^E��5�.)���-��/��1ttu��yN�N�3y��+:���ԕ;XէƬJ�k�⠌u�0�ʜu�g���;�S�~��tӾ���0w3�*6��M�]�PK
�����A�������g��)���org/gradle/cli/CommandLineConverter.class�QMK�@}���ԯ�'�\\"4
F<6� EQ($xߦ�%��vS��<��Q�6�L
]Xv�;����߯o��8w�upJp�L-�6�~/���S���b�f�%�u<�	�*D�<.�id���n$�b&לpW'<(a��R�\`�q��Kxî…™��l�r?I�����OF�l��$�j�ήw����vRm_U�%J��������vJQ��?���_��F�%p}�b.�;o���-7Û‰Z�3��fSm���i�M�l�g����pl��~Qqk*[9�a��#��PK
�����A�Sf
���g��&���org/gradle/cli/CommandLineOption.class�V[wUݓ��4�^��i�\\\\�\\"iB�����Z.�^����dL��0�p�w������ .�UY�����.���d:�ܤˇ��s�����N��~����&�m8'�|�kE�Zqo�މ�.E�
.�A��A��w�h/��
iEHzWœ���ª8ɉ�C^ܾ&KFA�-A6�n�
:�����T�֍Ԝf�Jh�ӳ9�.Z��ݕ�c���沩9��s��ü��V������[y^���7�B�*�����f$�Җ�8#!Z/!����e��J��D���Y�/�����j�L+��Zj��RiCO����j.3��YLj�o8��--��ZFB˘����bq��I[��eC�_�73�Haf��˚5/΄�fZ5TKkw��t�	�+:3���NU�dz-��������k����j�괚w��(ʸ.!�a��pV�g�)�)�_C���{
�����c.[$�k�ҿ�l��'贡�{�RS|~2�v�?����x+��bi����zkN�u#�Y� j>��2�Z��fY�T���R�Q���xu��Wx8R���E�1�0o���g�m���74���Ӂr_q9��\\\\�WO�w��/j�h��z\\"#�����z�,Zi��.Z��FkP�*؏$}��i��B+
�c���
na��]b���ᶂ�1��|(���2>R�1>a�ʠSz���5 ���xA�$>U�D��P~�.*8��
����%>Ä��������;���g������+Z��Ekߌ�M'
g�6-�0�:��NV�ϟ=!!�{��LX\`�e2zF�I���3U�\\\\�%�N��e5CC]�Z]AၺmѸYC�Y�b�Z.+���&%�����b�\`��)�s�4�\\"((��{�j^��<�����Q�*�>\\\\����{�#�������%��N����׃\\\\��&9�I<��x����hz�\`�G4?DKyGN�!$az�Z%��V
a	�\\"2��	��5(,�{�����!�۹��=��V�����$�Ij�H���a�D���/�i;��a�
�������xʐ�d��8$���TŘf�+q�Y�����r�*6�:^��]�%�׸wG\\\\�788ˉ�H��ir\`��v?/'��얪�����c�Gaf�;B'��F��|v�v��rȵ#�x=��zC�8Pc.���}�vr�c����
JȐ�i1!�h�����]�n��G��S�����������0��� �.�j�5\\"GO���� �����n��J0���.b4��-��Ν�л�n=��w�\\"\`<A�F%H)$'J ^�z]�B�$��tơ�A�ҁh3�_ǔ��?:kR<M�3
� :Ur�%�n�:����w���l��S�꛾�u���ڏ
�Yr…��Ѷ� .�;*�ĤǪaQN\\"Z��\\\\����Շ誁�D��u!�zq�{9z���3uzYb�ֻ�U}y��e��z��\\\\��
_�9�q�wA4�61�Gu�M!&ְ�b����c�'s��B��J1Ϸ���P~Y�N�{Yޢ��H��PK
�����A��튯��������(���org/gradle/cli/CommandLineParser$1.class��A
�0E�h��
v庈k�^�(��'��P[����\\\\x�%��t���������8DbD���fs�V�	��4��ž�|�ֱ]��.	ӍΕq�.�^M\\"&̍-Eie�X�?�Ŋ0�i�6S�9v���J�R/5�-!�W�� ��_x\`�����_��$��PK
�����A�$f{K���	��;���org/gradle/cli/CommandLineParser$AfterFirstSubCommand.class�V�NQ�N)=�-PP��-���B��
AI�߶]�B�%�E|��W�D�Jb���q�n�b[����̜o�9;3{~���� V$4#�HCTB\\"b�b�8�9�ͨ�1����� �!�#�)��J-��I��Er���+�L^�$��-Y�&UMY���b��z\\\\�Ts�a����oK�-����1�zVah�����b<��y��%���_�
U�B���pqꥩ3�Q0Ww�EH߼�)F\\"/

Y�8rT¡8��c�
WS	C�����a��MU�8���vEJ��^�&7��r$/k�Ȫi�Z.^.�sf^�M�d#'.����n����RE�i�޶���梼m}
����αƬLq���!&�A�@-��U}��(3�H��2�qW>��~�r<�a�s>��)C���0�9y�mj��V!:��|��k��\\"%����*���5&��@TZ�[AkI)����Zb�=N�ʆr2�j���
�s���噜�(�B\`4JY:TCa��e�c��U���*�b2��v�TzCɘ�gKE�ԷN���R�9�r,m:��BM}�V���{\\"O.6��u1᳠��~�-��g~�hW���Kt/�O�vs����}�+
��=�]h��Y��,���l$� ����֊����7�� �4O?��	��gԻ�
����h;�_��!��Ѹw�i����P����CEӞEV�h\`l�l	�,��[��m'GT&p�DA�n��E����!i�/8<~��[$�\\"���V��8z��b3%���+�>g�*h�/V!r'����e���m3=�:Ir��n	w���N�0�!�؊u�2�a����I��PK
�����A��D����&��3���org/gradle/cli/CommandLineParser$AfterOptions.class��mOA��{-�r-�� >W�+p��\\"�D�!$M�Fxa��g9������.��D%����2�^�rҒc������ffwn��׷�fqۀ�Qi�u�4��h �IS�tL�a�T�z��j�6�Pɓ5�&yյ���XO�l�ե}���G8�]���x��2Crɫ<�+��M[>�.YN��
w�\\\\:J�I�i0d��m���xB��B�r�卆M�u0r$f����u�~�^����F����+��[.5k՗��-�o0$�����z<A�e�k�ͨ��S
�b���V���g<��?�d��\`�Sm��t\\\\cX>��cg�>�v��@]7|�-ƪ�-+�CG��@�ϔ�0��j��E77�c�k��މW7xؒ�1��f�0�0y�d�8��3��5��?U�Ѷ=�
q~:5�h�h�k�mq�����_�2w��C^�2
�\\\\��
�G@�I]�T�����G�i4gL��,~Ab�T
�4�\\"A;�����\`È‘m��<N����~��B�hV^Z�c��\\"Ø‹Ck14���82����w$׋�g$T�]��+��tms!PI�I�H��K!z1��P��W��}��V��̉�j��F��W�_y��G�O��=���E2L�8)Ǧ�+2	v^��L�'��>�:C�٤��3q�����hb�oPK
�����A���M���u��<���org/gradle/cli/CommandLineParser$BeforeFirstSubCommand.class�V�r�T���串�:�I ��I|�sk��iK�^���r�ը���,Ӿ��[��2����x�Hnb�N�0��Ϲ�ٳ���=���_~0��2Nc�
K2��ȑ�!aYF�ø����
ǪP�&C�u�!��%�6>�1�u���(68
w��o�z|�a,oÙ•L�V��zF��5�VS���a�wU���9�^6Lù�ps�_�u
W�ݢ���d�֬m��l4jeݾ���$��-M�n��!�M�$�2��-[�a�u��(7m2(�MS�תj���ڢ/�xWCiX;P�BNg,�YtT�)<v����a�[{���![[��G�j����Lѱ
���L�C�M��]�uØ£og��D���h[h�fzu�ox���B��Q������sG}�~\\\\�\\"���+�f��<�ì���c��V��(gDBw�L��ň�a��ǐ>���}����3%l1���T���3,�z�o���Kf�=�H�9�	T_1$w�bW5�t�?��f�k��5s$]%���������4C� Y�G��p|�@EYx�.���~H@���]*�[q���r�j��;�;�k�G柮G&���SE��Qɪ���z|q��|�y���p�j���(m�j�a8�
�˔Ww[E���^lq��6v����(=��WN#�#�rN�YS���.8��~��rW��ß��������K�*b�;
Q��\\"Q�iD@�r0�M�[�Ҭ$�?!�H�v����C�Iq����f�.Ɇ��1J�ᮨ�����oZ�}4�{�J��E�F�G��?�3x�/�J#����'�Gtr)I�p���g{(EOJ��T)�.>Gd�/�-�G�WZo=sP�#�\`K3�Q��[F�]F�]��pՅ���ڇ�b�Y��h@�~R	���(�!�ijJ3n�����8B�# g��HW���ܱ���a6�:Nx*��9��g\\\\��.{b���׹�ڸ��i^E��\`�� N�$��,���S�D���gq����c)�/h�R��PK
�����A��*�ZM�����F���org/gradle/cli/CommandLineParser$CaseInsensitiveStringComparator.class�S]OA=w��P�Rˇ�\\"�UhAx1���ML�ԏ������v��n�����/��\`|������Ek�C���9��{Ng?���&6�Q)\`�,9�5�=K&�l�fc��*!��|m2��]B�t%a��|�|�ߓzG�y�)����v�V�&��+�\\"�M?�~�\\"u$Û‘V~���Q�	N���nx\\"%<i�����z��x�el_�]���Сԕ�u�݉O<��r�@	�~�M���L��5�a����]o�����'�ۑ�~&S�纽�;���>��6m܏�#�nԍ�֛uB�_Є���\\"�[�f)����ְ�m�*����ȧ�H�j�f�p��\\\\�p	�ߩLb������s� ��E����\\"L��d'h��@KÓŸ0}��1/d�MXE�n���qsYX�'>9|r9�\\\\�=�w��P�5o���y�$�L�̑��i�ft�cye��������}������l�y:E����1k-�LY�n3q�2����\\\\�u�M&:���c�#����2���Oȭ���㿈(&�J\`�R�����؁�p6k�0��,���X��\\\\����*w��M/��PK
�����A�|�R����&��=���org/gradle/cli/CommandLineParser$KnownOptionParserState.class�X�wU��6ͤ�K�*EqD�t��;VkE��E�+.ɐ�3ufÒ‚�HQpCq<R��z�����7x8�3��mi�����w��%�����Z�z�%�wK�GF)6�D�e#/q^�茺IB2�	��E�,�[���\`�&,F�Q�{�Ӗ�ʨ�p#2b�*c���eÜŒ��b��
܂�yyD£|�_?^�'�]“L����%<#�XC�a���m�I	�d�}v��nw�4����.�N�$m-��[�)�����D�a�7i��ۋ'�_)�%,:
�OC�����'\\"1��H�Wsu	���B/���:�U�Ri���k�6���]#��e8.ݕ�ISs�61^<�z�����dK\`w�[i���&p�~�^+�⎙��
}�+A֝�(=����}��1E��.+���4����rrU��1}�&y���
&%�ɖ�n'Ӄ��
\\\\[��ކ��6�e�U��E��-��P\`�l��f�=�V�TXZ?c����{���,)�o��3�(�R:{��K9�\\\\����A�(C^83�y�� +$� a��~���\\\\q�e^^�l]��2^ZyY��
��ip ��Zi;�_op\`��p�9\\\\��������v�ֶq���K
.�e
�hVЂ�
��U�r\\\\��F���Z�L��׃�.��Rt��]R�[�ԩ	KwT�rUWۢ���f���ZS.y�nܬ�I���
��K���-���T��!w[�L�uȶ����P7Y�?��f	�)؃Q]�T�k��5������
ǡ\\\\��LZ���p�yq���DQ�񦄷��w���
�=�s$ں�)נ˲v��֧�� >P�![�>��u�\\\\|���I�\\\\@-V<
���g�Z�Y͓���5ͨ-4Τ�j�ת�
窬��m͵l��Z�n����pi
S�5꿗�$뻦
�b^�)��S��t<Y���'��%S�3bhTшhO���씠�*�*��Ӧ�o���i��3i�Z<�;��e+�R��L)�ɩF�e=��i�<����Ϫ�a}��IǸ�eR(���_U}C��&�Ls�������Ię�&Ҁ��{�D��vv}C~Z���ܣA!��m+=���4�3�{���&�����l�-9]�2��J�8��L�x�ѩ����Ӡ�v�u�NsTOt.��J� Wd'��)��6*��$z��G:��h����#��MG��'\`�a�G�!b/��T��1O�����X\\"��Մ���kp-��XS�X���ږz'�7D��.��-��X=�1�{��*����7��_��ޯ0�(��.6������k:���QU�u�h�!�X�YQCÞ€x�8@���Zqm�Ct��<�}�Yz�
דn��B��|:m7x�KH�4��G1�%��s0�Y�P��^>��d%f���sT�CP��\`�g^��
���t	����H�@�'�؄N�r�\\"#��^h���N�oGQ7AUߑ�t$��YFRk�|����y�aC�@��g���pP����n'�I�<:\\\\(�=��p�����,���᝛���a����Ò±<��V��8�o�ST�=�G����K��Q���~�q�;~�Wq��W�|����\\\\����T���Û°kqS����'��'Q.á–¿Qs�w8�Th���DL)� Gc�M�CG!O	�+�m>V6�d�����hd��F��^��w�����މ&�
a�ࠑ�W�~q���p�N߽̾2BI� 
�7���!�?PK
�����A�$ľ�������<���org/gradle/cli/CommandLineParser$MissingOptionArgState.class��mO�P��w��*��LD��
�!�	·'�\`0�W�̚�o;��o���B��~�?��ܶ�K˒��s~�퟿�~�Œ�r:��'I*(uZG
7�ٌ��q��eМ-�rD��_��K.]S�z�3��B��js�5]���#ņ�u�,n�V��4�\\\\�k�0��#�%�r��w�����[c�U�:�3�WZ�
S��6���9��^��Rzx��Z���s�u-��˲V��;���TJ��?n��I/�GQ��w|�m.�UO��Rn�!�eC�w�&à# Ö» �@��~�+���:0��r��\`��#:L�:՞ͭ�1�𦯉��)�[�PR�2��q\\\\�U�%7�ǖڒ�#63���V��t�20�1,��K�\`<�E�����a�$�e�=y&z��a��	������ioÙ¦
SÊžx[t���)<�L/gd�핤�=Ij$i��	��0iOH��*���~\\"�Cj��A�Q����{�I�����gI�/),��9��������}k�4������
�q��Ж��g�2�\`���(L�B�~���e�6n0�)I')B�e���{a�I�㇡�;rL���v�\\\\
Q_Q�����ӕ;������0��AS�B�e4h��Ρd�v6l�o����_є��	�h8%1�+a��U��' ��PK
�����A�TK>������=���org/gradle/cli/CommandLineParser$OptionAwareParserState.class�U�n�@=��q�$�6\\\\�%�)M�K�@)�p)E� E*o��Į��O�x�$
�J|���Mݒ*A./ޝ���gf퟿���PĽ8ȩ�0*w�Tz���c\\\\��	�*L+(��cVAQ�u���4�ܮ�,�dȖQ/��5̂Ѱ
O�p����C�{i����\\\\����e˶�;���\`��
CdթQ�I��h5��xƫ
���7*\\\\X����.C�ɶg9���Z��ŵu�6�j���I���,s���]SM��j�%�}�P����녲',��4��!�E]&���8��c$�\${�]p�G�짍���o�R�NK�%�t��i��!���Ә�ЏSnbX���[XP��a	�s�����L�f	�+��~�a��[��f�:�~���Z�)9h��O�S������c�s��m�q�r��	|�������F���dU���ԩ��0L�����-=ƽ���_��qk�ޥvr�l0.��ϥF��|���x��!���J�Ӛ�'v�t�!}r�O�Y�Y��,T6�$�a�|i��Z�����̋dKTT���ȇC�(���<�C�(.��.#��젯�*�&�>Z�7D�!�eSZ2B���#����o��o+5U���c���Cݢ�{��
B��*^�v�#8G�Ni$�y6���+���1E�8�3$r�]��oPK
�����A��%�̻�����7���org/gradle/cli/CommandLineParser$OptionComparator.class�TmO�P~���Q:�
���
�2@�.�,Y�d�ďe4��kI��?�/~#���ƨ_��
N6).]��}�s�=��~����E�%d0#����0+bN��U�J\\"E,IHs;�'\\"V8|U�Sk\\"�z6L��7�e�A(;í�i;�����-�V��n�����)��L�!�{䛎]v�G����� Wl�p˖�y!����P�~\`j�2U�6u���y����N_���z\`Q�W�k�H-�T��	��T|�%|���4y�\`�P?�UK�j�wM���k��w����uz��-��֤��$�/0L���[3��xѪ��M�7-�O�7��I�R�i�u��;?ڑ~�S��b@�����Z�a��B���h�Ο�\\\\��i���a+6eY�����g��љ{\\"!c/&��q�����v�a�[�h��ǂZ�0�0	}��mj��]{���a�=�eўB�$�>��P���}�4�s2�|=ѧ��Q*t�e躣K�.@	>rd
���d$S3gH|$%�!z�p'��a����!�x���D�\\"�2{��9����O蹀�S�p��Hs�wnL8�tr��I\\"��!�y�3Ⱥ2GY�v�����>i<2����<l�4!�M�{�n�V������
��#f�dY��\\"�5���>�{}FC��NS��#ZO�q�ϣH�INQ�2(R�8��˦�S�<�i���
PK
�����A��fC�������8���org/gradle/cli/CommandLineParser$OptionParserState.class���JAƿ�Y����4Õ¶Ö¨��JoJ�P����H.��$�:���ى�
}�/��}��3����4�ߙ���Μ�����#�B���F���UB�Xie?
���o�}IXl)-O���4碛pf���D�F��8��K��ή�J�a2i�VX�T���4�Dd�d��Vj�(6��Ȩ����B�]�Q]��AXH5�ƞ�[�����O���&��B�T3k8��N�+q#�D�8j[�tܘ��K�Md�T�̋�W^'���ۄ��d���[�w{H������ӡ�ɯ�m���s��+a��;����@(?^�Y�J�x���\\\\a{�(��$�_��ׇ{���L |�X�uf��fs'�'�8.���ygX�u+���e��/;�����������0���:^�eor�[n��}�y?�\\"k�����g�PK
�����A����E������3���org/gradle/cli/CommandLineParser$OptionString.class�T�NA��z��q�ZDQ��G�QÄŸ kL�&(�[��rx�k�����/$�&>��qv[l�B�����|��������'�9<�E?L�Ĵ�4�B-�0��,
�:4�(1��m�;�ᮆ{	�����#�<�׬�8t��COЈ���͢���T�ݯ�RXgP+A�aXv}ge���o���L�ͽu�Bo�xˍ�U��	C��wŠǣȡSk9kV-�Uϱlϵ*A����H񚇑�N�S�?s���?��:幘/t*�-���W�!�h�ϐ��汆/�Tww~e��Ӭe!�rg�c���DQ�<?K��9�ѱp}-�	m�+�0܆0#B\\\\@�@�B<40�1/�,\`�a�ܧ;�WuB��d�:�9_�����s�f���_��v�����k�{��E��(�a�s�-���-��+�
ǯ�Nm�V����nD0N�/MOW�vR/i�-�5)m���J�i	Z�C$��}�fqlO��0\`�z��^�@��&�x3#�ȝH��N$RhO�h���,�ߠf������6�j/�-пb�����.�'$���4��h�x\\\\��e�F&&�E��E�pL�0v��k\\"'��M����F+x��Ùœ.B�;��2�l�7D�D�!nʆ�]�HdR���6fT�nG�#fZA^�F�|�\\\\�N3�_&�PK
�����A�gAq����x��=���org/gradle/cli/CommandLineParser$OptionStringComparator.class�T�OA�fvۅe�*Z@��Rd) ��H�&ULjH�6�MY\\\\v�����ɛ�^�@��ѫ�1�ٮ(���y?����uf�|{��\\"Vt�cF�.
y
�:T��呆y�M�԰��Đ\\\\�];�\`P�]���[C5۵����,���s(3\\\\����-�8��v���9mϭ���6+�ѱ�E��F�u-�� ��V�����žc�
�6	{$�}�����]_�̠5�����k��D��p�fY���tƋ��$�.���\\"�x~H8��G@�T=�WO�q<��;{�V#,wg
U
��簥����^\`�����n7]���b�
m��)�z��TJ�{-�am�r�LW�yyȀ���%,kx̰ٓcEV�
,7�C���=�㤁Qdҿ�fX��t�XG,����b���O�%q,�Dφn�d�3X�w��a�^�
.��h�\\"�,#����G��I��
���n\`�,��ć?C�<�U<��������l�����S����=��)j����\\"��m*�D����� O\\"�5L�>乎�OE��;McBһ���-�!��%��.��\\"�{��N'�M��zz����Y%�B65[�m�~��k�E�T�BZÆ“q�5�<�]/h����}LѾ�>�����M�c��G��MHx���)����PK
�����A�\`M~U�����2���org/gradle/cli/CommandLineParser$ParserState.class�S�o�P�N)s���97ս�&ML�f����.а.���vF�'_|�����(�-�� A���G����������mdQ��C-��6�xba�B��{�I/zI�4����\\\\�jϓ���d�b�s����?���4iF�^H(�*tU?'��tU�a���v/Pcg���w���9�\`2r�;$u�Ty�P��/�#}��@��3�I8��c�)O�;�B�/ ��Z������&���Wt��i2���qf�YC!�����z�<K�)�)�9��K�i,�y��Gm|~J���\`��s5t�z��7f0m=M���*l�[ZE�la����l<ڿ�
��aD8X~����4K��g��hx����\\"�ʿV��\`��p�#�-������6?s:I%�/&�����JP��*l�W��U�|����ZL��@�ػ�5��NL|��'Ü»T׊c��+�J)����)�O��5�c��Rz��z�x��qY5�?�M����m��6Wl�6�-
/��PK
�����A�p�X
���k��?���org/gradle/cli/CommandLineParser$UnknownOptionParserState.class�U�RQ=w�I�0@�(I������*
�BY��$Sqt2CM&�/�/.��G�?��_7n��/XvO�B�P!.�t�۷�龧o&��}\`
�5Đ�І�6Z��ɱ���I�R����5��Iψ�@�#�
w���6�%K��FY\`|�q���+���[fn�)��]X6m�����	��[H,?�/dΒv1�깦]����V\`�0��S��'Hd޴MoA�HelN�Z��5��S��8e�R�0��r�2�FN^Zk�5y��S�D�b?�����M�t��<Aǁ���Eû/ˋn�R2l��M��)�ؔ�z+Ɩ��rO�ҭ�Is��;
�m�1&k|DNٛ��OlV���^��I����I6Sl��O�k�:7o�3y��#9�|G=�esSG�:��С�S����1�[QЛ���!0����� �mEd��6J\`$u�a6{�P���rMZ��5z�
���� }��KB�B����4%�(<>Pڕh&ߗ�P2��e��g�v�nӁ�$�$T@|�*>A��%��W|�):�T	Џ3����_qI�_q3!��Ź�t�<g)�׵:��o>�^=
x�c @����C��!��:�Z_ e��Y��q�>8YM��H�E�F��w@�@9\\\\\\"��!�v�C��z��1���v񫮥x��&҃�k�$}ˌf��!�u����Tsj]�p9�9�+��1��:�*�4�*4fE�!�������./1Y������?PK
�����A��=��l)��&���org/gradle/cli/CommandLineParser.class�Yi\`\\\\ő�J��7zz�eٲ=\`l��1���S>�K6����Xz�Fψ��8B����\`�\`���d��M�����Ͳaك=�
!l���~�ޛ�����PwOwUuUu���O�{��Y�T:�j�W5�ױ�h��/>��)��s�3
���O��
>ס�y�R�a#��|��|��1�ׄW��%G���ģc�x��S�5��E��]��%_���fF�eu���֤P�t|e�&cu�����q��8&�&���䞬��JO��|</���&�u�H�&��+S4���4�e��Z9MQ�ФD�bzAJuԩ�)Ó¤\\\\�r%�m��
zE*�J�_��.3Us�.��5��ɜ|������\\\\5������|���,T�i�XG3��H�xʬf��R�,Sv-×±UV��Y~9[y�]�e�.��*�4P��4�Z���<��V�&�Q���e�\`<n��Vw%B�HS\\"��/���
Ƃ�hL�u��˂q�>7#�P\\"t��M$(�����L8?�=���cq3֔&LM�s�sO��A0�e�AQC(���j]��Z�-um	3f��5i��f�
�≦�m�kG0�JKͶh�̚�dc�u;�13c�M������0�[�1�׬�_ݸ���a��5u�֭X�(��^��N���1���U�&��V���QQ[٥=I�Ҩ�]��k
�G���-\\\\�����FÚ«m�WEc����\`kجn	���V�\\"����E�9:Gw6�v������1�|�yqe�41���P<�-l҉��H(�H�[R�s�,���J��ؽc�[����-���\`,�~;��DG���|�������K�g�lloi���5M%���9.b�I+v�����\\"�[�FU��R�o;�R��\`��FN��3#��mL=� ��4�P�%$�l���u��
*	c�Late+�r\\"n���uUC��iظ̀��J���]B\\\\�
k���X5�P�j���:��)B�p(^H�i%����n	Z��kn��ݒ��_�>N����
��&3A�32gR4��d��Z�8?l�y�O����m'�ˆf@��h�Ռ%sƞU�u��6��3iʭ
ŕ������%�p77���DL�^a�E��9͚V\\\\�EW
�p� vX8�)��4iFf(M�a��}��.��l?�F�,�N@6��7�w�3���§�E�5�F�pJ�-���f��n1�R^��:�t[���B�Y��ԙd��3���R÷���M΄A-�V�vm�ϼ�.(S�Y�n�Z�Q_;�S��[Z�x|ڜ�3�K�F�R^�9�fp�U�g�sPY�1O��/ �}��M��Xk#���I�Rr܊[܀
ܬF���D��-�	�;��&-���i�{�OP<����1�Mڹ�t���\\\\͐׍ku��;5�nHXv��!]r1%���	�0��Ґ�t*��1��T]Bح��t��-�씸!��ǐK�2C.�+%���ª2C�!W*�or�\\\\Mx��ղZ�m��U�3W����q�\\\\��lE,�r�Rz���[U���V�3�[r�!7(G�(Wr�|ې��jCn���*��%*��Ų!��wYX�����2�u]�4y��ӇY
<'�k�P͝��%w'�t�3��lu�Y9L�ُC�'�d�R�{23$*�
��0d�\\\\/�!{�^C�/�hr��7��ܟŞkCP���Ɉ:
��\\\\lȃ���nяE��b�\`��*�ƹc�&{�>Vi%��=f	ٽ�wb��eic�^<cz|Fq(^��\`kOq+�ڈ�Z����r�#��D�B��\`$M[[��i�A�F�3-6M<�%�w��3*gT���䧆<*�i�3�Q��aJ,�F�=�-�H\\"�PѮ�\`���B-�-<��X������3��2\`����qC�+E&�l^|����”{ŦԨr떲RC��'��!c�%��!��|>�Rĉ^�Éw�w�\`����O�F�3<,�dn>g?�_�y2��|�����%�
��z�X�>\\"�Nd1�V�f�Y72�pLb��h1s}���6=�Jq����Ŵ�*��9���DuX�U���ǻ?���}e������[�ւeN(��q�%�B=�:��FsW����z��~�-)u+Zv{���p,�|������{���\`8�E�<	�r�_n��۷�C�c^�{[܉բ�z�v�
�46���<[]�k�t6SN��o��;:������ԃ�C���qֻ��[�c��\`���|ݽ��(~�zv��V�7\\\\e���\\"�z����>��L��P_�k���p�6#�+L��h�1I\`�E�4c��/�]A�in��ع��<��hw׆�ڧ0=�՗g3�Nj'\\"�@#y�Yk>nV�0=t�zi��H_�����r3�%?~u�'�\\\\����v��B��
A���7��o}m�h��~��
�ǡ�W���s�	��_&�%�@,y�����ő�<ހ�M��<�k�����֭�0nGRZ՞�A<[1�Q; hK�&§i13|d�7�L�]$7$�J����A�h5㡘ٚz=�����贞�_��.��q*:��'�����F��&k�m��l�oU}���������w�kr9�r�x���m>��3�y�⼃�����N��w�n�W�})����m^Y�Ah���O	�YL+,�l\\"G�����˱�����7<���7hb>�x�������i��!_p���h����
9�Q��}(����a�\`���F���˜Zoe�ۋ��局����v�����}r��8i7N\\"e�K�{1�����\\\\N�IAU�[���k|6e)�������=�Lg�i��t�E��:���Rt����=(\\"�4R�A~?��(N{�,$��)��>�ȡ��)Y>gGK;��Ȯ�,J͡���%TZX֋rE\\\\ދ
�O�����܍€?i.U�Mj���[�W��\\\\V� ��*�Rv��\\"uG��Y�xm��;��>,�.�����Ӈ�K�֑�l�wlfe/N��oE���'Q��<L\`LE�+q>��b����Wb#�\`cm3�<���؊_�\\"�K���
����*#\`�x��)h�btH):�Ll�&�evH'�҅.��M��^��Q�~;�9��˸T��7�C\\\\)�5���?�z9�sr��*��h���p?Û»0��=�QÖœF�{���tw���t�c1~D�<j��Z�s�<gT�W)�!r|���i٧��9��Y��ȫ�)�}�Ə�q�#<��07����)5��c�t��~���Y��c(א��j
��\`��1ųg�?�������]G��a,:�h�����ô,���	���S��B
���r��g�ЭT��4�3�+�\\"d��;(�NW16��E���k�۬���f5�7V����x��E���E�Y���dN���>����k����U�a����!��t0�F!SE/��w����X��S��'�M��d_ø8�缁羑g���M�'��9����K�(=SX�-,�3��,-N��=��u�S�9�P�i�����
���Q��c\\"���%��p;°��s��\`q��x<�����6V�����~,���z*-w�����F�G|��:%f)�XJ�X���BV4[J^ ϑ�^�l��T{����
��p�����������g�9Ü…*�+�/#ߒ�Z�JNxy���*���uìR6+�|*,�&����V�U�V}
5^Ƈbi�ҕbY��Ї5������y����\\\\��$h��:4�\\"i��4��h��p�m�7����H����8���T^��R��x	0�K%��k��A�g�鵓r7s�~��!��o_������ǜ9�\`9����_K_��$��,�+��J;~);�܆��%�!��My�xw���#){9�%�q�G���2wR�����0
/r5�{���,�5����q�BH��\\\\�����
�d^p�K��PΓ�7x�Y���+��b�܋7X:y���x�Y絲F园ɯS��-1����8g��O��{zSe�
y�Nv��a��\`�aZ�x���
5��m��C�d\\"�QL��tL�q:ɛ�
e�c%,3w����]}s����S�}���~e?�2<��_��p媲>lJ��0ݩ�j���A^�i�
uoQ��E������p�ê8�~?��oS�w/��-�Oijw�g��Þ¶K�/����U��G�y�^�}�B�����,�ZJ��,;����;É¢����x�b��f9�r���K�a�2�J|ß‹s�=ijS�8T�PqhQn���sʃ�YQ�U�@��O�~lm.��I=o�A\`�2/-�����'a*o���}�CÓ‘Ms��wō��iV���*,�K�:&U�@�c��Hb�{V5�ky��E=�!��#�&�P�==�	k�Oц?�r�]�?1�>g�A���y{8u
c�a�*^����H�*�R��!�V��g��-y�h��.�#�f�N>��_�{EV43$������f�f�N�8�Ѭ����;��l��d�O��sN����]w�a������i��
;{���g<�Oaja� v<s�[��G�%.�X\\"���\\"�QkGOa�X�g\\\\�p�����>�>����.a���.�=������dz����A�#�_�������;q
�e�V)^���?PK
�����A���>������&���org/gradle/cli/ParsedCommandLine.class�Wiwg~F���ċ�%v�TMc[�����R����8�S���)-L���T�(����.PhÙ¡li�7	��\`rX���;��Ɵ�����}g$KÖ¸1G�����}����.3�ǽ?���.�v�*��\`�!��*��΢ .��bu�f��T���,.+*�W�BM0#h�'��\\".��T=^��a�����}:�|F�kt�����0^�7�����/�㋸$�_�_V�0�A�V���Ma�
q������[
ͼ�1s�#+3��ɥ����/�E;�����
�f2�n-C���#�2�����i�Җ�������U0R��Ғ�KMfr�)y��(��Q0r��*T>c�4y�Z�q���%s�H���˶��Y���h������M�-�C#�\\\\�U��08a�~.k��*��)Cx��K��)�LAt�\\\\��kWY�p�#�AÍ™
����	FA|���W�ݳw�/뀽�)x����V5KԶx����:ԕ|)���#�wOP�c���c�I(�V��^y���U�6K������bѴ��\\\\j������3Tp�UG(���|�V�Q��H1�M� 7S8��
�RΊ|{��Y�#۶���nQ/���5^k�Ko�u�O;=F��m,�R���h�q3�5$�bwc�LO�F�ܙm��
�����L���n\\"�����9m�G7M�h�z*gJw�r��vè©”D�ճEc�Y��e�y�K�?�a{���?�՜qZ:��fy���ȌY��c��m5�����
	� �^Xd�k�����ޏဂ6��Y��\\"��|P�[x[�w�=
�����1s�=>4�?R�c��f�U�D�O�3��8�*$c�/GW���*�S�.��5�“~�U�n��
|ɘ�_��=�0�a�4�
WU\\\\�0��~��p�WL�HZϖ�:zy�py�����*��r�K�}j��c���븪�����֒[���v.��2}Ri����c9SV�U�P�P�IΝir+���9�������g�S��
����Q��Z�y��ۇ��OB�MkI'Æ G�>�� �=�7r���W=¶~��̜�gD��1[�f(O:��6y��P=𸟳J8�J�e������2m�s�Q��P0����-^^��Ц5[����y?�A�C�2?Tj�H܆����m�o\\"@1H1t��XG1r�}k�L%×°C����h���&�4�o!��;��]LHÒ°e(��=���Z��[]����;7d���?��k'W���o������A�Ø…속=x�5��:I�C�a��b!Z�cx�(D��p1�'�)�1��a���8���!�N��*�*&T���=t�hT�����_�P;�=�'��X����/�����	F������bX�@�u	#Bw�v�p��\\\\�}b�9�û��x?}�d����������T�}HH.���o!���s��y�V�����O��C��I�/�a$�q�a�x�A1c���x��)R_J@{�& (�+�}�?Av��3x��G��f����97���CTE�B��\\"���]t���F��.�'���ޜ軅؜��t<�õ2�i ��1�i����_3�%����6�
;Aؓ����q��6�A-��V4Rg��Z�l�G� ����o��rN�$�g��dy�E:��+����N:$��̕��ų�xU��'\\\\�5��B%ǻ6
Z�3�]^ᜐ��k��>�l�J�
;�k>��e�'*�6z��E�Ge�)��A�<�],;[���S;\\\\��O��r=l8>Y ��߀��^��9ي�	��NL��vcz�ͭ&@S܇��Қg\\\\�H�VvWc��.��97�{�X�Ř�㰗G�o�� )�ȑ�,�I8�s��Q�HI0��$Ab�s��9��{�\`_i�*^QUt�
	�
���������9%�<'�t�E�B^�K��r�vs?��\`��A�^EAEXP	QP
�dȹ�PK
�����A�y�t���E��,���org/gradle/cli/ParsedCommandLineOption.class�S]O�@=ݯ�G�e�Pa�eQ���\\"�hHV1Y���awR������l���I�g��N[\`Y$�ә�{�=����?���“4�(��H#�b
���冊�$�4���-L%q[�器+��r��⾊
[�lpWA��ɶ���������(H��a1��p#-�g���,C/{����9*I�
Kxs
���U�E�J�%a��:w^�u�\\"��]a�*s�<����!�I�d;�n8�jr�b
�s\\\\^]�k5fU%�J��E��V��݅���=Vy������
j�;*i=z&x���V�Q㖧��p6K:�d�)��Kn07T@��U�.�
�Ÿ	�v��ICzt��]p�-)k�DN�(��t]6Mn0�,����
��(#��Wm��-��o�-�g�vÞ¿��Ѱ��f0��?L'��Z��D��A�K��@�϶*���$����)���M^!�O���+v�i���Q,7_�������Z~����]�սm\\\\�(K?
L�H�.:EЍ8��rZ/PdQ���>��!\\"k��~E쳟}�V�_�*bT�G;-��%����b�X��o�������������\\"��p�(=@&�_���2�w�%��^*��$�A�P�PS��� =1D:��!䉩��If�%�ޱ��n���0�5W(v��b�RD
�$���\\"x�j�2D�ϧ��xr7�k>
��!��V.p�]�.��G��ӱ��D�\\\\��8\\"�y	R����PK
�����A�\\\\v�B|����:���org/gradle/cli/ProjectPropertiesCommandLineConverter.class��KO�@��D|?Pâ���u�#Q�+�$�C;�1m�	�JW&.��(��1�D�,��9��v�o�/����[@yl汕G)��v�
}FHWkw�LS����!�]�nY�7�ZK:̿cJD�����ZRy����s���V�;�H�+-��)���n�kS�#cruLX��gh|��B���j���F��Y���D��Ώ�%�L��%���񎅎*�_���?�ֈ:(\\"�<�ڄbJՍ�	��؊t�f�^*K���
ߵ�
XU��V����i01�k
���p8��wZ��8T0g�?P�a��m����=���C
S�s����|	�1\\\\���Z�q-}C�_�J��Eˉ�j��E+	��w'��PK
�����A�
�8=|�����9���org/gradle/cli/SystemPropertiesCommandLineConverter.class���J�@��ثm���j�E�5BPą�R/P�~�ӑ$&�B�JW���'i�A�Y�3���͜�����l� �\\"l�Y��l�E �<&�	d���@���H��g�L��{:r�R�s�:C*X4NĬ����Q�۴;hZ3a ѽ�G!]��G�v�7S\\"�5eb
o}ɸG�����tFM�z�9��y���~X{()spL\`7e.�KV,
�TXxɢ����fDT��E�G��P�W��Jm�h~���49A�jx��Ѱ
��s�h��
gԙ�n8��5��]�.F�Ԓ�s�9��Q��΢��*�s�/@�Ug	J*�c�e+s��+1�
��$p�����6���/t-�,�;�h-�.�Z
�>k�Z�PK
�����A������������	�����������A����META-INF/PK
�����A�m�>=@���?����������������)���META-INF/MANIFEST.MFPK
�����A�����������������������A����org/PK
�����A�����������������������A����org/gradle/PK
�����A�����������������������A����org/gradle/wrapper/PK
�����A��%Ӧ�����/���������������org/gradle/wrapper/BootstrapMainStarter$1.classPK
�����A�i,���$
��-�������������#��org/gradle/wrapper/BootstrapMainStarter.classPK
�����A�hQ�}��������#����������������org/gradle/wrapper/Download$1.classPK
�����A�y�[�4�����A�������������p	��org/gradle/wrapper/Download$DefaultDownloadProgressListener.classPK
�����A����ۡ��~��4���������������org/gradle/wrapper/Download$ProxyAuthenticator.classPK
�����A��pO�)���&��!����������������org/gradle/wrapper/Download.classPK
�����A�y�L���������1�������������^$��org/gradle/wrapper/DownloadProgressListener.classPK
�����A�!9|������3�������������N%��org/gradle/wrapper/ExclusiveFileAccessManager.classPK
�����A���,y�����-�������������U,��org/gradle/wrapper/GradleUserHomeLookup.classPK
�����A�Pr���	��-��*�������������/��org/gradle/wrapper/GradleWrapperMain.classPK
�����A�����������\\"�������������9��org/gradle/wrapper/IDownload.classPK
�����A�9l�V�����\\"��������������9��org/gradle/wrapper/Install$1.classPK
�����A��gh�|����-��������������B��org/gradle/wrapper/Install$InstallCheck.classPK
�����A�^�,���C-�� �������������SE��org/gradle/wrapper/Install.classPK
�����A��:�o��4���������������2Z��org/gradle/wrapper/Logger.classPK
�����A��\`�������8��������������\\\\��org/gradle/wrapper/PathAssembler$LocalDistribution.classPK
�����A���;��+��&��������������^��org/gradle/wrapper/PathAssembler.classPK
�����A�������|	��0�������������
f��org/gradle/wrapper/SystemPropertiesHandler.classPK
�����A��=����?��-�������������k��org/gradle/wrapper/WrapperConfiguration.classPK
�����A�G��	����(�������������n��org/gradle/wrapper/WrapperExecutor.classPK
�����A��e�������#�������������pw��gradle-wrapper-classpath.propertiesPK
�����A������������)��������������w��gradle-wrapper-parameter-names.propertiesPK
�����A�����������������������Ax��org/gradle/cli/PK
�����A���?�<��S��1�������������Hx��org/gradle/cli/AbstractCommandLineConverter.classPK
�����A�׃��X���
��;��������������z��org/gradle/cli/AbstractPropertiesCommandLineConverter.classPK
�����A�}��yG��K��1����������������org/gradle/cli/CommandLineArgumentException.classPK
�����A�������g��)����������������org/gradle/cli/CommandLineConverter.classPK
�����A�Sf
���g��&�������������z���org/gradle/cli/CommandLineOption.classPK
�����A��튯��������(�����������������org/gradle/cli/CommandLineParser$1.classPK
�����A�$f{K���	��;�����������������org/gradle/cli/CommandLineParser$AfterFirstSubCommand.classPK
�����A��D����&��3�������������O���org/gradle/cli/CommandLineParser$AfterOptions.classPK
�����A���M���u��<�������������B���org/gradle/cli/CommandLineParser$BeforeFirstSubCommand.classPK
�����A��*�ZM�����F�����������������org/gradle/cli/CommandLineParser$CaseInsensitiveStringComparator.classPK
�����A�|�R����&��=�������������I���org/gradle/cli/CommandLineParser$KnownOptionParserState.classPK
�����A�$ľ�������<�������������t���org/gradle/cli/CommandLineParser$MissingOptionArgState.classPK
�����A�TK>������=�������������s���org/gradle/cli/CommandLineParser$OptionAwareParserState.classPK
�����A��%�̻�����7�������������x���org/gradle/cli/CommandLineParser$OptionComparator.classPK
�����A��fC�������8�����������������org/gradle/cli/CommandLineParser$OptionParserState.classPK
�����A����E������3�����������������org/gradle/cli/CommandLineParser$OptionString.classPK
�����A�gAq����x��=�����������������org/gradle/cli/CommandLineParser$OptionStringComparator.classPK
�����A�\`M~U�����2�������������p���org/gradle/cli/CommandLineParser$ParserState.classPK
�����A�p�X
���k��?�������������ı��org/gradle/cli/CommandLineParser$UnknownOptionParserState.classPK
�����A��=��l)��&�����������������org/gradle/cli/CommandLineParser.classPK
�����A���>������&�������������X���org/gradle/cli/ParsedCommandLine.classPK
�����A�y�t���E��,�������������e���org/gradle/cli/ParsedCommandLineOption.classPK
�����A�\\\\v�B|����:�����������������org/gradle/cli/ProjectPropertiesCommandLineConverter.classPK
�����A�
�8=|�����9�������������]���org/gradle/cli/SystemPropertiesCommandLineConverter.classPK����4�4�J��0�����",
  "generated/java/gradle/wrapper/gradle-wrapper.properties": "distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\\\\://services.gradle.org/distributions/gradle-7.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
",
  "generated/java/gradlew": "#!/bin/sh

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

##############################################################################
#
#   Gradle start up script for POSIX generated by Gradle.
#
#   Important for running:
#
#   (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
#       noncompliant, but you have some other compliant shell such as ksh or
#       bash, then to run this script, type that shell name before the whole
#       command line, like:
#
#           ksh Gradle
#
#       Busybox and similar reduced shells will NOT work, because this script
#       requires all of these POSIX shell features:
#         * functions;
#         * expansions «$var», «\${var}», «\${var:-default}», «\${var+SET}»,
#           «\${var#prefix}», «\${var%suffix}», and «$( cmd )»;
#         * compound commands having a testable exit status, especially «case»;
#         * various built-in commands including «command», «set», and «ulimit».
#
#   Important for patching:
#
#   (2) This script targets any POSIX shell, so it avoids extensions provided
#       by Bash, Ksh, etc; in particular arrays are avoided.
#
#       The \\"traditional\\" practice of packing multiple parameters into a
#       space-separated string is a well documented source of bugs and security
#       problems, so this is (mostly) avoided, by progressively accumulating
#       options in \\"$@\\", and eventually passing that to Java.
#
#       Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
#       and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
#       see the in-line comments for details.
#
#       There are tweaks for specific operating systems such as AIX, CygWin,
#       Darwin, MinGW, and NonStop.
#
#   (3) This script is generated from the Groovy template
#       https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
#       within the Gradle project.
#
#       You can find Gradle at https://github.com/gradle/gradle/.
#
##############################################################################

# Attempt to set APP_HOME

# Resolve links: $0 may be a link
app_path=$0

# Need this for daisy-chained symlinks.
while
    APP_HOME=\${app_path%\\"\${app_path##*/}\\"}  # leaves a trailing /; empty if no leading path
    [ -h \\"$app_path\\" ]
do
    ls=$( ls -ld \\"$app_path\\" )
    link=\${ls#*' -> '}
    case $link in             #(
      /*)   app_path=$link ;; #(
      *)    app_path=$APP_HOME$link ;;
    esac
done

APP_HOME=$( cd \\"\${APP_HOME:-./}\\" && pwd -P ) || exit

APP_NAME=\\"Gradle\\"
APP_BASE_NAME=\${0##*/}

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

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

warn () {
    echo \\"$*\\"
} >&2

die () {
    echo
    echo \\"$*\\"
    echo
    exit 1
} >&2

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

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


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

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

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

# Increase the maximum file descriptors if we can.
if ! \\"$cygwin\\" && ! \\"$darwin\\" && ! \\"$nonstop\\" ; then
    case $MAX_FD in #(
      max*)
        MAX_FD=$( ulimit -H -n ) ||
            warn \\"Could not query maximum file descriptor limit\\"
    esac
    case $MAX_FD in  #(
      '' | soft) :;; #(
      *)
        ulimit -n \\"$MAX_FD\\" ||
            warn \\"Could not set maximum file descriptor limit to $MAX_FD\\"
    esac
fi

# Collect all arguments for the java command, stacking in reverse order:
#   * args from the command line
#   * the main class name
#   * -classpath
#   * -D...appname settings
#   * --module-path (only if needed)
#   * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.

# For Cygwin or MSYS, switch paths to Windows format before running java
if \\"$cygwin\\" || \\"$msys\\" ; then
    APP_HOME=$( cygpath --path --mixed \\"$APP_HOME\\" )
    CLASSPATH=$( cygpath --path --mixed \\"$CLASSPATH\\" )

    JAVACMD=$( cygpath --unix \\"$JAVACMD\\" )

    # Now convert the arguments - kludge to limit ourselves to /bin/sh
    for arg do
        if
            case $arg in                                #(
              -*)   false ;;                            # don't mess with options #(
              /?*)  t=\${arg#/} t=/\${t%%/*}              # looks like a POSIX filepath
                    [ -e \\"$t\\" ] ;;                      #(
              *)    false ;;
            esac
        then
            arg=$( cygpath --path --ignore --mixed \\"$arg\\" )
        fi
        # Roll the args list around exactly as many times as the number of
        # args, so each arg winds up back in the position where it started, but
        # possibly modified.
        #
        # NB: a \`for\` loop captures its iteration list before it begins, so
        # changing the positional parameters here affects neither the number of
        # iterations, nor the values presented in \`arg\`.
        shift                   # remove old arg
        set -- \\"$@\\" \\"$arg\\"      # push replacement arg
    done
fi

# Collect all arguments for the java command;
#   * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
#     shell script including quotes and variable substitutions, so put them in
#     double quotes to make sure that they get re-expanded; and
#   * put everything else in single quotes, so that it's not re-expanded.

set -- \\\\
        \\"-Dorg.gradle.appname=$APP_BASE_NAME\\" \\\\
        -classpath \\"$CLASSPATH\\" \\\\
        org.gradle.wrapper.GradleWrapperMain \\\\
        \\"$@\\"

# Use \\"xargs\\" to parse quoted args.
#
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
#
# In Bash we could simply go:
#
#   readarray ARGS < <( xargs -n1 <<<\\"$var\\" ) &&
#   set -- \\"\${ARGS[@]}\\" \\"$@\\"
#
# but POSIX shell has neither arrays nor command substitution, so instead we
# post-process each arg (as a line of input to sed) to backslash-escape any
# character that might be a shell metacharacter, then use eval to reverse
# that process (while maintaining the separation between arguments), and wrap
# the whole thing up as a single \\"set\\" statement.
#
# This will of course break if any of these variables contains a newline or
# an unmatched quote.
#

eval \\"set -- $(
        printf '%s\\\\n' \\"$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS\\" |
        xargs -n1 |
        sed ' s~[^-[:alnum:]+,./:=@_]~\\\\\\\\&~g; ' |
        tr '\\\\n' ' '
    )\\" '\\"$@\\"'

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

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

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

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

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

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

@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome

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

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

goto fail

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

if exist \\"%JAVA_EXE%\\" goto execute

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

goto fail

:execute
@rem Setup the command line

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


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

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

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

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

:omega
",
  "generated/java/package.json": Object {
    "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \\"npx projen\\".",
    "__pdk__": true,
    "name": "testjava",
    "scripts": Object {
      "build": "npx projen build",
      "compile": "npx projen compile",
      "default": "npx projen default",
      "package": "npx projen package",
      "post-compile": "npx projen post-compile",
      "pre-compile": "npx projen pre-compile",
      "test": "npx projen test",
    },
    "version": "0.0.0",
  },
  "generated/java/pom.xml": "<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?>
<project xsi:schemaLocation=\\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\\" xmlns=\\"http://maven.apache.org/POM/4.0.0\\" xmlns:xsi=\\"http://www.w3.org/2001/XMLSchema-instance\\">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.generated.api</groupId>
    <artifactId>test-java</artifactId>
    <version>0.0.0</version>
    <packaging>jar</packaging>
    <name>testjava</name>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <version>3.0.0-M3</version>
                <configuration>
                    <rules>
                        <requireMavenVersion>
                            <version>3.6</version>
                        </requireMavenVersion>
                    </rules>
                </configuration>
                <executions>
                    <execution>
                        <id>enforce-maven</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.2.0</version>
                <configuration>
                    <archive>
                        <index>true</index>
                        <manifest>
                            <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                            <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>3.2.0</version>
                <configuration>
                    <failOnError>false</failOnError>
                    <show>protected</show>
                    <detectJavaApiLink>false</detectJavaApiLink>
                    <additionalJOptions>
                        <additionalJOption>-J-XX:+TieredCompilation</additionalJOption>
                        <additionalJOption>-J-XX:TieredStopAtLevel=1</additionalJOption>
                    </additionalJOptions>
                </configuration>
                <executions>
                    <execution>
                        <id>attach-javadocs</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>3.2.1</version>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    <dependencies>
        <dependency>
            <groupId>com.amazonaws</groupId>
            <artifactId>aws-lambda-java-core</artifactId>
            <version>1.2.1</version>
        </dependency>
        <dependency>
            <groupId>com.amazonaws</groupId>
            <artifactId>aws-lambda-java-events</artifactId>
            <version>3.11.0</version>
        </dependency>
        <dependency>
            <groupId>com.google.code.findbugs</groupId>
            <artifactId>jsr305</artifactId>
            <version>3.0.2</version>
        </dependency>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.9.1</version>
        </dependency>
        <dependency>
            <groupId>com.squareup.okhttp3</groupId>
            <artifactId>logging-interceptor</artifactId>
            <version>4.10.0</version>
        </dependency>
        <dependency>
            <groupId>com.squareup.okhttp3</groupId>
            <artifactId>okhttp</artifactId>
            <version>4.10.0</version>
        </dependency>
        <dependency>
            <groupId>io.gsonfire</groupId>
            <artifactId>gson-fire</artifactId>
            <version>1.8.5</version>
        </dependency>
        <dependency>
            <groupId>io.swagger</groupId>
            <artifactId>swagger-annotations</artifactId>
            <version>1.6.8</version>
        </dependency>
        <dependency>
            <groupId>jakarta.annotation</groupId>
            <artifactId>jakarta.annotation-api</artifactId>
            <version>1.3.5</version>
        </dependency>
        <dependency>
            <groupId>javax.ws.rs</groupId>
            <artifactId>javax.ws.rs-api</artifactId>
            <version>2.1.1</version>
        </dependency>
        <dependency>
            <groupId>javax.ws.rs</groupId>
            <artifactId>jsr311-api</artifactId>
            <version>1.1.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.12.0</version>
        </dependency>
        <dependency>
            <groupId>org.openapitools</groupId>
            <artifactId>jackson-databind-nullable</artifactId>
            <version>0.2.4</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.24</version>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <version>5.9.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <version>3.12.4</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>
<!-- ~~ Generated by projen. To modify, edit .projenrc.js and run \\"npx projen\\". -->",
  "generated/java/settings.gradle": "rootProject.name = \\"test-java\\"",
  "generated/java/src/main/AndroidManifest.xml": "<manifest package=\\"com.generated.api.testjava.client\\" xmlns:android=\\"http://schemas.android.com/apk/res/android\\">
    <application />
</manifest>
",
  "generated/java/src/main/java/com/generated/api/testjava/client/ApiCallback.java": "/*
 * Hello
 * A sample smithy api
 *
 * The version of the OpenAPI document: 1.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package com.generated.api.testjava.client;

import java.io.IOException;

import java.util.Map;
import java.util.List;

/**
 * Callback for asynchronous API call.
 *
 * @param <T> The return type
 */
public interface ApiCallback<T> {
    /**
     * This is called when the API call fails.
     *
     * @param e The exception causing the failure
     * @param statusCode Status code of the response if available, otherwise it would be 0
     * @param responseHeaders Headers of the response if available, otherwise it would be null
     */
    void onFailure(ApiException e, int statusCode, Map<String, List<String>> responseHeaders);

    /**
     * This is called when the API call succeeded.
     *
     * @param result The result deserialized from response
     * @param statusCode Status code of the response
     * @param responseHeaders Headers of the response
     */
    void onSuccess(T result, int statusCode, Map<String, List<String>> responseHeaders);

    /**
     * This is called when the API upload processing.
     *
     * @param bytesWritten bytes Written
     * @param contentLength content length of request body
     * @param done write end
     */
    void onUploadProgress(long bytesWritten, long contentLength, boolean done);

    /**
     * This is called when the API download processing.
     *
     * @param bytesRead bytes Read
     * @param contentLength content length of the response
     * @param done Read end
     */
    void onDownloadProgress(long bytesRead, long contentLength, boolean done);
}
",
  "generated/java/src/main/java/com/generated/api/testjava/client/ApiClient.java": "/*
 * Hello
 * A sample smithy api
 *
 * The version of the OpenAPI document: 1.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package com.generated.api.testjava.client;

import okhttp3.*;
import okhttp3.internal.http.HttpMethod;
import okhttp3.internal.tls.OkHostnameVerifier;
import okhttp3.logging.HttpLoggingInterceptor;
import okhttp3.logging.HttpLoggingInterceptor.Level;
import okio.Buffer;
import okio.BufferedSink;
import okio.Okio;

import javax.net.ssl.*;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.Type;
import java.net.URI;
import java.net.URLConnection;
import java.net.URLEncoder;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.security.GeneralSecurityException;
import java.security.KeyStore;
import java.security.SecureRandom;
import java.security.cert.Certificate;
import java.security.cert.CertificateException;
import java.security.cert.CertificateFactory;
import java.security.cert.X509Certificate;
import java.text.DateFormat;
import java.time.LocalDate;
import java.time.OffsetDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.Map.Entry;
import java.util.concurrent.TimeUnit;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import com.generated.api.testjava.client.auth.Authentication;
import com.generated.api.testjava.client.auth.HttpBasicAuth;
import com.generated.api.testjava.client.auth.HttpBearerAuth;
import com.generated.api.testjava.client.auth.ApiKeyAuth;

/**
 * <p>ApiClient class.</p>
 */
public class ApiClient {

    private String basePath = \\"http://localhost\\";
    protected List<ServerConfiguration> servers = new ArrayList<ServerConfiguration>(Arrays.asList(
    new ServerConfiguration(
      \\"\\",
      \\"No description provided\\",
      new HashMap<String, ServerVariable>()
    )
  ));
    protected Integer serverIndex = 0;
    protected Map<String, String> serverVariables = null;
    private boolean debugging = false;
    private Map<String, String> defaultHeaderMap = new HashMap<String, String>();
    private Map<String, String> defaultCookieMap = new HashMap<String, String>();
    private String tempFolderPath = null;

    private Map<String, Authentication> authentications;

    private DateFormat dateFormat;
    private DateFormat datetimeFormat;
    private boolean lenientDatetimeFormat;
    private int dateLength;

    private InputStream sslCaCert;
    private boolean verifyingSsl;
    private KeyManager[] keyManagers;

    private OkHttpClient httpClient;
    private JSON json;

    private HttpLoggingInterceptor loggingInterceptor;

    /**
     * Basic constructor for ApiClient
     */
    public ApiClient() {
        init();
        initHttpClient();

        // Setup authentications (key: authentication name, value: authentication).
        // Prevent the authentications from being modified.
        authentications = Collections.unmodifiableMap(authentications);
    }

    /**
     * Basic constructor with custom OkHttpClient
     *
     * @param client a {@link okhttp3.OkHttpClient} object
     */
    public ApiClient(OkHttpClient client) {
        init();

        httpClient = client;

        // Setup authentications (key: authentication name, value: authentication).
        // Prevent the authentications from being modified.
        authentications = Collections.unmodifiableMap(authentications);
    }

    private void initHttpClient() {
        initHttpClient(Collections.<Interceptor>emptyList());
    }

    private void initHttpClient(List<Interceptor> interceptors) {
        OkHttpClient.Builder builder = new OkHttpClient.Builder();
        builder.addNetworkInterceptor(getProgressInterceptor());
        for (Interceptor interceptor: interceptors) {
            builder.addInterceptor(interceptor);
        }

        httpClient = builder.build();
    }

    private void init() {
        verifyingSsl = true;

        json = new JSON();

        // Set default User-Agent.
        setUserAgent(\\"OpenAPI-Generator/0.0.0/java\\");

        authentications = new HashMap<String, Authentication>();
    }

    /**
     * Get base path
     *
     * @return Base path
     */
    public String getBasePath() {
        return basePath;
    }

    /**
     * Set base path
     *
     * @param basePath Base path of the URL (e.g http://localhost
     * @return An instance of OkHttpClient
     */
    public ApiClient setBasePath(String basePath) {
        this.basePath = basePath;
        return this;
    }

    public List<ServerConfiguration> getServers() {
        return servers;
    }

    public ApiClient setServers(List<ServerConfiguration> servers) {
        this.servers = servers;
        return this;
    }

    public Integer getServerIndex() {
        return serverIndex;
    }

    public ApiClient setServerIndex(Integer serverIndex) {
        this.serverIndex = serverIndex;
        return this;
    }

    public Map<String, String> getServerVariables() {
        return serverVariables;
    }

    public ApiClient setServerVariables(Map<String, String> serverVariables) {
        this.serverVariables = serverVariables;
        return this;
    }

    /**
     * Get HTTP client
     *
     * @return An instance of OkHttpClient
     */
    public OkHttpClient getHttpClient() {
        return httpClient;
    }

    /**
     * Set HTTP client, which must never be null.
     *
     * @param newHttpClient An instance of OkHttpClient
     * @return Api Client
     * @throws java.lang.NullPointerException when newHttpClient is null
     */
    public ApiClient setHttpClient(OkHttpClient newHttpClient) {
        this.httpClient = Objects.requireNonNull(newHttpClient, \\"HttpClient must not be null!\\");
        return this;
    }

    /**
     * Get JSON
     *
     * @return JSON object
     */
    public JSON getJSON() {
        return json;
    }

    /**
     * Set JSON
     *
     * @param json JSON object
     * @return Api client
     */
    public ApiClient setJSON(JSON json) {
        this.json = json;
        return this;
    }

    /**
     * True if isVerifyingSsl flag is on
     *
     * @return True if isVerifySsl flag is on
     */
    public boolean isVerifyingSsl() {
        return verifyingSsl;
    }

    /**
     * Configure whether to verify certificate and hostname when making https requests.
     * Default to true.
     * NOTE: Do NOT set to false in production code, otherwise you would face multiple types of cryptographic attacks.
     *
     * @param verifyingSsl True to verify TLS/SSL connection
     * @return ApiClient
     */
    public ApiClient setVerifyingSsl(boolean verifyingSsl) {
        this.verifyingSsl = verifyingSsl;
        applySslSettings();
        return this;
    }

    /**
     * Get SSL CA cert.
     *
     * @return Input stream to the SSL CA cert
     */
    public InputStream getSslCaCert() {
        return sslCaCert;
    }

    /**
     * Configure the CA certificate to be trusted when making https requests.
     * Use null to reset to default.
     *
     * @param sslCaCert input stream for SSL CA cert
     * @return ApiClient
     */
    public ApiClient setSslCaCert(InputStream sslCaCert) {
        this.sslCaCert = sslCaCert;
        applySslSettings();
        return this;
    }

    /**
     * <p>Getter for the field <code>keyManagers</code>.</p>
     *
     * @return an array of {@link javax.net.ssl.KeyManager} objects
     */
    public KeyManager[] getKeyManagers() {
        return keyManagers;
    }

    /**
     * Configure client keys to use for authorization in an SSL session.
     * Use null to reset to default.
     *
     * @param managers The KeyManagers to use
     * @return ApiClient
     */
    public ApiClient setKeyManagers(KeyManager[] managers) {
        this.keyManagers = managers;
        applySslSettings();
        return this;
    }

    /**
     * <p>Getter for the field <code>dateFormat</code>.</p>
     *
     * @return a {@link java.text.DateFormat} object
     */
    public DateFormat getDateFormat() {
        return dateFormat;
    }

    /**
     * <p>Setter for the field <code>dateFormat</code>.</p>
     *
     * @param dateFormat a {@link java.text.DateFormat} object
     * @return a {@link com.generated.api.testjava.client.ApiClient} object
     */
    public ApiClient setDateFormat(DateFormat dateFormat) {
        JSON.setDateFormat(dateFormat);
        return this;
    }

    /**
     * <p>Set SqlDateFormat.</p>
     *
     * @param dateFormat a {@link java.text.DateFormat} object
     * @return a {@link com.generated.api.testjava.client.ApiClient} object
     */
    public ApiClient setSqlDateFormat(DateFormat dateFormat) {
        JSON.setSqlDateFormat(dateFormat);
        return this;
    }

    /**
     * <p>Set OffsetDateTimeFormat.</p>
     *
     * @param dateFormat a {@link java.time.format.DateTimeFormatter} object
     * @return a {@link com.generated.api.testjava.client.ApiClient} object
     */
    public ApiClient setOffsetDateTimeFormat(DateTimeFormatter dateFormat) {
        JSON.setOffsetDateTimeFormat(dateFormat);
        return this;
    }

    /**
     * <p>Set LocalDateFormat.</p>
     *
     * @param dateFormat a {@link java.time.format.DateTimeFormatter} object
     * @return a {@link com.generated.api.testjava.client.ApiClient} object
     */
    public ApiClient setLocalDateFormat(DateTimeFormatter dateFormat) {
        JSON.setLocalDateFormat(dateFormat);
        return this;
    }

    /**
     * <p>Set LenientOnJson.</p>
     *
     * @param lenientOnJson a boolean
     * @return a {@link com.generated.api.testjava.client.ApiClient} object
     */
    public ApiClient setLenientOnJson(boolean lenientOnJson) {
        JSON.setLenientOnJson(lenientOnJson);
        return this;
    }

    /**
     * Get authentications (key: authentication name, value: authentication).
     *
     * @return Map of authentication objects
     */
    public Map<String, Authentication> getAuthentications() {
        return authentications;
    }

    /**
     * Get authentication for the given name.
     *
     * @param authName The authentication name
     * @return The authentication, null if not found
     */
    public Authentication getAuthentication(String authName) {
        return authentications.get(authName);
    }


    /**
     * Helper method to set username for the first HTTP basic authentication.
     *
     * @param username Username
     */
    public void setUsername(String username) {
        for (Authentication auth : authentications.values()) {
            if (auth instanceof HttpBasicAuth) {
                ((HttpBasicAuth) auth).setUsername(username);
                return;
            }
        }
        throw new RuntimeException(\\"No HTTP basic authentication configured!\\");
    }

    /**
     * Helper method to set password for the first HTTP basic authentication.
     *
     * @param password Password
     */
    public void setPassword(String password) {
        for (Authentication auth : authentications.values()) {
            if (auth instanceof HttpBasicAuth) {
                ((HttpBasicAuth) auth).setPassword(password);
                return;
            }
        }
        throw new RuntimeException(\\"No HTTP basic authentication configured!\\");
    }

    /**
     * Helper method to set API key value for the first API key authentication.
     *
     * @param apiKey API key
     */
    public void setApiKey(String apiKey) {
        for (Authentication auth : authentications.values()) {
            if (auth instanceof ApiKeyAuth) {
                ((ApiKeyAuth) auth).setApiKey(apiKey);
                return;
            }
        }
        throw new RuntimeException(\\"No API key authentication configured!\\");
    }

    /**
     * Helper method to set API key prefix for the first API key authentication.
     *
     * @param apiKeyPrefix API key prefix
     */
    public void setApiKeyPrefix(String apiKeyPrefix) {
        for (Authentication auth : authentications.values()) {
            if (auth instanceof ApiKeyAuth) {
                ((ApiKeyAuth) auth).setApiKeyPrefix(apiKeyPrefix);
                return;
            }
        }
        throw new RuntimeException(\\"No API key authentication configured!\\");
    }

    /**
     * Helper method to set access token for the first OAuth2 authentication.
     *
     * @param accessToken Access token
     */
    public void setAccessToken(String accessToken) {
        throw new RuntimeException(\\"No OAuth2 authentication configured!\\");
    }

    /**
     * Helper method to set credentials for AWSV4 Signature
     *
     * @param accessKey Access Key
     * @param secretKey Secret Key
     * @param region Region
     * @param service Service to access to
     */
    public void setAWS4Configuration(String accessKey, String secretKey, String region, String service) {
        throw new RuntimeException(\\"No AWS4 authentication configured!\\");
    }

    /**
     * Set the User-Agent header's value (by adding to the default header map).
     *
     * @param userAgent HTTP request's user agent
     * @return ApiClient
     */
    public ApiClient setUserAgent(String userAgent) {
        addDefaultHeader(\\"User-Agent\\", userAgent);
        return this;
    }

    /**
     * Add a default header.
     *
     * @param key The header's key
     * @param value The header's value
     * @return ApiClient
     */
    public ApiClient addDefaultHeader(String key, String value) {
        defaultHeaderMap.put(key, value);
        return this;
    }

    /**
     * Add a default cookie.
     *
     * @param key The cookie's key
     * @param value The cookie's value
     * @return ApiClient
     */
    public ApiClient addDefaultCookie(String key, String value) {
        defaultCookieMap.put(key, value);
        return this;
    }

    /**
     * Check that whether debugging is enabled for this API client.
     *
     * @return True if debugging is enabled, false otherwise.
     */
    public boolean isDebugging() {
        return debugging;
    }

    /**
     * Enable/disable debugging for this API client.
     *
     * @param debugging To enable (true) or disable (false) debugging
     * @return ApiClient
     */
    public ApiClient setDebugging(boolean debugging) {
        if (debugging != this.debugging) {
            if (debugging) {
                loggingInterceptor = new HttpLoggingInterceptor();
                loggingInterceptor.setLevel(Level.BODY);
                httpClient = httpClient.newBuilder().addInterceptor(loggingInterceptor).build();
            } else {
                final OkHttpClient.Builder builder = httpClient.newBuilder();
                builder.interceptors().remove(loggingInterceptor);
                httpClient = builder.build();
                loggingInterceptor = null;
            }
        }
        this.debugging = debugging;
        return this;
    }

    /**
     * The path of temporary folder used to store downloaded files from endpoints
     * with file response. The default value is <code>null</code>, i.e. using
     * the system's default temporary folder.
     *
     * @see <a href=\\"https://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html#createTempFile(java.lang.String,%20java.lang.String,%20java.nio.file.attribute.FileAttribute...)\\">createTempFile</a>
     * @return Temporary folder path
     */
    public String getTempFolderPath() {
        return tempFolderPath;
    }

    /**
     * Set the temporary folder path (for downloading files)
     *
     * @param tempFolderPath Temporary folder path
     * @return ApiClient
     */
    public ApiClient setTempFolderPath(String tempFolderPath) {
        this.tempFolderPath = tempFolderPath;
        return this;
    }

    /**
     * Get connection timeout (in milliseconds).
     *
     * @return Timeout in milliseconds
     */
    public int getConnectTimeout() {
        return httpClient.connectTimeoutMillis();
    }

    /**
     * Sets the connect timeout (in milliseconds).
     * A value of 0 means no timeout, otherwise values must be between 1 and
     * {@link java.lang.Integer#MAX_VALUE}.
     *
     * @param connectionTimeout connection timeout in milliseconds
     * @return Api client
     */
    public ApiClient setConnectTimeout(int connectionTimeout) {
        httpClient = httpClient.newBuilder().connectTimeout(connectionTimeout, TimeUnit.MILLISECONDS).build();
        return this;
    }

    /**
     * Get read timeout (in milliseconds).
     *
     * @return Timeout in milliseconds
     */
    public int getReadTimeout() {
        return httpClient.readTimeoutMillis();
    }

    /**
     * Sets the read timeout (in milliseconds).
     * A value of 0 means no timeout, otherwise values must be between 1 and
     * {@link java.lang.Integer#MAX_VALUE}.
     *
     * @param readTimeout read timeout in milliseconds
     * @return Api client
     */
    public ApiClient setReadTimeout(int readTimeout) {
        httpClient = httpClient.newBuilder().readTimeout(readTimeout, TimeUnit.MILLISECONDS).build();
        return this;
    }

    /**
     * Get write timeout (in milliseconds).
     *
     * @return Timeout in milliseconds
     */
    public int getWriteTimeout() {
        return httpClient.writeTimeoutMillis();
    }

    /**
     * Sets the write timeout (in milliseconds).
     * A value of 0 means no timeout, otherwise values must be between 1 and
     * {@link java.lang.Integer#MAX_VALUE}.
     *
     * @param writeTimeout connection timeout in milliseconds
     * @return Api client
     */
    public ApiClient setWriteTimeout(int writeTimeout) {
        httpClient = httpClient.newBuilder().writeTimeout(writeTimeout, TimeUnit.MILLISECONDS).build();
        return this;
    }


    /**
     * Format the given parameter object into string.
     *
     * @param param Parameter
     * @return String representation of the parameter
     */
    public String parameterToString(Object param) {
        if (param == null) {
            return \\"\\";
        } else if (param instanceof Date || param instanceof OffsetDateTime || param instanceof LocalDate) {
            //Serialize to json string and remove the \\" enclosing characters
            String jsonStr = JSON.serialize(param);
            return jsonStr.substring(1, jsonStr.length() - 1);
        } else if (param instanceof Collection) {
            StringBuilder b = new StringBuilder();
            for (Object o : (Collection) param) {
                if (b.length() > 0) {
                    b.append(\\",\\");
                }
                b.append(o);
            }
            return b.toString();
        } else {
            return String.valueOf(param);
        }
    }

    /**
     * Formats the specified query parameter to a list containing a single {@code Pair} object.
     *
     * Note that {@code value} must not be a collection.
     *
     * @param name The name of the parameter.
     * @param value The value of the parameter.
     * @return A list containing a single {@code Pair} object.
     */
    public List<Pair> parameterToPair(String name, Object value) {
        List<Pair> params = new ArrayList<Pair>();

        // preconditions
        if (name == null || name.isEmpty() || value == null || value instanceof Collection) {
            return params;
        }

        params.add(new Pair(name, parameterToString(value)));
        return params;
    }

    /**
     * Formats the specified collection query parameters to a list of {@code Pair} objects.
     *
     * Note that the values of each of the returned Pair objects are percent-encoded.
     *
     * @param collectionFormat The collection format of the parameter.
     * @param name The name of the parameter.
     * @param value The value of the parameter.
     * @return A list of {@code Pair} objects.
     */
    public List<Pair> parameterToPairs(String collectionFormat, String name, Collection value) {
        List<Pair> params = new ArrayList<Pair>();

        // preconditions
        if (name == null || name.isEmpty() || value == null || value.isEmpty()) {
            return params;
        }

        // create the params based on the collection format
        if (\\"multi\\".equals(collectionFormat)) {
            for (Object item : value) {
                params.add(new Pair(name, escapeString(parameterToString(item))));
            }
            return params;
        }

        // collectionFormat is assumed to be \\"csv\\" by default
        String delimiter = \\",\\";

        // escape all delimiters except commas, which are URI reserved
        // characters
        if (\\"ssv\\".equals(collectionFormat)) {
            delimiter = escapeString(\\" \\");
        } else if (\\"tsv\\".equals(collectionFormat)) {
            delimiter = escapeString(\\"\\\\t\\");
        } else if (\\"pipes\\".equals(collectionFormat)) {
            delimiter = escapeString(\\"|\\");
        }

        StringBuilder sb = new StringBuilder();
        for (Object item : value) {
            sb.append(delimiter);
            sb.append(escapeString(parameterToString(item)));
        }

        params.add(new Pair(name, sb.substring(delimiter.length())));

        return params;
    }

    /**
     * Formats the specified collection path parameter to a string value.
     *
     * @param collectionFormat The collection format of the parameter.
     * @param value The value of the parameter.
     * @return String representation of the parameter
     */
    public String collectionPathParameterToString(String collectionFormat, Collection value) {
        // create the value based on the collection format
        if (\\"multi\\".equals(collectionFormat)) {
            // not valid for path params
            return parameterToString(value);
        }

        // collectionFormat is assumed to be \\"csv\\" by default
        String delimiter = \\",\\";

        if (\\"ssv\\".equals(collectionFormat)) {
            delimiter = \\" \\";
        } else if (\\"tsv\\".equals(collectionFormat)) {
            delimiter = \\"\\\\t\\";
        } else if (\\"pipes\\".equals(collectionFormat)) {
            delimiter = \\"|\\";
        }

        StringBuilder sb = new StringBuilder() ;
        for (Object item : value) {
            sb.append(delimiter);
            sb.append(parameterToString(item));
        }

        return sb.substring(delimiter.length());
    }

    /**
     * Sanitize filename by removing path.
     * e.g. ../../sun.gif becomes sun.gif
     *
     * @param filename The filename to be sanitized
     * @return The sanitized filename
     */
    public String sanitizeFilename(String filename) {
        return filename.replaceAll(\\".*[/\\\\\\\\\\\\\\\\]\\", \\"\\");
    }

    /**
     * Check if the given MIME is a JSON MIME.
     * JSON MIME examples:
     *   application/json
     *   application/json; charset=UTF8
     *   APPLICATION/JSON
     *   application/vnd.company+json
     * \\"* / *\\" is also default to JSON
     * @param mime MIME (Multipurpose Internet Mail Extensions)
     * @return True if the given MIME is JSON, false otherwise.
     */
    public boolean isJsonMime(String mime) {
        String jsonMime = \\"(?i)^(application/json|[^;/ \\\\t]+/[^;/ \\\\t]+[+]json)[ \\\\t]*(;.*)?$\\";
        return mime != null && (mime.matches(jsonMime) || mime.equals(\\"*/*\\"));
    }

    /**
     * Select the Accept header's value from the given accepts array:
     *   if JSON exists in the given array, use it;
     *   otherwise use all of them (joining into a string)
     *
     * @param accepts The accepts array to select from
     * @return The Accept header to use. If the given array is empty,
     *   null will be returned (not to set the Accept header explicitly).
     */
    public String selectHeaderAccept(String[] accepts) {
        if (accepts.length == 0) {
            return null;
        }
        for (String accept : accepts) {
            if (isJsonMime(accept)) {
                return accept;
            }
        }
        return StringUtil.join(accepts, \\",\\");
    }

    /**
     * Select the Content-Type header's value from the given array:
     *   if JSON exists in the given array, use it;
     *   otherwise use the first one of the array.
     *
     * @param contentTypes The Content-Type array to select from
     * @return The Content-Type header to use. If the given array is empty,
     *   returns null. If it matches \\"any\\", JSON will be used.
     */
    public String selectHeaderContentType(String[] contentTypes) {
        if (contentTypes.length == 0) {
            return null;
        }

        if (contentTypes[0].equals(\\"*/*\\")) {
            return \\"application/json\\";
        }

        for (String contentType : contentTypes) {
            if (isJsonMime(contentType)) {
                return contentType;
            }
        }

        return contentTypes[0];
    }

    /**
     * Escape the given string to be used as URL query value.
     *
     * @param str String to be escaped
     * @return Escaped string
     */
    public String escapeString(String str) {
        try {
            return URLEncoder.encode(str, \\"utf8\\").replaceAll(\\"\\\\\\\\+\\", \\"%20\\");
        } catch (UnsupportedEncodingException e) {
            return str;
        }
    }

    /**
     * Deserialize response body to Java object, according to the return type and
     * the Content-Type response header.
     *
     * @param <T> Type
     * @param response HTTP response
     * @param returnType The type of the Java object
     * @return The deserialized Java object
     * @throws com.generated.api.testjava.client.ApiException If fail to deserialize response body, i.e. cannot read response body
     *   or the Content-Type of the response is not supported.
     */
    @SuppressWarnings(\\"unchecked\\")
    public <T> T deserialize(Response response, Type returnType) throws ApiException {
        if (response == null || returnType == null) {
            return null;
        }

        if (\\"byte[]\\".equals(returnType.toString())) {
            // Handle binary response (byte array).
            try {
                return (T) response.body().bytes();
            } catch (IOException e) {
                throw new ApiException(e);
            }
        } else if (returnType.equals(File.class)) {
            // Handle file downloading.
            return (T) downloadFileFromResponse(response);
        }

        String respBody;
        try {
            if (response.body() != null)
                respBody = response.body().string();
            else
                respBody = null;
        } catch (IOException e) {
            throw new ApiException(e);
        }

        if (respBody == null || \\"\\".equals(respBody)) {
            return null;
        }

        String contentType = response.headers().get(\\"Content-Type\\");
        if (contentType == null) {
            // ensuring a default content type
            contentType = \\"application/json\\";
        }
        if (isJsonMime(contentType)) {
            return JSON.deserialize(respBody, returnType);
        } else if (returnType.equals(String.class)) {
            // Expecting string, return the raw response body.
            return (T) respBody;
        } else {
            throw new ApiException(
                    \\"Content type \\\\\\"\\" + contentType + \\"\\\\\\" is not supported for type: \\" + returnType,
                    response.code(),
                    response.headers().toMultimap(),
                    respBody);
        }
    }

    /**
     * Serialize the given Java object into request body according to the object's
     * class and the request Content-Type.
     *
     * @param obj The Java object
     * @param contentType The request Content-Type
     * @return The serialized request body
     * @throws com.generated.api.testjava.client.ApiException If fail to serialize the given object
     */
    public RequestBody serialize(Object obj, String contentType) throws ApiException {
        if (obj instanceof byte[]) {
            // Binary (byte array) body parameter support.
            return RequestBody.create((byte[]) obj, MediaType.parse(contentType));
        } else if (obj instanceof File) {
            // File body parameter support.
            return RequestBody.create((File) obj, MediaType.parse(contentType));
        } else if (\\"text/plain\\".equals(contentType) && obj instanceof String) {
            return RequestBody.create((String) obj, MediaType.parse(contentType));
        } else if (isJsonMime(contentType)) {
            String content;
            if (obj != null) {
                content = JSON.serialize(obj);
            } else {
                content = null;
            }
            return RequestBody.create(content, MediaType.parse(contentType));
        } else if (obj instanceof String) {
            return RequestBody.create((String) obj, MediaType.parse(contentType));
        } else {
            throw new ApiException(\\"Content type \\\\\\"\\" + contentType + \\"\\\\\\" is not supported\\");
        }
    }

    /**
     * Download file from the given response.
     *
     * @param response An instance of the Response object
     * @throws com.generated.api.testjava.client.ApiException If fail to read file content from response and write to disk
     * @return Downloaded file
     */
    public File downloadFileFromResponse(Response response) throws ApiException {
        try {
            File file = prepareDownloadFile(response);
            BufferedSink sink = Okio.buffer(Okio.sink(file));
            sink.writeAll(response.body().source());
            sink.close();
            return file;
        } catch (IOException e) {
            throw new ApiException(e);
        }
    }

    /**
     * Prepare file for download
     *
     * @param response An instance of the Response object
     * @return Prepared file for the download
     * @throws java.io.IOException If fail to prepare file for download
     */
    public File prepareDownloadFile(Response response) throws IOException {
        String filename = null;
        String contentDisposition = response.header(\\"Content-Disposition\\");
        if (contentDisposition != null && !\\"\\".equals(contentDisposition)) {
            // Get filename from the Content-Disposition header.
            Pattern pattern = Pattern.compile(\\"filename=['\\\\\\"]?([^'\\\\\\"\\\\\\\\s]+)['\\\\\\"]?\\");
            Matcher matcher = pattern.matcher(contentDisposition);
            if (matcher.find()) {
                filename = sanitizeFilename(matcher.group(1));
            }
        }

        String prefix = null;
        String suffix = null;
        if (filename == null) {
            prefix = \\"download-\\";
            suffix = \\"\\";
        } else {
            int pos = filename.lastIndexOf(\\".\\");
            if (pos == -1) {
                prefix = filename + \\"-\\";
            } else {
                prefix = filename.substring(0, pos) + \\"-\\";
                suffix = filename.substring(pos);
            }
            // Files.createTempFile requires the prefix to be at least three characters long
            if (prefix.length() < 3)
                prefix = \\"download-\\";
        }

        if (tempFolderPath == null)
            return Files.createTempFile(prefix, suffix).toFile();
        else
            return Files.createTempFile(Paths.get(tempFolderPath), prefix, suffix).toFile();
    }

    /**
     * {@link #execute(Call, Type)}
     *
     * @param <T> Type
     * @param call An instance of the Call object
     * @return ApiResponse&lt;T&gt;
     * @throws com.generated.api.testjava.client.ApiException If fail to execute the call
     */
    public <T> ApiResponse<T> execute(Call call) throws ApiException {
        return execute(call, null);
    }

    /**
     * Execute HTTP call and deserialize the HTTP response body into the given return type.
     *
     * @param returnType The return type used to deserialize HTTP response body
     * @param <T> The return type corresponding to (same with) returnType
     * @param call Call
     * @return ApiResponse object containing response status, headers and
     *   data, which is a Java object deserialized from response body and would be null
     *   when returnType is null.
     * @throws com.generated.api.testjava.client.ApiException If fail to execute the call
     */
    public <T> ApiResponse<T> execute(Call call, Type returnType) throws ApiException {
        try {
            Response response = call.execute();
            T data = handleResponse(response, returnType);
            return new ApiResponse<T>(response.code(), response.headers().toMultimap(), data);
        } catch (IOException e) {
            throw new ApiException(e);
        }
    }

    /**
     * {@link #executeAsync(Call, Type, ApiCallback)}
     *
     * @param <T> Type
     * @param call An instance of the Call object
     * @param callback ApiCallback&lt;T&gt;
     */
    public <T> void executeAsync(Call call, ApiCallback<T> callback) {
        executeAsync(call, null, callback);
    }

    /**
     * Execute HTTP call asynchronously.
     *
     * @param <T> Type
     * @param call The callback to be executed when the API call finishes
     * @param returnType Return type
     * @param callback ApiCallback
     * @see #execute(Call, Type)
     */
    @SuppressWarnings(\\"unchecked\\")
    public <T> void executeAsync(Call call, final Type returnType, final ApiCallback<T> callback) {
        call.enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
                callback.onFailure(new ApiException(e), 0, null);
            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                T result;
                try {
                    result = (T) handleResponse(response, returnType);
                } catch (ApiException e) {
                    callback.onFailure(e, response.code(), response.headers().toMultimap());
                    return;
                } catch (Exception e) {
                    callback.onFailure(new ApiException(e), response.code(), response.headers().toMultimap());
                    return;
                }
                callback.onSuccess(result, response.code(), response.headers().toMultimap());
            }
        });
    }

    /**
     * Handle the given response, return the deserialized object when the response is successful.
     *
     * @param <T> Type
     * @param response Response
     * @param returnType Return type
     * @return Type
     * @throws com.generated.api.testjava.client.ApiException If the response has an unsuccessful status code or
     *                      fail to deserialize the response body
     */
    public <T> T handleResponse(Response response, Type returnType) throws ApiException {
        if (response.isSuccessful()) {
            if (returnType == null || response.code() == 204) {
                // returning null if the returnType is not defined,
                // or the status code is 204 (No Content)
                if (response.body() != null) {
                    try {
                        response.body().close();
                    } catch (Exception e) {
                        throw new ApiException(response.message(), e, response.code(), response.headers().toMultimap());
                    }
                }
                return null;
            } else {
                return deserialize(response, returnType);
            }
        } else {
            String respBody = null;
            if (response.body() != null) {
                try {
                    respBody = response.body().string();
                } catch (IOException e) {
                    throw new ApiException(response.message(), e, response.code(), response.headers().toMultimap());
                }
            }
            throw new ApiException(response.message(), response.code(), response.headers().toMultimap(), respBody);
        }
    }

    /**
     * Build HTTP call with the given options.
     *
     * @param baseUrl The base URL
     * @param path The sub-path of the HTTP URL
     * @param method The request method, one of \\"GET\\", \\"HEAD\\", \\"OPTIONS\\", \\"POST\\", \\"PUT\\", \\"PATCH\\" and \\"DELETE\\"
     * @param queryParams The query parameters
     * @param collectionQueryParams The collection query parameters
     * @param body The request body object
     * @param headerParams The header parameters
     * @param cookieParams The cookie parameters
     * @param formParams The form parameters
     * @param authNames The authentications to apply
     * @param callback Callback for upload/download progress
     * @return The HTTP call
     * @throws com.generated.api.testjava.client.ApiException If fail to serialize the request body object
     */
    public Call buildCall(String baseUrl, String path, String method, List<Pair> queryParams, List<Pair> collectionQueryParams, Object body, Map<String, String> headerParams, Map<String, String> cookieParams, Map<String, Object> formParams, String[] authNames, ApiCallback callback) throws ApiException {
        Request request = buildRequest(baseUrl, path, method, queryParams, collectionQueryParams, body, headerParams, cookieParams, formParams, authNames, callback);

        return httpClient.newCall(request);
    }

    /**
     * Build an HTTP request with the given options.
     *
     * @param baseUrl The base URL
     * @param path The sub-path of the HTTP URL
     * @param method The request method, one of \\"GET\\", \\"HEAD\\", \\"OPTIONS\\", \\"POST\\", \\"PUT\\", \\"PATCH\\" and \\"DELETE\\"
     * @param queryParams The query parameters
     * @param collectionQueryParams The collection query parameters
     * @param body The request body object
     * @param headerParams The header parameters
     * @param cookieParams The cookie parameters
     * @param formParams The form parameters
     * @param authNames The authentications to apply
     * @param callback Callback for upload/download progress
     * @return The HTTP request
     * @throws com.generated.api.testjava.client.ApiException If fail to serialize the request body object
     */
    public Request buildRequest(String baseUrl, String path, String method, List<Pair> queryParams, List<Pair> collectionQueryParams, Object body, Map<String, String> headerParams, Map<String, String> cookieParams, Map<String, Object> formParams, String[] authNames, ApiCallback callback) throws ApiException {
        // aggregate queryParams (non-collection) and collectionQueryParams into allQueryParams
        List<Pair> allQueryParams = new ArrayList<Pair>(queryParams);
        allQueryParams.addAll(collectionQueryParams);

        final String url = buildUrl(baseUrl, path, queryParams, collectionQueryParams);

        // prepare HTTP request body
        RequestBody reqBody;
        String contentType = headerParams.get(\\"Content-Type\\");

        if (!HttpMethod.permitsRequestBody(method)) {
            reqBody = null;
        } else if (\\"application/x-www-form-urlencoded\\".equals(contentType)) {
            reqBody = buildRequestBodyFormEncoding(formParams);
        } else if (\\"multipart/form-data\\".equals(contentType)) {
            reqBody = buildRequestBodyMultipart(formParams);
        } else if (body == null) {
            if (\\"DELETE\\".equals(method)) {
                // allow calling DELETE without sending a request body
                reqBody = null;
            } else {
                // use an empty request body (for POST, PUT and PATCH)
                reqBody = RequestBody.create(\\"\\", contentType == null ? null : MediaType.parse(contentType));
            }
        } else {
            reqBody = serialize(body, contentType);
        }

        // update parameters with authentication settings
        updateParamsForAuth(authNames, allQueryParams, headerParams, cookieParams, requestBodyToString(reqBody), method, URI.create(url));

        final Request.Builder reqBuilder = new Request.Builder().url(url);
        processHeaderParams(headerParams, reqBuilder);
        processCookieParams(cookieParams, reqBuilder);

        // Associate callback with request (if not null) so interceptor can
        // access it when creating ProgressResponseBody
        reqBuilder.tag(callback);

        Request request = null;

        if (callback != null && reqBody != null) {
            ProgressRequestBody progressRequestBody = new ProgressRequestBody(reqBody, callback);
            request = reqBuilder.method(method, progressRequestBody).build();
        } else {
            request = reqBuilder.method(method, reqBody).build();
        }

        return request;
    }

    /**
     * Build full URL by concatenating base path, the given sub path and query parameters.
     *
     * @param baseUrl The base URL
     * @param path The sub path
     * @param queryParams The query parameters
     * @param collectionQueryParams The collection query parameters
     * @return The full URL
     */
    public String buildUrl(String baseUrl, String path, List<Pair> queryParams, List<Pair> collectionQueryParams) {
        final StringBuilder url = new StringBuilder();
        if (baseUrl != null) {
            url.append(baseUrl).append(path);
        } else {
            String baseURL;
            if (serverIndex != null) {
                if (serverIndex < 0 || serverIndex >= servers.size()) {
                    throw new ArrayIndexOutOfBoundsException(String.format(
                    \\"Invalid index %d when selecting the host settings. Must be less than %d\\", serverIndex, servers.size()
                    ));
                }
                baseURL = servers.get(serverIndex).URL(serverVariables);
            } else {
                baseURL = basePath;
            }
            url.append(baseURL).append(path);
        }

        if (queryParams != null && !queryParams.isEmpty()) {
            // support (constant) query string in \`path\`, e.g. \\"/posts?draft=1\\"
            String prefix = path.contains(\\"?\\") ? \\"&\\" : \\"?\\";
            for (Pair param : queryParams) {
                if (param.getValue() != null) {
                    if (prefix != null) {
                        url.append(prefix);
                        prefix = null;
                    } else {
                        url.append(\\"&\\");
                    }
                    String value = parameterToString(param.getValue());
                    url.append(escapeString(param.getName())).append(\\"=\\").append(escapeString(value));
                }
            }
        }

        if (collectionQueryParams != null && !collectionQueryParams.isEmpty()) {
            String prefix = url.toString().contains(\\"?\\") ? \\"&\\" : \\"?\\";
            for (Pair param : collectionQueryParams) {
                if (param.getValue() != null) {
                    if (prefix != null) {
                        url.append(prefix);
                        prefix = null;
                    } else {
                        url.append(\\"&\\");
                    }
                    String value = parameterToString(param.getValue());
                    // collection query parameter value already escaped as part of parameterToPairs
                    url.append(escapeString(param.getName())).append(\\"=\\").append(value);
                }
            }
        }

        return url.toString();
    }

    /**
     * Set header parameters to the request builder, including default headers.
     *
     * @param headerParams Header parameters in the form of Map
     * @param reqBuilder Request.Builder
     */
    public void processHeaderParams(Map<String, String> headerParams, Request.Builder reqBuilder) {
        for (Entry<String, String> param : headerParams.entrySet()) {
            reqBuilder.header(param.getKey(), parameterToString(param.getValue()));
        }
        for (Entry<String, String> header : defaultHeaderMap.entrySet()) {
            if (!headerParams.containsKey(header.getKey())) {
                reqBuilder.header(header.getKey(), parameterToString(header.getValue()));
            }
        }
    }

    /**
     * Set cookie parameters to the request builder, including default cookies.
     *
     * @param cookieParams Cookie parameters in the form of Map
     * @param reqBuilder Request.Builder
     */
    public void processCookieParams(Map<String, String> cookieParams, Request.Builder reqBuilder) {
        for (Entry<String, String> param : cookieParams.entrySet()) {
            reqBuilder.addHeader(\\"Cookie\\", String.format(\\"%s=%s\\", param.getKey(), param.getValue()));
        }
        for (Entry<String, String> param : defaultCookieMap.entrySet()) {
            if (!cookieParams.containsKey(param.getKey())) {
                reqBuilder.addHeader(\\"Cookie\\", String.format(\\"%s=%s\\", param.getKey(), param.getValue()));
            }
        }
    }

    /**
     * Update query and header parameters based on authentication settings.
     *
     * @param authNames The authentications to apply
     * @param queryParams List of query parameters
     * @param headerParams Map of header parameters
     * @param cookieParams Map of cookie parameters
     * @param payload HTTP request body
     * @param method HTTP method
     * @param uri URI
     * @throws com.generated.api.testjava.client.ApiException If fails to update the parameters
     */
    public void updateParamsForAuth(String[] authNames, List<Pair> queryParams, Map<String, String> headerParams,
                                    Map<String, String> cookieParams, String payload, String method, URI uri) throws ApiException {
        for (String authName : authNames) {
            Authentication auth = authentications.get(authName);
            if (auth == null) {
                throw new RuntimeException(\\"Authentication undefined: \\" + authName);
            }
            auth.applyToParams(queryParams, headerParams, cookieParams, payload, method, uri);
        }
    }

    /**
     * Build a form-encoding request body with the given form parameters.
     *
     * @param formParams Form parameters in the form of Map
     * @return RequestBody
     */
    public RequestBody buildRequestBodyFormEncoding(Map<String, Object> formParams) {
        okhttp3.FormBody.Builder formBuilder = new okhttp3.FormBody.Builder();
        for (Entry<String, Object> param : formParams.entrySet()) {
            formBuilder.add(param.getKey(), parameterToString(param.getValue()));
        }
        return formBuilder.build();
    }

    /**
     * Build a multipart (file uploading) request body with the given form parameters,
     * which could contain text fields and file fields.
     *
     * @param formParams Form parameters in the form of Map
     * @return RequestBody
     */
    public RequestBody buildRequestBodyMultipart(Map<String, Object> formParams) {
        MultipartBody.Builder mpBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM);
        for (Entry<String, Object> param : formParams.entrySet()) {
            if (param.getValue() instanceof File) {
                File file = (File) param.getValue();
                addPartToMultiPartBuilder(mpBuilder, param.getKey(), file);
            } else if (param.getValue() instanceof List) {
                List list = (List) param.getValue();
                for (Object item: list) {
                    if (item instanceof File) {
                        addPartToMultiPartBuilder(mpBuilder, param.getKey(), (File) item);
                    } else {
                        addPartToMultiPartBuilder(mpBuilder, param.getKey(), param.getValue());
                    }
                }
            } else {
                addPartToMultiPartBuilder(mpBuilder, param.getKey(), param.getValue());
            }
        }
        return mpBuilder.build();
    }

    /**
     * Guess Content-Type header from the given file (defaults to \\"application/octet-stream\\").
     *
     * @param file The given file
     * @return The guessed Content-Type
     */
    public String guessContentTypeFromFile(File file) {
        String contentType = URLConnection.guessContentTypeFromName(file.getName());
        if (contentType == null) {
            return \\"application/octet-stream\\";
        } else {
            return contentType;
        }
    }

    /**
     * Add a Content-Disposition Header for the given key and file to the MultipartBody Builder.
     *
     * @param mpBuilder MultipartBody.Builder 
     * @param key The key of the Header element
     * @param file The file to add to the Header
     */ 
    private void addPartToMultiPartBuilder(MultipartBody.Builder mpBuilder, String key, File file) {
        Headers partHeaders = Headers.of(\\"Content-Disposition\\", \\"form-data; name=\\\\\\"\\" + key + \\"\\\\\\"; filename=\\\\\\"\\" + file.getName() + \\"\\\\\\"\\");
        MediaType mediaType = MediaType.parse(guessContentTypeFromFile(file));
        mpBuilder.addPart(partHeaders, RequestBody.create(file, mediaType));
    }

    /**
     * Add a Content-Disposition Header for the given key and complex object to the MultipartBody Builder.
     *
     * @param mpBuilder MultipartBody.Builder
     * @param key The key of the Header element
     * @param obj The complex object to add to the Header
     */
    private void addPartToMultiPartBuilder(MultipartBody.Builder mpBuilder, String key, Object obj) {
        RequestBody requestBody;
        if (obj instanceof String) {
            requestBody = RequestBody.create((String) obj, MediaType.parse(\\"text/plain\\"));
        } else {
            String content;
            if (obj != null) {
                content = JSON.serialize(obj);
            } else {
                content = null;
            }
            requestBody = RequestBody.create(content, MediaType.parse(\\"application/json\\"));
        }

        Headers partHeaders = Headers.of(\\"Content-Disposition\\", \\"form-data; name=\\\\\\"\\" + key + \\"\\\\\\"\\");
        mpBuilder.addPart(partHeaders, requestBody);
    }

    /**
     * Get network interceptor to add it to the httpClient to track download progress for
     * async requests.
     */
    private Interceptor getProgressInterceptor() {
        return new Interceptor() {
            @Override
            public Response intercept(Interceptor.Chain chain) throws IOException {
                final Request request = chain.request();
                final Response originalResponse = chain.proceed(request);
                if (request.tag() instanceof ApiCallback) {
                    final ApiCallback callback = (ApiCallback) request.tag();
                    return originalResponse.newBuilder()
                        .body(new ProgressResponseBody(originalResponse.body(), callback))
                        .build();
                }
                return originalResponse;
            }
        };
    }

    /**
     * Apply SSL related settings to httpClient according to the current values of
     * verifyingSsl and sslCaCert.
     */
    private void applySslSettings() {
        try {
            TrustManager[] trustManagers;
            HostnameVerifier hostnameVerifier;
            if (!verifyingSsl) {
                trustManagers = new TrustManager[]{
                        new X509TrustManager() {
                            @Override
                            public void checkClientTrusted(java.security.cert.X509Certificate[] chain, String authType) throws CertificateException {
                            }

                            @Override
                            public void checkServerTrusted(java.security.cert.X509Certificate[] chain, String authType) throws CertificateException {
                            }

                            @Override
                            public java.security.cert.X509Certificate[] getAcceptedIssuers() {
                                return new java.security.cert.X509Certificate[]{};
                            }
                        }
                };
                hostnameVerifier = new HostnameVerifier() {
                    @Override
                    public boolean verify(String hostname, SSLSession session) {
                        return true;
                    }
                };
            } else {
                TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());

                if (sslCaCert == null) {
                    trustManagerFactory.init((KeyStore) null);
                } else {
                    char[] password = null; // Any password will work.
                    CertificateFactory certificateFactory = CertificateFactory.getInstance(\\"X.509\\");
                    Collection<? extends Certificate> certificates = certificateFactory.generateCertificates(sslCaCert);
                    if (certificates.isEmpty()) {
                        throw new IllegalArgumentException(\\"expected non-empty set of trusted certificates\\");
                    }
                    KeyStore caKeyStore = newEmptyKeyStore(password);
                    int index = 0;
                    for (Certificate certificate : certificates) {
                        String certificateAlias = \\"ca\\" + (index++);
                        caKeyStore.setCertificateEntry(certificateAlias, certificate);
                    }
                    trustManagerFactory.init(caKeyStore);
                }
                trustManagers = trustManagerFactory.getTrustManagers();
                hostnameVerifier = OkHostnameVerifier.INSTANCE;
            }

            SSLContext sslContext = SSLContext.getInstance(\\"TLS\\");
            sslContext.init(keyManagers, trustManagers, new SecureRandom());
            httpClient = httpClient.newBuilder()
                            .sslSocketFactory(sslContext.getSocketFactory(), (X509TrustManager) trustManagers[0])
                            .hostnameVerifier(hostnameVerifier)
                            .build();
        } catch (GeneralSecurityException e) {
            throw new RuntimeException(e);
        }
    }

    private KeyStore newEmptyKeyStore(char[] password) throws GeneralSecurityException {
        try {
            KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
            keyStore.load(null, password);
            return keyStore;
        } catch (IOException e) {
            throw new AssertionError(e);
        }
    }

    /**
     * Convert the HTTP request body to a string.
     *
     * @param requestBody The HTTP request object
     * @return The string representation of the HTTP request body
     * @throws com.generated.api.testjava.client.ApiException If fail to serialize the request body object into a string
     */
    private String requestBodyToString(RequestBody requestBody) throws ApiException {
        if (requestBody != null) {
            try {
                final Buffer buffer = new Buffer();
                requestBody.writeTo(buffer);
                return buffer.readUtf8();
            } catch (final IOException e) {
                throw new ApiException(e);
            }
        }

        // empty http request body
        return \\"\\";
    }
}
",
  "generated/java/src/main/java/com/generated/api/testjava/client/ApiException.java": "/*
 * Hello
 * A sample smithy api
 *
 * The version of the OpenAPI document: 1.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package com.generated.api.testjava.client;

import java.util.Map;
import java.util.List;

import javax.ws.rs.core.GenericType;

/**
 * <p>ApiException class.</p>
 */
@SuppressWarnings(\\"serial\\")
@javax.annotation.Generated(value = \\"org.openapitools.codegen.languages.JavaClientCodegen\\")
public class ApiException extends Exception {
    private int code = 0;
    private Map<String, List<String>> responseHeaders = null;
    private String responseBody = null;
 
    /**
     * <p>Constructor for ApiException.</p>
     */
    public ApiException() {}

    /**
     * <p>Constructor for ApiException.</p>
     *
     * @param throwable a {@link java.lang.Throwable} object
     */
    public ApiException(Throwable throwable) {
        super(throwable);
    }

    /**
     * <p>Constructor for ApiException.</p>
     *
     * @param message the error message
     */
    public ApiException(String message) {
        super(message);
    }

    /**
     * <p>Constructor for ApiException.</p>
     *
     * @param message the error message
     * @param throwable a {@link java.lang.Throwable} object
     * @param code HTTP status code
     * @param responseHeaders a {@link java.util.Map} of HTTP response headers
     * @param responseBody the response body
     */
    public ApiException(String message, Throwable throwable, int code, Map<String, List<String>> responseHeaders, String responseBody) {
        super(message, throwable);
        this.code = code;
        this.responseHeaders = responseHeaders;
        this.responseBody = responseBody;
    }

    /**
     * <p>Constructor for ApiException.</p>
     *
     * @param message the error message
     * @param code HTTP status code
     * @param responseHeaders a {@link java.util.Map} of HTTP response headers
     * @param responseBody the response body
     */
    public ApiException(String message, int code, Map<String, List<String>> responseHeaders, String responseBody) {
        this(message, (Throwable) null, code, responseHeaders, responseBody);
    }

    /**
     * <p>Constructor for ApiException.</p>
     *
     * @param message the error message
     * @param throwable a {@link java.lang.Throwable} object
     * @param code HTTP status code
     * @param responseHeaders a {@link java.util.Map} of HTTP response headers
     */
    public ApiException(String message, Throwable throwable, int code, Map<String, List<String>> responseHeaders) {
        this(message, throwable, code, responseHeaders, null);
    }

    /**
     * <p>Constructor for ApiException.</p>
     *
     * @param code HTTP status code
     * @param responseHeaders a {@link java.util.Map} of HTTP response headers
     * @param responseBody the response body
     */
    public ApiException(int code, Map<String, List<String>> responseHeaders, String responseBody) {
        this(\\"Response Code: \\" + code + \\" Response Body: \\" + responseBody, (Throwable) null, code, responseHeaders, responseBody);
    }

    /**
     * <p>Constructor for ApiException.</p>
     *
     * @param code HTTP status code
     * @param message a {@link java.lang.String} object
     */
    public ApiException(int code, String message) {
        super(message);
        this.code = code;
    }

    /**
     * <p>Constructor for ApiException.</p>
     *
     * @param code HTTP status code
     * @param message the error message
     * @param responseHeaders a {@link java.util.Map} of HTTP response headers
     * @param responseBody the response body
     */
    public ApiException(int code, String message, Map<String, List<String>> responseHeaders, String responseBody) {
        this(code, message);
        this.responseHeaders = responseHeaders;
        this.responseBody = responseBody;
    }

    /**
     * Get the HTTP status code.
     *
     * @return HTTP status code
     */
    public int getCode() {
        return code;
    }

    /**
     * Get the HTTP response headers.
     *
     * @return A map of list of string
     */
    public Map<String, List<String>> getResponseHeaders() {
        return responseHeaders;
    }

    /**
     * Get the HTTP response body.
     *
     * @return Response body in the form of string
     */
    public String getResponseBody() {
        return responseBody;
    }

    /**
     * Get the exception message including HTTP response data.
     *
     * @return The exception message
     */
    public String getMessage() {
        return String.format(\\"Message: %s%nHTTP response code: %s%nHTTP response body: %s%nHTTP response headers: %s\\",
                super.getMessage(), this.getCode(), this.getResponseBody(), this.getResponseHeaders());
    }
}
",
  "generated/java/src/main/java/com/generated/api/testjava/client/ApiResponse.java": "/*
 * Hello
 * A sample smithy api
 *
 * The version of the OpenAPI document: 1.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package com.generated.api.testjava.client;

import java.util.List;
import java.util.Map;

/**
 * API response returned by API call.
 */
public class ApiResponse<T> {
    final private int statusCode;
    final private Map<String, List<String>> headers;
    final private T data;

    /**
     * <p>Constructor for ApiResponse.</p>
     *
     * @param statusCode The status code of HTTP response
     * @param headers The headers of HTTP response
     */
    public ApiResponse(int statusCode, Map<String, List<String>> headers) {
        this(statusCode, headers, null);
    }

    /**
     * <p>Constructor for ApiResponse.</p>
     *
     * @param statusCode The status code of HTTP response
     * @param headers The headers of HTTP response
     * @param data The object deserialized from response bod
     */
    public ApiResponse(int statusCode, Map<String, List<String>> headers, T data) {
        this.statusCode = statusCode;
        this.headers = headers;
        this.data = data;
    }

    /**
     * <p>Get the <code>status code</code>.</p>
     *
     * @return the status code
     */
    public int getStatusCode() {
        return statusCode;
    }

    /**
     * <p>Get the <code>headers</code>.</p>
     *
     * @return a {@link java.util.Map} of headers 
     */
    public Map<String, List<String>> getHeaders() {
        return headers;
    }

    /**
     * <p>Get the <code>data</code>.</p>
     *
     * @return the data
     */
    public T getData() {
        return data;
    }
}
",
  "generated/java/src/main/java/com/generated/api/testjava/client/Configuration.java": "/*
 * Hello
 * A sample smithy api
 *
 * The version of the OpenAPI document: 1.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package com.generated.api.testjava.client;

@javax.annotation.Generated(value = \\"org.openapitools.codegen.languages.JavaClientCodegen\\")
public class Configuration {
    private static ApiClient defaultApiClient = new ApiClient();

    /**
     * Get the default API client, which would be used when creating API
     * instances without providing an API client.
     *
     * @return Default API client
     */
    public static ApiClient getDefaultApiClient() {
        return defaultApiClient;
    }

    /**
     * Set the default API client, which would be used when creating API
     * instances without providing an API client.
     *
     * @param apiClient API client
     */
    public static void setDefaultApiClient(ApiClient apiClient) {
        defaultApiClient = apiClient;
    }
}
",
  "generated/java/src/main/java/com/generated/api/testjava/client/GzipRequestInterceptor.java": "/*
 * Hello
 * A sample smithy api
 *
 * The version of the OpenAPI document: 1.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package com.generated.api.testjava.client;

import okhttp3.*;
import okio.Buffer;
import okio.BufferedSink;
import okio.GzipSink;
import okio.Okio;

import java.io.IOException;

/**
 * Encodes request bodies using gzip.
 *
 * Taken from https://github.com/square/okhttp/issues/350
 */
class GzipRequestInterceptor implements Interceptor {
    @Override
    public Response intercept(Chain chain) throws IOException {
        Request originalRequest = chain.request();
        if (originalRequest.body() == null || originalRequest.header(\\"Content-Encoding\\") != null) {
            return chain.proceed(originalRequest);
        }

        Request compressedRequest = originalRequest.newBuilder()
                                                   .header(\\"Content-Encoding\\", \\"gzip\\")
                                                   .method(originalRequest.method(), forceContentLength(gzip(originalRequest.body())))
                                                   .build();
        return chain.proceed(compressedRequest);
    }

    private RequestBody forceContentLength(final RequestBody requestBody) throws IOException {
        final Buffer buffer = new Buffer();
        requestBody.writeTo(buffer);
        return new RequestBody() {
            @Override
            public MediaType contentType() {
                return requestBody.contentType();
            }

            @Override
            public long contentLength() {
                return buffer.size();
            }

            @Override
            public void writeTo(BufferedSink sink) throws IOException {
                sink.write(buffer.snapshot());
            }
        };
    }

    private RequestBody gzip(final RequestBody body) {
        return new RequestBody() {
            @Override
            public MediaType contentType() {
                return body.contentType();
            }

            @Override
            public long contentLength() {
                return -1; // We don't know the compressed length in advance!
            }

            @Override
            public void writeTo(BufferedSink sink) throws IOException {
                BufferedSink gzipSink = Okio.buffer(new GzipSink(sink));
                body.writeTo(gzipSink);
                gzipSink.close();
            }
        };
    }
}
",
  "generated/java/src/main/java/com/generated/api/testjava/client/JSON.java": "/*
 * Hello
 * A sample smithy api
 *
 * The version of the OpenAPI document: 1.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package com.generated.api.testjava.client;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonParseException;
import com.google.gson.TypeAdapter;
import com.google.gson.internal.bind.util.ISO8601Utils;
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonWriter;
import com.google.gson.JsonElement;
import io.gsonfire.GsonFireBuilder;
import io.gsonfire.TypeSelector;

import okio.ByteString;

import java.io.IOException;
import java.io.StringReader;
import java.lang.reflect.Type;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.ParsePosition;
import java.time.LocalDate;
import java.time.OffsetDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
import java.util.Locale;
import java.util.Map;
import java.util.HashMap;

/*
 * A JSON utility class
 *
 * NOTE: in the future, this class may be converted to static, which may break
 *       backward-compatibility
 */
public class JSON {
    private static Gson gson;
    private static boolean isLenientOnJson = false;
    private static DateTypeAdapter dateTypeAdapter = new DateTypeAdapter();
    private static SqlDateTypeAdapter sqlDateTypeAdapter = new SqlDateTypeAdapter();
    private static OffsetDateTimeTypeAdapter offsetDateTimeTypeAdapter = new OffsetDateTimeTypeAdapter();
    private static LocalDateTypeAdapter localDateTypeAdapter = new LocalDateTypeAdapter();
    private static ByteArrayAdapter byteArrayAdapter = new ByteArrayAdapter();

    @SuppressWarnings(\\"unchecked\\")
    public static GsonBuilder createGson() {
        GsonFireBuilder fireBuilder = new GsonFireBuilder()
        ;
        GsonBuilder builder = fireBuilder.createGsonBuilder();
        return builder;
    }

    private static String getDiscriminatorValue(JsonElement readElement, String discriminatorField) {
        JsonElement element = readElement.getAsJsonObject().get(discriminatorField);
        if (null == element) {
            throw new IllegalArgumentException(\\"missing discriminator field: <\\" + discriminatorField + \\">\\");
        }
        return element.getAsString();
    }

    /**
     * Returns the Java class that implements the OpenAPI schema for the specified discriminator value.
     *
     * @param classByDiscriminatorValue The map of discriminator values to Java classes.
     * @param discriminatorValue The value of the OpenAPI discriminator in the input data.
     * @return The Java class that implements the OpenAPI schema
     */
    private static Class getClassByDiscriminator(Map classByDiscriminatorValue, String discriminatorValue) {
        Class clazz = (Class) classByDiscriminatorValue.get(discriminatorValue);
        if (null == clazz) {
            throw new IllegalArgumentException(\\"cannot determine model class of name: <\\" + discriminatorValue + \\">\\");
        }
        return clazz;
    }

    {
        GsonBuilder gsonBuilder = createGson();
        gsonBuilder.registerTypeAdapter(Date.class, dateTypeAdapter);
        gsonBuilder.registerTypeAdapter(java.sql.Date.class, sqlDateTypeAdapter);
        gsonBuilder.registerTypeAdapter(OffsetDateTime.class, offsetDateTimeTypeAdapter);
        gsonBuilder.registerTypeAdapter(LocalDate.class, localDateTypeAdapter);
        gsonBuilder.registerTypeAdapter(byte[].class, byteArrayAdapter);
        gsonBuilder.registerTypeAdapterFactory(new com.generated.api.testjava.client.model.ApiErrorResponseContent.CustomTypeAdapterFactory());
        gsonBuilder.registerTypeAdapterFactory(new com.generated.api.testjava.client.model.SayHelloResponseContent.CustomTypeAdapterFactory());
        gson = gsonBuilder.create();
    }

    /**
     * Get Gson.
     *
     * @return Gson
     */
    public static Gson getGson() {
        return gson;
    }

    /**
     * Set Gson.
     *
     * @param gson Gson
     */
    public static void setGson(Gson gson) {
        JSON.gson = gson;
    }

    public static void setLenientOnJson(boolean lenientOnJson) {
        isLenientOnJson = lenientOnJson;
    }

    /**
     * Serialize the given Java object into JSON string.
     *
     * @param obj Object
     * @return String representation of the JSON
     */
    public static String serialize(Object obj) {
        return gson.toJson(obj);
    }

    /**
     * Deserialize the given JSON string to Java object.
     *
     * @param <T>        Type
     * @param body       The JSON string
     * @param returnType The type to deserialize into
     * @return The deserialized Java object
     */
    @SuppressWarnings(\\"unchecked\\")
    public static <T> T deserialize(String body, Type returnType) {
        try {
            if (isLenientOnJson) {
                JsonReader jsonReader = new JsonReader(new StringReader(body));
                // see https://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/com/google/gson/stream/JsonReader.html#setLenient(boolean)
                jsonReader.setLenient(true);
                return gson.fromJson(jsonReader, returnType);
            } else {
                return gson.fromJson(body, returnType);
            }
        } catch (JsonParseException e) {
            // Fallback processing when failed to parse JSON form response body:
            // return the response body string directly for the String return type;
            if (returnType.equals(String.class)) {
                return (T) body;
            } else {
                throw (e);
            }
        }
    }

    /**
     * Gson TypeAdapter for Byte Array type
     */
    public static class ByteArrayAdapter extends TypeAdapter<byte[]> {

        @Override
        public void write(JsonWriter out, byte[] value) throws IOException {
            if (value == null) {
                out.nullValue();
            } else {
                out.value(ByteString.of(value).base64());
            }
        }

        @Override
        public byte[] read(JsonReader in) throws IOException {
            switch (in.peek()) {
                case NULL:
                    in.nextNull();
                    return null;
                default:
                    String bytesAsBase64 = in.nextString();
                    ByteString byteString = ByteString.decodeBase64(bytesAsBase64);
                    return byteString.toByteArray();
            }
        }
    }

    /**
     * Gson TypeAdapter for JSR310 OffsetDateTime type
     */
    public static class OffsetDateTimeTypeAdapter extends TypeAdapter<OffsetDateTime> {

        private DateTimeFormatter formatter;

        public OffsetDateTimeTypeAdapter() {
            this(DateTimeFormatter.ISO_OFFSET_DATE_TIME);
        }

        public OffsetDateTimeTypeAdapter(DateTimeFormatter formatter) {
            this.formatter = formatter;
        }

        public void setFormat(DateTimeFormatter dateFormat) {
            this.formatter = dateFormat;
        }

        @Override
        public void write(JsonWriter out, OffsetDateTime date) throws IOException {
            if (date == null) {
                out.nullValue();
            } else {
                out.value(formatter.format(date));
            }
        }

        @Override
        public OffsetDateTime read(JsonReader in) throws IOException {
            switch (in.peek()) {
                case NULL:
                    in.nextNull();
                    return null;
                default:
                    String date = in.nextString();
                    if (date.endsWith(\\"+0000\\")) {
                        date = date.substring(0, date.length()-5) + \\"Z\\";
                    }
                    return OffsetDateTime.parse(date, formatter);
            }
        }
    }

    /**
     * Gson TypeAdapter for JSR310 LocalDate type
     */
    public static class LocalDateTypeAdapter extends TypeAdapter<LocalDate> {

        private DateTimeFormatter formatter;

        public LocalDateTypeAdapter() {
            this(DateTimeFormatter.ISO_LOCAL_DATE);
        }

        public LocalDateTypeAdapter(DateTimeFormatter formatter) {
            this.formatter = formatter;
        }

        public void setFormat(DateTimeFormatter dateFormat) {
            this.formatter = dateFormat;
        }

        @Override
        public void write(JsonWriter out, LocalDate date) throws IOException {
            if (date == null) {
                out.nullValue();
            } else {
                out.value(formatter.format(date));
            }
        }

        @Override
        public LocalDate read(JsonReader in) throws IOException {
            switch (in.peek()) {
                case NULL:
                    in.nextNull();
                    return null;
                default:
                    String date = in.nextString();
                    return LocalDate.parse(date, formatter);
            }
        }
    }

    public static void setOffsetDateTimeFormat(DateTimeFormatter dateFormat) {
        offsetDateTimeTypeAdapter.setFormat(dateFormat);
    }

    public static void setLocalDateFormat(DateTimeFormatter dateFormat) {
        localDateTypeAdapter.setFormat(dateFormat);
    }

    /**
     * Gson TypeAdapter for java.sql.Date type
     * If the dateFormat is null, a simple \\"yyyy-MM-dd\\" format will be used
     * (more efficient than SimpleDateFormat).
     */
    public static class SqlDateTypeAdapter extends TypeAdapter<java.sql.Date> {

        private DateFormat dateFormat;

        public SqlDateTypeAdapter() {}

        public SqlDateTypeAdapter(DateFormat dateFormat) {
            this.dateFormat = dateFormat;
        }

        public void setFormat(DateFormat dateFormat) {
            this.dateFormat = dateFormat;
        }

        @Override
        public void write(JsonWriter out, java.sql.Date date) throws IOException {
            if (date == null) {
                out.nullValue();
            } else {
                String value;
                if (dateFormat != null) {
                    value = dateFormat.format(date);
                } else {
                    value = date.toString();
                }
                out.value(value);
            }
        }

        @Override
        public java.sql.Date read(JsonReader in) throws IOException {
            switch (in.peek()) {
                case NULL:
                    in.nextNull();
                    return null;
                default:
                    String date = in.nextString();
                    try {
                        if (dateFormat != null) {
                            return new java.sql.Date(dateFormat.parse(date).getTime());
                        }
                        return new java.sql.Date(ISO8601Utils.parse(date, new ParsePosition(0)).getTime());
                    } catch (ParseException e) {
                        throw new JsonParseException(e);
                    }
            }
        }
    }

    /**
     * Gson TypeAdapter for java.util.Date type
     * If the dateFormat is null, ISO8601Utils will be used.
     */
    public static class DateTypeAdapter extends TypeAdapter<Date> {

        private DateFormat dateFormat;

        public DateTypeAdapter() {}

        public DateTypeAdapter(DateFormat dateFormat) {
            this.dateFormat = dateFormat;
        }

        public void setFormat(DateFormat dateFormat) {
            this.dateFormat = dateFormat;
        }

        @Override
        public void write(JsonWriter out, Date date) throws IOException {
            if (date == null) {
                out.nullValue();
            } else {
                String value;
                if (dateFormat != null) {
                    value = dateFormat.format(date);
                } else {
                    value = ISO8601Utils.format(date, true);
                }
                out.value(value);
            }
        }

        @Override
        public Date read(JsonReader in) throws IOException {
            try {
                switch (in.peek()) {
                    case NULL:
                        in.nextNull();
                        return null;
                    default:
                        String date = in.nextString();
                        try {
                            if (dateFormat != null) {
                                return dateFormat.parse(date);
                            }
                            return ISO8601Utils.parse(date, new ParsePosition(0));
                        } catch (ParseException e) {
                            throw new JsonParseException(e);
                        }
                }
            } catch (IllegalArgumentException e) {
                throw new JsonParseException(e);
            }
        }
    }

    public static void setDateFormat(DateFormat dateFormat) {
        dateTypeAdapter.setFormat(dateFormat);
    }

    public static void setSqlDateFormat(DateFormat dateFormat) {
        sqlDateTypeAdapter.setFormat(dateFormat);
    }
}
",
  "generated/java/src/main/java/com/generated/api/testjava/client/Pair.java": "/*
 * Hello
 * A sample smithy api
 *
 * The version of the OpenAPI document: 1.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package com.generated.api.testjava.client;

@javax.annotation.Generated(value = \\"org.openapitools.codegen.languages.JavaClientCodegen\\")
public class Pair {
    private String name = \\"\\";
    private String value = \\"\\";

    public Pair (String name, String value) {
        setName(name);
        setValue(value);
    }

    private void setName(String name) {
        if (!isValidString(name)) {
            return;
        }

        this.name = name;
    }

    private void setValue(String value) {
        if (!isValidString(value)) {
            return;
        }

        this.value = value;
    }

    public String getName() {
        return this.name;
    }

    public String getValue() {
        return this.value;
    }

    private boolean isValidString(String arg) {
        if (arg == null) {
            return false;
        }

        return true;
    }
}
",
  "generated/java/src/main/java/com/generated/api/testjava/client/ProgressRequestBody.java": "/*
 * Hello
 * A sample smithy api
 *
 * The version of the OpenAPI document: 1.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package com.generated.api.testjava.client;

import okhttp3.MediaType;
import okhttp3.RequestBody;

import java.io.IOException;

import okio.Buffer;
import okio.BufferedSink;
import okio.ForwardingSink;
import okio.Okio;
import okio.Sink;

public class ProgressRequestBody extends RequestBody {

    private final RequestBody requestBody;

    private final ApiCallback callback;

    public ProgressRequestBody(RequestBody requestBody, ApiCallback callback) {
        this.requestBody = requestBody;
        this.callback = callback;
    }

    @Override
    public MediaType contentType() {
        return requestBody.contentType();
    }

    @Override
    public long contentLength() throws IOException {
        return requestBody.contentLength();
    }

    @Override
    public void writeTo(BufferedSink sink) throws IOException {
        BufferedSink bufferedSink = Okio.buffer(sink(sink));
        requestBody.writeTo(bufferedSink);
        bufferedSink.flush();
    }

    private Sink sink(Sink sink) {
        return new ForwardingSink(sink) {

            long bytesWritten = 0L;
            long contentLength = 0L;

            @Override
            public void write(Buffer source, long byteCount) throws IOException {
                super.write(source, byteCount);
                if (contentLength == 0) {
                    contentLength = contentLength();
                }

                bytesWritten += byteCount;
                callback.onUploadProgress(bytesWritten, contentLength, bytesWritten == contentLength);
            }
        };
    }
}
",
  "generated/java/src/main/java/com/generated/api/testjava/client/ProgressResponseBody.java": "/*
 * Hello
 * A sample smithy api
 *
 * The version of the OpenAPI document: 1.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package com.generated.api.testjava.client;

import okhttp3.MediaType;
import okhttp3.ResponseBody;

import java.io.IOException;

import okio.Buffer;
import okio.BufferedSource;
import okio.ForwardingSource;
import okio.Okio;
import okio.Source;

public class ProgressResponseBody extends ResponseBody {

    private final ResponseBody responseBody;
    private final ApiCallback callback;
    private BufferedSource bufferedSource;

    public ProgressResponseBody(ResponseBody responseBody, ApiCallback callback) {
        this.responseBody = responseBody;
        this.callback = callback;
    }

    @Override
    public MediaType contentType() {
        return responseBody.contentType();
    }

    @Override
    public long contentLength() {
        return responseBody.contentLength();
    }

    @Override
    public BufferedSource source() {
        if (bufferedSource == null) {
            bufferedSource = Okio.buffer(source(responseBody.source()));
        }
        return bufferedSource;
    }

    private Source source(Source source) {
        return new ForwardingSource(source) {
            long totalBytesRead = 0L;

            @Override
            public long read(Buffer sink, long byteCount) throws IOException {
                long bytesRead = super.read(sink, byteCount);
                // read() returns the number of bytes read, or -1 if this source is exhausted.
                totalBytesRead += bytesRead != -1 ? bytesRead : 0;
                callback.onDownloadProgress(totalBytesRead, responseBody.contentLength(), bytesRead == -1);
                return bytesRead;
            }
        };
    }
}
",
  "generated/java/src/main/java/com/generated/api/testjava/client/ServerConfiguration.java": "package com.generated.api.testjava.client;

import java.util.Map;

/**
 * Representing a Server configuration.
 */
public class ServerConfiguration {
    public String URL;
    public String description;
    public Map<String, ServerVariable> variables;

    /**
     * @param URL A URL to the target host.
     * @param description A description of the host designated by the URL.
     * @param variables A map between a variable name and its value. The value is used for substitution in the server's URL template.
     */
    public ServerConfiguration(String URL, String description, Map<String, ServerVariable> variables) {
        this.URL = URL;
        this.description = description;
        this.variables = variables;
    }

    /**
     * Format URL template using given variables.
     *
     * @param variables A map between a variable name and its value.
     * @return Formatted URL.
     */
    public String URL(Map<String, String> variables) {
        String url = this.URL;

        // go through variables and replace placeholders
        for (Map.Entry<String, ServerVariable> variable: this.variables.entrySet()) {
            String name = variable.getKey();
            ServerVariable serverVariable = variable.getValue();
            String value = serverVariable.defaultValue;

            if (variables != null && variables.containsKey(name)) {
                value = variables.get(name);
                if (serverVariable.enumValues.size() > 0 && !serverVariable.enumValues.contains(value)) {
                    throw new IllegalArgumentException(\\"The variable \\" + name + \\" in the server URL has invalid value \\" + value + \\".\\");
                }
            }
            url = url.replace(\\"{\\" + name + \\"}\\", value);
        }
        return url;
    }

    /**
     * Format URL template using default server variables.
     *
     * @return Formatted URL.
     */
    public String URL() {
        return URL(null);
    }
}
",
  "generated/java/src/main/java/com/generated/api/testjava/client/ServerVariable.java": "package com.generated.api.testjava.client;

import java.util.HashSet;

/**
 * Representing a Server Variable for server URL template substitution.
 */
public class ServerVariable {
    public String description;
    public String defaultValue;
    public HashSet<String> enumValues = null;

    /**
     * @param description A description for the server variable.
     * @param defaultValue The default value to use for substitution.
     * @param enumValues An enumeration of string values to be used if the substitution options are from a limited set.
     */
    public ServerVariable(String description, String defaultValue, HashSet<String> enumValues) {
        this.description = description;
        this.defaultValue = defaultValue;
        this.enumValues = enumValues;
    }
}
",
  "generated/java/src/main/java/com/generated/api/testjava/client/StringUtil.java": "/*
 * Hello
 * A sample smithy api
 *
 * The version of the OpenAPI document: 1.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package com.generated.api.testjava.client;

import java.util.Collection;
import java.util.Iterator;

@javax.annotation.Generated(value = \\"org.openapitools.codegen.languages.JavaClientCodegen\\")
public class StringUtil {
  /**
   * Check if the given array contains the given value (with case-insensitive comparison).
   *
   * @param array The array
   * @param value The value to search
   * @return true if the array contains the value
   */
  public static boolean containsIgnoreCase(String[] array, String value) {
    for (String str : array) {
      if (value == null && str == null) {
        return true;
      }
      if (value != null && value.equalsIgnoreCase(str)) {
        return true;
      }
    }
    return false;
  }

  /**
   * Join an array of strings with the given separator.
   * <p>
   * Note: This might be replaced by utility method from commons-lang or guava someday
   * if one of those libraries is added as dependency.
   * </p>
   *
   * @param array     The array of strings
   * @param separator The separator
   * @return the resulting string
   */
  public static String join(String[] array, String separator) {
    int len = array.length;
    if (len == 0) {
      return \\"\\";
    }

    StringBuilder out = new StringBuilder();
    out.append(array[0]);
    for (int i = 1; i < len; i++) {
      out.append(separator).append(array[i]);
    }
    return out.toString();
  }

  /**
   * Join a list of strings with the given separator.
   *
   * @param list      The list of strings
   * @param separator The separator
   * @return the resulting string
   */
  public static String join(Collection<String> list, String separator) {
    Iterator<String> iterator = list.iterator();
    StringBuilder out = new StringBuilder();
    if (iterator.hasNext()) {
      out.append(iterator.next());
    }
    while (iterator.hasNext()) {
      out.append(separator).append(iterator.next());
    }
    return out.toString();
  }
}
",
  "generated/java/src/main/java/com/generated/api/testjava/client/api/DefaultApi.java": "/*
 * Hello
 * A sample smithy api
 *
 * The version of the OpenAPI document: 1.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package com.generated.api.testjava.client.api;

import com.generated.api.testjava.client.ApiCallback;
import com.generated.api.testjava.client.ApiClient;
import com.generated.api.testjava.client.ApiException;
import com.generated.api.testjava.client.ApiResponse;
import com.generated.api.testjava.client.Configuration;
import com.generated.api.testjava.client.Pair;
import com.generated.api.testjava.client.ProgressRequestBody;
import com.generated.api.testjava.client.ProgressResponseBody;

import com.google.gson.reflect.TypeToken;

import java.io.IOException;


import com.generated.api.testjava.client.model.ApiErrorResponseContent;
import com.generated.api.testjava.client.model.SayHelloResponseContent;

import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.ws.rs.core.GenericType;

public class DefaultApi {
    private ApiClient localVarApiClient;
    private int localHostIndex;
    private String localCustomBaseUrl;

    public DefaultApi() {
        this(Configuration.getDefaultApiClient());
    }

    public DefaultApi(ApiClient apiClient) {
        this.localVarApiClient = apiClient;
    }

    public ApiClient getApiClient() {
        return localVarApiClient;
    }

    public void setApiClient(ApiClient apiClient) {
        this.localVarApiClient = apiClient;
    }

    public int getHostIndex() {
        return localHostIndex;
    }

    public void setHostIndex(int hostIndex) {
        this.localHostIndex = hostIndex;
    }

    public String getCustomBaseUrl() {
        return localCustomBaseUrl;
    }

    public void setCustomBaseUrl(String customBaseUrl) {
        this.localCustomBaseUrl = customBaseUrl;
    }

    private okhttp3.Call sayHelloCall(String name, final ApiCallback _callback) throws ApiException {
        String basePath = null;
        // Operation Servers
        String[] localBasePaths = new String[] {  };

        // Determine Base Path to Use
        if (localCustomBaseUrl != null){
            basePath = localCustomBaseUrl;
        } else if ( localBasePaths.length > 0 ) {
            basePath = localBasePaths[localHostIndex];
        } else {
            basePath = null;
        }

        Object localVarPostBody = null;

        // create path and map variables
        String localVarPath = \\"/hello\\";

        List<Pair> localVarQueryParams = new ArrayList<Pair>();
        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
        Map<String, String> localVarCookieParams = new HashMap<String, String>();
        Map<String, Object> localVarFormParams = new HashMap<String, Object>();

        if (name != null) {
            localVarQueryParams.addAll(localVarApiClient.parameterToPair(\\"name\\", name));
        }

        final String[] localVarAccepts = {
            \\"application/json\\"
        };
        final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
        if (localVarAccept != null) {
            localVarHeaderParams.put(\\"Accept\\", localVarAccept);
        }

        final String[] localVarContentTypes = {
        };
        final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
        if (localVarContentType != null) {
            localVarHeaderParams.put(\\"Content-Type\\", localVarContentType);
        }

        String[] localVarAuthNames = new String[] {  };
        return localVarApiClient.buildCall(basePath, localVarPath, \\"GET\\", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
    }

    @SuppressWarnings(\\"rawtypes\\")
    private okhttp3.Call sayHelloValidateBeforeCall(String name, final ApiCallback _callback) throws ApiException {
        // verify the required parameter 'name' is set
        if (name == null) {
            throw new ApiException(\\"Missing the required parameter 'name' when calling sayHello(Async)\\");
        }

        return sayHelloCall(name, _callback);

    }


    private ApiResponse<SayHelloResponseContent> sayHelloWithHttpInfo(String name) throws ApiException {
        okhttp3.Call localVarCall = sayHelloValidateBeforeCall(name, null);
        Type localVarReturnType = new TypeToken<SayHelloResponseContent>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    private okhttp3.Call sayHelloAsync(String name, final ApiCallback<SayHelloResponseContent> _callback) throws ApiException {

        okhttp3.Call localVarCall = sayHelloValidateBeforeCall(name, _callback);
        Type localVarReturnType = new TypeToken<SayHelloResponseContent>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }

    public class APIsayHelloRequest {
        private final String name;

        private APIsayHelloRequest(String name) {
            this.name = name;
        }

        /**
         * Build call for sayHello
         * @param _callback ApiCallback API callback
         * @return Call to execute
         * @throws ApiException If fail to serialize the request body object
         * @http.response.details
         <table summary=\\"Response Details\\" border=\\"1\\">
            <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
            <tr><td> 200 </td><td> SayHello 200 response </td><td>  -  </td></tr>
            <tr><td> 400 </td><td> ApiError 400 response </td><td>  -  </td></tr>
         </table>
         */
        public okhttp3.Call buildCall(final ApiCallback _callback) throws ApiException {
            return sayHelloCall(name, _callback);
        }

        /**
         * Execute sayHello request
         * @return SayHelloResponseContent
         * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
         * @http.response.details
         <table summary=\\"Response Details\\" border=\\"1\\">
            <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
            <tr><td> 200 </td><td> SayHello 200 response </td><td>  -  </td></tr>
            <tr><td> 400 </td><td> ApiError 400 response </td><td>  -  </td></tr>
         </table>
         */
        public SayHelloResponseContent execute() throws ApiException {
            ApiResponse<SayHelloResponseContent> localVarResp = sayHelloWithHttpInfo(name);
            return localVarResp.getData();
        }

        /**
         * Execute sayHello request with HTTP info returned
         * @return ApiResponse&lt;SayHelloResponseContent&gt;
         * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
         * @http.response.details
         <table summary=\\"Response Details\\" border=\\"1\\">
            <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
            <tr><td> 200 </td><td> SayHello 200 response </td><td>  -  </td></tr>
            <tr><td> 400 </td><td> ApiError 400 response </td><td>  -  </td></tr>
         </table>
         */
        public ApiResponse<SayHelloResponseContent> executeWithHttpInfo() throws ApiException {
            return sayHelloWithHttpInfo(name);
        }

        /**
         * Execute sayHello request (asynchronously)
         * @param _callback The callback to be executed when the API call finishes
         * @return The request call
         * @throws ApiException If fail to process the API call, e.g. serializing the request body object
         * @http.response.details
         <table summary=\\"Response Details\\" border=\\"1\\">
            <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
            <tr><td> 200 </td><td> SayHello 200 response </td><td>  -  </td></tr>
            <tr><td> 400 </td><td> ApiError 400 response </td><td>  -  </td></tr>
         </table>
         */
        public okhttp3.Call executeAsync(final ApiCallback<SayHelloResponseContent> _callback) throws ApiException {
            return sayHelloAsync(name, _callback);
        }
    }

    /**
     * 
     * 
     * @param name  (required)
     * @return APIsayHelloRequest
     * @http.response.details
     <table summary=\\"Response Details\\" border=\\"1\\">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 200 </td><td> SayHello 200 response </td><td>  -  </td></tr>
        <tr><td> 400 </td><td> ApiError 400 response </td><td>  -  </td></tr>
     </table>
     */
    public APIsayHelloRequest sayHello(String name) {
        return new APIsayHelloRequest(name);
    }
}
",
  "generated/java/src/main/java/com/generated/api/testjava/client/api/DefaultApi/Handlers.java": "package com.generated.api.testjava.client.api;

import com.generated.api.testjava.client.model.*;

import java.util.Arrays;
import java.util.Optional;
import java.util.Map;
import java.util.HashMap;
import java.util.List;
import java.util.ArrayList;
import java.util.Collections;
import java.util.stream.Collectors;
import java.io.UnsupportedEncodingException;
import java.io.IOException;
import java.net.URLDecoder;
import java.nio.charset.StandardCharsets;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent;
import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyResponseEvent;

import com.generated.api.testjava.client.model.ApiErrorResponseContent;
import com.generated.api.testjava.client.model.SayHelloResponseContent;

import com.generated.api.testjava.client.JSON;

@javax.annotation.Generated(value = \\"org.openapitools.codegen.languages.JavaClientCodegen\\")
public class Handlers {

    static {
        // JSON has a static instance of Gson which is instantiated lazily the first time it is initialised.
        // Create an instance here to ensure that the static Gson instance is always available.
        new JSON();
    }

    private static String decodeParameter(final String parameter) {
        try {
            return URLDecoder.decode(parameter, StandardCharsets.UTF_8.name());
        } catch (UnsupportedEncodingException e) {
            throw new RuntimeException(e);
        }
    }

    private static Map<String, String> decodeRequestParameters(Map<String, String> parameters) {
        Map<String, String> decodedParameters = new HashMap<>();
        for(Map.Entry<String, String> parameter : parameters.entrySet()) {
            decodedParameters.put(parameter.getKey(), decodeParameter(parameter.getValue()));
        }
        return decodedParameters;
    }

    private static Map<String, List<String>> decodeRequestArrayParameters(Map<String, List<String>> parameters) {
        Map<String, List<String>> decodedParameters = new HashMap<>();
        for(Map.Entry<String, List<String>> parameter : parameters.entrySet()) {
            decodedParameters.put(parameter.getKey(), parameter.getValue().stream().map(Handlers::decodeParameter).collect(Collectors.toList()));
        }
        return decodedParameters;
    }

    private static <K, V> void putAllFromNullableMap(Map<K, V> source, Map<K, V> destination) {
        if (source != null) {
            destination.putAll(source);
        }
    }

    private static String concatMethodAndPath(final String method, final String path) {
        return String.format(\\"%s||%s\\", method.toLowerCase(), path);
    }

    private static <T, I> List<Interceptor<I>> getAnnotationInterceptors(Class<T> clazz) {
        // Support specifying simple interceptors via the @Interceptors({ MyInterceptor.class, MyOtherInterceptor.class }) format
        return clazz.isAnnotationPresent(Interceptors.class)
                ? Arrays.stream(clazz.getAnnotation(Interceptors.class).value()).map(c -> {
            try {
                return (Interceptor<I>) c.getDeclaredConstructor().newInstance();
            } catch (Exception e) {
                throw new RuntimeException(String.format(
                        \\"Cannot create instance of interceptor %s. Please ensure it has a public constructor \\" +
                                \\"with no arguments, or override the getInterceptors method instead of using the annotation\\", c.getSimpleName()), e);
            }
        }).collect(Collectors.toList())
                : new ArrayList<>();
    }

    /**
     * Represents an HTTP response from an api operation
     */
    public static interface Response {
        /**
         * Returns the response body
         */
        String getBody();
        /**
         * Returns the response status code
         */
        int getStatusCode();
        /**
         * Returns the response headers
         */
        Map<String, String> getHeaders();
    }

    @lombok.experimental.SuperBuilder
    @lombok.AllArgsConstructor
    @lombok.Getter
    public static class ApiResponse implements Response {
        private String body;
        private int statusCode;
        private Map<String, String> headers;
    }

    /**
     * Interceptors can perform generic operations on requests and/or responses, optionally delegating to the remainder
     * of the request chain.
     */
    public static interface Interceptor<TInput> {
        /**
         * Handle a request. Usually the response from \`input.getChain().next(input)\` is returned to delegate to the
         * remainder of the chain, however you may wish to return an alternative Response.
         */
        Response handle(ChainedRequestInput<TInput> input);
    }

    /**
     * Use this annotation to add interceptors to the request handler. Interceptors used in the annotation must have a
     * constructor with no arguments.
     */
    @Retention(RetentionPolicy.RUNTIME)
    @Target(ElementType.TYPE)
    public static @interface Interceptors {
        public Class<? extends Interceptor>[] value() default {};
    }

    /**
     * A handler chain represents a series of interceptors, which may or may not delegate to following interceptors.
     * The lambda handler is always the last method in the chain.
     */
    public static interface HandlerChain<TInput> {
        /**
         * Delegate to the remainder of the handler chain
         */
        Response next(ChainedRequestInput<TInput> input);
    }

    /**
     * Defines the input for a request.
     */
    public static interface RequestInput<TInput> {
        /**
         * The raw event from API Gateway
         */
        APIGatewayProxyRequestEvent getEvent();
        /**
         * Lambda execution context
         */
        Context getContext();
        /**
         * Demarshalled request input
         */
        TInput getInput();
        /**
         * Storage for arbitrary interceptor context for the lifetime of the request. Set and get values to pass state
         * between interceptors or to the final handler.
         */
        Map<String, Object> getInterceptorContext();
    }

    /**
     * Reqeust input with a handler chain
     */
    public static interface ChainedRequestInput<TInput> extends RequestInput<TInput> {
        /**
         * The chain for handling requests
         */
        HandlerChain<TInput> getChain();
    }

    private static <TInput> HandlerChain<TInput> buildHandlerChain(final List<Interceptor<TInput>> interceptors, final HandlerChain<TInput> baseChain) {
        if (interceptors.isEmpty()) {
            return baseChain;
        } else {
            Interceptor<TInput> interceptor = interceptors.get(0);
            HandlerChain<TInput> remainingChain = buildHandlerChain(interceptors.subList(1, interceptors.size()), baseChain);
            return new HandlerChain<TInput>() {
                @Override
                public Response next(ChainedRequestInput<TInput> input) {
                    return interceptor.handle(new ChainedRequestInput<TInput>() {
                        @Override
                        public APIGatewayProxyRequestEvent getEvent() {
                            return input.getEvent();
                        }

                        @Override
                        public Context getContext() {
                            return input.getContext();
                        }

                        @Override
                        public TInput getInput() {
                            return input.getInput();
                        }

                        @Override
                        public HandlerChain<TInput> getChain() {
                            return remainingChain;
                        }

                        @Override
                        public Map<String, Object> getInterceptorContext() {
                            return input.getInterceptorContext();
                        }
                    });
                }
            };
        }
    }

    /**
     * Response for the sayHello operation
     */
    public static interface SayHelloResponse extends Response {}

    /**
     * Response with status code 200 for the sayHello operation
     */
    public static class SayHello200Response implements SayHelloResponse {
        private String body;
        private Map<String, String> headers;

        private SayHello200Response(final SayHelloResponseContent body, final Map<String, String> headers) {
            this.body = body.toJson();
            this.headers = headers;
        }

        @Override
        public int getStatusCode() {
            return 200;
        }

        @Override
        public String getBody() {
            return this.body;
        }

        @Override
        public Map<String, String> getHeaders() {
            return this.headers;
        }

        /**
         * Create a SayHello200Response with a body
         */
        public static SayHello200Response of(final SayHelloResponseContent body) {
            return new SayHello200Response(body, new HashMap<>());
        }

        /**
         * Create a SayHello200Response with a body and headers
         */
        public static SayHello200Response of(final SayHelloResponseContent body, final Map<String, String> headers) {
            return new SayHello200Response(body, headers);
        }
    }

    /**
     * Response with status code 400 for the sayHello operation
     */
    public static class SayHello400Response implements SayHelloResponse {
        private String body;
        private Map<String, String> headers;

        private SayHello400Response(final ApiErrorResponseContent body, final Map<String, String> headers) {
            this.body = body.toJson();
            this.headers = headers;
        }

        @Override
        public int getStatusCode() {
            return 400;
        }

        @Override
        public String getBody() {
            return this.body;
        }

        @Override
        public Map<String, String> getHeaders() {
            return this.headers;
        }

        /**
         * Create a SayHello400Response with a body
         */
        public static SayHello400Response of(final ApiErrorResponseContent body) {
            return new SayHello400Response(body, new HashMap<>());
        }

        /**
         * Create a SayHello400Response with a body and headers
         */
        public static SayHello400Response of(final ApiErrorResponseContent body, final Map<String, String> headers) {
            return new SayHello400Response(body, headers);
        }
    }

    /**
     * Single-value query and path parameters for the sayHello operation
     */
    public static class SayHelloRequestParameters {
        private String name;

        public SayHelloRequestParameters(final APIGatewayProxyRequestEvent event) {
            Map<String, String> parameters = new HashMap<>();
            putAllFromNullableMap(event.getPathParameters(), parameters);
            putAllFromNullableMap(event.getQueryStringParameters(), parameters);
            Map<String, String> decodedParameters = decodeRequestParameters(parameters);

            this.name = decodedParameters.get(\\"name\\");
        }

        public String getName() {
            return this.name;
        }
    }

    /**
     * Multi-value query parameters for the sayHello operation
     */
    public static class SayHelloRequestArrayParameters {

        public SayHelloRequestArrayParameters(final APIGatewayProxyRequestEvent event) {
            Map<String, List<String>> parameters = new HashMap<>();
            putAllFromNullableMap(event.getMultiValueQueryStringParameters(), parameters);
            Map<String, List<String>> decodedParameters = decodeRequestArrayParameters(parameters);

        }

    }

    /**
     * Input for the sayHello operation
     */
    public static class SayHelloInput {
        private SayHelloRequestParameters requestParameters;
        private SayHelloRequestArrayParameters requestArrayParameters;

        public SayHelloInput(final APIGatewayProxyRequestEvent event) {
            this.requestParameters = new SayHelloRequestParameters(event);
            this.requestArrayParameters = new SayHelloRequestArrayParameters(event);
        }

        public SayHelloRequestParameters getRequestParameters() {
            return this.requestParameters;
        }

        public SayHelloRequestArrayParameters getRequestArrayParameters() {
            return this.requestArrayParameters;
        }

    }

    /**
     * Full request input for the sayHello operation, including the raw API Gateway event
     */
    public static class SayHelloRequestInput implements RequestInput<SayHelloInput> {
        private APIGatewayProxyRequestEvent event;
        private Context context;
        private Map<String, Object> interceptorContext;
        private SayHelloInput input;

        public SayHelloRequestInput(final APIGatewayProxyRequestEvent event, final Context context, final Map<String, Object> interceptorContext, final SayHelloInput input) {
            this.event = event;
            this.context = context;
            this.interceptorContext = interceptorContext;
            this.input = input;
        }

        /**
         * Returns the typed request input, with path, query and body parameters
         */
        public SayHelloInput getInput() {
            return this.input;
        }

        /**
         * Returns the raw API Gateway event
         */
        public APIGatewayProxyRequestEvent getEvent() {
            return this.event;
        }

        /**
         * Returns the lambda context
         */
        public Context getContext() {
            return this.context;
        }

        /**
         * Returns the interceptor context, which may contain values set by request interceptors
         */
        public Map<String, Object> getInterceptorContext() {
            return this.interceptorContext;
        }
    }

    /**
     * Lambda handler wrapper for the sayHello operation
     */
    public static abstract class SayHello implements RequestHandler<APIGatewayProxyRequestEvent, APIGatewayProxyResponseEvent> {
        /**
         * Handle the request for the sayHello operation
         */
        public abstract SayHelloResponse handle(final SayHelloRequestInput request);

        /**
         * For more complex interceptors that require instantiation with parameters, you may override this method to
         * return a list of instantiated interceptors. For simple interceptors with no need for constructor arguments,
         * prefer the @Interceptors annotation.
         */
        public List<Interceptor<SayHelloInput>> getInterceptors() {
            return Collections.emptyList();
        }

        @Override
        public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent event, final Context context) {
            return this.handleRequestWithAdditionalInterceptors(event, context, new ArrayList<>());
        }

        public APIGatewayProxyResponseEvent handleRequestWithAdditionalInterceptors(final APIGatewayProxyRequestEvent event, final Context context, final List<Interceptor<SayHelloInput>> additionalInterceptors) {
            final Map<String, Object> interceptorContext = new HashMap<>();

            List<Interceptor<SayHelloInput>> interceptors = new ArrayList<>();
            interceptors.addAll(additionalInterceptors);

            List<Interceptor<SayHelloInput>> annotationInterceptors = getAnnotationInterceptors(this.getClass());

            interceptors.addAll(annotationInterceptors);
            interceptors.addAll(this.getInterceptors());

            final HandlerChain chain = buildHandlerChain(interceptors, new HandlerChain<SayHelloInput>() {
                @Override
                public Response next(ChainedRequestInput<SayHelloInput> input) {
                    return handle(new SayHelloRequestInput(input.getEvent(), input.getContext(), input.getInterceptorContext(), input.getInput()));
                }
            });

            final Response response = chain.next(new ChainedRequestInput<SayHelloInput>() {
                @Override
                public HandlerChain getChain() {
                    // The chain's next method ignores the chain given as input, and is pre-built to follow the remaining
                    // chain.
                    return null;
                }

                @Override
                public APIGatewayProxyRequestEvent getEvent() {
                    return event;
                }

                @Override
                public Context getContext() {
                    return context;
                }

                @Override
                public SayHelloInput getInput() {
                    return new SayHelloInput(event);
                }

                @Override
                public Map<String, Object> getInterceptorContext() {
                    return interceptorContext;
                }
            });

            return new APIGatewayProxyResponseEvent()
                    .withStatusCode(response.getStatusCode())
                    .withHeaders(response.getHeaders())
                    .withBody(response.getBody());
        }
    }

    public static abstract class HandlerRouter implements RequestHandler<APIGatewayProxyRequestEvent, APIGatewayProxyResponseEvent> {
        private static final String sayHelloMethodAndPath = concatMethodAndPath(\\"GET\\", \\"/hello\\");

        private final SayHello constructedSayHello;

        /**
         * This method must return your implementation of the SayHello operation
         */
        public abstract SayHello sayHello();

        private static enum Route {
            sayHelloRoute,
        }

        /**
         * Map of method and path to the route to map to
         */
        private final Map<String, Route> routes = new HashMap<>();

        public HandlerRouter() {
            this.routes.put(sayHelloMethodAndPath, Route.sayHelloRoute);
            // Handlers are all constructed in the router's constructor such that lambda behaviour remains consistent;
            // ie resources created in the constructor remain in memory between invocations.
            // https://docs.aws.amazon.com/lambda/latest/dg/java-handler.html
            this.constructedSayHello = this.sayHello();
        }

        /**
         * For more complex interceptors that require instantiation with parameters, you may override this method to
         * return a list of instantiated interceptors. For simple interceptors with no need for constructor arguments,
         * prefer the @Interceptors annotation.
         */
        public <T> List<Interceptor<T>> getInterceptors() {
            return Collections.emptyList();
        }

        @Override
        public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent event, final Context context) {
            String method = event.getRequestContext().getHttpMethod();
            String path = event.getRequestContext().getResourcePath();
            String methodAndPath = concatMethodAndPath(method, path);
            Route route = this.routes.get(methodAndPath);

            switch (route) {
                case sayHelloRoute:
                    List<Interceptor<SayHelloInput>> sayHelloInterceptors = getAnnotationInterceptors(this.getClass());
                    sayHelloInterceptors.addAll(this.getInterceptors());
                    return this.constructedSayHello.handleRequestWithAdditionalInterceptors(event, context, sayHelloInterceptors);
                default:
                    throw new RuntimeException(String.format(\\"No registered handler for method {} and path {}\\", method, path));
            }
        }
    }
}",
  "generated/java/src/main/java/com/generated/api/testjava/client/api/DefaultApi/OperationConfig.java": "package com.generated.api.testjava.client.api;

import com.generated.api.testjava.client.model.*;

import com.generated.api.testjava.client.model.ApiErrorResponseContent;
import com.generated.api.testjava.client.model.SayHelloResponseContent;

import java.util.HashMap;
import java.util.Map;

// Generic type for object \\"keyed\\" by operation names
@javax.annotation.Generated(value = \\"org.openapitools.codegen.languages.JavaClientCodegen\\")
@lombok.Builder @lombok.Getter
public class OperationConfig<T> {
    private T sayHello;

    public Map<String, T> asMap() {
        Map<String, T> map = new HashMap<>();
        map.put(\\"sayHello\\", this.sayHello);
        return map;
    }
}
",
  "generated/java/src/main/java/com/generated/api/testjava/client/api/DefaultApi/OperationLookup.java": "package com.generated.api.testjava.client.api;

import com.generated.api.testjava.client.model.*;

import com.generated.api.testjava.client.model.ApiErrorResponseContent;
import com.generated.api.testjava.client.model.SayHelloResponseContent;

import java.util.HashMap;
import java.util.Map;


// Look up path and http method for a given operation name
@javax.annotation.Generated(value = \\"org.openapitools.codegen.languages.JavaClientCodegen\\")
public class OperationLookup {
    /**
     * Returns the operation lookup information for the OpenApiGatewayLambdaApi construct
     */
    public static Map<String, Map<String, String>> getOperationLookup() {
        final Map<String, Map<String, String>> config = new HashMap<>();

        config.put(\\"sayHello\\", new HashMap<String, String>() { { put(\\"path\\", \\"/hello\\"); put(\\"method\\", \\"GET\\"); } });

        return config;
    }
}
",
  "generated/java/src/main/java/com/generated/api/testjava/client/api/DefaultApi/Operations.java": "package com.generated.api.testjava.client.api;

@javax.annotation.Generated(value = \\"org.openapitools.codegen.languages.JavaClientCodegen\\")
public class Operations {
    /**
     * Returns an OperationConfig Builder with all values populated with the given value.
     * You can override specific values on the builder if you like.
     * Make sure you call \`.build()\` at the end to construct the OperationConfig.
     */
    public static <T> OperationConfig.OperationConfigBuilder<T> all(final T value) {
        return OperationConfig.<T>builder()
                .sayHello(value)
                ;
    }
}
",
  "generated/java/src/main/java/com/generated/api/testjava/client/auth/ApiKeyAuth.java": "/*
 * Hello
 * A sample smithy api
 *
 * The version of the OpenAPI document: 1.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package com.generated.api.testjava.client.auth;

import com.generated.api.testjava.client.ApiException;
import com.generated.api.testjava.client.Pair;

import java.net.URI;
import java.util.Map;
import java.util.List;

@javax.annotation.Generated(value = \\"org.openapitools.codegen.languages.JavaClientCodegen\\")
public class ApiKeyAuth implements Authentication {
  private final String location;
  private final String paramName;

  private String apiKey;
  private String apiKeyPrefix;

  public ApiKeyAuth(String location, String paramName) {
    this.location = location;
    this.paramName = paramName;
  }

  public String getLocation() {
    return location;
  }

  public String getParamName() {
    return paramName;
  }

  public String getApiKey() {
    return apiKey;
  }

  public void setApiKey(String apiKey) {
    this.apiKey = apiKey;
  }

  public String getApiKeyPrefix() {
    return apiKeyPrefix;
  }

  public void setApiKeyPrefix(String apiKeyPrefix) {
    this.apiKeyPrefix = apiKeyPrefix;
  }

  @Override
  public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams,
                           String payload, String method, URI uri) throws ApiException {
    if (apiKey == null) {
      return;
    }
    String value;
    if (apiKeyPrefix != null) {
      value = apiKeyPrefix + \\" \\" + apiKey;
    } else {
      value = apiKey;
    }
    if (\\"query\\".equals(location)) {
      queryParams.add(new Pair(paramName, value));
    } else if (\\"header\\".equals(location)) {
      headerParams.put(paramName, value);
    } else if (\\"cookie\\".equals(location)) {
      cookieParams.put(paramName, value);
    }
  }
}
",
  "generated/java/src/main/java/com/generated/api/testjava/client/auth/Authentication.java": "/*
 * Hello
 * A sample smithy api
 *
 * The version of the OpenAPI document: 1.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package com.generated.api.testjava.client.auth;

import com.generated.api.testjava.client.Pair;
import com.generated.api.testjava.client.ApiException;

import java.net.URI;
import java.util.Map;
import java.util.List;

public interface Authentication {
    /**
     * Apply authentication settings to header and query params.
     *
     * @param queryParams List of query parameters
     * @param headerParams Map of header parameters
     * @param cookieParams Map of cookie parameters
     * @param payload HTTP request body
     * @param method HTTP method
     * @param uri URI
     * @throws ApiException if failed to update the parameters
     */
    void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams, String payload, String method, URI uri) throws ApiException;
}
",
  "generated/java/src/main/java/com/generated/api/testjava/client/auth/HttpBasicAuth.java": "/*
 * Hello
 * A sample smithy api
 *
 * The version of the OpenAPI document: 1.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package com.generated.api.testjava.client.auth;

import com.generated.api.testjava.client.Pair;
import com.generated.api.testjava.client.ApiException;

import okhttp3.Credentials;

import java.net.URI;
import java.util.Map;
import java.util.List;

import java.io.UnsupportedEncodingException;

public class HttpBasicAuth implements Authentication {
    private String username;
    private String password;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams,
                              String payload, String method, URI uri) throws ApiException {
        if (username == null && password == null) {
            return;
        }
        headerParams.put(\\"Authorization\\", Credentials.basic(
            username == null ? \\"\\" : username,
            password == null ? \\"\\" : password));
    }
}
",
  "generated/java/src/main/java/com/generated/api/testjava/client/auth/HttpBearerAuth.java": "/*
 * Hello
 * A sample smithy api
 *
 * The version of the OpenAPI document: 1.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package com.generated.api.testjava.client.auth;

import com.generated.api.testjava.client.ApiException;
import com.generated.api.testjava.client.Pair;

import java.net.URI;
import java.util.Map;
import java.util.List;

@javax.annotation.Generated(value = \\"org.openapitools.codegen.languages.JavaClientCodegen\\")
public class HttpBearerAuth implements Authentication {
  private final String scheme;
  private String bearerToken;

  public HttpBearerAuth(String scheme) {
    this.scheme = scheme;
  }

  /**
   * Gets the token, which together with the scheme, will be sent as the value of the Authorization header.
   *
   * @return The bearer token
   */
  public String getBearerToken() {
    return bearerToken;
  }

  /**
   * Sets the token, which together with the scheme, will be sent as the value of the Authorization header.
   *
   * @param bearerToken The bearer token to send in the Authorization header
   */
  public void setBearerToken(String bearerToken) {
    this.bearerToken = bearerToken;
  }

  @Override
  public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams,
                            String payload, String method, URI uri) throws ApiException {
    if (bearerToken == null) {
      return;
    }

    headerParams.put(\\"Authorization\\", (scheme != null ? upperCaseBearer(scheme) + \\" \\" : \\"\\") + bearerToken);
  }

  private static String upperCaseBearer(String scheme) {
    return (\\"bearer\\".equalsIgnoreCase(scheme)) ? \\"Bearer\\" : scheme;
  }
}
",
  "generated/java/src/main/java/com/generated/api/testjava/client/model/AbstractOpenApiSchema.java": "/*
 * Hello
 * A sample smithy api
 *
 * The version of the OpenAPI document: 1.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package com.generated.api.testjava.client.model;

import com.generated.api.testjava.client.ApiException;
import java.util.Objects;
import java.lang.reflect.Type;
import java.util.Map;
import javax.ws.rs.core.GenericType;

//import com.fasterxml.jackson.annotation.JsonValue;

/**
 * Abstract class for oneOf,anyOf schemas defined in OpenAPI spec
 */
@lombok.AllArgsConstructor @lombok.experimental.SuperBuilder
@javax.annotation.Generated(value = \\"org.openapitools.codegen.languages.JavaClientCodegen\\")
public abstract class AbstractOpenApiSchema {

    // store the actual instance of the schema/object
    private Object instance;

    // is nullable
    private Boolean isNullable;

    // schema type (e.g. oneOf, anyOf)
    private final String schemaType;

    public AbstractOpenApiSchema(String schemaType, Boolean isNullable) {
        this.schemaType = schemaType;
        this.isNullable = isNullable;
    }

    /**
     * Get the list of oneOf/anyOf composed schemas allowed to be stored in this object
     *
     * @return an instance of the actual schema/object
     */
    public abstract Map<String, GenericType> getSchemas();

    /**
     * Get the actual instance
     *
     * @return an instance of the actual schema/object
     */
    //@JsonValue
    public Object getActualInstance() {return instance;}

    /**
     * Set the actual instance
     *
     * @param instance the actual instance of the schema/object
     */
    public void setActualInstance(Object instance) {this.instance = instance;}

    /**
     * Get the instant recursively when the schemas defined in oneOf/anyof happen to be oneOf/anyOf schema as well
     *
     * @return an instance of the actual schema/object
     */
    public Object getActualInstanceRecursively() {
        return getActualInstanceRecursively(this);
    }

    private Object getActualInstanceRecursively(AbstractOpenApiSchema object) {
        if (object.getActualInstance() == null) {
            return null;
        } else if (object.getActualInstance() instanceof AbstractOpenApiSchema) {
            return getActualInstanceRecursively((AbstractOpenApiSchema)object.getActualInstance());
        } else {
            return object.getActualInstance();
        }
    }

    /**
     * Get the schema type (e.g. anyOf, oneOf)
     *
     * @return the schema type
     */
    public String getSchemaType() {
        return schemaType;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(\\"class \\").append(getClass()).append(\\" {\\\\n\\");
        sb.append(\\"    instance: \\").append(toIndentedString(instance)).append(\\"\\\\n\\");
        sb.append(\\"    isNullable: \\").append(toIndentedString(isNullable)).append(\\"\\\\n\\");
        sb.append(\\"    schemaType: \\").append(toIndentedString(schemaType)).append(\\"\\\\n\\");
        sb.append(\\"}\\");
        return sb.toString();
    }

    /**
     * Convert the given object to string with each line indented by 4 spaces
     * (except the first line).
     */
    private String toIndentedString(Object o) {
        if (o == null) {
            return \\"null\\";
        }
        return o.toString().replace(\\"\\\\n\\", \\"\\\\n    \\");
    }

    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        AbstractOpenApiSchema a = (AbstractOpenApiSchema) o;
        return Objects.equals(this.instance, a.instance) &&
            Objects.equals(this.isNullable, a.isNullable) &&
            Objects.equals(this.schemaType, a.schemaType);
    }

    @Override
    public int hashCode() {
        return Objects.hash(instance, isNullable, schemaType);
    }

    /**
     * Is nullable
     *
     * @return true if it's nullable
     */
    public Boolean isNullable() {
        if (Boolean.TRUE.equals(isNullable)) {
            return Boolean.TRUE;
        } else {
            return Boolean.FALSE;
        }
    }



}
",
  "generated/java/src/main/java/com/generated/api/testjava/client/model/ApiErrorResponseContent.java": "/*
 * Hello
 * A sample smithy api
 *
 * The version of the OpenAPI document: 1.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package com.generated.api.testjava.client.model;

import java.util.Objects;
import java.util.Arrays;
import com.google.gson.TypeAdapter;
import com.google.gson.annotations.JsonAdapter;
import com.google.gson.annotations.SerializedName;
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonWriter;
import java.io.IOException;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonArray;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParseException;
import com.google.gson.TypeAdapterFactory;
import com.google.gson.reflect.TypeToken;

import java.lang.reflect.Type;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

import com.generated.api.testjava.client.JSON;

/**
 * ApiErrorResponseContent
 */
@lombok.AllArgsConstructor @lombok.experimental.SuperBuilder
@javax.annotation.Generated(value = \\"org.openapitools.codegen.languages.JavaClientCodegen\\")
public class ApiErrorResponseContent {
  public static final String SERIALIZED_NAME_ERROR_MESSAGE = \\"errorMessage\\";
  @SerializedName(SERIALIZED_NAME_ERROR_MESSAGE)
  private String errorMessage;

  public ApiErrorResponseContent() {
  }

  public ApiErrorResponseContent errorMessage(String errorMessage) {
    
    this.errorMessage = errorMessage;
    return this;
  }

   /**
   * Get errorMessage
   * @return errorMessage
  **/
  @javax.annotation.Nonnull

  public String getErrorMessage() {
    return errorMessage;
  }


  public void setErrorMessage(String errorMessage) {
    this.errorMessage = errorMessage;
  }



  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    ApiErrorResponseContent apiErrorResponseContent = (ApiErrorResponseContent) o;
    return Objects.equals(this.errorMessage, apiErrorResponseContent.errorMessage);
  }

  @Override
  public int hashCode() {
    return Objects.hash(errorMessage);
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append(\\"class ApiErrorResponseContent {\\\\n\\");
    sb.append(\\"    errorMessage: \\").append(toIndentedString(errorMessage)).append(\\"\\\\n\\");
    sb.append(\\"}\\");
    return sb.toString();
  }

  /**
   * Convert the given object to string with each line indented by 4 spaces
   * (except the first line).
   */
  private String toIndentedString(Object o) {
    if (o == null) {
      return \\"null\\";
    }
    return o.toString().replace(\\"\\\\n\\", \\"\\\\n    \\");
  }


  public static HashSet<String> openapiFields;
  public static HashSet<String> openapiRequiredFields;

  static {
    // a set of all properties/fields (JSON key names)
    openapiFields = new HashSet<String>();
    openapiFields.add(\\"errorMessage\\");

    // a set of required properties/fields (JSON key names)
    openapiRequiredFields = new HashSet<String>();
    openapiRequiredFields.add(\\"errorMessage\\");
  }

 /**
  * Validates the JSON Object and throws an exception if issues found
  *
  * @param jsonObj JSON Object
  * @throws IOException if the JSON Object is invalid with respect to ApiErrorResponseContent
  */
  public static void validateJsonObject(JsonObject jsonObj) throws IOException {
      if (jsonObj == null) {
        if (!ApiErrorResponseContent.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null
          throw new IllegalArgumentException(String.format(\\"The required field(s) %s in ApiErrorResponseContent is not found in the empty JSON string\\", ApiErrorResponseContent.openapiRequiredFields.toString()));
        }
      }

      Set<Entry<String, JsonElement>> entries = jsonObj.entrySet();
      // check to see if the JSON string contains additional fields
      for (Entry<String, JsonElement> entry : entries) {
        if (!ApiErrorResponseContent.openapiFields.contains(entry.getKey())) {
          throw new IllegalArgumentException(String.format(\\"The field \`%s\` in the JSON string is not defined in the \`ApiErrorResponseContent\` properties. JSON: %s\\", entry.getKey(), jsonObj.toString()));
        }
      }

      // check to make sure all required properties/fields are present in the JSON string
      for (String requiredField : ApiErrorResponseContent.openapiRequiredFields) {
        if (jsonObj.get(requiredField) == null) {
          throw new IllegalArgumentException(String.format(\\"The required field \`%s\` is not found in the JSON string: %s\\", requiredField, jsonObj.toString()));
        }
      }
      if (!jsonObj.get(\\"errorMessage\\").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format(\\"Expected the field \`errorMessage\` to be a primitive type in the JSON string but got \`%s\`\\", jsonObj.get(\\"errorMessage\\").toString()));
      }
  }

  public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
    @SuppressWarnings(\\"unchecked\\")
    @Override
    public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> type) {
       if (!ApiErrorResponseContent.class.isAssignableFrom(type.getRawType())) {
         return null; // this class only serializes 'ApiErrorResponseContent' and its subtypes
       }
       final TypeAdapter<JsonElement> elementAdapter = gson.getAdapter(JsonElement.class);
       final TypeAdapter<ApiErrorResponseContent> thisAdapter
                        = gson.getDelegateAdapter(this, TypeToken.get(ApiErrorResponseContent.class));

       return (TypeAdapter<T>) new TypeAdapter<ApiErrorResponseContent>() {
           @Override
           public void write(JsonWriter out, ApiErrorResponseContent value) throws IOException {
             JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
             elementAdapter.write(out, obj);
           }

           @Override
           public ApiErrorResponseContent read(JsonReader in) throws IOException {
             JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject();
             validateJsonObject(jsonObj);
             return thisAdapter.fromJsonTree(jsonObj);
           }

       }.nullSafe();
    }
  }

 /**
  * Create an instance of ApiErrorResponseContent given an JSON string
  *
  * @param jsonString JSON string
  * @return An instance of ApiErrorResponseContent
  * @throws IOException if the JSON string is invalid with respect to ApiErrorResponseContent
  */
  public static ApiErrorResponseContent fromJson(String jsonString) throws IOException {
    return JSON.getGson().fromJson(jsonString, ApiErrorResponseContent.class);
  }

 /**
  * Convert an instance of ApiErrorResponseContent to an JSON string
  *
  * @return JSON string
  */
  public String toJson() {
    return JSON.getGson().toJson(this);
  }
}

",
  "generated/java/src/main/java/com/generated/api/testjava/client/model/SayHelloResponseContent.java": "/*
 * Hello
 * A sample smithy api
 *
 * The version of the OpenAPI document: 1.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package com.generated.api.testjava.client.model;

import java.util.Objects;
import java.util.Arrays;
import com.google.gson.TypeAdapter;
import com.google.gson.annotations.JsonAdapter;
import com.google.gson.annotations.SerializedName;
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonWriter;
import java.io.IOException;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonArray;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParseException;
import com.google.gson.TypeAdapterFactory;
import com.google.gson.reflect.TypeToken;

import java.lang.reflect.Type;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

import com.generated.api.testjava.client.JSON;

/**
 * SayHelloResponseContent
 */
@lombok.AllArgsConstructor @lombok.experimental.SuperBuilder
@javax.annotation.Generated(value = \\"org.openapitools.codegen.languages.JavaClientCodegen\\")
public class SayHelloResponseContent {
  public static final String SERIALIZED_NAME_MESSAGE = \\"message\\";
  @SerializedName(SERIALIZED_NAME_MESSAGE)
  private String message;

  public SayHelloResponseContent() {
  }

  public SayHelloResponseContent message(String message) {
    
    this.message = message;
    return this;
  }

   /**
   * Get message
   * @return message
  **/
  @javax.annotation.Nonnull

  public String getMessage() {
    return message;
  }


  public void setMessage(String message) {
    this.message = message;
  }



  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    SayHelloResponseContent sayHelloResponseContent = (SayHelloResponseContent) o;
    return Objects.equals(this.message, sayHelloResponseContent.message);
  }

  @Override
  public int hashCode() {
    return Objects.hash(message);
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append(\\"class SayHelloResponseContent {\\\\n\\");
    sb.append(\\"    message: \\").append(toIndentedString(message)).append(\\"\\\\n\\");
    sb.append(\\"}\\");
    return sb.toString();
  }

  /**
   * Convert the given object to string with each line indented by 4 spaces
   * (except the first line).
   */
  private String toIndentedString(Object o) {
    if (o == null) {
      return \\"null\\";
    }
    return o.toString().replace(\\"\\\\n\\", \\"\\\\n    \\");
  }


  public static HashSet<String> openapiFields;
  public static HashSet<String> openapiRequiredFields;

  static {
    // a set of all properties/fields (JSON key names)
    openapiFields = new HashSet<String>();
    openapiFields.add(\\"message\\");

    // a set of required properties/fields (JSON key names)
    openapiRequiredFields = new HashSet<String>();
    openapiRequiredFields.add(\\"message\\");
  }

 /**
  * Validates the JSON Object and throws an exception if issues found
  *
  * @param jsonObj JSON Object
  * @throws IOException if the JSON Object is invalid with respect to SayHelloResponseContent
  */
  public static void validateJsonObject(JsonObject jsonObj) throws IOException {
      if (jsonObj == null) {
        if (!SayHelloResponseContent.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null
          throw new IllegalArgumentException(String.format(\\"The required field(s) %s in SayHelloResponseContent is not found in the empty JSON string\\", SayHelloResponseContent.openapiRequiredFields.toString()));
        }
      }

      Set<Entry<String, JsonElement>> entries = jsonObj.entrySet();
      // check to see if the JSON string contains additional fields
      for (Entry<String, JsonElement> entry : entries) {
        if (!SayHelloResponseContent.openapiFields.contains(entry.getKey())) {
          throw new IllegalArgumentException(String.format(\\"The field \`%s\` in the JSON string is not defined in the \`SayHelloResponseContent\` properties. JSON: %s\\", entry.getKey(), jsonObj.toString()));
        }
      }

      // check to make sure all required properties/fields are present in the JSON string
      for (String requiredField : SayHelloResponseContent.openapiRequiredFields) {
        if (jsonObj.get(requiredField) == null) {
          throw new IllegalArgumentException(String.format(\\"The required field \`%s\` is not found in the JSON string: %s\\", requiredField, jsonObj.toString()));
        }
      }
      if (!jsonObj.get(\\"message\\").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format(\\"Expected the field \`message\` to be a primitive type in the JSON string but got \`%s\`\\", jsonObj.get(\\"message\\").toString()));
      }
  }

  public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
    @SuppressWarnings(\\"unchecked\\")
    @Override
    public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> type) {
       if (!SayHelloResponseContent.class.isAssignableFrom(type.getRawType())) {
         return null; // this class only serializes 'SayHelloResponseContent' and its subtypes
       }
       final TypeAdapter<JsonElement> elementAdapter = gson.getAdapter(JsonElement.class);
       final TypeAdapter<SayHelloResponseContent> thisAdapter
                        = gson.getDelegateAdapter(this, TypeToken.get(SayHelloResponseContent.class));

       return (TypeAdapter<T>) new TypeAdapter<SayHelloResponseContent>() {
           @Override
           public void write(JsonWriter out, SayHelloResponseContent value) throws IOException {
             JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
             elementAdapter.write(out, obj);
           }

           @Override
           public SayHelloResponseContent read(JsonReader in) throws IOException {
             JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject();
             validateJsonObject(jsonObj);
             return thisAdapter.fromJsonTree(jsonObj);
           }

       }.nullSafe();
    }
  }

 /**
  * Create an instance of SayHelloResponseContent given an JSON string
  *
  * @param jsonString JSON string
  * @return An instance of SayHelloResponseContent
  * @throws IOException if the JSON string is invalid with respect to SayHelloResponseContent
  */
  public static SayHelloResponseContent fromJson(String jsonString) throws IOException {
    return JSON.getGson().fromJson(jsonString, SayHelloResponseContent.class);
  }

 /**
  * Convert an instance of SayHelloResponseContent to an JSON string
  *
  * @return JSON string
  */
  public String toJson() {
    return JSON.getGson().toJson(this);
  }
}

",
  "generated/java/src/test/java/com/generated/api/testjava/client/api/DefaultApiTest.java": "/*
 * Hello
 * A sample smithy api
 *
 * The version of the OpenAPI document: 1.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package com.generated.api.testjava.client.api;

import com.generated.api.testjava.client.ApiException;
import com.generated.api.testjava.client.model.ApiErrorResponseContent;
import com.generated.api.testjava.client.model.SayHelloResponseContent;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * API tests for DefaultApi
 */
@Disabled
public class DefaultApiTest {

    private final DefaultApi api = new DefaultApi();

    /**
     * @throws ApiException if the Api call fails
     */
    @Test
    public void sayHelloTest() throws ApiException {
        String name = null;
        SayHelloResponseContent response = api.sayHello(name)
                .execute();
        // TODO: test validations
    }

}
",
  "generated/java/src/test/java/com/generated/api/testjava/client/model/ApiErrorResponseContentTest.java": "/*
 * Hello
 * A sample smithy api
 *
 * The version of the OpenAPI document: 1.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package com.generated.api.testjava.client.model;

import com.google.gson.TypeAdapter;
import com.google.gson.annotations.JsonAdapter;
import com.google.gson.annotations.SerializedName;
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;


/**
 * Model tests for ApiErrorResponseContent
 */
public class ApiErrorResponseContentTest {
    private final ApiErrorResponseContent model = new ApiErrorResponseContent();

    /**
     * Model tests for ApiErrorResponseContent
     */
    @Test
    public void testApiErrorResponseContent() {
        // TODO: test ApiErrorResponseContent
    }

    /**
     * Test the property 'errorMessage'
     */
    @Test
    public void errorMessageTest() {
        // TODO: test errorMessage
    }

}
",
  "generated/java/src/test/java/com/generated/api/testjava/client/model/SayHelloResponseContentTest.java": "/*
 * Hello
 * A sample smithy api
 *
 * The version of the OpenAPI document: 1.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package com.generated.api.testjava.client.model;

import com.google.gson.TypeAdapter;
import com.google.gson.annotations.JsonAdapter;
import com.google.gson.annotations.SerializedName;
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;


/**
 * Model tests for SayHelloResponseContent
 */
public class SayHelloResponseContentTest {
    private final SayHelloResponseContent model = new SayHelloResponseContent();

    /**
     * Model tests for SayHelloResponseContent
     */
    @Test
    public void testSayHelloResponseContent() {
        // TODO: test SayHelloResponseContent
    }

    /**
     * Test the property 'message'
     */
    @Test
    public void messageTest() {
        // TODO: test message
    }

}
",
  "pom.xml": "<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?>
<project xsi:schemaLocation=\\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\\" xmlns=\\"http://maven.apache.org/POM/4.0.0\\" xmlns:xsi=\\"http://www.w3.org/2001/XMLSchema-instance\\">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.test</groupId>
    <artifactId>test</artifactId>
    <version>1.0.0</version>
    <packaging>jar</packaging>
    <name>test</name>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    <repositories>
        <repository>
            <url>file://./generated/java/dist/java</url>
            <id>generated-java-api-client</id>
        </repository>
    </repositories>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <version>3.0.0-M3</version>
                <configuration>
                    <rules>
                        <requireMavenVersion>
                            <version>3.6</version>
                        </requireMavenVersion>
                    </rules>
                </configuration>
                <executions>
                    <execution>
                        <id>enforce-maven</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.2.0</version>
                <configuration>
                    <archive>
                        <index>true</index>
                        <manifest>
                            <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                            <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>3.2.0</version>
                <configuration>
                    <failOnError>false</failOnError>
                    <show>protected</show>
                    <detectJavaApiLink>false</detectJavaApiLink>
                    <additionalJOptions>
                        <additionalJOption>-J-XX:+TieredCompilation</additionalJOption>
                        <additionalJOption>-J-XX:TieredStopAtLevel=1</additionalJOption>
                    </additionalJOptions>
                </configuration>
                <executions>
                    <execution>
                        <id>attach-javadocs</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>3.3.0</version>
                <configuration>
                    <createDependencyReducedPom>false</createDependencyReducedPom>
                    <finalName>test-1.0.0</finalName>
                </configuration>
                <executions>
                    <execution>
                        <id>shade-task</id>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <phase>package</phase>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>3.2.1</version>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>3.0.0</version>
            </plugin>
        </plugins>
    </build>
    <dependencies>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>[2.0.0,3.0.0)</version>
        </dependency>
        <dependency>
            <groupId>com.generated.api</groupId>
            <artifactId>test-java</artifactId>
            <version>0.0.0</version>
        </dependency>
        <dependency>
            <groupId>io.github.cdklabs</groupId>
            <artifactId>cdknag</artifactId>
            <version>[2.0.0,3.0.0)</version>
        </dependency>
        <dependency>
            <groupId>io.github.cdklabs</groupId>
            <artifactId>projen</artifactId>
            <version>(,1.0.0)</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>[1.0.0,2.0.0)</version>
        </dependency>
        <dependency>
            <groupId>software.amazon.awscdk</groupId>
            <artifactId>aws-cdk-lib</artifactId>
            <version>[2.0.0,3.0.0)</version>
        </dependency>
        <dependency>
            <groupId>software.aws.awsprototypingsdk</groupId>
            <artifactId>open-api-gateway</artifactId>
            <version>(,1.0.0)</version>
        </dependency>
        <dependency>
            <groupId>software.constructs</groupId>
            <artifactId>constructs</artifactId>
            <version>[10.0.0,11.0.0)</version>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <version>5.7.0</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>5.7.0</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>
<!-- ~~ Generated by projen. To modify, edit src/test/java/projenrc.java and run \\"npx projen\\". -->",
  "smithy/build.gradle": "// ~~ Generated by projen. To modify, edit .projenrc.js and run \\"npx projen\\".
plugins {
    id \\"software.amazon.smithy\\" version \\"0.6.0\\"
}

sourceSets {
    main {
        java {
            srcDirs = ['src/main/smithy']
        }
    }
}

// Dependencies can be added by configuring smithyBuildOptions in your .projenrc file
repositories {
    mavenLocal()
    mavenCentral()
}

// Dependencies can be added by configuring smithyBuildOptions in your .projenrc file
dependencies {
    implementation \\"software.amazon.smithy:smithy-cli:1.28.0\\"
    implementation \\"software.amazon.smithy:smithy-model:1.28.0\\"
    implementation \\"software.amazon.smithy:smithy-openapi:1.28.0\\"
    implementation \\"software.amazon.smithy:smithy-aws-traits:1.28.0\\"
}

task generate(type: JavaExec) {
    configurations.implementation.setCanBeResolved(true)

    classpath = configurations.implementation
    mainClass.set('software.amazon.smithy.cli.SmithyCli')

    if (project.hasProperty(\\"config\\") && project.hasProperty(\\"output\\") && project.hasProperty(\\"discover\\")) {
        args(\\"build\\",
                \\"--config\\",
                file(project.getProperty(\\"config\\")).toString(),
                \\"--output\\",
                file(project.getProperty(\\"output\\")).toString(),
                \\"--discover\\",
                file(project.getProperty(\\"discover\\")).toString())
    }
}
",
  "smithy/gradle/wrapper/gradle-wrapper.jar": "PK
�����A������������	���META-INF/�PK
�����A�m�>=@���?������META-INF/MANIFEST.MF�M��LK-.�
K-*��ϳR0�3����-�I�M�+I,
�d��Z)�%��*�%��r�r�PK
�����A���������������org/�PK
�����A���������������org/gradle/�PK
�����A���������������org/gradle/wrapper/�PK
�����A�Pr���	��-��*���org/gradle/wrapper/GradleWrapperMain.class�Xx�����բr��\\"�E;�\\"L1X�!	$| @D������n��%N�t��F��'q
N����Nwz��齓�8�g�t�� }�>4����+�{���>��e�k�\\"�T��R���rx����y*J$��Wp����B?^$	/V��ԏs~�L��UTI�*�B.�RÅ«p^��U�qɯQ�Z�N��[����*���я7��foQ�Vux��Z�]�;T,���;��ǻT��n�����rx����������U|��0R*F1��\\"R0��#*6á’Š;pُ+r�G�xX�#��cr��*>�O��S����H�G�H�?�����*��/�����+*v�sw�ki���n�w��kW���==�]����)�1�LJ�m+j��j�����Ѥ!,������no�ȩN����l��P�P6�l��#���P�~_�9@m�H�؝�3��XԐF��zt�nE�<M������i
5Y�@�h<m�##�ոÙpg��H�N�b��:Tè²£]��(��cY@MKÞ©[�.G�l��\\\\-�L.�#!)�e�v[��%#��0�Q�mg4��j�bz|@:��ᡠ�~3~���
���&l#�'�*K@��6�P�;��y�t�d�#{e\\"O,!r�Kڑh�$]���ꥱf�~�D͡!i��(��E�HS���I�$�/��\\\\��3��뎂�18��@>D*�mpn�rg2ⵡ<Z~\\\\�Җe+����LOid&5��ػ��k�(-�!v������c�	fe�n�5�'m��v3h�,��ݶ�b�>�$����
M�S�Nk��b�v�I��p�|N�A[-2<D����QSа��[C���\`F�:��o����d�N\`(�Zé²­JR�aæ°†o��
����yN
�LF[\`��q�4|?��C�H��5��1�&��CO3�~��)���_��\\"x����pOW�+
��o�{��)�r4�S�.���k$���Ep��n�$F�YcI������=���h%lN$^L8ס?��Zv�%w��ɺ'��I��5���7ܿ㪆�*����k�@YΖ�_r߿<��?xB�5:$1CE§�bM�p��9ADj2'�%�v$fd)_�5Q*��
�xM��L\`K���vp���1�0�/���
�V0�I�?8h��\`?{�1=a�/M,_���]ÇŽ��&41S�+WD�&*E�\\"��S���\\\\�pU�51G�eF�y����|I\\\\ �\\"j�y(�΅���:��Ѳ��45O��O�y�&Å’P�t�S���ѳ�^GDW��M���-�P2f���L�ȕ�s02����Kj\\\\�3��;�y��x�άmNq\`�2��v1o�]vS%���M�*gIai�ϛ��R#/ I�EV�@(_1���
�����-�Z��z��y=�0��BS5���U�U^'z��jN1u(���8�D�*�
��U�=�=]���Cd~��\`>E卭��Zx��Ǵ0Íœ�-N7J3s��D��^�����}Q����.oV���Bӊ������JT*&�N�u]��6�6�G��>�&�O0�V�>ۘ��<Qȯ���#�1�-�/�����7�Zk����\\\\,3�N����sK{���6���)/���������#���?l8�y�dR�����nwk�?H�������!�=^����WZ���83O�i�є�!���.Mx��LсB*�������TI��BՖ��Mt$O�	�f/���<ӳ�M����~�{]�v�<�¦y\\"9��N�\`�~���'�5cvs6e�we�5��d�+8ß›5���߼�s�!������
�����˱�!����2�����R�� ��Y��Qe�=2����1�vq(�=���Q(M�_
�5��K(�+
�u��Zw
3S(�$WHr�$Gw��k����_C
��J�0�I�QH-���Ma^
55\\\\�������¦ҕcXԤ֨
���)���!ō��#�(�b�8�Rֲ�Oz���	t��֣+0+����с5�&b���
0p3�\`�D��f�c��c+F��ވ��v'|��^:LDKqG�5����(��������$�1@ԏrn\`�1�s�P���w���9�t'(�<m�\\"ƈ�=&��I:BYE�]LTB}+��h�
��Vd&�(w��@ݮC��P���+�8$��:��!�V�!�_e�J�߅�,geY��(\\"�ђ�+���U�[h�I�Q���'K�܌8>R��#�3��PSX���6�p�m�afx��V��+T�hNa�=�'��[}������{[G�+���\\"�	\\\\��jE�GrSh#n�v\\"�J��m�\\"в
���R5h!R��q+m��d� n�������8�Y5w�f�	�k�:˯�L8w�����o�����T��N�JU�M;��dP�(Ka�ݘ�X,';R�f��S�X�t�j1�A�����DWi��Q�C7�fSZM�8vRzU����D�ĕ��	<���PK
�����A���.q/���3���#���gradle-wrapper-classpath.properties+(��JM.)�M/JL�I�M��ԁ2ˋ
R�t�3�RS��J�J2sSm��PK
�����A������������)���gradle-wrapper-parameter-names.properties�PK
�����A���������������org/gradle/cli/�PK
�����A���?�<��S��1���org/gradle/cli/AbstractCommandLineConverter.class�T]oA=���\\"��~C?��R*O��h4!����aY�m\`�C��ߢ/4����2��P���a��9{�s���?�PF�@;:v
D�c@���{xY9y�x��\\\\Yc�fs�Ú‘ß±V�g{m[�x�KH��[�{Ê…�'�&?��b�N��ӵKV�-��)�%��^�{������m!mQaظ������|�j�U��n���l㌟�R�{N�����}f[��C�����-��k��ږ�=,ȍ��Ø‚ak^���߫�^t��֔���-J��_,�/]���c��t�ˡ�+;X���r��C�uVQCW�	u�h�Ca�oܠ������1a�6C���2Qľ�L��K��
&�!9��a{	Q�23Qu�{�'�M���~rՐ���3|i153�mn�Devf���߆J����~-C�H�;\\"d�9�����edc���Dq�ָSX��\`I�w/!)��:�Fy�7���_�|�@�8_A�#��F��VX!�K\`���R~�;�x��)�>=�N�Rnp���؜�c�h��⟐��ϔ�4=c/�-e��PK
�����A�׃��X���
��;���org/gradle/cli/AbstractPropertiesCommandLineConverter.class�V[WU�N2��0�	H��Ԅ��KK�IQJ�������;L�0f���O��Z��Z_�t������A��}N.i�2Y9��}���;�v���O�6�Q0��e|�\`�|��\`w,�'?��
��H����\`	�=��
V���>�B��x�����&c��.cC���i���?]c���З1-c���i8��\\"qB[׊k�cr�Ɣ�m�e����B��h���Ћfb~��M�V�d8�i��ޞf����'��$
F]�p�䙶�0�fv�}-QԬB\\"�9�U ёѻ���E#�0�f���f�[��-�Pv�T�4��V5�%\\\\���X3L�X����QgIW����W]�p��0�?���:���ĒVJFO���MA\`i
Үq�����A�1\\\\W@
��\\\\�A܊�A)5\\"ɓ�4����8,��F�h�J+g�^�z��K��a�@7��e<��f͂�y\\"�߾�;D='���+�;��%��,��W��J�/G�d����L�Xg<�m�x#����x
�*&0.�Ko '�+�A�|g��<ß¡�o�(\`[��b�*��Sa�����������C���%M�U�4�ܹz��%�LEu|t��g�1qBu�)���k$1����
5����xE;i1g��Yu[s밨��D:2�KZM�u6�?Al��T'�[�'\\\\�L�z	��o�B��E�1]^����.���&�z6�K�Z6<��S+Y�h~�u.�V�8X�b��u���2��i�t�e��d��N�۾��H;�4A��?2/y/���j���~���43�1���ˀ$� ��<�g�yWjFK$���j,��
�t��D��� �� �'R��k���$G	�}/a�N�ƫ֪�j�~�����DH���AR����� ͹?���
�#�0,_;���iq��9|��)�[A�l �q\\"��0���%�T���q�Զ��9��N����R�7��3�w��o��=\\"\\\\��	�b��j��kD�����Q0����-��#Ku�s�u��Q��Ā�ٿ���c�c�Úº)�Q��=��[��tx�V��p�2�?�\`�'g[��:��YMᶘ��PK
�����A�}��yG��K��1���org/gradle/cli/CommandLineArgumentException.class���J1�O�3���Zm+���U�V
\\"
��–��i�Ff�̨������$-U�fq�{r�wO�����34K(\`˄mu
�����=}�^DE��S�E�=.�T}.�m���Q���/
��&���t��_��G�\\"�]�8�bl *�b&ҫ�=�\\\\�.��$����rA�^��2�(�d�[�ŀf�&՗V��2S���o�/c�PF�	��?^E��5�.)���-��/��1ttu��yN�N�3y��+:���ԕ;XէƬJ�k�⠌u�0�ʜu�g���;�S�~��tӾ���0w3�*6��M�]�PK
�����A�������g��)���org/gradle/cli/CommandLineConverter.class�QMK�@}���ԯ�'�\\"4
F<6� EQ($xߦ�%��vS��<��Q�6�L
]Xv�;����߯o��8w�upJp�L-�6�~/���S���b�f�%�u<�	�*D�<.�id���n$�b&לpW'<(a��R�\`�q��Kxî…™��l�r?I�����OF�l��$�j�ήw����vRm_U�%J��������vJQ��?���_��F�%p}�b.�;o���-7Û‰Z�3��fSm���i�M�l�g����pl��~Qqk*[9�a��#��PK
�����A�Sf
���g��&���org/gradle/cli/CommandLineOption.class�V[wUݓ��4�^��i�\\\\�\\"iB�����Z.�^����dL��0�p�w������ .�UY�����.���d:�ܤˇ��s�����N��~����&�m8'�|�kE�Zqo�މ�.E�
.�A��A��w�h/��
iEHzWœ���ª8ɉ�C^ܾ&KFA�-A6�n�
:�����T�֍Ԝf�Jh�ӳ9�.Z��ݕ�c���沩9��s��ü��V������[y^���7�B�*�����f$�Җ�8#!Z/!����e��J��D���Y�/�����j�L+��Zj��RiCO����j.3��YLj�o8��--��ZFB˘����bq��I[��eC�_�73�Haf��˚5/΄�fZ5TKkw��t�	�+:3���NU�dz-��������k����j�괚w��(ʸ.!�a��pV�g�)�)�_C���{
�����c.[$�k�ҿ�l��'贡�{�RS|~2�v�?����x+��bi����zkN�u#�Y� j>��2�Z��fY�T���R�Q���xu��Wx8R���E�1�0o���g�m���74���Ӂr_q9��\\\\�WO�w��/j�h��z\\"#�����z�,Zi��.Z��FkP�*؏$}��i��B+
�c���
na��]b���ᶂ�1��|(���2>R�1>a�ʠSz���5 ���xA�$>U�D��P~�.*8��
����%>Ä��������;���g������+Z��Ekߌ�M'
g�6-�0�:��NV�ϟ=!!�{��LX\`�e2zF�I���3U�\\\\�%�N��e5CC]�Z]AၺmѸYC�Y�b�Z.+���&%�����b�\`��)�s�4�\\"((��{�j^��<�����Q�*�>\\\\����{�#�������%��N����׃\\\\��&9�I<��x����hz�\`�G4?DKyGN�!$az�Z%��V
a	�\\"2��	��5(,�{�����!�۹��=��V�����$�Ij�H���a�D���/�i;��a�
�������xʐ�d��8$���TŘf�+q�Y�����r�*6�:^��]�%�׸wG\\\\�788ˉ�H��ir\`��v?/'��얪�����c�Gaf�;B'��F��|v�v��rȵ#�x=��zC�8Pc.���}�vr�c����
JȐ�i1!�h�����]�n��G��S�����������0��� �.�j�5\\"GO���� �����n��J0���.b4��-��Ν�л�n=��w�\\"\`<A�F%H)$'J ^�z]�B�$��tơ�A�ҁh3�_ǔ��?:kR<M�3
� :Ur�%�n�:����w���l��S�꛾�u���ڏ
�Yr…��Ѷ� .�;*�ĤǪaQN\\"Z��\\\\����Շ誁�D��u!�zq�{9z���3uzYb�ֻ�U}y��e��z��\\\\��
_�9�q�wA4�61�Gu�M!&ְ�b����c�'s��B��J1Ϸ���P~Y�N�{Yޢ��H��PK
�����A��튯��������(���org/gradle/cli/CommandLineParser$1.class��A
�0E�h��
v庈k�^�(��'��P[����\\\\x�%��t���������8DbD���fs�V�	��4��ž�|�ֱ]��.	ӍΕq�.�^M\\"&̍-Eie�X�?�Ŋ0�i�6S�9v���J�R/5�-!�W�� ��_x\`�����_��$��PK
�����A�$f{K���	��;���org/gradle/cli/CommandLineParser$AfterFirstSubCommand.class�V�NQ�N)=�-PP��-���B��
AI�߶]�B�%�E|��W�D�Jb���q�n�b[����̜o�9;3{~���� V$4#�HCTB\\"b�b�8�9�ͨ�1����� �!�#�)��J-��I��Er���+�L^�$��-Y�&UMY���b��z\\\\�Ts�a����oK�-����1�zVah�����b<��y��%���_�
U�B���pqꥩ3�Q0Ww�EH߼�)F\\"/

Y�8rT¡8��c�
WS	C�����a��MU�8���vEJ��^�&7��r$/k�Ȫi�Z.^.�sf^�M�d#'.����n����RE�i�޶���梼m}
����αƬLq���!&�A�@-��U}��(3�H��2�qW>��~�r<�a�s>��)C���0�9y�mj��V!:��|��k��\\"%����*���5&��@TZ�[AkI)����Zb�=N�ʆr2�j���
�s���噜�(�B\`4JY:TCa��e�c��U���*�b2��v�TzCɘ�gKE�ԷN���R�9�r,m:��BM}�V���{\\"O.6��u1᳠��~�-��g~�hW���Kt/�O�vs����}�+
��=�]h��Y��,���l$� ����֊����7�� �4O?��	��gԻ�
����h;�_��!��Ѹw�i����P����CEӞEV�h\`l�l	�,��[��m'GT&p�DA�n��E����!i�/8<~��[$�\\"���V��8z��b3%���+�>g�*h�/V!r'����e���m3=�:Ir��n	w���N�0�!�؊u�2�a����I��PK
�����A��D����&��3���org/gradle/cli/CommandLineParser$AfterOptions.class��mOA��{-�r-�� >W�+p��\\"�D�!$M�Fxa��g9������.��D%����2�^�rҒc������ffwn��׷�fqۀ�Qi�u�4��h �IS�tL�a�T�z��j�6�Pɓ5�&yյ���XO�l�ե}���G8�]���x��2Crɫ<�+��M[>�.YN��
w�\\\\:J�I�i0d��m���xB��B�r�卆M�u0r$f����u�~�^����F����+��[.5k՗��-�o0$�����z<A�e�k�ͨ��S
�b���V���g<��?�d��\`�Sm��t\\\\cX>��cg�>�v��@]7|�-ƪ�-+�CG��@�ϔ�0��j��E77�c�k��މW7xؒ�1��f�0�0y�d�8��3��5��?U�Ѷ=�
q~:5�h�h�k�mq�����_�2w��C^�2
�\\\\��
�G@�I]�T�����G�i4gL��,~Ab�T
�4�\\"A;�����\`È‘m��<N����~��B�hV^Z�c��\\"Ø‹Ck14���82����w$׋�g$T�]��+��tms!PI�I�H��K!z1��P��W��}��V��̉�j��F��W�_y��G�O��=���E2L�8)Ǧ�+2	v^��L�'��>�:C�٤��3q�����hb�oPK
�����A���M���u��<���org/gradle/cli/CommandLineParser$BeforeFirstSubCommand.class�V�r�T���串�:�I ��I|�sk��iK�^���r�ը���,Ӿ��[��2����x�Hnb�N�0��Ϲ�ٳ���=���_~0��2Nc�
K2��ȑ�!aYF�ø����
ǪP�&C�u�!��%�6>�1�u���(68
w��o�z|�a,oÙ•L�V��zF��5�VS���a�wU���9�^6Lù�ps�_�u
W�ݢ���d�֬m��l4jeݾ���$��-M�n��!�M�$�2��-[�a�u��(7m2(�MS�תj���ڢ/�xWCiX;P�BNg,�YtT�)<v����a�[{���![[��G�j����Lѱ
���L�C�M��]�uØ£og��D���h[h�fzu�ox���B��Q������sG}�~\\\\�\\"���+�f��<�ì���c��V��(gDBw�L��ň�a��ǐ>���}����3%l1���T���3,�z�o���Kf�=�H�9�	T_1$w�bW5�t�?��f�k��5s$]%���������4C� Y�G��p|�@EYx�.���~H@���]*�[q���r�j��;�;�k�G柮G&���SE��Qɪ���z|q��|�y���p�j���(m�j�a8�
�˔Ww[E���^lq��6v����(=��WN#�#�rN�YS���.8��~��rW��ß��������K�*b�;
Q��\\"Q�iD@�r0�M�[�Ҭ$�?!�H�v����C�Iq����f�.Ɇ��1J�ᮨ�����oZ�}4�{�J��E�F�G��?�3x�/�J#����'�Gtr)I�p���g{(EOJ��T)�.>Gd�/�-�G�WZo=sP�#�\`K3�Q��[F�]F�]��pՅ���ڇ�b�Y��h@�~R	���(�!�ijJ3n�����8B�# g��HW���ܱ���a6�:Nx*��9��g\\\\��.{b���׹�ڸ��i^E��\`�� N�$��,���S�D���gq����c)�/h�R��PK
�����A��*�ZM�����F���org/gradle/cli/CommandLineParser$CaseInsensitiveStringComparator.class�S]OA=w��P�Rˇ�\\"�UhAx1���ML�ԏ������v��n�����/��\`|������Ek�C���9��{Ng?���&6�Q)\`�,9�5�=K&�l�fc��*!��|m2��]B�t%a��|�|�ߓzG�y�)����v�V�&��+�\\"�M?�~�\\"u$Û‘V~���Q�	N���nx\\"%<i�����z��x�el_�]���Сԕ�u�݉O<��r�@	�~�M���L��5�a����]o�����'�ۑ�~&S�纽�;���>��6m܏�#�nԍ�֛uB�_Є���\\"�[�f)����ְ�m�*����ȧ�H�j�f�p��\\\\�p	�ߩLb������s� ��E����\\"L��d'h��@KÓŸ0}��1/d�MXE�n���qsYX�'>9|r9�\\\\�=�w��P�5o���y�$�L�̑��i�ft�cye��������}������l�y:E����1k-�LY�n3q�2����\\\\�u�M&:���c�#����2���Oȭ���㿈(&�J\`�R�����؁�p6k�0��,���X��\\\\����*w��M/��PK
�����A�|�R����&��=���org/gradle/cli/CommandLineParser$KnownOptionParserState.class�X�wU��6ͤ�K�*EqD�t��;VkE��E�+.ɐ�3ufÒ‚�HQpCq<R��z�����7x8�3��mi�����w��%�����Z�z�%�wK�GF)6�D�e#/q^�茺IB2�	��E�,�[���\`�&,F�Q�{�Ӗ�ʨ�p#2b�*c���eÜŒ��b��
܂�yyD£|�_?^�'�]“L����%<#�XC�a���m�I	�d�}v��nw�4����.�N�$m-��[�)�����D�a�7i��ۋ'�_)�%,:
�OC�����'\\"1��H�Wsu	���B/���:�U�Ri���k�6���]#��e8.ݕ�ISs�61^<�z�����dK\`w�[i���&p�~�^+�⎙��
}�+A֝�(=����}��1E��.+���4����rrU��1}�&y���
&%�ɖ�n'Ӄ��
\\\\[��ކ��6�e�U��E��-��P\`�l��f�=�V�TXZ?c����{���,)�o��3�(�R:{��K9�\\\\����A�(C^83�y�� +$� a��~���\\\\q�e^^�l]��2^ZyY��
��ip ��Zi;�_op\`��p�9\\\\��������v�ֶq���K
.�e
�hVЂ�
��U�r\\\\��F���Z�L��׃�.��Rt��]R�[�ԩ	KwT�rUWۢ���f���ZS.y�nܬ�I���
��K���-���T��!w[�L�uȶ����P7Y�?��f	�)؃Q]�T�k��5������
ǡ\\\\��LZ���p�yq���DQ�񦄷��w���
�=�s$ں�)נ˲v��֧�� >P�![�>��u�\\\\|���I�\\\\@-V<
���g�Z�Y͓���5ͨ-4Τ�j�ת�
窬��m͵l��Z�n����pi
S�5꿗�$뻦
�b^�)��S��t<Y���'��%S�3bhTшhO���씠�*�*��Ӧ�o���i��3i�Z<�;��e+�R��L)�ɩF�e=��i�<����Ϫ�a}��IǸ�eR(���_U}C��&�Ls�������Ię�&Ҁ��{�D��vv}C~Z���ܣA!��m+=���4�3�{���&�����l�-9]�2��J�8��L�x�ѩ����Ӡ�v�u�NsTOt.��J� Wd'��)��6*��$z��G:��h����#��MG��'\`�a�G�!b/��T��1O�����X\\"��Մ���kp-��XS�X���ږz'�7D��.��-��X=�1�{��*����7��_��ޯ0�(��.6������k:���QU�u�h�!�X�YQCÞ€x�8@���Zqm�Ct��<�}�Yz�
דn��B��|:m7x�KH�4��G1�%��s0�Y�P��^>��d%f���sT�CP��\`�g^��
���t	����H�@�'�؄N�r�\\"#��^h���N�oGQ7AUߑ�t$��YFRk�|����y�aC�@��g���pP����n'�I�<:\\\\(�=��p�����,���᝛���a����Ò±<��V��8�o�ST�=�G����K��Q���~�q�;~�Wq��W�|����\\\\����T���Û°kqS����'��'Q.á–¿Qs�w8�Th���DL)� Gc�M�CG!O	�+�m>V6�d�����hd��F��^��w�����މ&�
a�ࠑ�W�~q���p�N߽̾2BI� 
�7���!�?PK
�����A�$ľ�������<���org/gradle/cli/CommandLineParser$MissingOptionArgState.class��mO�P��w��*��LD��
�!�	·'�\`0�W�̚�o;��o���B��~�?��ܶ�K˒��s~�퟿�~�Œ�r:��'I*(uZG
7�ٌ��q��eМ-�rD��_��K.]S�z�3��B��js�5]���#ņ�u�,n�V��4�\\\\�k�0��#�%�r��w�����[c�U�:�3�WZ�
S��6���9��^��Rzx��Z���s�u-��˲V��;���TJ��?n��I/�GQ��w|�m.�UO��Rn�!�eC�w�&à# Ö» �@��~�+���:0��r��\`��#:L�:՞ͭ�1�𦯉��)�[�PR�2��q\\\\�U�%7�ǖڒ�#63���V��t�20�1,��K�\`<�E�����a�$�e�=y&z��a��	������ioÙ¦
SÊžx[t���)<�L/gd�핤�=Ij$i��	��0iOH��*���~\\"�Cj��A�Q����{�I�����gI�/),��9��������}k�4������
�q��Ж��g�2�\`���(L�B�~���e�6n0�)I')B�e���{a�I�㇡�;rL���v�\\\\
Q_Q�����ӕ;������0��AS�B�e4h��Ρd�v6l�o����_є��	�h8%1�+a��U��' ��PK
�����A�TK>������=���org/gradle/cli/CommandLineParser$OptionAwareParserState.class�U�n�@=��q�$�6\\\\�%�)M�K�@)�p)E� E*o��Į��O�x�$
�J|���Mݒ*A./ޝ���gf퟿���PĽ8ȩ�0*w�Tz���c\\\\��	�*L+(��cVAQ�u���4�ܮ�,�dȖQ/��5̂Ѱ
O�p����C�{i����\\\\����e˶�;���\`��
CdթQ�I��h5��xƫ
���7*\\\\X����.C�ɶg9���Z��ŵu�6�j���I���,s���]SM��j�%�}�P����녲',��4��!�E]&���8��c$�\${�]p�G�짍���o�R�NK�%�t��i��!���Ә�ЏSnbX���[XP��a	�s�����L�f	�+��~�a��[��f�:�~���Z�)9h��O�S������c�s��m�q�r��	|�������F���dU���ԩ��0L�����-=ƽ���_��qk�ޥvr�l0.��ϥF��|���x��!���J�Ӛ�'v�t�!}r�O�Y�Y��,T6�$�a�|i��Z�����̋dKTT���ȇC�(���<�C�(.��.#��젯�*�&�>Z�7D�!�eSZ2B���#����o��o+5U���c���Cݢ�{��
B��*^�v�#8G�Ni$�y6���+���1E�8�3$r�]��oPK
�����A��%�̻�����7���org/gradle/cli/CommandLineParser$OptionComparator.class�TmO�P~���Q:�
���
�2@�.�,Y�d�ďe4��kI��?�/~#���ƨ_��
N6).]��}�s�=��~����E�%d0#����0+bN��U�J\\"E,IHs;�'\\"V8|U�Sk\\"�z6L��7�e�A(;í�i;�����-�V��n�����)��L�!�{䛎]v�G����� Wl�p˖�y!����P�~\`j�2U�6u���y����N_���z\`Q�W�k�H-�T��	��T|�%|���4y�\`�P?�UK�j�wM���k��w����uz��-��֤��$�/0L���[3��xѪ��M�7-�O�7��I�R�i�u��;?ڑ~�S��b@�����Z�a��B���h�Ο�\\\\��i���a+6eY�����g��љ{\\"!c/&��q�����v�a�[�h��ǂZ�0�0	}��mj��]{���a�=�eўB�$�>��P���}�4�s2�|=ѧ��Q*t�e躣K�.@	>rd
���d$S3gH|$%�!z�p'��a����!�x���D�\\"�2{��9����O蹀�S�p��Hs�wnL8�tr��I\\"��!�y�3Ⱥ2GY�v�����>i<2����<l�4!�M�{�n�V������
��#f�dY��\\"�5���>�{}FC��NS��#ZO�q�ϣH�INQ�2(R�8��˦�S�<�i���
PK
�����A��fC�������8���org/gradle/cli/CommandLineParser$OptionParserState.class���JAƿ�Y����4Õ¶Ö¨��JoJ�P����H.��$�:���ى�
}�/��}��3����4�ߙ���Μ�����#�B���F���UB�Xie?
���o�}IXl)-O���4碛pf���D�F��8��K��ή�J�a2i�VX�T���4�Dd�d��Vj�(6��Ȩ����B�]�Q]��AXH5�ƞ�[�����O���&��B�T3k8��N�+q#�D�8j[�tܘ��K�Md�T�̋�W^'���ۄ��d���[�w{H������ӡ�ɯ�m���s��+a��;����@(?^�Y�J�x���\\\\a{�(��$�_��ׇ{���L |�X�uf��fs'�'�8.���ygX�u+���e��/;�����������0���:^�eor�[n��}�y?�\\"k�����g�PK
�����A����E������3���org/gradle/cli/CommandLineParser$OptionString.class�T�NA��z��q�ZDQ��G�QÄŸ kL�&(�[��rx�k�����/$�&>��qv[l�B�����|��������'�9<�E?L�Ĵ�4�B-�0��,
�:4�(1��m�;�ᮆ{	�����#�<�׬�8t��COЈ���͢���T�ݯ�RXgP+A�aXv}ge���o���L�ͽu�Bo�xˍ�U��	C��wŠǣȡSk9kV-�Uϱlϵ*A����H񚇑�N�S�?s���?��:幘/t*�-���W�!�h�ϐ��汆/�Tww~e��Ӭe!�rg�c���DQ�<?K��9�ѱp}-�	m�+�0܆0#B\\\\@�@�B<40�1/�,\`�a�ܧ;�WuB��d�:�9_�����s�f���_��v�����k�{��E��(�a�s�-���-��+�
ǯ�Nm�V����nD0N�/MOW�vR/i�-�5)m���J�i	Z�C$��}�fqlO��0\`�z��^�@��&�x3#�ȝH��N$RhO�h���,�ߠf������6�j/�-пb�����.�'$���4��h�x\\\\��e�F&&�E��E�pL�0v��k\\"'��M����F+x��Ùœ.B�;��2�l�7D�D�!nʆ�]�HdR���6fT�nG�#fZA^�F�|�\\\\�N3�_&�PK
�����A�gAq����x��=���org/gradle/cli/CommandLineParser$OptionStringComparator.class�T�OA�fvۅe�*Z@��Rd) ��H�&ULjH�6�MY\\\\v�����ɛ�^�@��ѫ�1�ٮ(���y?����uf�|{��\\"Vt�cF�.
y
�:T��呆y�M�԰��Đ\\\\�];�\`P�]���[C5۵����,���s(3\\\\����-�8��v���9mϭ���6+�ѱ�E��F�u-�� ��V�����žc�
�6	{$�}�����]_�̠5�����k��D��p�fY���tƋ��$�.���\\"�x~H8��G@�T=�WO�q<��;{�V#,wg
U
��簥����^\`�����n7]���b�
m��)�z��TJ�{-�am�r�LW�yyȀ���%,kx̰ٓcEV�
,7�C���=�㤁Qdҿ�fX��t�XG,����b���O�%q,�Dφn�d�3X�w��a�^�
.��h�\\"�,#����G��I��
���n\`�,��ć?C�<�U<��������l�����S����=��)j����\\"��m*�D����� O\\"�5L�>乎�OE��;McBһ���-�!��%��.��\\"�{��N'�M��zz����Y%�B65[�m�~��k�E�T�BZÆ“q�5�<�]/h����}LѾ�>�����M�c��G��MHx���)����PK
�����A�\`M~U�����2���org/gradle/cli/CommandLineParser$ParserState.class�S�o�P�N)s���97ս�&ML�f����.а.���vF�'_|�����(�-�� A���G����������mdQ��C-��6�xba�B��{�I/zI�4����\\\\�jϓ���d�b�s����?���4iF�^H(�*tU?'��tU�a���v/Pcg���w���9�\`2r�;$u�Ty�P��/�#}��@��3�I8��c�)O�;�B�/ ��Z������&���Wt��i2���qf�YC!�����z�<K�)�)�9��K�i,�y��Gm|~J���\`��s5t�z��7f0m=M���*l�[ZE�la����l<ڿ�
��aD8X~����4K��g��hx����\\"�ʿV��\`��p�#�-������6?s:I%�/&�����JP��*l�W��U�|����ZL��@�ػ�5��NL|��'Ü»T׊c��+�J)����)�O��5�c��Rz��z�x��qY5�?�M����m��6Wl�6�-
/��PK
�����A�p�X
���k��?���org/gradle/cli/CommandLineParser$UnknownOptionParserState.class�U�RQ=w�I�0@�(I������*
�BY��$Sqt2CM&�/�/.��G�?��_7n��/XvO�B�P!.�t�۷�龧o&��}\`
�5Đ�І�6Z��ɱ���I�R����5��Iψ�@�#�
w���6�%K��FY\`|�q���+���[fn�)��]X6m�����	��[H,?�/dΒv1�깦]����V\`�0��S��'Hd޴MoA�HelN�Z��5��S��8e�R�0��r�2�FN^Zk�5y��S�D�b?�����M�t��<Aǁ���Eû/ˋn�R2l��M��)�ؔ�z+Ɩ��rO�ҭ�Is��;
�m�1&k|DNٛ��OlV���^��I����I6Sl��O�k�:7o�3y��#9�|G=�esSG�:��С�S����1�[QЛ���!0����� �mEd��6J\`$u�a6{�P���rMZ��5z�
���� }��KB�B����4%�(<>Pڕh&ߗ�P2��e��g�v�nӁ�$�$T@|�*>A��%��W|�):�T	Џ3����_qI�_q3!��Ź�t�<g)�׵:��o>�^=
x�c @����C��!��:�Z_ e��Y��q�>8YM��H�E�F��w@�@9\\\\\\"��!�v�C��z��1���v񫮥x��&҃�k�$}ˌf��!�u����Tsj]�p9�9�+��1��:�*�4�*4fE�!�������./1Y������?PK
�����A��=��l)��&���org/gradle/cli/CommandLineParser.class�Yi\`\\\\ő�J��7zz�eٲ=\`l��1���S>�K6����Xz�Fψ��8B����\`�\`���d��M�����Ͳaك=�
!l���~�ޛ�����PwOwUuUu���O�{��Y�T:�j�W5�ױ�h��/>��)��s�3
���O��
>ס�y�R�a#��|��|��1�ׄW��%G���ģc�x��S�5��E��]��%_���fF�eu���֤P�t|e�&cu�����q��8&�&���䞬��JO��|</���&�u�H�&��+S4���4�e��Z9MQ�ФD�bzAJuԩ�)Ó¤\\\\�r%�m��
zE*�J�_��.3Us�.��5��ɜ|������\\\\5������|���,T�i�XG3��H�xʬf��R�,Sv-×±UV��Y~9[y�]�e�.��*�4P��4�Z���<��V�&�Q���e�\`<n��Vw%B�HS\\"��/���
Ƃ�hL�u��˂q�>7#�P\\"t��M$(�����L8?�=���cq3֔&LM�s�sO��A0�e�AQC(���j]��Z�-um	3f��5i��f�
�≦�m�kG0�JKͶh�̚�dc�u;�13c�M������0�[�1�׬�_ݸ���a��5u�֭X�(��^��N���1���U�&��V���QQ[٥=I�Ҩ�]��k
�G���-\\\\�����FÚ«m�WEc����\`kجn	���V�\\"����E�9:Gw6�v������1�|�yqe�41���P<�-l҉��H(�H�[R�s�,���J��ؽc�[����-���\`,�~;��DG���|�������K�g�lloi���5M%���9.b�I+v�����\\"�[�FU��R�o;�R��\`��FN��3#��mL=� ��4�P�%$�l���u��
*	c�Late+�r\\"n���uUC��iظ̀��J���]B\\\\�
k���X5�P�j���:��)B�p(^H�i%����n	Z��kn��ݒ��_�>N����
��&3A�32gR4��d��Z�8?l�y�O����m'�ˆf@��h�Ռ%sƞU�u��6��3iʭ
ŕ������%�p77���DL�^a�E��9͚V\\\\�EW
�p� vX8�)��4iFf(M�a��}��.��l?�F�,�N@6��7�w�3���§�E�5�F�pJ�-���f��n1�R^��:�t[���B�Y��ԙd��3���R÷���M΄A-�V�vm�ϼ�.(S�Y�n�Z�Q_;�S��[Z�x|ڜ�3�K�F�R^�9�fp�U�g�sPY�1O��/ �}��M��Xk#���I�Rr܊[܀
ܬF���D��-�	�;��&-���i�{�OP<����1�Mڹ�t���\\\\͐׍ku��;5�nHXv��!]r1%���	�0��Ґ�t*��1��T]Bح��t��-�씸!��ǐK�2C.�+%���ª2C�!W*�or�\\\\Mx��ղZ�m��U�3W����q�\\\\��lE,�r�Rz���[U���V�3�[r�!7(G�(Wr�|ې��jCn���*��%*��Ų!��wYX�����2�u]�4y��ӇY
<'�k�P͝��%w'�t�3��lu�Y9L�ُC�'�d�R�{23$*�
��0d�\\\\/�!{�^C�/�hr��7��ܟŞkCP���Ɉ:
��\\\\lȃ���nяE��b�\`��*�ƹc�&{�>Vi%��=f	ٽ�wb��eic�^<cz|Fq(^��\`kOq+�ڈ�Z����r�#��D�B��\`$M[[��i�A�F�3-6M<�%�w��3*gT���䧆<*�i�3�Q��aJ,�F�=�-�H\\"�PѮ�\`���B-�-<��X������3��2\`����qC�+E&�l^|����”{ŦԨr떲RC��'��!c�%��!��|>�Rĉ^�Éw�w�\`����O�F�3<,�dn>g?�_�y2��|�����%�
��z�X�>\\"�Nd1�V�f�Y72�pLb��h1s}���6=�Jq����Ŵ�*��9���DuX�U���ǻ?���}e������[�ւeN(��q�%�B=�:��FsW����z��~�-)u+Zv{���p,�|������{���\`8�E�<	�r�_n��۷�C�c^�{[܉բ�z�v�
�46���<[]�k�t6SN��o��;:������ԃ�C���qֻ��[�c��\`���|ݽ��(~�zv��V�7\\\\e���\\"�z����>��L��P_�k���p�6#�+L��h�1I\`�E�4c��/�]A�in��ع��<��hw׆�ڧ0=�՗g3�Nj'\\"�@#y�Yk>nV�0=t�zi��H_�����r3�%?~u�'�\\\\����v��B��
A���7��o}m�h��~��
�ǡ�W���s�	��_&�%�@,y�����ő�<ހ�M��<�k�����֭�0nGRZ՞�A<[1�Q; hK�&§i13|d�7�L�]$7$�J����A�h5㡘ٚz=�����贞�_��.��q*:��'�����F��&k�m��l�oU}���������w�kr9�r�x���m>��3�y�⼃�����N��w�n�W�})����m^Y�Ah���O	�YL+,�l\\"G�����˱�����7<���7hb>�x�������i��!_p���h����
9�Q��}(����a�\`���F���˜Zoe�ۋ��局����v�����}r��8i7N\\"e�K�{1�����\\\\N�IAU�[���k|6e)�������=�Lg�i��t�E��:���Rt����=(\\"�4R�A~?��(N{�,$��)��>�ȡ��)Y>gGK;��Ȯ�,J͡���%TZX֋rE\\\\ދ
�O�����܍€?i.U�Mj���[�W��\\\\V� ��*�Rv��\\"uG��Y�xm��;��>,�.�����Ӈ�K�֑�l�wlfe/N��oE���'Q��<L\`LE�+q>��b����Wb#�\`cm3�<���؊_�\\"�K���
����*#\`�x��)h�btH):�Ll�&�evH'�҅.��M��^��Q�~;�9��˸T��7�C\\\\)�5���?�z9�sr��*��h���p?Û»0��=�QÖœF�{���tw���t�c1~D�<j��Z�s�<gT�W)�!r|���i٧��9��Y��ȫ�)�}�Ə�q�#<��07����)5��c�t��~���Y��c(א��j
��\`��1ųg�?�������]G��a,:�h�����ô,���	���S��B
���r��g�ЭT��4�3�+�\\"d��;(�NW16��E���k�۬���f5�7V����x��E���E�Y���dN���>����k����U�a����!��t0�F!SE/��w����X��S��'�M��d_ø8�缁羑g���M�'��9����K�(=SX�-,�3��,-N��=��u�S�9�P�i�����
���Q��c\\"���%��p;°��s��\`q��x<�����6V�����~,���z*-w�����F�G|��:%f)�XJ�X���BV4[J^ ϑ�^�l��T{����
��p�����������g�9Ü…*�+�/#ߒ�Z�JNxy���*���uìR6+�|*,�&����V�U�V}
5^Ƈbi�ҕbY��Ї5������y����\\\\��$h��:4�\\"i��4��h��p�m�7����H����8���T^��R��x	0�K%��k��A�g�鵓r7s�~��!��o_������ǜ9�\`9����_K_��$��,�+��J;~);�܆��%�!��My�xw���#){9�%�q�G���2wR�����0
/r5�{���,�5����q�BH��\\\\�����
�d^p�K��PΓ�7x�Y���+��b�܋7X:y���x�Y絲F园ɯS��-1����8g��O��{zSe�
y�Nv��a��\`�aZ�x���
5��m��C�d\\"�QL��tL�q:ɛ�
e�c%,3w����]}s����S�}���~e?�2<��_��p媲>lJ��0ݩ�j���A^�i�
uoQ��E������p�ê8�~?��oS�w/��-�Oijw�g��Þ¶K�/����U��G�y�^�}�B�����,�ZJ��,;����;É¢����x�b��f9�r���K�a�2�J|ß‹s�=ijS�8T�PqhQn���sʃ�YQ�U�@��O�~lm.��I=o�A\`�2/-�����'a*o���}�CÓ‘Ms��wō��iV���*,�K�:&U�@�c��Hb�{V5�ky��E=�!��#�&�P�==�	k�Oц?�r�]�?1�>g�A���y{8u
c�a�*^����H�*�R��!�V��g��-y�h��.�#�f�N>��_�{EV43$������f�f�N�8�Ѭ����;��l��d�O��sN����]w�a������i��
;{���g<�Oaja� v<s�[��G�%.�X\\"���\\"�QkGOa�X�g\\\\�p�����>�>����.a���.�=������dz����A�#�_�������;q
�e�V)^���?PK
�����A���>������&���org/gradle/cli/ParsedCommandLine.class�Wiwg~F���ċ�%v�TMc[�����R����8�S���)-L���T�(����.PhÙ¡li�7	��\`rX���;��Ɵ�����}g$KÖ¸1G�����}����.3�ǽ?���.�v�*��\`�!��*��΢ .��bu�f��T���,.+*�W�BM0#h�'��\\".��T=^��a�����}:�|F�kt�����0^�7�����/�㋸$�_�_V�0�A�V���Ma�
q������[
ͼ�1s�#+3��ɥ����/�E;�����
�f2�n-C���#�2�����i�Җ�������U0R��Ғ�KMfr�)y��(��Q0r��*T>c�4y�Z�q���%s�H���˶��Y���h������M�-�C#�\\\\�U��08a�~.k��*��)Cx��K��)�LAt�\\\\��kWY�p�#�AÍ™
����	FA|���W�ݳw�/뀽�)x����V5KԶx����:ԕ|)���#�wOP�c���c�I(�V��^y���U�6K������bѴ��\\\\j������3Tp�UG(���|�V�Q��H1�M� 7S8��
�RΊ|{��Y�#۶���nQ/���5^k�Ko�u�O;=F��m,�R���h�q3�5$�bwc�LO�F�ܙm��
�����L���n\\"�����9m�G7M�h�z*gJw�r��vè©”D�ճEc�Y��e�y�K�?�a{���?�՜qZ:��fy���ȌY��c��m5�����
	� �^Xd�k�����ޏဂ6��Y��\\"��|P�[x[�w�=
�����1s�=>4�?R�c��f�U�D�O�3��8�*$c�/GW���*�S�.��5�“~�U�n��
|ɘ�_��=�0�a�4�
WU\\\\�0��~��p�WL�HZϖ�:zy�py�����*��r�K�}j��c���븪�����֒[���v.��2}Ri����c9SV�U�P�P�IΝir+���9�������g�S��
����Q��Z�y��ۇ��OB�MkI'Æ G�>�� �=�7r���W=¶~��̜�gD��1[�f(O:��6y��P=𸟳J8�J�e������2m�s�Q��P0����-^^��Ц5[����y?�A�C�2?Tj�H܆����m�o\\"@1H1t��XG1r�}k�L%×°C����h���&�4�o!��;��]LHÒ°e(��=���Z��[]����;7d���?��k'W���o������A�Ø…속=x�5��:I�C�a��b!Z�cx�(D��p1�'�)�1��a���8���!�N��*�*&T���=t�hT�����_�P;�=�'��X����/�����	F������bX�@�u	#Bw�v�p��\\\\�}b�9�û��x?}�d����������T�}HH.���o!���s��y�V�����O��C��I�/�a$�q�a�x�A1c���x��)R_J@{�& (�+�}�?Av��3x��G��f����97���CTE�B��\\"���]t���F��.�'���ޜ軅؜��t<�õ2�i ��1�i����_3�%����6�
;Aؓ����q��6�A-��V4Rg��Z�l�G� ����o��rN�$�g��dy�E:��+����N:$��̕��ų�xU��'\\\\�5��B%ǻ6
Z�3�]^ᜐ��k��>�l�J�
;�k>��e�'*�6z��E�Ge�)��A�<�],;[���S;\\\\��O��r=l8>Y ��߀��^��9ي�	��NL��vcz�ͭ&@S܇��Қg\\\\�H�VvWc��.��97�{�X�Ř�㰗G�o�� )�ȑ�,�I8�s��Q�HI0��$Ab�s��9��{�\`_i�*^QUt�
	�
���������9%�<'�t�E�B^�K��r�vs?��\`��A�^EAEXP	QP
�dȹ�PK
�����A�y�t���E��,���org/gradle/cli/ParsedCommandLineOption.class�S]O�@=ݯ�G�e�Pa�eQ���\\"�hHV1Y���awR������l���I�g��N[\`Y$�ә�{�=����?���“4�(��H#�b
���冊�$�4���-L%q[�器+��r��⾊
[�lpWA��ɶ���������(H��a1��p#-�g���,C/{����9*I�
Kxs
���U�E�J�%a��:w^�u�\\"��]a�*s�<����!�I�d;�n8�jr�b
�s\\\\^]�k5fU%�J��E��V��݅���=Vy������
j�;*i=z&x���V�Q㖧��p6K:�d�)��Kn07T@��U�.�
�Ÿ	�v��ICzt��]p�-)k�DN�(��t]6Mn0�,����
��(#��Wm��-��o�-�g�vÞ¿��Ѱ��f0��?L'��Z��D��A�K��@�϶*���$����)���M^!�O���+v�i���Q,7_�������Z~����]�սm\\\\�(K?
L�H�.:EЍ8��rZ/PdQ���>��!\\"k��~E쳟}�V�_�*bT�G;-��%����b�X��o�������������\\"��p�(=@&�_���2�w�%��^*��$�A�P�PS��� =1D:��!䉩��If�%�ޱ��n���0�5W(v��b�RD
�$���\\"x�j�2D�ϧ��xr7�k>
��!��V.p�]�.��G��ӱ��D�\\\\��8\\"�y	R����PK
�����A�\\\\v�B|����:���org/gradle/cli/ProjectPropertiesCommandLineConverter.class��KO�@��D|?Pâ���u�#Q�+�$�C;�1m�	�JW&.��(��1�D�,��9��v�o�/����[@yl汕G)��v�
}FHWkw�LS����!�]�nY�7�ZK:̿cJD�����ZRy����s���V�;�H�+-��)���n�kS�#cruLX��gh|��B���j���F��Y���D��Ώ�%�L��%���񎅎*�_���?�ֈ:(\\"�<�ڄbJՍ�	��؊t�f�^*K���
ߵ�
XU��V����i01�k
���p8��wZ��8T0g�?P�a��m����=���C
S�s����|	�1\\\\���Z�q-}C�_�J��Eˉ�j��E+	��w'��PK
�����A�
�8=|�����9���org/gradle/cli/SystemPropertiesCommandLineConverter.class���J�@��ثm���j�E�5BPą�R/P�~�ӑ$&�B�JW���'i�A�Y�3���͜�����l� �\\"l�Y��l�E �<&�	d���@���H��g�L��{:r�R�s�:C*X4NĬ����Q�۴;hZ3a ѽ�G!]��G�v�7S\\"�5eb
o}ɸG�����tFM�z�9��y���~X{()spL\`7e.�KV,
�TXxɢ����fDT��E�G��P�W��Jm�h~���49A�jx��Ѱ
��s�h��
gԙ�n8��5��]�.F�Ԓ�s�9��Q��΢��*�s�/@�Ug	J*�c�e+s��+1�
��$p�����6���/t-�,�;�h-�.�Z
�>k�Z�PK
�����A���������������org/gradle/util/�PK
�����A���������������org/gradle/util/internal/�PK
�����A�������'��&���org/gradle/util/internal/ZipSlip.class�T[S�@��J�TĨ ��
*�(ⵂ3�2�/KY�b��d+�?��/>�����(dz�B�Θ�=���}�������3�͠������q'28�l)x�v��i-Ϙ8k✾�71�C�L\\\\��\\".5c�r��W�&d �����c��T�(�s23�҂���4v.,p�1��~W�i�,c�#�0*zň/�«(�{2P\\"
����rޗ�q���/	zN*Z��%
?6�[�/�����U$���ȿ*�	���5�x��}^�r���_�=����e�D��j���4�|X�
��٬jYla/�Y8��T�n�;�/�ܿ+%��WQV2�ih0rd��r��Y9�e������Rcv3�.���20i��k�)70��<��=ch�f-��-z]�0��Fgu>�-�A����!g�>fȼ��F�����v�hK�¨���:m|�����S�;�9C�ӥ�Z��NJG����B(.\\"�[9�̣�xQAA$#��+Qbh)
� 
�\\"�i��j�-��6<���S��X��0��h��5+Z�S�8�_Y#���kBg�<��d��	�]��ΦDÙƒtZ��E�fD5xFb�w��/H����W4���>���'�T���$hR�����8���ė�mq�
��Nc�&�
�t��Md60��-ɥ׵�M�n�v�6���u��0�o�N���?@uǑ�	tџL����(�v���piB�tj����Jg������B�G؛費	V������X�ҡ_PK
�����A��%Ӧ�����/���org/gradle/wrapper/BootstrapMainStarter$1.class�R�n�@=Ӹu1���Ey�@_Iik�6�U�@.,Ru��L�!��G�	�6 ���(ı	]t1ss�չ���_��x���󸳈��ᾏM|4�i��s�Z�}.���k�ތ�=e�d/c���Υ�e<Mzn���1�g�(��qn�Q��4S�'+G#e�y�
��Tj�u�:e��t(@&�9��V|!?�H��K���$ʤ�G]g��w��(3�V\`�_(�9�T�G���&�D
l\\\\&�d���dyA֩r�<��0�#l��(�>i�0�c��=<�O���b��+7.P���m�B%����M�
�-�wźl�6i<�Z2�93�����#��ұ�w�ںl
h�������x8F��E��v~�ė�9�P%p�w8�.�R3�S�	ѵ��Ac�+j�g�QEoN Sz��B�z������j�\\\\�:�����
zQ^��oPK
�����A�i,���$
��-���org/gradle/wrapper/BootstrapMainStarter.class�V�SW�sÙ°,�1*���BI�/�V�V�(�-m��.�!�nv�f��jï­½<����	�%�2�ӗv����;�IIb���ٳ���]7�>��1���IF�2^�	C��0%c���A�0#aVF�d\\\\�{2�Ǽ�d\\\\�Uq�BNP��p]�R2\\"�!c7%|؉^|$AaQ�ʋ� .aI�~ ���ee�4��1�r����tSwN3��+��U��U�䳕�\\"��E�(a��k����{��w�u��T-��.�Z��黶�����9�r���h��u4���8C�,����-펖64���:�n�=�n�/�w�hv�<�l#� {.'�a�nVf��ӚM����U�
[��'b��0��^�SXB�D�]Î�.I���,[�X��͗�w��$w7'nm���H��SçI��r��=���btr6���+�n�e	��:K�YP���_�_�%u��P�-q
i��g���M�-{�\\\\f����I�jW˔0�\`��
N���V8s��K���b���
ʇ���2�_t+�c�O����f�\\\\�ɧ�X�C��Cϖ�K�����
���9%��9
,�H�X�
ʩ���;
�c���|�O��}�.�w��Tk�)��3|N�*Z�R�RU_�K_�k�z�3�U梾
��\`\\\\�4�T�[�၂����l����#��+*0�>�i�X
��i�FZ$K�]�h�O&�������Vo����FW���c-�M��D�qh�ƛ�:U�T��T����;#R�Nv���R�zH$['tk=��e��&ś�o����h�8�6�ls�ܕ���P�=��֣
�e�d�,�X��:�׶�\`�Զ�l\\"�z�ϼ���N�E�/��w�ۼ�-j=𒶨���y1/[�\\\\�f	�U�e��v��S/7,��xBY|��͙ZI,<�J��G�x���&����[������
�_�
Ct]b	:O�Iӓa�$E��$��>¶�C��w�\\\\�����o4��
Hn\\"�#RG�w�
��Nb(Utm�{��ۣ�*z����*�c�h ���#9_xW���c�h�yG�}�ը�/��C��C�A����S�s/A݇���~8�#�E�R�7q%��B��#
ܤ@-8q;Dv�{K�0�*���G����c�M%�8N����M����UK��;I�1�D��	�%Ğↄ���DvN��ަ�D�����g���y|��px���#U��c���������U��]����@�}���i�P8�T�(�j�@�	�1*B��� �qg)<r�
���<��8�dܾ8O�d��wS���PK
�����A�hQ�}��������#���org/gradle/wrapper/Download$1.class}�M
�0��h5�*v/����?�B\\\\x�؆���T{7�C�)���
��^���C�0 $g{s��Z�[�mE�,�]&;�i�����ڜ!!̬S\\\\9�k�'�J:��-V����6Zx/=!m��F�ӥ�YM��iH� t�nX�~�~�8\\\\j�4��PK
�����A�y�[�4�����A���org/gradle/wrapper/Download$DefaultDownloadProgressListener.class�U�SU�n6��eRH(Z@�%U+
ik[ J%D��%�
�.���@��>�ԗ���_:#Bu�}ә�#�z���qF=�~t
8�ɹ7��s�����'��+��Do4��ҌH�5Éœm�9��f�� W.����&�a�@��[&�x;ra�c\\"�	i.�4p��C��*�3t<������̪ϗ���)(g���,Q�\`8���1o�u<^��{_T��W�^�Ŋ�ժ�{�_n����v��<�����o�!<ꕉks�vŕ�҂�g��C+-�ĝY���}1,�U��1q�ל\`��VÞ¥q��ժ��s�:���h�庯�V]�nE�ZS��|�g\\\\d�M�R���e��!���!Z�\\\\J�[	�d'̭�2c�J�&�r]qRru�J�+���8	�S�Xm����ٚ��Mx����o��r\`{.�h��-��g�T^*wS��٢ߡ��d���l�2��gPZ��Um8l�����)�A�X�F��	���y����k�50'=�ұ�A��Zu��3�57��ĶS\\"�x����n�\\\\7�!C�T�D��M-�%:���ho-%+Ա��B�fuN�I�Q{�E�qM�%���帨v���>E���[��[�NMLݠʧ�77PPb�d�15�/N�nj3����RZl�1�eShK���|^���dS�:83��m����1t��Ȧ�1$���0��p��1��@����:X�
���������M�
:��)�4�G��!�Lx���G/���6�p��I�ͩ7�x�#B_\`����8���w0�=m�u�d��C�C-��\`�I���ˡ����d�)V�\`���.�_	�7R�;!����a��إ�3�m��KH)v#�#oH��վ����VZ��N�I�r.n��{��7��!=���IbN����7\`����h
a.����yD���}�����2^@�#G��e!��YY�c�J�\\"#��#K��xY&�-/�D15��4%���%V���k�T��D������%�|�
�@�ۥ��l�ܧ�g�h	��Ј��|/�7/]>(�B�_PK
�����A����ۡ��~��4���org/gradle/wrapper/Download$ProxyAuthenticator.class�U�sSE��M�Mn74�J�X�1I�$E��E���\`�a���ۛ�����xsc�?�3:���8>��8�:>�W����۴���;��9��s���9����~p%G1�ᴁ>���3Q�����q���u�3U�(>�༚/t�\\"&t\\\\������zp�@+o�踪�C��nU�y����seO�l���D�\\"�ܤ��خ(���X�y��TGdz�!\\\\pK���h9r����ÄšM+��k
{Ix���a��z�͉��.�2��z���H�\`�jU&����^wY��d��z��=�uN��Ż�k�s���Db�wg[%���)��}�r���wM�f��Ū��c�0��� W�2\\\\��_�Gz�{y5�2�8��\`̻5ϔW,�tlg+�2�x
�9��_IE�)����s�Xбȱ��:np,�&C_{�j�]��
V��n��+�[�q�!�n�p8��+(���!���59N\\"ɐ���pt������L2�R��8uӜ��&�d��YQ����j9$ق��$_�phvn��2��%Q�8W���h�P�Yg�Ve��{w�m~�KTa��ZM��A����k�e��~�F!r3��{��h�����4U��)U��\\"�άݕ��ⰱD�na]x�'6�aJ�W
�����RH/a���>z�Y<�nI!h�RQ'�N��4�����2[}K���<�4�@6po�V����/ia�k�:����7�H�C/f�������.o���;�i�#�#k�=SÿblX�6=��G�\\"�<<R�+[�O��z?HH{��(�����<�o�3��Xş���\`�oT�O�L�^E/�&��o��ÙŒ#E�\\"��H5M�G�=���g��x��P��I2)�2C[\`��7��h8U�0U���Ar�eoByQ���N�p�/���0}��PK
�����A��pO�)���&��!���org/gradle/wrapper/Download.class�Y	x[Օ>�Z޳��J�DI�8^I	�\`�+�Xv�Bx��m%�$��,�%��{X
�,�t�����9�@�-	{�lt�鴝)3̾vh����'Y��I��|�}��{���s�_��s/�*�Q)��x�?�<���h~���x�Ex�q���~M���c4��Ia���K<d�C��^:�.��b�hѨ
�zh{�����\\\\&�g�\\\\�p��r��}<�C����lU������_�Z�=t/��[|��^,�sUx�
>O�����,�R�,�Л���ռB45
ת\\\\��\\\\�\\"ñ¯‚ 7z�u�P�^��E�e��+��CW�*�ŗ/Í¥*7��CHjV�2���i���R4�D�*�6��+ܮ�m�f��U*wx(�A�7��I�NA�f���uܣ�f����ܫpH��T�Wy�B'���y@��B���Qx��ת�K��T�U�-t��U6TRyX��#*�Qy�XUxT���Ōd[TO��ӹ�!=5���Ǣq=�9N�Tg$e\`d�t�ິ9b��Ƞn�A,����ݳ�{����P��l�{�}zcT�
7��d$6��T���L=fnգihg��o��޻+����AQ51����sUo{(�����cЮ������;��v������
vvC�Y���L���u�20����aq�����p�pRG���I=�0���r�*w����F2��Z�i��/&�������b�fD�ܲUÚŒD���JC��n��P����˦v:�2Ü—Eb����z�����[��m�!T����n#٧����A=�UOF��&:Í‘v�L�����}�Bh�I�W�zr�y�4S����A|ۭ��B�%�>O\\"O|Uq�0����cLd��\\\\L~�Szv�1���ᔲ����:)M���+u�݁���7�����g����<����YZI���#Ҧ�5��j���mݐ�l?����7hˍ�7D�������I���.l��HÌ–=�p- �~\`�H�I,�����F2�G� �2��
;���CC\\"	��h�Ʊ�h�!���qS�v�as$O�Î’x#B9����i����^����DÊŽ�P
26=or:�k�}�Q#�6sʃρq.�p����H�0���b�$�*f���I%�����u��6N+�O��
�1G�Oq̊��?��:3�:���*x�UOE�\\"aEQ�O7���g07x�ׂ�!;m��2֬n�
�d���H�-V7+�
�Z��2Ì‘8\\\\� �/iE�[�5~͐�Y^�&����\`fA��'Ù®'��57�+�B�qm�[�
�yy+�]�SN�e�ȕH���n�9K�_�[�ǖ���*�& t<���
��p\`�S]T�Gж����x��]�+'�r4w<e��x*��.98\\"n���%+/����hz�ն�u���VyB�tr��Z��n��E_P��?�7j�ezH�{�I[QKR���41��7��
ߢ�!�U��m�3�.R�4�$��S��Ɵ���g5�}^�#tH���*�Z��B�ğ���S���i\`e�4
	�S��4�<A���$v�i��WM���
ߡ�|��_�5�G��������ֳ��UfH#������3o����%�ܧ����F�O��/�=�N(\\\\/���e\\\\!g�]��+?,����4�:C�G��
?��Q~L������D�Ʌn�Y1��z*�9�N�F�A����Oj�-~J���Lx���~B��۟�	�:5VZӑ������ ����gEs�(0��bᦀi��d�p�Y�1���9)N��荋�y4X�l7C2Fv�ԯ�	{�M�� u��@BO���ؓ~F?�%P�K����m�z���W�S�0}}�2�
s{ �;h@���)c7��d��d�g��WIw��}2�;-x���X�����tn�P�\\\\lOFn�+��RB�w����/k�=�>�+� ��U�	����x��4%�j|��؀�_�$�b����▧�}�k�¯j�����m��D�7������E
S@P4�6���
�uS7qcn�n�V	0-�Zq7���P+b�T\`���o�T 7�t\\"�6��h�\`�v��>+4�д�MU!q�]V����m�N4쳫�f��jPn
G')J<�\`)zd]֍�KS�KS�ꥩf�E^W��;HWE2Ip}��y�LIr%�e(-ei����>��#�v:�rM���t�o<�9,�Ǟ�:��7���^Ss��
�'�8 � _����E����7a��Š����SI5�3PU{�p�V:�����|l�]9&���ܕ�
]7��j��N;�;�z|I����)E�o�?{\\\\��cXXaYu�n~��W��&���N\\"i��<)ôo���;b��!�'A�@[����{�=�7I*.3.1���>)>����������������\`�̂����5�O��g����6>��.�Xn˳k8�W�zH�z8G�{�߼<����sb�3� ������GW��V1�(Y9U��(l��ߢ�������y��NQ�;@R��8���N��@��>{�cb�F!Ûµ?��F��4Ai3����#F]��xJ<��d����fߞ���	���53c!�)��J����!j��~G<eZ�ͨvO��fK�U֋><*�I����tJ��Lh���hj
���n)+���d��$�قvAu�Og��0���-n�Gx/��0l��|e�5;��ɗ2��=���\`�Hl_|/�wic�;�,�zД��,vB�ˠE�m3�N�b�5��'Gus�VE���n��b��<�[���Q	}��m���0Ɵ�
�O�?��g�>�TE�'^��{��ŃS~�v�ݒ��п����K�� 79�-����Tr�c�|F2߇փ/�E4�V����X���=(�ZT.�g�
�ȞP���x����؁�X�y�\\\\c��ɐr�T����T���K����?I��Z��,�3x�%��z�����ę�c�锚V����ZR�ZJ��&j�nj�Z��RZF_���-�k�u|U�oH�<\\"%��\\\\��5w��\\\\9M>��*��� �B�[#��T\\"��	,*�pX��K�Y>xBz�I�08�> �������TYS�|5~�q�]�w'��9�uc4�8U�m�p�C�|H%j�	��R�nZGs�(i�崞j�]���#綺���$NJd�t��	:eO��%ͣ��w�(.�,���S���&kϊ�g�}�O������rt���i�@
���N�9��%7�E����S*mm��V�Q��E^P�M�l���C�,�������F*0	\`Kp��-98����
��ҳXy\\\\nÆ´�Lv3�XQ��mws���������t��8-��K�hY�ߝ��MΚZ�s���M��	�*�ryE���o�ߙ��&We5=�6�bt�O�Zo��2�˯fh���Ғ�i�	Z���qZ=�x�֜���-=���V��oYU�Z;Zz�C�a�s��h��k����ZЪ�'�R7�WsK3�tt�ALU��3t��u�T�+C�ן������&El8NW\\"l��Z3�&η�׎^�6��1��TSyq!��/?�,>�ަ��S|��}�g˯�x%�
�\\\\�i1�D@�殣U�#�w׃�0�m4��P\\"4_���n�(�f�N�gI�Y
>5�{���H����f�	�sd��� �#��Mn�Et�G7�2:�5t+7�m��V\`�>\`c��)�9M'��\\\\Kρ���h=��K����!h�\\"ze8�:����n���GH�b=��Y,����r@�׺��^A���@�@��w�;����S�C��z]�7zS��d
;���L\\\\,�.����JQ>��	��\`��)V芰BoO 	Uc�����a{�E�*~wig��\`g���ǩc�%$�h6�g~DM��O����-���1
���@�\\\\�mn���;��E�?�~�~$�����+︉u�K��<���� RdK
���?���믅N���i2 �! �|Wg�g�1SS?Fۭ�A:�̀� P�(����V����@w9��d�m�%��\\\\�j�?@J���#�ƅ�0֯�����s5�ޥ[��(6��̶#C�t��vf�Z�.�t]���:�n1tb<���C 69��F���\\\\~�߅Ic�Q����^��1��+VFW��\\\\���)�5*2&�U\\"��8��z���j\`BH���|��T�K�������-8�H��^�������'�Ѐ��S����G�sxp6�h�����%z�H4���ȑ���H�↉K�O诡��p-�L\`{��1�\\"�L�=�	IŒ�!�XH�S8�MVǘ���D�Ƴ���t.��BA�rmMJ�[:�],�!��<R��ӋH������Ӗ;O��7�w5����-F���vPgM-������l�Tbջ��ɬ��r�*<��;���CTG1ޗ��xn���P%P0�
�١�-4���B��PkC�:4J}�<�+�V4��ӝF���*��5�B.�IoH�tXǰ-R���w����^Z�9�}i��i+���u���C0�NZC����B���ۈ��Hy�I�ܒ�4�b�����Q�č�I���9�|7��^:J�KPK
�����A�y�L���������1���org/gradle/wrapper/DownloadProgressListener.classu��
�@E�+�jD��E�@ۖE�ER�I��#3c�[�>���4�v��9���������O�Ī.r%��J[��M	DŽ�,��]���8��kߟ_�PU:�]�3a���G�����\\\\�^�&a�t\\"-�E�eY����˛�8\\\\3��K tЎBN��k؁�PK
�����A�!9|������3���org/gradle/wrapper/ExclusiveFileAccessManager.class�W�sW�Y�ګu|i�V�MNZ*;��J�lB�N�K�Ǝ[��t-���v�j��S�B[(���P\`x�3�L�$x����0��}�0��+9�%L=��s��ݿ����O������t<�gZ��Y��jxNG_�pNGϨ×��x^mME�SKA-E�H
�1��::\`��vI�b3lIŞDIG��qu���fxJ_�~O��c�u,�J������
_��5���ɡ�#���SgGF��
t�_2/�Y�t�S�g9���C�S�Mǟ1��h�t��DE@�v�]��;��.��\\"�,��	�2�|��@t�-R�m�r�jiNz��-�=�\`�3�g�s��,jɎ��|v�3���.yf�,���]�X��e��BAV*�c�K���̀ 0�	�ܬ��OU߲��)T=O:~vȴme��{]ԓs�d�W�䕲�-3�Q�d��E��!�C���q�]	0�E�(��;&f�*2�B5���?��^����}��虫\\\\j�L����C���l��tGuZ��5�[\\"
�Mn,�r�Q�������t�1��)�,,N��@L��5|C�75|K@g�dٷ�'�hʚwL��Q���tnk�}�2�ts��ҟ&J',�VXj�t��%syN�nE>]��o3��;6���lK�q�oF3�V�B�����>%l�W
�!�8$\`���������Dղ��3�\\"�x	���D]A��مE�U
��W����x���c�L�Q��V$��Cn�.��O<i�2]6U����]/� ��H�i���~\`\`��,\\"ޒ��G~��xg4�n�
�)��gLڽ�V���� M
��^2-��	L��\\\\:l�����(�3�e�:�j����qZ�/�WY�;A���}3��r����S#���
^L/x�R��X�	|:�u���L��i���Y���L�v�;��������u����!I���=�A������ўf�U�yLX�uc���U\\\\���Ӧ� p�v�Q�Nεv5�����|o9L�޻rקt���K���Ul)��̨��;��Wv����椯�74O�Ҭ�
���+�,1���
�F[F
�f��>#�&��A7zx� �N5@��T3��(����z��Y�4�}�
��] ҳ�4�?�E�vqݏ�<̏ ����L����N�p�8>K.���1��Dg�[A|�4n�kh�Lp�����S���ES�v\\\\�c�����~]+蘭�vvR���5dw�������=�#r�<��\\\\K��T�����8���lo�7�\`.��Ր��S�
W����ĮT�U4]����~�T��7��6���v����7�BZ ��H�
Ò«@'�c ���Klϓ��3�1�����c�����DQDDwp>���P�z�p}���@8B gmγ*&_$W��
��+�k��r�}�F�A?~��(��AZ��8�����:�ư�q���8�
ӛ�\\"��؅Q�c���?�	z5)��qj��sDP�h�	h��F�9҈����u�>�c��~��iMȈvz5�HM���� �����$?b�)n�I�P�$)S������ݳ��hÑ ǧB����<���q���0��.Ҷ���x��d�(���WW���w@�M�߉�߭5S<��
�a�<��u�.�˟�3��Gh���G�At�=��dl�٦@]�������ys����:�m��O�	
�	���8x4�?PK
�����A���,y�����-���org/gradle/wrapper/GradleUserHomeLookup.class�S�N�@=$v��ԔK
J)$����E�\`@\\"\\\\�@�<E&Y��#ǡ�_Ջ�H}�C���:�K �af����9��?�~�0�Q�Ix&c\\\\��
B���\\\\�_DЂ)	I
�d�\\"��1-�Y��eceq7��_M/.���n�H�׶6-u\`��m:%=�{�S��0t���Nom�\\\\~��1t,�N�7?k�UN�����l����_\`h�'�mKn�6t�,�oV����c��\\\\�p��5=K��\`��oU)�+�%�,�\\\\���2���\`�[�ޚ{�S�{X-���R��'j-W_�lN���o7�r0F�+y�\`×…*����2�I�~*z��0qOi$��JV	O��^�x�9��@��-�o���w�S��C����j�E�1D�ګx2+���\`��H}��n�����Õº5B'�1������d�?a�߽8�fw���nB��q�
qhN�a�^-�N�3߽��0�d6��È�jELU1tS&>�-�sc-��g��O�N�QM��}(1�����#�j��R�\`�뛿̀i��m���P/�Q��WM:����;\\"��+)	Q�g<D��)�\`�W�%L&|
�[��[ˆ��_��%��7p%w�vM%9���:)���\\"��a���h\`��PK
�����A�����������\\"���org/gradle/wrapper/IDownload.classE��
�0������
^�b��*A�{���(����l|�J�Tf $_����u�X���! �����<!L���_9S�d�]~)�l�IΎ�\`u�EQfZ�=�,������g5�	cmR��H�*ËB�h��*e�S.�0���O�A�Zp-�-Õµcӳ��
PK
�����A��%�V�����\\"���org/gradle/wrapper/Install$1.class�Wy|W���fg�L 
�@��b�{	-��Æ�b4	4BBK���Ifg��Y���Z�z�+�>��J�ل�����zߢ�Z��a?U��ofw��YRb>��7�����~����<�0�u��\\"���!��x�yH���hCJ�aA�K8\\"CF�G��� ^��x��<���c<�!#������x�s�����n��+��U2^�{�x
��6�ױ���x��;o���x3���o�@o�@o�a\\"��x�2Þ‰w�f+�x7��� �����@�ь���Y�q	������G%|L�		�:�k+�Cz�&��w���հn�y�I��i�z���m��ٕ���2��F��Ԝ�.b���\\"�yH��l���-;��j���㶚Hhvx��;�I�?T��D]�~C*.P�)3T3�'3FgDO�Y+����.3騆�t�uSw�
�U;aaJ���^�Ss���+�ﰢ�%ݺ����Ú�[�<TwsZ�����̦��P�L��j2���y<Y�BN�Ie����8���u�h�1	�pe��\\\\ iY���$Lv��|Q����e9�];��h�L��j�i�G^ijZ4�i����F�q���Ti��XS+ѭ��#9_�I�s#�M�$xya�&��)��\\\\���[�﨑�5�H���� ks�'%��4L7�;�G��^ԯ�L�I٤�}.A�T��mk�� �����Vʎh^���if2�v3bXI�R��XQ	�R� &l�M
6c���<<7*h�6�T�i���J�v	�(�趔nD5[�4N+xg(��֘�O�z>��a�(�,����
��/)�2�\\"�
���
��oHxD�7�oaF·|�(oN����{�>���a�?��C?b��'~��g���s���_�1��W
~���a�S34��	q�>J���o%�N���ğ�!��$DuX)#ZcZNMʼ]O�P�8M�Y ا�I�l#�e����+x3+g�ח2=��r�ȅ����+i/ƌ���F�ڋ,�l�3���va9Pә��r4j\\\\����kQ^�V^X)�6bk��֮@k�N[�G��O�Zn��1�٥��^H��U�Zq��,ۤ6�T[����������m	\\\\][����
=Ù™�k.������\\\\Bv�'-#�h�Tg��F\\"Z�.��tU�|���ΜQ��j�S[���dy�1o�\\\\��-�e���&��r�f���.��!�45�g�u�yË‚5Bbi	�����RH���P(��J����$����:�Ƶ����Q֭�1��s�m�b.X���\`�w��(��5m=��y�ue��}n6\`�h��ʢ����ڧz�m�˲�,�!���.b��x�Ʒ�6�<��FQ����m~ӝ���4-����Tw��I�{(�I7^ٖ�/–|�_L��*he���g�+��!Yj�
�b�I-4�|GxWN�6�[��_:m ����@���L\\"w�7�;ӳȝ��D�}���%�.�B$���o���o�DY}�$|�!�$����I�ׇ��OAz�(��<���|��I@7z��5у��tFz|������g�ei,:yp
�JI��z1
i,��w/��ҸdҨ�@m���N�Ҟ�i,�@���'Oa͗�\\"������ �����Bk�4V����ؼ&�Ι���3��4.ϐV_AMi\\\\IDi�x�W����4��C��I�z k�4ִ���h+���5��_�
z^�EJjII(@nz�d�Ө8�ߙ���4��h\`}�O����2Om�ql+/&���,�z���e�-
��ֱE��A�<k����@	a�ܔ�t����Ӹ��~�]�<�
��u�n��D\\\\$�Ǽ���ݸ��v�n[	�݄�~��>B�0�(F;���1�՝����ЇG��1즧����>��b#��6��q�8��\\"�4��ư�qQ�=��aD<]<�Q�O���0]L�L�V��݄���=T]~�݀�� I�I�>�5�:��Z�8�T\`\\\\�K���x��{pU�O�jÜŠ$�]�帍����R$T�i�|�$%�=�ŕ7�]��0|�$D$D�FǨ���#LTЈ�O�U�Sxb^�!�!����x�d�*Aƃ�G\\\\z��<�=�S�z諚�Z����n?��PK
�����A���Q�{����-���org/gradle/wrapper/Install$InstallCheck.class��]OA��i�]�l�o���J)�[
���M@/j��ݰeai�n��#o��D���K/�Q�3��Ojh��̜�y�������/�%<6GN�����2-�(�q�@%�F��{�x�8��C��[N��t\\\\�.�s�myb[�>�ъt�����UizN�F��p����7���}�Һ��.�}�3ldÏ«�^�
LX<~r\\"<+�dziTG+7���ԖS�[ǻ�{�w]�as��=G��E��mZ�[�M	�z���q�ǟ:u���a~�2��*�m8Tq�
��W���;b�!�]|ǐ�4�}��O¦�:ɬ����pÉŠ|,v%	X0x4Ú U	���&�m��:�2iT-��l��$��5\\\\7��%&�&L���;:�Ftd�n���a�����3�ǨM�b�ި�x�������;�	�l
���'�;,�
�g��L1.����V�b��a�B��7�\`Hء,J����-�A���������4�G�-#�

9�0�[��I8S3�l�~���2/h������~C�>A��҅h�ו��|��1D&���	�RՀg��َ��<�É���>�ω���.���qt4��Ύw���H�T��f���E�\`��*.bZ�>}�B�PK
�����A��݀4���-�� ���org/gradle/wrapper/Install.class�Z	|\\\\U�?'3�7yy�Ҧ�Ѕ�6kӽtR�i�Ҕ4-M���$�ę7m*P�]Q�}�\\"*��(��
�(��↠�|�s��d������_z�{w9�,����<��!����N�i���*M�4�
��9N^��T�34��!��:�<K掗&��	|�4'�<�Ku���H3W�2��p����U:������8����/#�i�<-�x�NA���^�S=/�ד�Y.M��r��Wh|�L���#|�~��uүҹ�W��Af����µ:�p���I��M:-��7��ap�4�9C�l��-~�,#[4ު�6?�ϭ2�]�U�C������Y�-���t:�:��6��u� ��q��-y�&�q�N[�[����y�Dt�&#Q�v�?Ǥ�Kҹ�?���I�8�;E�]~O:_�t��v�G
�_�Qi>��:E�\\"�/���t����Ɨh�	���!��ʮ�D��uzGl�-�;|��Wj|��K�f$R�m���^cV�>b&�V�)��aMݖ��g�nlټ�qՖ͍���X�y-SQӹ�N�&bƺjZ�D8�U�4�>.�b�V3���|5�/��Lӛ≮�����jv%̞+QӤ&��������YnW������Ѷ�P>�m���5�t���I%�;�5�U��n%��͘�x�q��p�
 �[���Lg���\\\\�/ɑ�.��䭏wXL��1�9m��ML���fd���{z�kw�a��';��z{�2mku8i3-w�\`���T´��Xm�c�p�Ft\\"�hϝg*?jR���'�m)yߒ�0�w��,�f˦F,)�]��m.\\\\��%e��W�Lj�I7�fZ|D-��'kr��p\\"�԰̆:|{�GÞ¡K���mI�?�\`�=�zs>�l$�r7�a�ˍ�V[��S\`��c�����x��T�E�$3I�=��}5�N@su��Jڠ��gOm���l�d�Q�>Xß´M��w8\`�6��U�1t�m�����Q8���?���?�4u��w��jpS<d�>J�B��%��ٹ�	,��a��lO�{{;�	H;ѡ��HMSX�AwH��G���#��'�4�QW�d{e�Ɵ3�����wI�X��(8<[�:F��v;eFT
��T��RQh��X��աf��5莧\\\\��-X:a�ȥ=�CZ�]1�N%p��#��
�%i�
���-
�h%��dR<�>8��,NËŽ;��:6Yf�L�vG<eg�^ODM�V�?��iC �Q��D\\\\��T8�PBF��cÈŒ5�6d��6k��1�#�(=w�8H��hԌ��,�'�^��Pi8�-C������+�l6xVÄ’p�p�jÉ”J/�o��n������;��p���0q*v~��g�È·bv�/k�\`l�Ak���9��f��p!~���!g\\\\��P
�Jr�6�RQ+�=�C�dž�3Q�d,#��НԊ�ñ.��9�����=}9��iÞ°fr#��@T�v��'\\"&�Me�����g�rM�������z�K�@���\\\\,.�v��S�uV��!���	��aZK�L��*Ck�Ъ>ZÛ‡7�,��8�����z
��\\\\N�=f$�ca�Ԃ��,.v�-*C�}5�n�,3�9zޠ?�k=J��k��AOГ}�.5��t�A�ߠ���8���^�t�AWЕ]F�k��o�
��o��y�����v����Q����;
�\\"�r%D�hY[W����/�)rgs� +���U�����
������^�h�
�������3�~~@�}����+L眦�
����ɹ������v�m�cA3Ö‡e	����y��t���\`'2A��EZ��d���C�2�܆�s1l�~>\`��<h�C|ә�e\\"}vG����G4>h��Óº#K,�3B4+{�e(�7�N�������T��[�l
��(�w�m
v�0n�	���X+���&j��͝V�ͲbAی�H�������E\\"��M�����07ؓ�c���}r���4D��РTP�pb'D{0y�l	�	����@�:.�=ؙ�G�;�J�%�bn��-����B��di,P�R�ʔ3��e{��)��L�N�c&~�oF}4��M���Z�:F��)T�ѷ.�0�$�4�b�3���ߕ��\`@zY|Bo��~,�Gq�
l�3_����8J&ϲ%K�|
T�o����H�?ս2d
�$og���O��O��������/�F��O�g����
~Q��z�\\"P�_�K~���%v���1iT��S��9(�კ:9�3\\\\(;�PP��+���_�a�xr^�ƿ1����ƿ3��������.��4�5�����(i]�(���7
���-�kF�cj'��&�����_5��b����aD18-7�N����ˠw����w��OLs��B����F����?�3�W&�Z�i��|H��%��̡��;��|F�Yՠ��'#�S�2Mq+I՗���e��һ)��v�p�e��~bY���i��\\\\XL)s��I�Lg�u��t7S4�m�]�o��FǺ�5�%�s�6RkG-�{%�3�_zu��l
Ȳ�#>��z0'�qa�
�*	b�p��5D����@Y��kǪr�yJ�t���\`p ���'1��H{���\\\\��&�����Ў��M*.ktŐ�U]v�¶�)��O��e�c�g/��/��r��𡅓
�_��N���b;�jؕ�l��@j�S\\\\�:��<o2|>��%�h,kg7�_��p�g=
��L�b�	R�5�����:#��ow��$+������G/���0��qe.���ĉNum�x$e[������D���Z�\\\\iMLjN��ԸЧ�D�t��G1�ԛ�x5j��fj��ŋ�hZ��5��-���ۨ?��o�D��5�6v��%��7yx*}[&�~��&u%�☐<�bMB���-dN톬�øt ʼ�L�h��}e
&�5{T������B�\`�]#k�>T�Q'�mL�Ls����%'CKb�;�--�_f�LԪh�߅�nJ�˜�����#M\\"Z΂�n3����7x#�H(΂y$�@Y��F^�M�6���	�!bEaU�z���h3e��97��y\\\\�W��)
[\\"re71ivZ�B��勞�ܴ�a9��&WQ#.����]�M�@P9�S�.����b���n*��<�-��/��U]�~2�^EW��$�./��TP1HzkQ�$zj��}4��riU��WQ����U'|
�q�C��;kh
-�h-��h	]��
�&}�>C���'VO�U�z�<�,]��f?餡_Y�O֣��\\\\����ä�7����P�t�C>���iJkE�ȯ����~��(��;�ϓ!�rP��+h:�B'ҩ�ϵ�iY>W���:p$�?O׃����-y���n��!�t�y݊U'��
O>����y���ޑ��ǘ3�M�O���t\\\\k��Mo�,�N�H�C��޼�hFu ��f,�{oz�*��)��3��Z�O�����C�w����y)�:@'��=K}ž���;i�$
x�}�>��Ni��N��N������i��@��n���{������&'@9���S�N����T�6�vbE/���O�ts�#TEž�����u15�_7ø�\`�6�����.خ��5�,*�J�h�E_�r��e�U���+P�F���bVLw]�4���P4�
T�F�(�/���7�s3�F�/N_I��^л{�6�>�.ШD��5z�5�G�暵F�~�i�5
�!��Q��4n�)�I�Q�@3_�����\\\\��y��VOU�~��O��b�
��6LU����yy�
��S͓X4�\\"�Xp��Al1�
�~r_�?GA��Ь�!�M��<��Fɫ8��S�����6TΡi:;
��^z�Ҭ�=�9�����F�;D��=�K��38H�S_��UT
��Zsэ��]��h��Īli�b\`iKk~uK+�*b��iYk �N>�7�:G�;��]T�O2��Xt����*��>���-�
i=�'	:�Y����*0ʓ8i�z��r��T����\`����'���]7H��k!	F�7�
t+�!��j1�#K,ο�N�[��)7�Q���<r\\\\���&����!� M�1��a�Ux^�2&]@��5�\\\\LO����e]�6�;ŸyY�:#�\`D�$�B��q��=���f	�=�	,~V����s���P�O��8�ũ7�w� ��V}\`���s� �j�=L����հzQlÓ¯i�Ӝ�����Z3H�Z��Vyo���B4��]o�}�tFk�����M���-�Բ
QQT��y�p�n�#��~�\`?���v�PB�����3��,�!�~:����i��.�-���Á�v���Ih�)����g��9@�y
�����c��,?����Ⱦ?���@��ן�*/�ڋX��{��z\`~P���hຍ����˕��qZ7�Å‹p�\\"��?ZBt:����k_�u/�xzQ���,WÎŒ���b��_f��@~���gl��z�Vi��F�4�:D�0&@��.\\"Y�K�����ʼn���M|jr������~�h�,����l�ՒW����S�-i�
��+�y�ۗ4�G!���J�I�u��z��=+gV!םP�pW5s!�7@^ɛ7R��K<�W�|�=��ʟp�k8��4�^������M�/4�K�����c�o��Yj��C����W��fU^KP*��#�{T��y� �'�UJ����]ǒ��[����\\\\A�:OR�%O��Q	�%�U����x!��� ��O|�f�p�dk�7@���BZ��v��%�ѻ�ƅ��)�?�g�z��'eD�<
t��y'��W�����}7��H仳�jbѿ1{���CT������T�P{i-r�v.�N.�D�Ч���8��'Ѕ<�v���U<I�zp^J-0����2�o�:j;��7a
�E�-�����Y�_MK�����
��-�A���2Q���6v�i�H{�&��4��{t�FQ�B�p�tf4z� O�;T�o�SEB6El�q�BN��c��I^�r͕��֥ޛh|U�*���3��8��w8ͩ�����KhO�<]�ړf�̜$^�����Of�t��$�M����*��S���bg�!*�a�'�a���o5\`�d��i�?\\\\*�������(]��QGL����i�5�e._�;A�Y���|��l��f���͡t��}�p|YY|�,�S���=�H�Pw�
���\\\\|�x��Rr>��YJ~Pr�?���)~������9��By.F�s?���(�� �'�/]������\\"Yϓ�c
�|,\\\\��]E�w#�FV,�?PK
�����A��:�o��4�����org/gradle/wrapper/Logger.class��ko�\`���Unc��@�&s*]7��11$KH�\`�w�ʓ�����_�O�Fg�?��x�R�5K���r��w.��??h�G�b���1TP����4w��+ͶU���]����.;\`XxfX���!R9���Ӳ��!�1,�j<8�>?4�d�ck��qǐ{�0�#�b�vtUwx�����Q;����6m�!W���\\\\5���]�1,�)��@�F\\\\�s��˵w/��'.Hq�ϰ3��:�NW�����fu���-Ce\\"��!���l�U�#�;��m\\"x�*�@o���b�w����=C���j[�$�B#��
�%q<L�rI�X�'�<%N\`�������F	�\\\\��\\\\�c���~�b@���r�J[}C#qi0�����4͡ܙ�z�|�w/��\\\\L~��sW(��5��e�N�S��Na�l�v{��k?�j��}�]Kd&{��Jo�y�Z�VR�Ɖ�|�}_3]���'Ŀ\\"\\\\?ED
�g��PP����pz*���U�{QL�[�5���	�	!1!D��>�c���I![3�̔��Jg���X�&��ov�HIFi��
Q��V�(�Iؔ��)r��
/�,��*�������ꊧP�*qw(�P�&n�_ݖ7ۛPK
�����A��\`�������8���org/gradle/wrapper/PathAssembler$LocalDistribution.class�Q�J�@=������x�+�P��AA(*(��mۥ���M��RP��?J���*�/3sf�̜�}{y���,R����6�.�]�0�U�J.d�a���7<�q�/C��-�IŐޒ�L���M�h���ٍ��!W��8l_��:��2~)����+�q7�$u�b2�=Z�d���8b��H�ݐ�Z�Z6J��5ū�no6�
�yRߡ�
SK?��
~M$_S�|a���Y�WЈ�I�V�~ϒ5�����>��p]�1��_	1*BՂ�rCT��_q�iX�OL��Z��|-��
F��d�	�S�M>W|+�<�*�>�~0T���u��h
��Y��&�㙉�B�b��5y]Ka�O���u�F~%���w��-�;�<y}��)ҕ��PK
�����A���;��+��&���org/gradle/wrapper/PathAssembler.class�V��=c-#���I���	�,�I	�8�D��,;�F���H˓H3b���N	k-�RJ���%R�|�����3c�6r�/o�{s�=�w�����~�8>
�VZG���0T\\\\�u��e/�<��x<�6�������O;����5�D\\\\���[�v�a�8�����>��~�֓\\"n��0��4ψxV�s!<��~��^�@?f�'\\"^
�e6_	��^�u�Cěn���ri\\\\5-C�ٖ�k���)�XI6M������兹���ə�����lf�����e���*�Z15G�⨀�1]3-Y�咭�8?;snbl����hȅ��\`*Ƥ^f7���TK
���e%o����q]@𔪩�ic۽�φ���E�R5e�.�c^Ε�˹.ʆ�so�o������nS.��5C�T#u^�Vϐe�4�WgQ��K�k��a�IB��Eې�wt�s�|�,X���(��i
( ��MeZf�C
�m�����L�4�jE�L��%�lR�m�&es�,�е�6Ai������\\\\T�բbZ�]'S�ۆj]Oe��&�@�Ņ�r1-@��n�:��W*�>AӁ �9K�_���(:
��_U&�,E3�����@��ЫW�/M�R��]$\`y�R��7�)x��@�[�7M�����5�?�1m��m#��\\"����Fñ¶„¯ï¿½>	'q���JH�	ñˆ„‡1-aѷ�5����]	2r�vRI�j��~�>��/I���_�l����~�w���1N������=��Ŵ�_v���?J��,�/����a]@�îL1Si���,����g�Q��i�C��&e ���:kk�ZV�����R!��Vt��6�jۊ�u3±?��ɸ���nI�'�]c���M�ngo��!6�X��I5��p2J%Uͨ�]��k�:���
�39n�ۖ���Ÿ+~��BĆv��/��\\\\w�i��t�)��
���g�U71K���p�޿-Т�
Qs9z��M4'9K�L�DS^QU����sCi����~�����K��c���kCqWp{�?6�]-hW
�E���iN:X�Ђ����7�iz<�fͽ�2�j�׸:Z��%�����Ù„;��jڹ�V�/�i�ˍ�+�q[.�;�<:ta�E�{�1���у�q�Y4�w�|ntdG���S�w�Oh��fK��gg�!����x�&|�;�O;��4�� ZEA�V��6<�3�c1��X�Bvç0p#���_C O���'jO�7Z�W�5�7жT�D��*:\\"�4��i�����N6}#�|�l�u�dcSp�K=��\`
{���\\"H� �#�C�O����kH:9N���9��8&(�V��>H\\"��.g����2�� ���;C
(��sdɓ�(�&�X��8��¾*��p�t#���K�A7LO�.=�Ћ�a��*�c1Q�w;�z-����G�x�H��z�x�t���6п�'Rj8�u���zvK��tVG>q\\"���!�א���]>�.J}��6�$�38O�m$��1K{�=�y'��:�,8��Bȉ���c��e��%ם��Y�����A ����U1�����9:��e
���Q��u�n|�A�c	������W�	��1{I�X6�Gs�t?�'ד��KU5��QƠ��DvQNʡqZ�u�x�F�{���Ds�9\\\\Z!���];<:�S�T\\"B��o!��-��p}�[�S��)2Be��Tj�s���/�#�(�ct\`���\\\\�:�S���8t����S�
��'�)��h�PK
�����A�������|	��0���org/gradle/wrapper/SystemPropertiesHandler.class�V�SU�]��!,-�
��-�3��TR����%A(��.a�,�ݸٔ�W�~��L}���Ǚ��2c�W��ڱ��&
$��9��s~��s�ޛ���?��\\"��Q� ��P0�Oc(xSNޒڔ�i3
fh@ԏ99�-ż��T,H�;�X�R=.��r����~��{x_���&��c�����r|!:}mn~v�\\":�B�ԚvC�53�;�a&#
ã–™u4�Y��9]���aΘ�'Ô³(��Vi=<e��LncE����.�Y	-��ن��^'ed��,;N��jZo�Z&����V��7�l���I���$u��+p2T(װ�FZ���9�H�������m�چ@�339��\\"L����?6���3�a��y��-&��dnC7�r�fW��CÔ¡L�.�����ꋈ-V&Ùª,5�ٷ��}�G���ӭ�c^��^8�ȃ�1�ܸ�%���Q�P����u����45'g3��\\\\?�z����z���'t|P��x���֙Բ)��\\"����j	�=��2��b
�*�2�*�h߫z>g:Ɔ���V��K9#���]Q۶��͔nv�-m��ν�v^g-�*6\`Ja���#Y��\\"GAN�
l�����-|,�����g+[�*�Dŧ�L�縥�|��+|��|+�Xyvy�)��'�1Mn�Bʶ6�w{/(���X,��(~>Wٹ�##I���=���(�D���WF��$v t�$�0;��/���~�*�x�B�D�V�\`�
-n��|/�#�����)�����y�e�Ǥ2FIi��&�^�ʫ,=A��5��ٶ����T�m�M�fRص/}6��-Ʒ�bU	�$e�g���RevX�|�3%���_
๡~�cg5h�O�W��-a�������.����5�T����c��O��_�	�����{�L����������P;�e���3�y��؆:�J�{�3�P�w�@����y42ES��p�~Gw�\\"03��V�;�L�M\`���q��=��4�����/��Z��>�u����\`i��N�]x�G7Y� κc�A=�#7?������	�I4�lv1�4��$ Ĩn��q��R!9K�M�-�z���9�BÔ¯r���W�)�5�\\"� �,����9z|�~�_=/����!�~�L�0���8�WI�H�-_���{��M
F1�W�U>��
�=��������Sp�L<\`��ݖ_b�qW��PK
�����A��=����?��-���org/gradle/wrapper/WrapperConfiguration.class��mOA�g����JK�|i�

\\"	HULCߐ-��H����&~*M$&�����3w�e��&3�3�������_���:����a�\`@E�G	xL�<�2O�<%������xN�8m��P��k����3��5���QO��M��5�)����!�Bw�~�+���1��sM�(�/;��0�/�w�^����9���sܰ���
�n����Z�d,8t|�Z�kZM��l��ONl�ڍ�����iv<N,��n�����gJe��i_n.]�!Öœ4*:Z�l��k����B�j�jttW�(;\\"�v]��߳�����s�~�\\"�D�EE,�펷o�t��GU<K�1���+����}����տ�Z]�U���խ�כo�d\`���B���o���2���daØ€<��!H��)S��U ��#l6����&���W�h\\"F}����9���B�F�G;��]�3�7͟��l�)��l��0N�q�{(E[��y�a��f�0�?@�p\\\\��F��&z�
�?@�v>,.�s�m���ns��=�N��N8�u�	ѽ���q$&�L*A��=HL)���BCO*A4dF	r_
�� s�����
�)%Ƞ2�)�Ae�E�,���	��$!�<W��j������ y2�I� U%�5HR�@͛ 2jf�PK
�����A�G��	����(���org/gradle/wrapper/WrapperExecutor.class�W����-���X2lƀ�l+�ؘ��C�l�!�9Kg�@�)�����t�+m���tЙ�l7��t��g���y�;��8(�A�z�����=���_����GCxLA�*�m
�8�@����q��2ޥ�ޭ�O(��s2ޣ\`!���{yx����I�~0����|�WO����yx6����Q&�W�<��O��ϟ��32>��X���yw���y�%^}9�����3�2�y~��Oȸ�\`;���)H��^V0�YW��^�а�;98��14���724�3��Ot
K��Nj�-;ޞ�-#;�[��N3����}H�t	�e���]�rbb��Aqy1yp�Ȗm�G�C���N�$��*=�
8%g�9ݲ
=/a��z�62��9����u�Ȑ�N�l�=qԤ��1.aC�i���[Z:������k?�̝��\`i�af�Rݘi���z��oX4�֔���r��!v��S�F\`�N3M�-�1�z_arT��Q�5�c���!�2x��ݮ\\\\�)��&*����ԉ^-�ޫ�cd
{���Z��n�!	]��$E�锞s=�'r|˝��4g�9���yJ���Y��E�
���n�
ts@�f�J�BU�(E�2��DK����2t!cj�'-BF�Y�&�v����\\\\�v�w�����d�L��m�z���^B<��d���)G�Go..?�n.�LƗ�a�6��z5�K�l�q
h�8Y[�#��0H	M�(aɨ�-��W
��vМ$����\`Pm��ެ�?}U�b��4F��s�N����V���\\\\;��/T��,P���(�H�dHW)�(�M��5�yb-٫$E;����\\"6�	���v�
o�J�V�;�6w����T�$گ���-�T|ߡ�]�y����I�XjZ]�\\"%��)Y�6�>�6i�5�~��g#�M	��;����{,�5�;����U�kUD�
�u=��*���$$�)�-���^Q��I?dIe	ÍžP�#��1���F/Q�0��'�i?e6�!#��(莄�1��e�L�%�|�%y��,d��KÜ¢\\"�|j��¡�S�Rq�m�5��U�;^�G�Q�˚h�&��}#YÜŽI��7w<}�E�A��'�L�QQ�W�M��U�����ό�D��2��	}ʉx>���1COG���)7r��a�W��T��N{�R�ӓ�|88a��������AXTY����oeÝ‚zfu����y������tR��{���:���v��:�Z��|\`G�_8檫x�8󨊣����~Ì•��7�:��+x��@��-I
�:b�qJ޻q(�Kq6�۷�b��j	&�������};dm�?J�p�E����)�@aڦ��ŕf�hr%��Q���2&��x�g�lL�->lD�����M6�uF�g����ºߏ�
C���!̣B�h�^�G��Ю
�h�ϳ_F��~�;=�U����7Ӿ˳_�0�kZ��c��z8��Ivz���v����0ixUñp�,sϢf���a\\\\���s	oе(�C���B�b�j��J�%���%�@����,,V.�Z�X@3#�8����ꚑ�RM�\`:B���B�N�c�X@�	x�e,��^F8���8isO�[�\`I�QfQ?��b^���Ϣa���
�I��t�V9gw��\\"3X�6;�kc�s��9['��_@c�p��
qvC�,bW/��<�guЁE4n\\"k�����XB���e�(�ۉr�}��NLb�n�����<����pa��Kq��K���0 V�HI�8C��K���?RM��Q%ӿV��tʯ<�Z�0�hn!��{ȣ��9o(g.�nmt��rg���RH�\\"2����	�L��D�r�
�.<�7�^�Mҫh���7�.@�#�}����\\"��l�%�4�-��p��Xn�Ŷ���%�PG
�2k����Yu�
�2�&\\"[�rۇ����[g��~;/@��M��d�客��T��P, Ia�UOs#�M�\\\\�#\\"t[�f8�80���HyCT�!���Hs�����c��/����օ�T�UY��<��0ý�������������8��*C9����ݻm�ʌ=�HN@N��3XL�̈[�[�\\\\
mRH	#SdL9<HwR�\\"����>�\\\\����ť�l�
9O��C(�.�H']��T� ��!ٞ ތīS����]��h�DL��yW�!p
5
���k�N�<��X�zZ*%q3a�0LQwx�|q�,8��x����?��cKQ���.-�.��\\"�c#�Lg�d
�_EXƙ\`-q�-z3Ai̷�D#�7�6�������^��=n*����\\"�-����PK
�����A������������	�����������A����META-INF/PK
�����A�m�>=@���?����������������)���META-INF/MANIFEST.MFPK
�����A�����������������������A����org/PK
�����A�����������������������A����org/gradle/PK
�����A�����������������������A����org/gradle/wrapper/PK
�����A�Pr���	��-��*���������������org/gradle/wrapper/GradleWrapperMain.classPK
�����A���.q/���3���#���������������gradle-wrapper-classpath.propertiesPK
�����A������������)����������������gradle-wrapper-parameter-names.propertiesPK
�����A�����������������������A���org/gradle/cli/PK
�����A���?�<��S��1����������������org/gradle/cli/AbstractCommandLineConverter.classPK
�����A�׃��X���
��;����������������org/gradle/cli/AbstractPropertiesCommandLineConverter.classPK
�����A�}��yG��K��1�������������4��org/gradle/cli/CommandLineArgumentException.classPK
�����A�������g��)����������������org/gradle/cli/CommandLineConverter.classPK
�����A�Sf
���g��&�������������*��org/gradle/cli/CommandLineOption.classPK
�����A��튯��������(�������������p��org/gradle/cli/CommandLineParser$1.classPK
�����A�$f{K���	��;�������������[��org/gradle/cli/CommandLineParser$AfterFirstSubCommand.classPK
�����A��D����&��3�������������� ��org/gradle/cli/CommandLineParser$AfterOptions.classPK
�����A���M���u��<��������������#��org/gradle/cli/CommandLineParser$BeforeFirstSubCommand.classPK
�����A��*�ZM�����F�������������H(��org/gradle/cli/CommandLineParser$CaseInsensitiveStringComparator.classPK
�����A�|�R����&��=��������������*��org/gradle/cli/CommandLineParser$KnownOptionParserState.classPK
�����A�$ľ�������<�������������$2��org/gradle/cli/CommandLineParser$MissingOptionArgState.classPK
�����A�TK>������=�������������#5��org/gradle/cli/CommandLineParser$OptionAwareParserState.classPK
�����A��%�̻�����7�������������(8��org/gradle/cli/CommandLineParser$OptionComparator.classPK
�����A��fC�������8�������������8;��org/gradle/cli/CommandLineParser$OptionParserState.classPK
�����A����E������3�������������5=��org/gradle/cli/CommandLineParser$OptionString.classPK
�����A�gAq����x��=�������������1@��org/gradle/cli/CommandLineParser$OptionStringComparator.classPK
�����A�\`M~U�����2������������� C��org/gradle/cli/CommandLineParser$ParserState.classPK
�����A�p�X
���k��?�������������tE��org/gradle/cli/CommandLineParser$UnknownOptionParserState.classPK
�����A��=��l)��&��������������H��org/gradle/cli/CommandLineParser.classPK
�����A���>������&�������������[��org/gradle/cli/ParsedCommandLine.classPK
�����A�y�t���E��,�������������c��org/gradle/cli/ParsedCommandLineOption.classPK
�����A�\\\\v�B|����:�������������9f��org/gradle/cli/ProjectPropertiesCommandLineConverter.classPK
�����A�
�8=|�����9�������������
h��org/gradle/cli/SystemPropertiesCommandLineConverter.classPK
�����A�����������������������A�i��org/gradle/util/PK
�����A�����������������������Aj��org/gradle/util/internal/PK
�����A�������'��&�������������Ij��org/gradle/util/internal/ZipSlip.classPK
�����A��%Ӧ�����/��������������m��org/gradle/wrapper/BootstrapMainStarter$1.classPK
�����A�i,���$
��-��������������o��org/gradle/wrapper/BootstrapMainStarter.classPK
�����A�hQ�}��������#��������������t��org/gradle/wrapper/Download$1.classPK
�����A�y�[�4�����A��������������u��org/gradle/wrapper/Download$DefaultDownloadProgressListener.classPK
�����A����ۡ��~��4�������������mz��org/gradle/wrapper/Download$ProxyAuthenticator.classPK
�����A��pO�)���&��!�������������\`~��org/gradle/wrapper/Download.classPK
�����A�y�L���������1�������������Ȑ��org/gradle/wrapper/DownloadProgressListener.classPK
�����A�!9|������3�����������������org/gradle/wrapper/ExclusiveFileAccessManager.classPK
�����A���,y�����-�����������������org/gradle/wrapper/GradleUserHomeLookup.classPK
�����A�����������\\"�����������������org/gradle/wrapper/IDownload.classPK
�����A��%�V�����\\"�������������m���org/gradle/wrapper/Install$1.classPK
�����A���Q�{����-����������������org/gradle/wrapper/Install$InstallCheck.classPK
�����A��݀4���-�� �������������ɧ��org/gradle/wrapper/Install.classPK
�����A��:�o��4���������������ݼ��org/gradle/wrapper/Logger.classPK
�����A��\`�������8�����������������org/gradle/wrapper/PathAssembler$LocalDistribution.classPK
�����A���;��+��&�������������m���org/gradle/wrapper/PathAssembler.classPK
�����A�������|	��0�����������������org/gradle/wrapper/SystemPropertiesHandler.classPK
�����A��=����?��-�����������������org/gradle/wrapper/WrapperConfiguration.classPK
�����A�G��	����(�����������������org/gradle/wrapper/WrapperExecutor.classPK����7�7�#�������",
  "smithy/gradle/wrapper/gradle-wrapper.properties": "distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\\\\://services.gradle.org/distributions/gradle-7.5.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
",
  "smithy/gradlew": "#!/bin/sh

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

##############################################################################
#
#   Gradle start up script for POSIX generated by Gradle.
#
#   Important for running:
#
#   (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
#       noncompliant, but you have some other compliant shell such as ksh or
#       bash, then to run this script, type that shell name before the whole
#       command line, like:
#
#           ksh Gradle
#
#       Busybox and similar reduced shells will NOT work, because this script
#       requires all of these POSIX shell features:
#         * functions;
#         * expansions «$var», «\${var}», «\${var:-default}», «\${var+SET}»,
#           «\${var#prefix}», «\${var%suffix}», and «$( cmd )»;
#         * compound commands having a testable exit status, especially «case»;
#         * various built-in commands including «command», «set», and «ulimit».
#
#   Important for patching:
#
#   (2) This script targets any POSIX shell, so it avoids extensions provided
#       by Bash, Ksh, etc; in particular arrays are avoided.
#
#       The \\"traditional\\" practice of packing multiple parameters into a
#       space-separated string is a well documented source of bugs and security
#       problems, so this is (mostly) avoided, by progressively accumulating
#       options in \\"$@\\", and eventually passing that to Java.
#
#       Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
#       and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
#       see the in-line comments for details.
#
#       There are tweaks for specific operating systems such as AIX, CygWin,
#       Darwin, MinGW, and NonStop.
#
#   (3) This script is generated from the Groovy template
#       https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
#       within the Gradle project.
#
#       You can find Gradle at https://github.com/gradle/gradle/.
#
##############################################################################

# Attempt to set APP_HOME

# Resolve links: $0 may be a link
app_path=$0

# Need this for daisy-chained symlinks.
while
    APP_HOME=\${app_path%\\"\${app_path##*/}\\"}  # leaves a trailing /; empty if no leading path
    [ -h \\"$app_path\\" ]
do
    ls=$( ls -ld \\"$app_path\\" )
    link=\${ls#*' -> '}
    case $link in             #(
      /*)   app_path=$link ;; #(
      *)    app_path=$APP_HOME$link ;;
    esac
done

APP_HOME=$( cd \\"\${APP_HOME:-./}\\" && pwd -P ) || exit

APP_NAME=\\"Gradle\\"
APP_BASE_NAME=\${0##*/}

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

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

warn () {
    echo \\"$*\\"
} >&2

die () {
    echo
    echo \\"$*\\"
    echo
    exit 1
} >&2

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

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


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

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

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

# Increase the maximum file descriptors if we can.
if ! \\"$cygwin\\" && ! \\"$darwin\\" && ! \\"$nonstop\\" ; then
    case $MAX_FD in #(
      max*)
        MAX_FD=$( ulimit -H -n ) ||
            warn \\"Could not query maximum file descriptor limit\\"
    esac
    case $MAX_FD in  #(
      '' | soft) :;; #(
      *)
        ulimit -n \\"$MAX_FD\\" ||
            warn \\"Could not set maximum file descriptor limit to $MAX_FD\\"
    esac
fi

# Collect all arguments for the java command, stacking in reverse order:
#   * args from the command line
#   * the main class name
#   * -classpath
#   * -D...appname settings
#   * --module-path (only if needed)
#   * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.

# For Cygwin or MSYS, switch paths to Windows format before running java
if \\"$cygwin\\" || \\"$msys\\" ; then
    APP_HOME=$( cygpath --path --mixed \\"$APP_HOME\\" )
    CLASSPATH=$( cygpath --path --mixed \\"$CLASSPATH\\" )

    JAVACMD=$( cygpath --unix \\"$JAVACMD\\" )

    # Now convert the arguments - kludge to limit ourselves to /bin/sh
    for arg do
        if
            case $arg in                                #(
              -*)   false ;;                            # don't mess with options #(
              /?*)  t=\${arg#/} t=/\${t%%/*}              # looks like a POSIX filepath
                    [ -e \\"$t\\" ] ;;                      #(
              *)    false ;;
            esac
        then
            arg=$( cygpath --path --ignore --mixed \\"$arg\\" )
        fi
        # Roll the args list around exactly as many times as the number of
        # args, so each arg winds up back in the position where it started, but
        # possibly modified.
        #
        # NB: a \`for\` loop captures its iteration list before it begins, so
        # changing the positional parameters here affects neither the number of
        # iterations, nor the values presented in \`arg\`.
        shift                   # remove old arg
        set -- \\"$@\\" \\"$arg\\"      # push replacement arg
    done
fi

# Collect all arguments for the java command;
#   * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
#     shell script including quotes and variable substitutions, so put them in
#     double quotes to make sure that they get re-expanded; and
#   * put everything else in single quotes, so that it's not re-expanded.

set -- \\\\
        \\"-Dorg.gradle.appname=$APP_BASE_NAME\\" \\\\
        -classpath \\"$CLASSPATH\\" \\\\
        org.gradle.wrapper.GradleWrapperMain \\\\
        \\"$@\\"

# Stop when \\"xargs\\" is not available.
if ! command -v xargs >/dev/null 2>&1
then
    die \\"xargs is not available\\"
fi

# Use \\"xargs\\" to parse quoted args.
#
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
#
# In Bash we could simply go:
#
#   readarray ARGS < <( xargs -n1 <<<\\"$var\\" ) &&
#   set -- \\"\${ARGS[@]}\\" \\"$@\\"
#
# but POSIX shell has neither arrays nor command substitution, so instead we
# post-process each arg (as a line of input to sed) to backslash-escape any
# character that might be a shell metacharacter, then use eval to reverse
# that process (while maintaining the separation between arguments), and wrap
# the whole thing up as a single \\"set\\" statement.
#
# This will of course break if any of these variables contains a newline or
# an unmatched quote.
#

eval \\"set -- $(
        printf '%s\\\\n' \\"$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS\\" |
        xargs -n1 |
        sed ' s~[^-[:alnum:]+,./:=@_]~\\\\\\\\&~g; ' |
        tr '\\\\n' ' '
    )\\" '\\"$@\\"'

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

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

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

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

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

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

@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome

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

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

goto fail

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

if exist \\"%JAVA_EXE%\\" goto execute

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

goto fail

:execute
@rem Setup the command line

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


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

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

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

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

:omega
",
  "smithy/output/openapi/build-info/smithy-build-info.json": Object {
    "metadata": Object {},
    "operationShapeIds": Array [
      "example.hello#SayHello",
    ],
    "projection": Object {
      "abstract": false,
      "imports": Array [],
      "plugins": Object {
        "openapi": Object {
          "service": "example.hello#Hello",
          "tags": true,
        },
      },
      "transforms": Array [],
    },
    "projectionName": "openapi",
    "resourceShapeIds": Array [],
    "serviceShapeIds": Array [
      "example.hello#Hello",
    ],
    "traitDefNames": Array [
      "aws.api#arn",
      "aws.api#arnReference",
      "aws.api#clientDiscoveredEndpoint",
      "aws.api#clientEndpointDiscovery",
      "aws.api#clientEndpointDiscoveryId",
      "aws.api#controlPlane",
      "aws.api#data",
      "aws.api#dataPlane",
      "aws.api#service",
      "aws.api#tagEnabled",
      "aws.api#taggable",
      "aws.auth#cognitoUserPools",
      "aws.auth#sigv4",
      "aws.auth#unsignedPayload",
      "aws.customizations#s3UnwrappedXmlOutput",
      "aws.protocols#awsJson1_0",
      "aws.protocols#awsJson1_1",
      "aws.protocols#awsQuery",
      "aws.protocols#awsQueryCompatible",
      "aws.protocols#awsQueryError",
      "aws.protocols#ec2Query",
      "aws.protocols#ec2QueryName",
      "aws.protocols#httpChecksum",
      "aws.protocols#restJson1",
      "aws.protocols#restXml",
      "smithy.api#addedDefault",
      "smithy.api#auth",
      "smithy.api#authDefinition",
      "smithy.api#box",
      "smithy.api#clientOptional",
      "smithy.api#cors",
      "smithy.api#default",
      "smithy.api#deprecated",
      "smithy.api#documentation",
      "smithy.api#endpoint",
      "smithy.api#enum",
      "smithy.api#enumValue",
      "smithy.api#error",
      "smithy.api#eventHeader",
      "smithy.api#eventPayload",
      "smithy.api#examples",
      "smithy.api#externalDocumentation",
      "smithy.api#hostLabel",
      "smithy.api#http",
      "smithy.api#httpApiKeyAuth",
      "smithy.api#httpBasicAuth",
      "smithy.api#httpBearerAuth",
      "smithy.api#httpChecksumRequired",
      "smithy.api#httpDigestAuth",
      "smithy.api#httpError",
      "smithy.api#httpHeader",
      "smithy.api#httpLabel",
      "smithy.api#httpPayload",
      "smithy.api#httpPrefixHeaders",
      "smithy.api#httpQuery",
      "smithy.api#httpQueryParams",
      "smithy.api#httpResponseCode",
      "smithy.api#idempotencyToken",
      "smithy.api#idempotent",
      "smithy.api#idRef",
      "smithy.api#input",
      "smithy.api#internal",
      "smithy.api#jsonName",
      "smithy.api#length",
      "smithy.api#mediaType",
      "smithy.api#mixin",
      "smithy.api#nestedProperties",
      "smithy.api#noReplace",
      "smithy.api#notProperty",
      "smithy.api#optionalAuth",
      "smithy.api#output",
      "smithy.api#paginated",
      "smithy.api#pattern",
      "smithy.api#private",
      "smithy.api#property",
      "smithy.api#protocolDefinition",
      "smithy.api#range",
      "smithy.api#readonly",
      "smithy.api#recommended",
      "smithy.api#references",
      "smithy.api#required",
      "smithy.api#requiresLength",
      "smithy.api#resourceIdentifier",
      "smithy.api#retryable",
      "smithy.api#sensitive",
      "smithy.api#since",
      "smithy.api#sparse",
      "smithy.api#streaming",
      "smithy.api#suppress",
      "smithy.api#tags",
      "smithy.api#timestampFormat",
      "smithy.api#title",
      "smithy.api#trait",
      "smithy.api#uniqueItems",
      "smithy.api#unitType",
      "smithy.api#unstable",
      "smithy.api#xmlAttribute",
      "smithy.api#xmlFlattened",
      "smithy.api#xmlName",
      "smithy.api#xmlNamespace",
    ],
    "traitNames": Array [
      "aws.protocols#restJson1",
      "smithy.api#authDefinition",
      "smithy.api#box",
      "smithy.api#default",
      "smithy.api#deprecated",
      "smithy.api#documentation",
      "smithy.api#enumValue",
      "smithy.api#error",
      "smithy.api#externalDocumentation",
      "smithy.api#http",
      "smithy.api#httpQuery",
      "smithy.api#idRef",
      "smithy.api#input",
      "smithy.api#internal",
      "smithy.api#length",
      "smithy.api#mixin",
      "smithy.api#notProperty",
      "smithy.api#output",
      "smithy.api#pattern",
      "smithy.api#private",
      "smithy.api#protocolDefinition",
      "smithy.api#range",
      "smithy.api#readonly",
      "smithy.api#recommended",
      "smithy.api#required",
      "smithy.api#tags",
      "smithy.api#trait",
      "smithy.api#uniqueItems",
      "smithy.api#unitType",
      "smithy.api#unstable",
    ],
    "validationEvents": Array [],
    "version": "1.0",
  },
  "smithy/output/openapi/openapi/Hello.openapi.json": Object {
    "components": Object {
      "schemas": Object {
        "ApiErrorResponseContent": Object {
          "properties": Object {
            "errorMessage": Object {
              "type": "string",
            },
          },
          "required": Array [
            "errorMessage",
          ],
          "type": "object",
        },
        "SayHelloResponseContent": Object {
          "properties": Object {
            "message": Object {
              "type": "string",
            },
          },
          "required": Array [
            "message",
          ],
          "type": "object",
        },
      },
    },
    "info": Object {
      "description": "A sample smithy api",
      "title": "Hello",
      "version": "1.0",
    },
    "openapi": "3.0.2",
    "paths": Object {
      "/hello": Object {
        "get": Object {
          "operationId": "SayHello",
          "parameters": Array [
            Object {
              "in": "query",
              "name": "name",
              "required": true,
              "schema": Object {
                "type": "string",
              },
            },
          ],
          "responses": Object {
            "200": Object {
              "content": Object {
                "application/json": Object {
                  "schema": Object {
                    "$ref": "#/components/schemas/SayHelloResponseContent",
                  },
                },
              },
              "description": "SayHello 200 response",
            },
            "400": Object {
              "content": Object {
                "application/json": Object {
                  "schema": Object {
                    "$ref": "#/components/schemas/ApiErrorResponseContent",
                  },
                },
              },
              "description": "ApiError 400 response",
            },
          },
        },
      },
    },
  },
  "smithy/output/openapi/sources/manifest": "model.json
",
  "smithy/output/source/build-info/smithy-build-info.json": Object {
    "metadata": Object {},
    "operationShapeIds": Array [
      "example.hello#SayHello",
    ],
    "projection": Object {
      "abstract": false,
      "imports": Array [],
      "plugins": Object {},
      "transforms": Array [],
    },
    "projectionName": "source",
    "resourceShapeIds": Array [],
    "serviceShapeIds": Array [
      "example.hello#Hello",
    ],
    "traitDefNames": Array [
      "aws.api#arn",
      "aws.api#arnReference",
      "aws.api#clientDiscoveredEndpoint",
      "aws.api#clientEndpointDiscovery",
      "aws.api#clientEndpointDiscoveryId",
      "aws.api#controlPlane",
      "aws.api#data",
      "aws.api#dataPlane",
      "aws.api#service",
      "aws.api#tagEnabled",
      "aws.api#taggable",
      "aws.auth#cognitoUserPools",
      "aws.auth#sigv4",
      "aws.auth#unsignedPayload",
      "aws.customizations#s3UnwrappedXmlOutput",
      "aws.protocols#awsJson1_0",
      "aws.protocols#awsJson1_1",
      "aws.protocols#awsQuery",
      "aws.protocols#awsQueryCompatible",
      "aws.protocols#awsQueryError",
      "aws.protocols#ec2Query",
      "aws.protocols#ec2QueryName",
      "aws.protocols#httpChecksum",
      "aws.protocols#restJson1",
      "aws.protocols#restXml",
      "smithy.api#addedDefault",
      "smithy.api#auth",
      "smithy.api#authDefinition",
      "smithy.api#box",
      "smithy.api#clientOptional",
      "smithy.api#cors",
      "smithy.api#default",
      "smithy.api#deprecated",
      "smithy.api#documentation",
      "smithy.api#endpoint",
      "smithy.api#enum",
      "smithy.api#enumValue",
      "smithy.api#error",
      "smithy.api#eventHeader",
      "smithy.api#eventPayload",
      "smithy.api#examples",
      "smithy.api#externalDocumentation",
      "smithy.api#hostLabel",
      "smithy.api#http",
      "smithy.api#httpApiKeyAuth",
      "smithy.api#httpBasicAuth",
      "smithy.api#httpBearerAuth",
      "smithy.api#httpChecksumRequired",
      "smithy.api#httpDigestAuth",
      "smithy.api#httpError",
      "smithy.api#httpHeader",
      "smithy.api#httpLabel",
      "smithy.api#httpPayload",
      "smithy.api#httpPrefixHeaders",
      "smithy.api#httpQuery",
      "smithy.api#httpQueryParams",
      "smithy.api#httpResponseCode",
      "smithy.api#idempotencyToken",
      "smithy.api#idempotent",
      "smithy.api#idRef",
      "smithy.api#input",
      "smithy.api#internal",
      "smithy.api#jsonName",
      "smithy.api#length",
      "smithy.api#mediaType",
      "smithy.api#mixin",
      "smithy.api#nestedProperties",
      "smithy.api#noReplace",
      "smithy.api#notProperty",
      "smithy.api#optionalAuth",
      "smithy.api#output",
      "smithy.api#paginated",
      "smithy.api#pattern",
      "smithy.api#private",
      "smithy.api#property",
      "smithy.api#protocolDefinition",
      "smithy.api#range",
      "smithy.api#readonly",
      "smithy.api#recommended",
      "smithy.api#references",
      "smithy.api#required",
      "smithy.api#requiresLength",
      "smithy.api#resourceIdentifier",
      "smithy.api#retryable",
      "smithy.api#sensitive",
      "smithy.api#since",
      "smithy.api#sparse",
      "smithy.api#streaming",
      "smithy.api#suppress",
      "smithy.api#tags",
      "smithy.api#timestampFormat",
      "smithy.api#title",
      "smithy.api#trait",
      "smithy.api#uniqueItems",
      "smithy.api#unitType",
      "smithy.api#unstable",
      "smithy.api#xmlAttribute",
      "smithy.api#xmlFlattened",
      "smithy.api#xmlName",
      "smithy.api#xmlNamespace",
    ],
    "traitNames": Array [
      "aws.protocols#restJson1",
      "smithy.api#authDefinition",
      "smithy.api#box",
      "smithy.api#default",
      "smithy.api#deprecated",
      "smithy.api#documentation",
      "smithy.api#enumValue",
      "smithy.api#error",
      "smithy.api#externalDocumentation",
      "smithy.api#http",
      "smithy.api#httpQuery",
      "smithy.api#idRef",
      "smithy.api#input",
      "smithy.api#internal",
      "smithy.api#length",
      "smithy.api#mixin",
      "smithy.api#notProperty",
      "smithy.api#output",
      "smithy.api#pattern",
      "smithy.api#private",
      "smithy.api#protocolDefinition",
      "smithy.api#range",
      "smithy.api#readonly",
      "smithy.api#recommended",
      "smithy.api#required",
      "smithy.api#tags",
      "smithy.api#trait",
      "smithy.api#uniqueItems",
      "smithy.api#unitType",
      "smithy.api#unstable",
    ],
    "validationEvents": Array [],
    "version": "1.0",
  },
  "smithy/output/source/sources/main.smithy": "$version: \\"2\\"
namespace example.hello

use aws.protocols#restJson1

/// A sample smithy api
@restJson1
service Hello {
    version: \\"1.0\\"
    operations: [SayHello]
}

@readonly
@http(method: \\"GET\\", uri: \\"/hello\\")
operation SayHello {
    input: SayHelloInput
    output: SayHelloOutput
    errors: [ApiError]
}

string Name
string Message

@input
structure SayHelloInput {
    @httpQuery(\\"name\\")
    @required
    name: Name
}

@output
structure SayHelloOutput {
    @required
    message: Message
}

@error(\\"client\\")
structure ApiError {
    @required
    errorMessage: Message
}
",
  "smithy/output/source/sources/manifest": "main.smithy
",
  "smithy/settings.gradle": "rootProject.name = 'test-smithy-build'",
  "smithy/smithy-build.json": Object {
    "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \\"npx projen\\".",
    "maven": Object {
      "dependencies": Array [
        "software.amazon.smithy:smithy-cli:1.28.0",
        "software.amazon.smithy:smithy-model:1.28.0",
        "software.amazon.smithy:smithy-openapi:1.28.0",
        "software.amazon.smithy:smithy-aws-traits:1.28.0",
      ],
      "repositories": Array [
        Object {
          "url": "https://repo.maven.apache.org/maven2/",
        },
        Object {
          "url": "file://~/.m2/repository",
        },
      ],
    },
    "projections": Object {
      "openapi": Object {
        "plugins": Object {
          "openapi": Object {
            "service": "example.hello#Hello",
            "tags": true,
          },
        },
      },
    },
    "version": "2.0",
  },
  "smithy/src/main/smithy/main.smithy": "$version: \\"2\\"
namespace example.hello

use aws.protocols#restJson1

/// A sample smithy api
@restJson1
service Hello {
    version: \\"1.0\\"
    operations: [SayHello]
}

@readonly
@http(method: \\"GET\\", uri: \\"/hello\\")
operation SayHello {
    input: SayHelloInput
    output: SayHelloOutput
    errors: [ApiError]
}

string Name
string Message

@input
structure SayHelloInput {
    @httpQuery(\\"name\\")
    @required
    name: Name
}

@output
structure SayHelloOutput {
    @required
    message: Message
}

@error(\\"client\\")
structure ApiError {
    @required
    errorMessage: Message
}
",
  "src/main/java/api/Api.java": "package api;

import com.fasterxml.jackson.databind.ObjectMapper;
import software.aws.awsprototypingsdk.openapigateway.MethodAndPath;
import software.aws.awsprototypingsdk.openapigateway.OpenApiGatewayRestApi;
import software.aws.awsprototypingsdk.openapigateway.OpenApiGatewayRestApiProps;
import software.constructs.Construct;
import com.generated.api.testjava.client.api.OperationLookup;

import java.io.IOException;
import java.net.URL;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Map;
import java.util.stream.Collectors;

/**
 * Type-safe construct for the API Gateway resources defined by the spec.
 * You will likely not need to modify this file, and can instead extend it and define your integrations.
 */
public class Api extends OpenApiGatewayRestApi {
    private static class SpecDetails {
        static String specPath;
        static Object spec;

        static {
            try {
                // The parsed spec is included as a packaged resource
                URL specUrl = SpecDetails.class.getClassLoader().getResource(\\"spec/.parsed-spec.json\\");

                // We'll write the parsed spec to a temporary file outside of the jar to ensure CDK can package it as an asset
                Path parsedSpecPath = Files.createTempFile(\\"parsed-spec\\", \\".json\\");
                specPath = parsedSpecPath.toString();

                ObjectMapper json = new ObjectMapper();
                spec = json.readValue(specUrl, Object.class);
                json.writeValue(parsedSpecPath.toFile(), spec);
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        }
    }

    public Api(Construct scope, String id, ApiProps props) {
        super(scope, id, OpenApiGatewayRestApiProps.builder()
                .defaultAuthorizer(props.getDefaultAuthorizer())
                .corsOptions(props.getCorsOptions())
                .operationLookup(OperationLookup.getOperationLookup()
                        .entrySet()
                        .stream()
                        .collect(Collectors.toMap(Map.Entry::getKey, e -> MethodAndPath.builder()
                                .method(e.getValue().get(\\"method\\"))
                                .path(e.getValue().get(\\"path\\"))
                                .build())))
                .spec(SpecDetails.spec)
                .specPath(SpecDetails.specPath)
                .integrations(props.getIntegrations().asMap())
                // Rest API Base Props
                .cloudWatchRole(props.getCloudWatchRole())
                .deploy(props.getDeploy())
                .deployOptions(props.getDeployOptions())
                .description(props.getDescription())
                .disableExecuteApiEndpoint(props.getDisableExecuteApiEndpoint())
                .domainName(props.getDomainName())
                .endpointExportName(props.getEndpointExportName())
                .endpointTypes(props.getEndpointTypes())
                .failOnWarnings(props.getFailOnWarnings())
                .parameters(props.getParameters())
                .policy(props.getPolicy())
                .restApiName(props.getRestApiName())
                .retainDeployments(props.getRetainDeployments())
                .build());
    }
}
",
  "src/main/java/api/ApiProps.java": "package api;

import software.amazon.awscdk.services.apigateway.CorsOptions;
import software.amazon.awscdk.services.apigateway.StageOptions;
import software.amazon.awscdk.services.apigateway.RestApiBaseProps;
import software.amazon.awscdk.services.apigateway.DomainNameOptions;
import software.amazon.awscdk.services.apigateway.EndpointType;
import software.amazon.awscdk.services.iam.PolicyDocument;
import software.aws.awsprototypingsdk.openapigateway.Authorizer;
import software.aws.awsprototypingsdk.openapigateway.OpenApiIntegration;

import com.generated.api.testjava.client.api.OperationConfig;

import java.util.List;
import java.util.Map;

/**
 * Properties for the Api construct
 */
@lombok.Builder @lombok.Getter
public class ApiProps implements RestApiBaseProps {
    public OperationConfig<OpenApiIntegration> integrations;
    public Authorizer defaultAuthorizer;
    public CorsOptions corsOptions;

    // Rest API Props
    public Boolean cloudWatchRole;
    public Boolean deploy;
    public StageOptions deployOptions;
    public String description;
    public Boolean disableExecuteApiEndpoint;
    public DomainNameOptions domainName;
    public String endpointExportName;
    public List<EndpointType> endpointTypes;
    public Boolean failOnWarnings;
    public Map<String, String> parameters;
    public PolicyDocument policy;
    public String restApiName;
    public Boolean retainDeployments;
}
",
  "src/main/java/api/SampleApi.java": "package api;

import software.amazon.awscdk.Duration;
import software.amazon.awscdk.services.apigateway.CorsOptions;
import software.amazon.awscdk.services.lambda.Code;
import software.amazon.awscdk.services.lambda.Function;
import software.amazon.awscdk.services.lambda.FunctionProps;
import software.amazon.awscdk.services.lambda.Runtime;
import software.aws.awsprototypingsdk.openapigateway.Authorizers;
import software.aws.awsprototypingsdk.openapigateway.Integrations;
import software.aws.awsprototypingsdk.openapigateway.OpenApiIntegration;
import com.generated.api.testjava.client.api.OperationConfig;
import software.constructs.Construct;

import java.net.URISyntaxException;
import java.util.Arrays;

/**
 * An example of how to wire lambda handler functions to API operations
 */
public class SampleApi extends Api {
    public SampleApi(Construct scope, String id) {
        super(scope, id, ApiProps.builder()
                .defaultAuthorizer(Authorizers.iam())
                .corsOptions(CorsOptions.builder()
                        .allowOrigins(Arrays.asList(\\"*\\"))
                        .allowMethods(Arrays.asList(\\"*\\"))
                        .build())
                .integrations(OperationConfig.<OpenApiIntegration>builder()
                        .sayHello(OpenApiIntegration.builder()
                                .integration(Integrations.lambda(
                                        new Function(scope, \\"say-hello\\", FunctionProps.builder()
                                                // Use the entire project jar for the lambda code in order to provide a simple,
                                                // \\"one-click\\" way to build the api. However this jar is much larger than necessary
                                                // since it includes cdk infrastructure, dependencies etc.
                                                // It is recommended to follow the instructions in the \\"Java API Lambda Handlers\\"
                                                // section of the open-api-gateway README to define your lambda handlers as a
                                                // separate project.
                                                .code(Code.fromAsset(SampleApi.getJarPath()))
                                                .handler(\\"api.SayHelloHandler\\")
                                                .runtime(Runtime.JAVA_11)
                                                .timeout(Duration.seconds(30))
                                                .build())))
                                .build())
                        .build())
                .build());
    }

    private static String getJarPath() {
        try {
            // Retrieve the path of the jar in which this class resides
            return SampleApi.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath();
        } catch (URISyntaxException e) {
            throw new RuntimeException(e);
        }
    }
}

",
  "src/main/java/api/SayHelloHandler.java": "package api;

import com.generated.api.testjava.client.api.Handlers.SayHello;
import com.generated.api.testjava.client.api.Handlers.SayHello200Response;
import com.generated.api.testjava.client.api.Handlers.SayHelloRequestInput;
import com.generated.api.testjava.client.api.Handlers.SayHelloResponse;
import com.generated.api.testjava.client.model.SayHelloResponseContent;

/**
 * An example lambda handler which uses the generated handler wrapper class (Handlers.SayHello) to manage marshalling
 * inputs and outputs.
 */
public class SayHelloHandler extends SayHello {
    @Override
    public SayHelloResponse handle(SayHelloRequestInput sayHelloRequestInput) {
        return SayHello200Response.of(SayHelloResponseContent.builder()
                .message(String.format(\\"Hello %s\\", sayHelloRequestInput.getInput().getRequestParameters().getName()))
                .build());
    }
}
",
  "src/main/resources/spec/.parsed-spec.json": Object {
    "components": Object {
      "schemas": Object {
        "ApiErrorResponseContent": Object {
          "properties": Object {
            "errorMessage": Object {
              "type": "string",
            },
          },
          "required": Array [
            "errorMessage",
          ],
          "type": "object",
        },
        "SayHelloResponseContent": Object {
          "properties": Object {
            "message": Object {
              "type": "string",
            },
          },
          "required": Array [
            "message",
          ],
          "type": "object",
        },
      },
    },
    "info": Object {
      "description": "A sample smithy api",
      "title": "Hello",
      "version": "1.0",
    },
    "openapi": "3.0.2",
    "paths": Object {
      "/hello": Object {
        "get": Object {
          "operationId": "SayHello",
          "parameters": Array [
            Object {
              "in": "query",
              "name": "name",
              "required": true,
              "schema": Object {
                "type": "string",
              },
            },
          ],
          "responses": Object {
            "200": Object {
              "content": Object {
                "application/json": Object {
                  "schema": Object {
                    "$ref": "#/components/schemas/SayHelloResponseContent",
                  },
                },
              },
              "description": "SayHello 200 response",
            },
            "400": Object {
              "content": Object {
                "application/json": Object {
                  "schema": Object {
                    "$ref": "#/components/schemas/ApiErrorResponseContent",
                  },
                },
              },
              "description": "ApiError 400 response",
            },
          },
        },
      },
    },
  },
  "src/test/java/org/acme/MyTest.java": "package org.acme;

import org.junit.jupiter.api.Test;

public class MyTest {
  @Test
  public void testHello() {
    System.out.println(\\"Hello, world!\\");
  }
}",
}
`;