diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index 2d0a0ea..b1cd69a 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -14,7 +14,7 @@ on: jobs: fmt: - uses: ./.github/workflows/witness.yml + uses: testifysec/witness-run-action/.github/workflows/witness.yml@reusable-workflow with: pull_request: ${{ github.event_name == 'pull_request' }} step: fmt @@ -22,20 +22,23 @@ jobs: command: go fmt ./... vet: - uses: ./.github/workflows/witness.yml + uses: testifysec/witness-run-action/.github/workflows/witness.yml@reusable-workflow with: pull_request: ${{ github.event_name == 'pull_request' }} step: vet attestations: "git github environment" + archivista-server: "https://judge-api.aws-sandbox-staging.testifysec.dev" command: go vet ./... # --ignore DL3002 lint: - uses: ./.github/workflows/witness.yml + uses: testifysec/witness-run-action/.github/workflows/witness.yml@reusable-workflow with: pull_request: ${{ github.event_name == 'pull_request' }} step: lint + pre-command-attestations: "git github environment" attestations: "git github environment" + archivista-server: "https://judge-api.aws-sandbox-staging.testifysec.dev" pre-command: | curl -sSfL https://github.com/hadolint/hadolint/releases/download/v2.12.0/hadolint-Linux-x86_64 -o /usr/local/bin/hadolint && \ chmod +x /usr/local/bin/hadolint @@ -45,22 +48,25 @@ jobs: unit-test: needs: [ fmt, vet, lint ] - uses: ./.github/workflows/witness.yml + uses: testifysec/witness-run-action/.github/workflows/witness.yml@reusable-workflow with: pull_request: ${{ github.event_name == 'pull_request' }} step: unit-test attestations: "git github environment" + archivista-server: "https://judge-api.aws-sandbox-staging.testifysec.dev" command: go test ./... -coverprofile cover.out artifact-upload-name: cover.out artifact-upload-path: cover.out sast: needs: [ fmt, vet, lint ] - uses: ./.github/workflows/witness.yml + uses: testifysec/witness-run-action/.github/workflows/witness.yml@reusable-workflow with: pull_request: ${{ github.event_name == 'pull_request' }} step: sast + pre-command-attestations: "git github environment" attestations: "git github environment" + archivista-server: "https://judge-api.aws-sandbox-staging.testifysec.dev" pre-command: python3 -m pip install semgrep==1.45.0 command: semgrep scan --config auto ./ --sarif -o semgrep.sarif artifact-upload-name: semgrep.sarif @@ -68,7 +74,7 @@ jobs: build: needs: [ unit-test, sast ] - uses: ./.github/workflows/witness.yml + uses: testifysec/witness-run-action/.github/workflows/witness.yml@reusable-workflow with: pull_request: ${{ github.event_name == 'pull_request' }} step: build @@ -109,10 +115,12 @@ jobs: use: true - name: Build Image - uses: testifysec/witness-run-action@9bb3541332161bc8bf76c36bcdaab56b8da8e171 # v0.2.0-beta + uses: testifysec/witness-run-action@reusable-workflow # v0.2.0 with: + version: 0.6.0 step: build-image attestations: "git github environment slsa" + archivista-server: "https://judge-api.aws-sandbox-staging.testifysec.dev" command: | /bin/sh -c "docker buildx build --platform linux/amd64,linux/arm64 -t ${{ steps.meta.outputs.tags }} --push ." outputs: @@ -120,11 +128,12 @@ jobs: save-image: needs: build-image - uses: ./.github/workflows/witness.yml + uses: testifysec/witness-run-action/.github/workflows/witness.yml@reusable-workflow with: pull_request: ${{ github.event_name == 'pull_request' }} - step: save-image + step: save-image attestations: "git github environment slsa oci" + archivista-server: "https://judge-api.aws-sandbox-staging.testifysec.dev" command: | docker pull ${{ needs.build-image.outputs.tags }} && docker save ${{ needs.build-image.outputs.tags }} -o image.tar artifact-upload-name: image.tar @@ -132,41 +141,30 @@ jobs: generate-sbom: needs: save-image - uses: ./.github/workflows/witness.yml + uses: testifysec/witness-run-action/.github/workflows/witness.yml@reusable-workflow with: pull_request: ${{ github.event_name == 'pull_request' }} step: generate-sbom - attestations: "git github environment" + pre-command-attestations: "git github environment" + attestations: "git github environment sbom" + archivista-server: "https://judge-api.aws-sandbox-staging.testifysec.dev" artifact-download: image.tar pre-command: | curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin command: | - syft packages docker-archive:/tmp/image.tar -o spdx-json --file syft.spdx.json - artifact-upload-name: syft.spdx.json - artifact-upload-path: syft.spdx.json - - cve-scan: - needs: save-image - uses: ./.github/workflows/witness.yml - with: - pull_request: ${{ github.event_name == 'pull_request' }} - step: cve-scan - attestations: "git github environment" - artifact-download: image.tar - pre-command: | - curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh | sh -s -- -b /usr/local/bin - command: | - grype docker-archive:/tmp/image.tar -o sarif --file grype.sarif - artifact-upload-name: grype.sarif - artifact-upload-path: grype.sarif + syft packages docker-archive:/tmp/image.tar --source-name=pkg:oci/testifysec/swf -o cyclonedx-json --file sbom.cdx.json + artifact-upload-name: sbom.cdx.json + artifact-upload-path: sbom.cdx.json secret-scan: needs: save-image - uses: ./.github/workflows/witness.yml + uses: testifysec/witness-run-action/.github/workflows/witness.yml@reusable-workflow with: pull_request: ${{ github.event_name == 'pull_request' }} step: secret-scan + pre-command-attestations: "git github environment" attestations: "git github environment" + archivista-server: "https://judge-api.aws-sandbox-staging.testifysec.dev" artifact-download: image.tar pre-command: | curl -sSfL https://raw.githubusercontent.com/trufflesecurity/trufflehog/main/scripts/install.sh | sh -s -- -b /usr/local/bin @@ -176,17 +174,19 @@ jobs: artifact-upload-path: trufflehog.json verify: - needs: [ generate-sbom, cve-scan, secret-scan] + needs: [ generate-sbom, secret-scan] if: ${{ github.event_name == 'push' }} - uses: ./.github/workflows/witness.yml + uses: testifysec/witness-run-action/.github/workflows/witness.yml@reusable-workflow with: pull_request: ${{ github.event_name == 'pull_request' }} step: verify + pre-command-attestations: "git github environment" attestations: "git github environment" + archivista-server: "https://judge-api.aws-sandbox-staging.testifysec.dev" artifact-download: image.tar pre-command: | - curl -sSfL https://github.com/in-toto/witness/releases/download/v0.4.0-beta/witness_0.4.0-beta_linux_amd64.tar.gz -o witness.tar.gz && \ + curl -sSfL https://github.com/in-toto/witness/releases/download/v0.6.0/witness_0.6.0_linux_amd64.tar.gz -o witness.tar.gz && \ tar -xzvf witness.tar.gz -C /usr/local/bin/ && rm ./witness.tar.gz command: | witness verify -p policy-signed.json -k swfpublic.pem -f /tmp/image.tar --enable-archivista -l debug diff --git a/.github/workflows/witness.yml b/.github/workflows/witness.yml deleted file mode 100644 index f41bc50..0000000 --- a/.github/workflows/witness.yml +++ /dev/null @@ -1,80 +0,0 @@ -# Copyright 2023 The Archivista Contributors -# -# 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. - -on: - workflow_call: - inputs: - pull_request: - required: true - type: boolean - artifact-download: - required: false - type: string - artifact-upload-name: - required: false - type: string - artifact-upload-path: - required: false - type: string - pre-command: - required: false - type: string - command: - required: true - type: string - step: - required: true - type: string - attestations: - required: true - type: string - -jobs: - witness: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - - uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0 - with: - go-version: 1.21.x - - - if: ${{ inputs.artifact-download != '' }} - uses: actions/download-artifact@6b208ae046db98c579e8a3aa621ab581ff575935 # v4.1.1 - with: - name: ${{ inputs.artifact-download }} - path: /tmp - - - if: ${{ inputs.pre-command != '' && inputs.pull_request == false }} - uses: testifysec/witness-run-action@9bb3541332161bc8bf76c36bcdaab56b8da8e171 # v0.2.0-beta - with: - step: pre-${{ inputs.step }} - attestations: ${{ inputs.attestations }} - command: /bin/sh -c "${{ inputs.pre-command }}" - - if: ${{ inputs.pre-command != '' && inputs.pull_request == true }} - run: ${{ inputs.pre-command }} - - - if: ${{ inputs.pull_request == false }} - uses: testifysec/witness-run-action@9bb3541332161bc8bf76c36bcdaab56b8da8e171 # v0.2.0-beta - with: - step: ${{ inputs.step }} - attestations: ${{ inputs.attestations }} - command: /bin/sh -c "${{ inputs.command }}" - - if: ${{ inputs.pull_request == true }} - run: ${{ inputs.command }} - - - if: ${{ inputs.artifact-upload-path != '' && inputs.artifact-upload-name != ''}} - uses: actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 # v4.3.0 - with: - name: ${{ inputs.artifact-upload-name }} - path: ${{ inputs.artifact-upload-path }} diff --git a/policy-signed.json b/policy-signed.json index 594d3db..26edba0 100644 --- a/policy-signed.json +++ b/policy-signed.json @@ -1 +1 @@ -{"payload":"ewogICAgImV4cGlyZXMiOiAiMjAyNS0xMi0xN1QyMzo1Nzo0MC0wNTowMCIsCiAgICAic3RlcHMiOiB7CiAgICAgICJmbXQiOiB7CiAgICAgICAgIm5hbWUiOiAiZm10IiwKICAgICAgICAiYXR0ZXN0YXRpb25zIjogWwogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9lbnZpcm9ubWVudC92MC4xIgogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAiaHR0cHM6Ly93aXRuZXNzLmRldi9hdHRlc3RhdGlvbnMvZ2l0L3YwLjEiCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9tYXRlcmlhbC92MC4xIgogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAiaHR0cHM6Ly93aXRuZXNzLmRldi9hdHRlc3RhdGlvbnMvY29tbWFuZC1ydW4vdjAuMSIKICAgICAgICAgIH0sCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0eXBlIjogImh0dHBzOi8vd2l0bmVzcy5kZXYvYXR0ZXN0YXRpb25zL3Byb2R1Y3QvdjAuMSIKICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJmdW5jdGlvbmFyaWVzIjogWwogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJyb290IiwKICAgICAgICAgICAgImNlcnRDb25zdHJhaW50IjogewogICAgICAgICAgICAgICJjb21tb25uYW1lIjogIioiLAogICAgICAgICAgICAgICJkbnNuYW1lcyI6IFsKICAgICAgICAgICAgICAgICIqIgogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgImVtYWlscyI6IFsKICAgICAgICAgICAgICAgICIqIgogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIm9yZ2FuaXphdGlvbnMiOiBbCiAgICAgICAgICAgICAgICAiKiIKICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJ1cmlzIjogWwogICAgICAgICAgICAgICAgIioiCiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAicm9vdHMiOiBbCiAgICAgICAgICAgICAgICAiZGNmMTY2ZWViZTdjYmQ5NzYwOTQ3YTg4MjEzZDk0ZTY1NjM0OWM2NDdkNDM5NTY5ZGM3NmEyNzVmMDViNzE1OSIKICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJleHRlbnNpb25zIjogewogICAgICAgICAgICAgICAgImlzc3VlciI6ICJodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tIiwKICAgICAgICAgICAgICAgICJnaXRodWJfd29ya2Zsb3dfc2hhIjogIjM5ZjgwYjRjMTczZTdiMDIzYTE5ZDJhZWFjMjY4NjczM2M2N2IzOGUiLAogICAgICAgICAgICAgICAgInNvdXJjZV9yZXBvc2l0b3J5X3VyaSI6ICJodHRwczovL2dpdGh1Yi5jb20vdGVzdGlmeXNlYy9zd2YiLAogICAgICAgICAgICAgICAgImJ1aWxkX3NpZ25lcl91cmkiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Rlc3RpZnlzZWMvc3dmLy5naXRodWIvd29ya2Zsb3dzL3dpdG5lc3MueW1sQHJlZnMvaGVhZHMvc2xzYSIsCiAgICAgICAgICAgICAgICAiYnVpbGRfc2lnbmVyX2RpZ2VzdCI6ICIzOWY4MGI0YzE3M2U3YjAyM2ExOWQyYWVhYzI2ODY3MzNjNjdiMzhlIiwKICAgICAgICAgICAgICAgICJydW5uZXJfZW52aXJvbm1lbnQiOiAiZ2l0aHViLWhvc3RlZCIKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICBdCiAgICAgIH0sCiAgICAgICJ2ZXQiOiB7CiAgICAgICAgIm5hbWUiOiAidmV0IiwKICAgICAgICAiYXR0ZXN0YXRpb25zIjogWwogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9lbnZpcm9ubWVudC92MC4xIgogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAiaHR0cHM6Ly93aXRuZXNzLmRldi9hdHRlc3RhdGlvbnMvZ2l0L3YwLjEiCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9tYXRlcmlhbC92MC4xIgogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAiaHR0cHM6Ly93aXRuZXNzLmRldi9hdHRlc3RhdGlvbnMvY29tbWFuZC1ydW4vdjAuMSIKICAgICAgICAgIH0sCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0eXBlIjogImh0dHBzOi8vd2l0bmVzcy5kZXYvYXR0ZXN0YXRpb25zL3Byb2R1Y3QvdjAuMSIKICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJmdW5jdGlvbmFyaWVzIjogWwogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJyb290IiwKICAgICAgICAgICAgImNlcnRDb25zdHJhaW50IjogewogICAgICAgICAgICAgICJjb21tb25uYW1lIjogIioiLAogICAgICAgICAgICAgICJkbnNuYW1lcyI6IFsKICAgICAgICAgICAgICAgICIqIgogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgImVtYWlscyI6IFsKICAgICAgICAgICAgICAgICIqIgogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIm9yZ2FuaXphdGlvbnMiOiBbCiAgICAgICAgICAgICAgICAiKiIKICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJ1cmlzIjogWwogICAgICAgICAgICAgICAgIioiCiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAicm9vdHMiOiBbCiAgICAgICAgICAgICAgICAiZGNmMTY2ZWViZTdjYmQ5NzYwOTQ3YTg4MjEzZDk0ZTY1NjM0OWM2NDdkNDM5NTY5ZGM3NmEyNzVmMDViNzE1OSIKICAgICAgICAgICAgICBdCiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICBdCiAgICAgIH0sCiAgICAgICJsaW50IjogewogICAgICAgICJuYW1lIjogImxpbnQiLAogICAgICAgICJhdHRlc3RhdGlvbnMiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0eXBlIjogImh0dHBzOi8vd2l0bmVzcy5kZXYvYXR0ZXN0YXRpb25zL2Vudmlyb25tZW50L3YwLjEiCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9naXQvdjAuMSIKICAgICAgICAgIH0sCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0eXBlIjogImh0dHBzOi8vd2l0bmVzcy5kZXYvYXR0ZXN0YXRpb25zL21hdGVyaWFsL3YwLjEiCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9jb21tYW5kLXJ1bi92MC4xIiwKICAgICAgICAgICAgInJlZ29wb2xpY2llcyI6IFsKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAibmFtZSI6ICJleHBlY3RlZCBjb21tYW5kIiwKICAgICAgICAgICAgICAgICJtb2R1bGUiOiAiY0dGamEyRm5aU0JqYjIxdFlXNWtjblZ1TG1OdFpBb0taR1Z1ZVZ0dGMyZGRJSHNLQ1dsdWNIVjBMbU50WkNBaFBTQmJJaTlpYVc0dmMyZ2lMQ0FpTFdNaUxDQWlhR0ZrYjJ4cGJuUWdMV1lnYzJGeWFXWWdSRzlqYTJWeVptbHNaU0ErSUdoaFpHOXNhVzUwTG5OaGNtbG1JbDBLQ1cxelp5QTZQU0FpZFc1bGVIQmxZM1JsWkNCamJXUWlDbjBLIgogICAgICAgICAgICAgIH0KICAgICAgICAgICAgXQogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAiaHR0cHM6Ly93aXRuZXNzLmRldi9hdHRlc3RhdGlvbnMvcHJvZHVjdC92MC4xIgogICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgImZ1bmN0aW9uYXJpZXMiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0eXBlIjogInJvb3QiLAogICAgICAgICAgICAiY2VydENvbnN0cmFpbnQiOiB7CiAgICAgICAgICAgICAgImNvbW1vbm5hbWUiOiAiKiIsCiAgICAgICAgICAgICAgImRuc25hbWVzIjogWwogICAgICAgICAgICAgICAgIioiCiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAiZW1haWxzIjogWwogICAgICAgICAgICAgICAgIioiCiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAib3JnYW5pemF0aW9ucyI6IFsKICAgICAgICAgICAgICAgICIqIgogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInVyaXMiOiBbCiAgICAgICAgICAgICAgICAiKiIKICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJyb290cyI6IFsKICAgICAgICAgICAgICAgICJkY2YxNjZlZWJlN2NiZDk3NjA5NDdhODgyMTNkOTRlNjU2MzQ5YzY0N2Q0Mzk1NjlkYzc2YTI3NWYwNWI3MTU5IgogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgImV4dGVuc2lvbnMiOiB7CiAgICAgICAgICAgICAgICAiaXNzdWVyIjogImh0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20iLAogICAgICAgICAgICAgICAgImdpdGh1Yl93b3JrZmxvd19zaGEiOiAiMzlmODBiNGMxNzNlN2IwMjNhMTlkMmFlYWMyNjg2NzMzYzY3YjM4ZSIsCiAgICAgICAgICAgICAgICAic291cmNlX3JlcG9zaXRvcnlfdXJpIjogImh0dHBzOi8vZ2l0aHViLmNvbS90ZXN0aWZ5c2VjL3N3ZiIsCiAgICAgICAgICAgICAgICAiYnVpbGRfc2lnbmVyX3VyaSI6ICJodHRwczovL2dpdGh1Yi5jb20vdGVzdGlmeXNlYy9zd2YvLmdpdGh1Yi93b3JrZmxvd3Mvd2l0bmVzcy55bWxAcmVmcy9oZWFkcy9zbHNhIiwKICAgICAgICAgICAgICAgICJidWlsZF9zaWduZXJfZGlnZXN0IjogIjM5ZjgwYjRjMTczZTdiMDIzYTE5ZDJhZWFjMjY4NjczM2M2N2IzOGUiLAogICAgICAgICAgICAgICAgInJ1bm5lcl9lbnZpcm9ubWVudCI6ICJnaXRodWItaG9zdGVkIgogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIF0KICAgICAgfSwKICAgICAgInVuaXQtdGVzdCI6IHsKICAgICAgICAibmFtZSI6ICJ1bml0LXRlc3QiLAogICAgICAgICJhdHRlc3RhdGlvbnMiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0eXBlIjogImh0dHBzOi8vd2l0bmVzcy5kZXYvYXR0ZXN0YXRpb25zL2Vudmlyb25tZW50L3YwLjEiCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9naXQvdjAuMSIKICAgICAgICAgIH0sCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0eXBlIjogImh0dHBzOi8vd2l0bmVzcy5kZXYvYXR0ZXN0YXRpb25zL21hdGVyaWFsL3YwLjEiCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9jb21tYW5kLXJ1bi92MC4xIgogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAiaHR0cHM6Ly93aXRuZXNzLmRldi9hdHRlc3RhdGlvbnMvcHJvZHVjdC92MC4xIgogICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgImZ1bmN0aW9uYXJpZXMiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0eXBlIjogInJvb3QiLAogICAgICAgICAgICAiY2VydENvbnN0cmFpbnQiOiB7CiAgICAgICAgICAgICAgImNvbW1vbm5hbWUiOiAiKiIsCiAgICAgICAgICAgICAgImRuc25hbWVzIjogWwogICAgICAgICAgICAgICAgIioiCiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAiZW1haWxzIjogWwogICAgICAgICAgICAgICAgIioiCiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAib3JnYW5pemF0aW9ucyI6IFsKICAgICAgICAgICAgICAgICIqIgogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInVyaXMiOiBbCiAgICAgICAgICAgICAgICAiKiIKICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJyb290cyI6IFsKICAgICAgICAgICAgICAgICJkY2YxNjZlZWJlN2NiZDk3NjA5NDdhODgyMTNkOTRlNjU2MzQ5YzY0N2Q0Mzk1NjlkYzc2YTI3NWYwNWI3MTU5IgogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgImV4dGVuc2lvbnMiOiB7CiAgICAgICAgICAgICAgICAiaXNzdWVyIjogImh0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20iLAogICAgICAgICAgICAgICAgImdpdGh1Yl93b3JrZmxvd19zaGEiOiAiMzlmODBiNGMxNzNlN2IwMjNhMTlkMmFlYWMyNjg2NzMzYzY3YjM4ZSIsCiAgICAgICAgICAgICAgICAic291cmNlX3JlcG9zaXRvcnlfdXJpIjogImh0dHBzOi8vZ2l0aHViLmNvbS90ZXN0aWZ5c2VjL3N3ZiIsCiAgICAgICAgICAgICAgICAiYnVpbGRfc2lnbmVyX3VyaSI6ICJodHRwczovL2dpdGh1Yi5jb20vdGVzdGlmeXNlYy9zd2YvLmdpdGh1Yi93b3JrZmxvd3Mvd2l0bmVzcy55bWxAcmVmcy9oZWFkcy9zbHNhIiwKICAgICAgICAgICAgICAgICJidWlsZF9zaWduZXJfZGlnZXN0IjogIjM5ZjgwYjRjMTczZTdiMDIzYTE5ZDJhZWFjMjY4NjczM2M2N2IzOGUiLAogICAgICAgICAgICAgICAgInJ1bm5lcl9lbnZpcm9ubWVudCI6ICJnaXRodWItaG9zdGVkIgogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIF0KICAgICAgfSwKICAgICAgInNhc3QiOiB7CiAgICAgICAgIm5hbWUiOiAic2FzdCIsCiAgICAgICAgImF0dGVzdGF0aW9ucyI6IFsKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAiaHR0cHM6Ly93aXRuZXNzLmRldi9hdHRlc3RhdGlvbnMvZW52aXJvbm1lbnQvdjAuMSIKICAgICAgICAgIH0sCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0eXBlIjogImh0dHBzOi8vd2l0bmVzcy5kZXYvYXR0ZXN0YXRpb25zL2dpdC92MC4xIgogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAiaHR0cHM6Ly93aXRuZXNzLmRldi9hdHRlc3RhdGlvbnMvbWF0ZXJpYWwvdjAuMSIKICAgICAgICAgIH0sCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0eXBlIjogImh0dHBzOi8vd2l0bmVzcy5kZXYvYXR0ZXN0YXRpb25zL2NvbW1hbmQtcnVuL3YwLjEiCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9wcm9kdWN0L3YwLjEiCiAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAiZnVuY3Rpb25hcmllcyI6IFsKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAicm9vdCIsCiAgICAgICAgICAgICJjZXJ0Q29uc3RyYWludCI6IHsKICAgICAgICAgICAgICAiY29tbW9ubmFtZSI6ICIqIiwKICAgICAgICAgICAgICAiZG5zbmFtZXMiOiBbCiAgICAgICAgICAgICAgICAiKiIKICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJlbWFpbHMiOiBbCiAgICAgICAgICAgICAgICAiKiIKICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJvcmdhbml6YXRpb25zIjogWwogICAgICAgICAgICAgICAgIioiCiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAidXJpcyI6IFsKICAgICAgICAgICAgICAgICIqIgogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInJvb3RzIjogWwogICAgICAgICAgICAgICAgImRjZjE2NmVlYmU3Y2JkOTc2MDk0N2E4ODIxM2Q5NGU2NTYzNDljNjQ3ZDQzOTU2OWRjNzZhMjc1ZjA1YjcxNTkiCiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAiZXh0ZW5zaW9ucyI6IHsKICAgICAgICAgICAgICAgICJpc3N1ZXIiOiAiaHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbSIsCiAgICAgICAgICAgICAgICAiZ2l0aHViX3dvcmtmbG93X3NoYSI6ICIzOWY4MGI0YzE3M2U3YjAyM2ExOWQyYWVhYzI2ODY3MzNjNjdiMzhlIiwKICAgICAgICAgICAgICAgICJzb3VyY2VfcmVwb3NpdG9yeV91cmkiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Rlc3RpZnlzZWMvc3dmIiwKICAgICAgICAgICAgICAgICJidWlsZF9zaWduZXJfdXJpIjogImh0dHBzOi8vZ2l0aHViLmNvbS90ZXN0aWZ5c2VjL3N3Zi8uZ2l0aHViL3dvcmtmbG93cy93aXRuZXNzLnltbEByZWZzL2hlYWRzL3Nsc2EiLAogICAgICAgICAgICAgICAgImJ1aWxkX3NpZ25lcl9kaWdlc3QiOiAiMzlmODBiNGMxNzNlN2IwMjNhMTlkMmFlYWMyNjg2NzMzYzY3YjM4ZSIsCiAgICAgICAgICAgICAgICAicnVubmVyX2Vudmlyb25tZW50IjogImdpdGh1Yi1ob3N0ZWQiCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgXQogICAgICB9LAogICAgICAiYnVpbGQtaW1hZ2UiOiB7CiAgICAgICAgIm5hbWUiOiAiYnVpbGQtaW1hZ2UiLAogICAgICAgICJhdHRlc3RhdGlvbnMiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0eXBlIjogImh0dHBzOi8vd2l0bmVzcy5kZXYvYXR0ZXN0YXRpb25zL2Vudmlyb25tZW50L3YwLjEiCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9naXQvdjAuMSIKICAgICAgICAgIH0sCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0eXBlIjogImh0dHBzOi8vd2l0bmVzcy5kZXYvYXR0ZXN0YXRpb25zL21hdGVyaWFsL3YwLjEiCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9jb21tYW5kLXJ1bi92MC4xIgogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAiaHR0cHM6Ly9zbHNhLmRldi9wcm92ZW5hbmNlL3YxLjAiCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9wcm9kdWN0L3YwLjEiCiAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAiZnVuY3Rpb25hcmllcyI6IFsKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAicm9vdCIsCiAgICAgICAgICAgICJjZXJ0Q29uc3RyYWludCI6IHsKICAgICAgICAgICAgICAiY29tbW9ubmFtZSI6ICIqIiwKICAgICAgICAgICAgICAiZG5zbmFtZXMiOiBbCiAgICAgICAgICAgICAgICAiKiIKICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJlbWFpbHMiOiBbCiAgICAgICAgICAgICAgICAiKiIKICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJvcmdhbml6YXRpb25zIjogWwogICAgICAgICAgICAgICAgIioiCiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAidXJpcyI6IFsKICAgICAgICAgICAgICAgICIqIgogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInJvb3RzIjogWwogICAgICAgICAgICAgICAgImRjZjE2NmVlYmU3Y2JkOTc2MDk0N2E4ODIxM2Q5NGU2NTYzNDljNjQ3ZDQzOTU2OWRjNzZhMjc1ZjA1YjcxNTkiCiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAiZXh0ZW5zaW9ucyI6IHsKICAgICAgICAgICAgICAgICJpc3N1ZXIiOiAiaHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbSIsCiAgICAgICAgICAgICAgICAiZ2l0aHViX3dvcmtmbG93X3NoYSI6ICIzOWY4MGI0YzE3M2U3YjAyM2ExOWQyYWVhYzI2ODY3MzNjNjdiMzhlIiwKICAgICAgICAgICAgICAgICJzb3VyY2VfcmVwb3NpdG9yeV91cmkiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Rlc3RpZnlzZWMvc3dmIiwKICAgICAgICAgICAgICAgICJidWlsZF9zaWduZXJfdXJpIjogImh0dHBzOi8vZ2l0aHViLmNvbS90ZXN0aWZ5c2VjL3N3Zi8uZ2l0aHViL3dvcmtmbG93cy93aXRuZXNzLnltbEByZWZzL2hlYWRzL3Nsc2EiLAogICAgICAgICAgICAgICAgImJ1aWxkX3NpZ25lcl9kaWdlc3QiOiAiMzlmODBiNGMxNzNlN2IwMjNhMTlkMmFlYWMyNjg2NzMzYzY3YjM4ZSIsCiAgICAgICAgICAgICAgICAicnVubmVyX2Vudmlyb25tZW50IjogImdpdGh1Yi1ob3N0ZWQiCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgXQogICAgICB9LAogICAgICAic2F2ZS1pbWFnZSI6IHsKICAgICAgICAibmFtZSI6ICJzYXZlLWltYWdlIiwKICAgICAgICAiYXR0ZXN0YXRpb25zIjogWwogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9lbnZpcm9ubWVudC92MC4xIgogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAiaHR0cHM6Ly93aXRuZXNzLmRldi9hdHRlc3RhdGlvbnMvZ2l0L3YwLjEiCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9tYXRlcmlhbC92MC4xIgogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAiaHR0cHM6Ly93aXRuZXNzLmRldi9hdHRlc3RhdGlvbnMvY29tbWFuZC1ydW4vdjAuMSIKICAgICAgICAgIH0sCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0eXBlIjogImh0dHBzOi8vc2xzYS5kZXYvcHJvdmVuYW5jZS92MS4wIgogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAiaHR0cHM6Ly93aXRuZXNzLmRldi9hdHRlc3RhdGlvbnMvcHJvZHVjdC92MC4xIgogICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgImZ1bmN0aW9uYXJpZXMiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0eXBlIjogInJvb3QiLAogICAgICAgICAgICAiY2VydENvbnN0cmFpbnQiOiB7CiAgICAgICAgICAgICAgImNvbW1vbm5hbWUiOiAiKiIsCiAgICAgICAgICAgICAgImRuc25hbWVzIjogWwogICAgICAgICAgICAgICAgIioiCiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAiZW1haWxzIjogWwogICAgICAgICAgICAgICAgIioiCiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAib3JnYW5pemF0aW9ucyI6IFsKICAgICAgICAgICAgICAgICIqIgogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInVyaXMiOiBbCiAgICAgICAgICAgICAgICAiKiIKICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJyb290cyI6IFsKICAgICAgICAgICAgICAgICJkY2YxNjZlZWJlN2NiZDk3NjA5NDdhODgyMTNkOTRlNjU2MzQ5YzY0N2Q0Mzk1NjlkYzc2YTI3NWYwNWI3MTU5IgogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgImV4dGVuc2lvbnMiOiB7CiAgICAgICAgICAgICAgICAiaXNzdWVyIjogImh0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20iLAogICAgICAgICAgICAgICAgImdpdGh1Yl93b3JrZmxvd19zaGEiOiAiMzlmODBiNGMxNzNlN2IwMjNhMTlkMmFlYWMyNjg2NzMzYzY3YjM4ZSIsCiAgICAgICAgICAgICAgICAic291cmNlX3JlcG9zaXRvcnlfdXJpIjogImh0dHBzOi8vZ2l0aHViLmNvbS90ZXN0aWZ5c2VjL3N3ZiIsCiAgICAgICAgICAgICAgICAiYnVpbGRfc2lnbmVyX3VyaSI6ICJodHRwczovL2dpdGh1Yi5jb20vdGVzdGlmeXNlYy9zd2YvLmdpdGh1Yi93b3JrZmxvd3Mvd2l0bmVzcy55bWxAcmVmcy9oZWFkcy9zbHNhIiwKICAgICAgICAgICAgICAgICJidWlsZF9zaWduZXJfZGlnZXN0IjogIjM5ZjgwYjRjMTczZTdiMDIzYTE5ZDJhZWFjMjY4NjczM2M2N2IzOGUiLAogICAgICAgICAgICAgICAgInJ1bm5lcl9lbnZpcm9ubWVudCI6ICJnaXRodWItaG9zdGVkIgogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIF0KICAgICAgfSwKICAgICAgImdlbmVyYXRlLXNib20iOiB7CiAgICAgICAgIm5hbWUiOiAiZ2VuZXJhdGUtc2JvbSIsCiAgICAgICAgImF0dGVzdGF0aW9ucyI6IFsKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAiaHR0cHM6Ly93aXRuZXNzLmRldi9hdHRlc3RhdGlvbnMvZW52aXJvbm1lbnQvdjAuMSIKICAgICAgICAgIH0sCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0eXBlIjogImh0dHBzOi8vd2l0bmVzcy5kZXYvYXR0ZXN0YXRpb25zL2dpdC92MC4xIgogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAiaHR0cHM6Ly93aXRuZXNzLmRldi9hdHRlc3RhdGlvbnMvbWF0ZXJpYWwvdjAuMSIKICAgICAgICAgIH0sCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0eXBlIjogImh0dHBzOi8vd2l0bmVzcy5kZXYvYXR0ZXN0YXRpb25zL2NvbW1hbmQtcnVuL3YwLjEiCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9wcm9kdWN0L3YwLjEiCiAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAiZnVuY3Rpb25hcmllcyI6IFsKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAicm9vdCIsCiAgICAgICAgICAgICJjZXJ0Q29uc3RyYWludCI6IHsKICAgICAgICAgICAgICAiY29tbW9ubmFtZSI6ICIqIiwKICAgICAgICAgICAgICAiZG5zbmFtZXMiOiBbCiAgICAgICAgICAgICAgICAiKiIKICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJlbWFpbHMiOiBbCiAgICAgICAgICAgICAgICAiKiIKICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJvcmdhbml6YXRpb25zIjogWwogICAgICAgICAgICAgICAgIioiCiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAidXJpcyI6IFsKICAgICAgICAgICAgICAgICIqIgogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInJvb3RzIjogWwogICAgICAgICAgICAgICAgImRjZjE2NmVlYmU3Y2JkOTc2MDk0N2E4ODIxM2Q5NGU2NTYzNDljNjQ3ZDQzOTU2OWRjNzZhMjc1ZjA1YjcxNTkiCiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAiZXh0ZW5zaW9ucyI6IHsKICAgICAgICAgICAgICAgICJpc3N1ZXIiOiAiaHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbSIsCiAgICAgICAgICAgICAgICAiZ2l0aHViX3dvcmtmbG93X3NoYSI6ICIzOWY4MGI0YzE3M2U3YjAyM2ExOWQyYWVhYzI2ODY3MzNjNjdiMzhlIiwKICAgICAgICAgICAgICAgICJzb3VyY2VfcmVwb3NpdG9yeV91cmkiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Rlc3RpZnlzZWMvc3dmIiwKICAgICAgICAgICAgICAgICJidWlsZF9zaWduZXJfdXJpIjogImh0dHBzOi8vZ2l0aHViLmNvbS90ZXN0aWZ5c2VjL3N3Zi8uZ2l0aHViL3dvcmtmbG93cy93aXRuZXNzLnltbEByZWZzL2hlYWRzL3Nsc2EiLAogICAgICAgICAgICAgICAgImJ1aWxkX3NpZ25lcl9kaWdlc3QiOiAiMzlmODBiNGMxNzNlN2IwMjNhMTlkMmFlYWMyNjg2NzMzYzY3YjM4ZSIsCiAgICAgICAgICAgICAgICAicnVubmVyX2Vudmlyb25tZW50IjogImdpdGh1Yi1ob3N0ZWQiCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgXQogICAgICB9LAogICAgICAiY3ZlLXNjYW4iOiB7CiAgICAgICAgIm5hbWUiOiAiY3ZlLXNjYW4iLAogICAgICAgICJhdHRlc3RhdGlvbnMiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0eXBlIjogImh0dHBzOi8vd2l0bmVzcy5kZXYvYXR0ZXN0YXRpb25zL2Vudmlyb25tZW50L3YwLjEiCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9naXQvdjAuMSIKICAgICAgICAgIH0sCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0eXBlIjogImh0dHBzOi8vd2l0bmVzcy5kZXYvYXR0ZXN0YXRpb25zL21hdGVyaWFsL3YwLjEiCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9jb21tYW5kLXJ1bi92MC4xIgogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAiaHR0cHM6Ly93aXRuZXNzLmRldi9hdHRlc3RhdGlvbnMvcHJvZHVjdC92MC4xIgogICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgImZ1bmN0aW9uYXJpZXMiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0eXBlIjogInJvb3QiLAogICAgICAgICAgICAiY2VydENvbnN0cmFpbnQiOiB7CiAgICAgICAgICAgICAgImNvbW1vbm5hbWUiOiAiKiIsCiAgICAgICAgICAgICAgImRuc25hbWVzIjogWwogICAgICAgICAgICAgICAgIioiCiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAiZW1haWxzIjogWwogICAgICAgICAgICAgICAgIioiCiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAib3JnYW5pemF0aW9ucyI6IFsKICAgICAgICAgICAgICAgICIqIgogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInVyaXMiOiBbCiAgICAgICAgICAgICAgICAiKiIKICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJyb290cyI6IFsKICAgICAgICAgICAgICAgICJkY2YxNjZlZWJlN2NiZDk3NjA5NDdhODgyMTNkOTRlNjU2MzQ5YzY0N2Q0Mzk1NjlkYzc2YTI3NWYwNWI3MTU5IgogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgImV4dGVuc2lvbnMiOiB7CiAgICAgICAgICAgICAgICAiaXNzdWVyIjogImh0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20iLAogICAgICAgICAgICAgICAgImdpdGh1Yl93b3JrZmxvd19zaGEiOiAiMzlmODBiNGMxNzNlN2IwMjNhMTlkMmFlYWMyNjg2NzMzYzY3YjM4ZSIsCiAgICAgICAgICAgICAgICAic291cmNlX3JlcG9zaXRvcnlfdXJpIjogImh0dHBzOi8vZ2l0aHViLmNvbS90ZXN0aWZ5c2VjL3N3ZiIsCiAgICAgICAgICAgICAgICAiYnVpbGRfc2lnbmVyX3VyaSI6ICJodHRwczovL2dpdGh1Yi5jb20vdGVzdGlmeXNlYy9zd2YvLmdpdGh1Yi93b3JrZmxvd3Mvd2l0bmVzcy55bWxAcmVmcy9oZWFkcy9zbHNhIiwKICAgICAgICAgICAgICAgICJidWlsZF9zaWduZXJfZGlnZXN0IjogIjM5ZjgwYjRjMTczZTdiMDIzYTE5ZDJhZWFjMjY4NjczM2M2N2IzOGUiLAogICAgICAgICAgICAgICAgInJ1bm5lcl9lbnZpcm9ubWVudCI6ICJnaXRodWItaG9zdGVkIgogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIF0KICAgICAgfSwKICAgICAgInNlY3JldC1zY2FuIjogewogICAgICAgICJuYW1lIjogInNlY3JldC1zY2FuIiwKICAgICAgICAiYXR0ZXN0YXRpb25zIjogWwogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9lbnZpcm9ubWVudC92MC4xIgogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAiaHR0cHM6Ly93aXRuZXNzLmRldi9hdHRlc3RhdGlvbnMvZ2l0L3YwLjEiCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9tYXRlcmlhbC92MC4xIgogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAiaHR0cHM6Ly93aXRuZXNzLmRldi9hdHRlc3RhdGlvbnMvY29tbWFuZC1ydW4vdjAuMSIKICAgICAgICAgIH0sCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0eXBlIjogImh0dHBzOi8vd2l0bmVzcy5kZXYvYXR0ZXN0YXRpb25zL3Byb2R1Y3QvdjAuMSIKICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJmdW5jdGlvbmFyaWVzIjogWwogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJyb290IiwKICAgICAgICAgICAgImNlcnRDb25zdHJhaW50IjogewogICAgICAgICAgICAgICJjb21tb25uYW1lIjogIioiLAogICAgICAgICAgICAgICJkbnNuYW1lcyI6IFsKICAgICAgICAgICAgICAgICIqIgogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgImVtYWlscyI6IFsKICAgICAgICAgICAgICAgICIqIgogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIm9yZ2FuaXphdGlvbnMiOiBbCiAgICAgICAgICAgICAgICAiKiIKICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJ1cmlzIjogWwogICAgICAgICAgICAgICAgIioiCiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAicm9vdHMiOiBbCiAgICAgICAgICAgICAgICAiZGNmMTY2ZWViZTdjYmQ5NzYwOTQ3YTg4MjEzZDk0ZTY1NjM0OWM2NDdkNDM5NTY5ZGM3NmEyNzVmMDViNzE1OSIKICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJleHRlbnNpb25zIjogewogICAgICAgICAgICAgICAgImlzc3VlciI6ICJodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tIiwKICAgICAgICAgICAgICAgICJnaXRodWJfd29ya2Zsb3dfc2hhIjogIjM5ZjgwYjRjMTczZTdiMDIzYTE5ZDJhZWFjMjY4NjczM2M2N2IzOGUiLAogICAgICAgICAgICAgICAgInNvdXJjZV9yZXBvc2l0b3J5X3VyaSI6ICJodHRwczovL2dpdGh1Yi5jb20vdGVzdGlmeXNlYy9zd2YiLAogICAgICAgICAgICAgICAgImJ1aWxkX3NpZ25lcl91cmkiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Rlc3RpZnlzZWMvc3dmLy5naXRodWIvd29ya2Zsb3dzL3dpdG5lc3MueW1sQHJlZnMvaGVhZHMvc2xzYSIsCiAgICAgICAgICAgICAgICAiYnVpbGRfc2lnbmVyX2RpZ2VzdCI6ICIzOWY4MGI0YzE3M2U3YjAyM2ExOWQyYWVhYzI2ODY3MzNjNjdiMzhlIiwKICAgICAgICAgICAgICAgICJydW5uZXJfZW52aXJvbm1lbnQiOiAiZ2l0aHViLWhvc3RlZCIKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICBdCiAgICAgIH0KICAgIH0sCiAgICAicm9vdHMiOiB7CiAgICAgICJkY2YxNjZlZWJlN2NiZDk3NjA5NDdhODgyMTNkOTRlNjU2MzQ5YzY0N2Q0Mzk1NjlkYzc2YTI3NWYwNWI3MTU5IjogewogICAgICAgICJjZXJ0aWZpY2F0ZSI6ICJMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VOSGFrTkRRV0ZIWjBGM1NVSkJaMGxWUVV4dVZtbFdabTVWTUdKeVNtRnpiVkpyU0hKdUwxVnVabUZSZDBObldVbExiMXBKZW1vd1JVRjNUWGNLUzJwRlZrMUNUVWRCTVZWRlEyaE5UV015Ykc1ak0xSjJZMjFWZFZwSFZqSk5Va1YzUkhkWlJGWlJVVVJGZDJoNllWZGtlbVJIT1hsYVZFRmxSbmN3ZVFwTmFrRXdUVlJOZVUxRVFUSk5WRlpoUm5jd2VrMVVSWGROUkZWNFRYcFZNazVVYUdGTlJHTjRSbFJCVkVKblRsWkNRVzlVUkVoT2NGb3pUakJpTTBwc0NreHRVbXhrYWtWbFRVSjNSMEV4VlVWQmVFMVdZekpzYm1NelVuWmpiVlYwWVZjMU1GcFlTblJhVjFKd1dWaFNiRTFJV1hkRlFWbElTMjlhU1hwcU1FTUtRVkZaUmtzMFJVVkJRMGxFV1dkQlJUaFNWbE12ZVhOSUswNVBkblZFV25sUVNWcDBhV3huVlVZNVRteGhjbGx3UVdRNVNGQXhka0pDU0RGVk5VTldOd28zVEZOVE4zTXdXbWxJTkc1Rk4waDJOM0IwVXpaTWRuWlNMMU5VYXpjNU9FeFdaMDE2VEd4S05FaGxTV1pHTTNSSVUyRmxlRXhqV1hCVFFWTnlNV3RUQ2pCT0wxSm5Ra3A2THpscVYwTnBXRzV2TTNOM1pWUkJUMEpuVGxaSVVUaENRV1k0UlVKQlRVTkJVVmwzUlhkWlJGWlNNR3hDUVhkM1EyZFpTVXQzV1VJS1FsRlZTRUYzVFhkRloxbEVWbEl3VkVGUlNDOUNRV2QzUW1kRlFpOTNTVUpCUkVGa1FtZE9Wa2hSTkVWR1oxRlZNemxRY0hveFdXdEZXbUkxY1U1cWNBcExSbGRwZUdrMFdWcEVPSGRJZDFsRVZsSXdha0pDWjNkR2IwRlZWMDFCWlZnMVJrWndWMkZ3WlhONVVXOWFUV2t3UTNKR2VHWnZkME5uV1VsTGIxcEpDbnBxTUVWQmQwMUVXbmRCZDFwQlNYZFFRM05SU3pSRVdXbGFXVVJRU1dGRWFUVklSa3R1Wm5oWWVEWkJVMU5XYlVWU1puTjVibGxDYVZneVdEWlRTbElLYmxwVk9EUXZPVVJhWkc1R2RuWjRiVUZxUWs5ME5sRndRbXhqTkVvdk1FUjRkbXRVUTNGd1kyeDJlbWxNTmtKRFExQnVhbVJzU1VJelVIVXpRbmh6VUFwdGVXZFZXVGRKYVRKNlltUkRaR3hwYVc5M1BRb3RMUzB0TFVWT1JDQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENnbz0iLAogICAgICAgICJpbnRlcm1lZGlhdGVzIjogWwogICAgICAgICAgIkxTMHRMUzFDUlVkSlRpQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENrMUpTVUk1ZWtORFFWaDVaMEYzU1VKQlowbFZRVXhhVGtGUVJtUjRTRkIzYW1WRWJHOUVkM2xaUTJoQlR5ODBkME5uV1VsTGIxcEplbW93UlVGM1RYY0tTMnBGVmsxQ1RVZEJNVlZGUTJoTlRXTXliRzVqTTFKMlkyMVZkVnBIVmpKTlVrVjNSSGRaUkZaUlVVUkZkMmg2WVZka2VtUkhPWGxhVkVGbFJuY3dlUXBOVkVWM1RVUmplRTE2VlRKT1ZHeGhSbmN3ZWsxVVJYZE5SRlY0VFhwVk1rNVVhR0ZOUTI5NFJsUkJWRUpuVGxaQ1FXOVVSRWhPY0ZvelRqQmlNMHBzQ2t4dFVteGtha1ZTVFVFNFIwRXhWVVZCZUUxSll6SnNibU16VW5aamJWVjNaR3BCVVVKblkzRm9hMnBQVUZGSlFrSm5WWEpuVVZGQlNXZE9hVUZCVkRjS1dHVkdWRFJ5WWpOUVVVZDNVelJKWVdwMFRHc3pMMDlzYm5CbllXNW5ZVUpqYkZsd2MxbENjalZwS3pSNWJrSXdOMk5sWWpOTVVEQlBTVTlhWkhobGVBcFlOamxqTldsV2RYbEtVbEVyU0hvd05YbHBLMVZHTTNWQ1YwRnNTSEJwVXpWemFEQXJTREpIU0VVM1UxaHlhekZGUXpWdE1WUnlNVGxNT1dkbk9USnFDbGw2UW1oTlFUUkhRVEZWWkVSM1JVSXZkMUZGUVhkSlFrSnFRVkJDWjA1V1NGSk5Ra0ZtT0VWQ1ZFRkVRVkZJTDAxQ01FZEJNVlZrUkdkUlYwSkNVbGtLZDBJMVptdFZWMnhhY1d3MmVrcERhR3Q1VEZGTGMxaEdLMnBCWmtKblRsWklVMDFGUjBSQlYyZENVbGwzUWpWbWExVlhiRnB4YkRaNlNrTm9hM2xNVVFwTGMxaEdLMnBCUzBKblozRm9hMnBQVUZGUlJFRjNUbkJCUkVKdFFXcEZRV294YmtobFdGcHdLekV6VGxkQ1RtRXJSVVJ6UkZBNFJ6RlhWMmN4ZEVOTkNsZFFMMWRJVUhGd1lWWnZNR3BvYzNkbFRrWmFaMU56TUdWRk4zZFpTVFJ4UVdwRlFUSlhRamx2ZERrNGMwbHJiMFl6ZGxwWlpHUXpMMVowVjBJMVlqa0tWRTVOWldFM1NYZ3ZjM1JLTlZSbVkweE1aVUZDVEVVMFFrNUtUM05STkhadVFraEtDaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsiCiAgICAgICAgXQogICAgICB9CiAgICB9LAogICAgInRpbWVzdGFtcGF1dGhvcml0aWVzIjogewogICAgICAiZnJlZXRzYSI6IHsKICAgICAgICAiY2VydGlmaWNhdGUiOiAiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVZ3Zla05EUW1WbFowRjNTVUpCWjBsS1FVMUljR2hvV1U1eFQyMUJUVUV3UjBOVGNVZFRTV0l6UkZGRlFrUlJWVUZOU1VkV1RWSkZkMFIzV1VRS1ZsRlJTMFYzYUVkamJWWnNTVVpTVkZGVVJWRk5RVFJIUVRGVlJVTjRUVWhWYlRsMlpFTkNSRkZVUlZsTlFsbEhRVEZWUlVGNFRWQmtNMlF6VEcxYWVRcGFWMVl3WXpKRmRXSXpTbTVOVTBsM1NVRlpTa3R2V2tsb2RtTk9RVkZyUWtab1RtbGtXRTV3WWtkV05sbFlUa0ZhTWpGb1lWZDNkVmt5T1hSTlVrbDNDa1ZCV1VSV1VWRklSWGRzV0dSWFZubGxiVW94WTIxamVFUjZRVTVDWjA1V1FrRm5WRUpyU21obFYxWjVZbXBGVEUxQmEwZEJNVlZGUW1oTlExSkZWWGNLU0doalRrMVVXWGROZWtWNlRVUkZNVTFxUlhwWGFHTk9Ua1JGZDAxNlFUTk5SRVV4VFdwRmVsZHFRMEpzVkVWU1RVRTRSMEV4VlVWRGFFMUpVbTVLYkFwYVUwSlZWVEJGZUVWRVFVOUNaMDVXUWtGelZFSXhTblppTTFGblVUQkZlRWRFUVZkQ1owNVdRa0ZOVkVRelpETmtlVFZ0WTIxV2JHUklUbWhNYlRsNUNscDZSV2xOUTBGSFExTnhSMU5KWWpORVVVVktRVkpaVkZsdVZucGhWM2hzWlcxR2VsRkhaSFJaVjJ4elRHMU9kbUpVUlZOTlFrRkhRVEZWUlVKNFRVb0tWak5XYkdOdWNHbGtXRXB1VFZFNGQwUlJXVVJXVVZGSlJYZGFRMWxZYkd4amJUUjRRM3BCU2tKblRsWkNRVmxVUVd0U1JrMUpTVU5KYWtGT1FtZHJjUXBvYTJsSE9YY3dRa0ZSUlVaQlFVOURRV2M0UVUxSlNVTkRaMHREUVdkRlFYUm5TMDlFYWtGNU9GSkZVVEpYVkU1eFZYVmtRVzVxYUd4RGNuQkZObkZzQ20xUlprNXdjR1ZVYlZaMlduSklOSHAxZEc0clRuZFVZVWhCUjNCcVUwZDJOQzlYVW5CYU1YZGFNMEpTV2pWdFVGVkNXbmxNWjNFd1dYSkpabEUxUm5nS01ITXZUVkphVUhwak1YSXpiRXRYY2sxU09YTkJVWGcwYlU0MGVqRXhlRVpGVHpVeU9Vd3daRVpLYWxCR09VMUVPRWR3WkRKbVpWZDZSM2x3ZEd4bGJBcGlLMUJ4VkNzcksyWlBZVEp2V1RBclRtRk5UVGRzTDNoalRraFFUMkZOZWpBdk1tOXNhekJwTWpKb1lrdGxWbWgyYjJ0UVEzRm9SbWg2YzNWb1MzTnRDbkUwVDJZdmJ5dDBObVJKTjNONE5XZ3dibEJOYlRSblIxTlNhR1p4SzNvMlFsUlNaME55Y1ZGSE1rWlBURzlXUm1kME5tbEpiUzlDYms1bVpsVnlOMVlLUkZsa00zcGFiVWwzUms5cUwwZ3pSRXRJYjBkcGF5OTRTek5GT0RKWlFUSmFkV3hXVDBaU1Z5OTZhalJCY0dwUVlUVlBSbUp3U1d0a01IQnRlbmg2WkFwRlkwdzBOemxvVTBFNVpFWnBlVlp0VTNoUWRGazFlbVV4VUN0Q1JUbGlUVlV4VUZOamNGSjZkemhOU0VaWWVIbExjVmN4TTFGMk4weFhkelJ6WW1zekNsTmphVUkzUjBGRFlsRnBWa2Q2WjJ0MldFYzJlVGcxU0U5MWRsZE9ka00xUjB4VGFYbFFPVWRzVUVJd1ZqWTRkR0o0ZWpSS1ZsUlNaSGN2V0c0dldGUUtSazU2VWtKTk0yTnhPR3hDVDBGV2RDOVFRVmcxSzNWR1kzWXhVemwzUmtVNFdXcGhRbVpYUTFBeGFtUkNhV3dyWXpSbEt6QjBaSGwzVkRKdlNtMVpRZ3BDUmk5clJYUXhkMjFIZDAxdFNIVnVUa1YxVVU1NmFERkdkRXBaTlRSb1lsVm1hVmRwTXpodFFWTkZOM2hOZEUxb1ptb3ZRelJUZG1Gd2FVUk9PRE0zQ21kWllWQm1jemg0TTB0YWVHSllOME16V1VGelJtNUthVzVzZDBGVmMzTXhabVJMWVhJNFVTOVpWbk0zU0M5dVZUUmpORWw0ZUhoNk5HWTJOMlpqVm5FS1RUSkpWRXRsYm5SaVEwMURRWGRGUVVGaFQwTkJhelIzWjJkS1MwMUJkMGRCTVZWa1JYZFJSazFCVFVKQlpqaDNSR2RaUkZaU01GQkJVVWd2UWtGUlJBcEJaMGhIVFVJd1IwRXhWV1JFWjFGWFFrSlVObFpSTWsxT1IxcFNVVEI2TXpVM1QyNWlTbGQyWlhWaGEyeDZRMEo1WjFsRVZsSXdha0pKU0VOTlNVY3ZDbWRDVkRaV1VUSk5Ua2RhVWxFd2VqTTFOMDl1WWtwWGRtVjFZV3RzTmtkQ2JUWlRRbTFFUTBKc1ZFVlNUVUU0UjBFeFZVVkRhRTFKVW01S2JGcFRRbFVLVlRCRmVFVkVRVTlDWjA1V1FrRnpWRUl4U25aaU0xRm5VVEJGZUVkRVFWZENaMDVXUWtGTlZFUXpaRE5rZVRWdFkyMVdiR1JJVG1oTWJUbDVXbnBGYVFwTlEwRkhRMU54UjFOSllqTkVVVVZLUVZKWlZGbHVWbnBoVjNoc1pXMUdlbEZIWkhSWlYyeHpURzFPZG1KVVJWTk5Ra0ZIUVRGVlJVSjRUVXBXTTFac0NtTnVjR2xrV0VwdVRWRTRkMFJSV1VSV1VWRkpSWGRhUTFsWWJHeGpiVFI0UTNwQlNrSm5UbFpDUVZsVVFXdFNSbWRuYTBGM1pXMUhSbWN5YnpaWlFYY0tUWGRaUkZaU01HWkNRM2QzUzJwQmIyOURZV2RLU1ZscFlVaFNNR05FYjNaTU0yUXpaSGsxYldOdFZteGtTRTVvVEcwNWVWcDVPWGxpTWprd1dESk9hQXBNYlU1NVlrUkRRbnAzV1VSV1VqQm5Ra2xJU0UxSlNFVk5TVWhDUW1kdmNrSm5SVVZCV1VoNVNrRkZRazFKUjNsTlJFMUhRME56UjBGUlZVWkNkMGxDQ2tacFpHOWtTRkozVDJrNGRtUXpaRE5NYlZwNVdsZFdNR015UlhWaU0wcHVUREphZVZwWFZqQmpNa1ptV1ROQ2VreHRhREJpVjNkM1RXZFpTVXQzV1VJS1FsRlZTRUZuUlZkS2JXZ3daRWhCTmt4NU9UTmtNMk4xV201S2JGcFlVbnBaVXpWMlkyMWpkbHB1U214YVdGSjZXVlk1YW1OSVRYVmpSMUp0VFVWalJ3cERRM05IUVZGVlJrSjNTVU5OUkhOaFQxVmFlVnBYVmxWVk1FVm5aRWhLTVdNelVteGFRMEl3WVZjeGJHTXpVbWhpV0VKd1ltMWpaMVV5T1cxa1NHUm9DbU50VldkWldFMW5XVk5DVkZwWVNqSmhWMDVzU1VOb1ZGbFhSbFJMVkVFelFtZG5ja0puUlVaQ1VXTkNRVkZSY2sxRGEzZEtkMWxKUzNkWlFrSlJWVWdLVFVGSFIwY3lhREJrU0VFMlRIazVNMlF6WTNWYWJrcHNXbGhTZWxsVE5YWmpiV00yVFdwVk1rMUVRVTVDWjJ0eGFHdHBSemwzTUVKQlVUQkdRVUZQUXdwQlowVkJZVXM1SzNZMVQwWlpkVGxOTm5wMFdVTXJURFk1YzNjeGIyMWtlV3hwT0Rsc1drRm1jRmROVFdnNVExSnRTbWhOTmt0Q2NVMHZhWEIzYjB4MENtNTRlWGhIYzJKRFVHaGpVV3AxVkhaNmJTdDViRTQyVm5kVVRXMUpiRlo1VmxOTVMxbGFZMlJUYW5RdlpVTlZUaXMwTVVzM2MwUTNSMVp0ZUZwQ1FVWUtTVXh1UWtSdFZFZEtiVXhyY2xVd1MzVjFTWEJxT0d4SkwwVTJXalpPYm0xMVVESXJVa0ZSVTBoelprSlJhVFp6YzNOdVdFMXZORWhQVnpWbmRGQlBOd3BuUkhKVmNGWllTVVFyS3pGUU5GaHVaR3R2UzI0M1UzWjNOVzR3ZWxNNVpuWXhhSGhDWTFsSlNGQlFVVlY2WlRKMU16QmlRVkYwTUc0d2FVbDVVa3g2Q21GWGRXaDBjRUYwWkRkbVpuZEZZa0ZUWjNwQ04wVXJUa2RHTkhSd1ZqTTNaVGhMYVVFeWVHbEhVMUp4VkRWdVpIVXlPR1puY0U5Wk9EZG5SRE5CY2xvS1JHTjBXbloyVkVObVNHUkJVelZyUlU4eloyNUhSMlZhUlZaTVJHMW1SWE4yT0ZSSFNtRXpRV3hxVm1FMVJUUXdTVkZFYzFWWWNGRk1hVGhISzFWRE5Bb3hSRmRhZFRoRlZsUTBjbTVaWVVOM01WWllOMU5vVDFJeFVFNURRM1pxWWpoVE9IUm1aSFZrWkRsNmFGVXpaMFZDTUhKNFpHVlVlVEYwVm1KT1RGaFhDams1ZVRrd2VHTjNjakZhU1VSVmQwMHZlRkV2Ym05UE9FWlNhRzB3VEc5UVF6Y3pSV1lyU2pSYVFtUnlkbGQzWVhWR00zcEtaVE16WkRScFluaEZZMklLT0M5d2VqVlhla1pyWldsNFdVMHlibk5JYUhGSWMwSkxkemRLVUc5MVMwNVlVbTVzTlVsQlJURmxSbTF4UkhsRE4wY3ZWbFEzVDBZMk5qbDRUVFpvWWdwVmREVkhNakZLUlRSalRrczJUazUxWTFNclpucG5NVXBRV0RBck0xWm9jMWxhYW1vM1JEVjFiR3BTZGxGWWNrbzRhVWhuY2k5Tk5tb3liMHhJZGxSQkNra3lUVXhrY1RKeGFscEdSRTlEV0hONFFuaEtjR0p0VEVkQ2VEbHZkelphWlhKc1ZYaDZkM015UVZkMk1uQnJQUW90TFMwdExVVk9SQ0JEUlZKVVNVWkpRMEZVUlMwdExTMHRDZz09IgogICAgICB9CiAgICB9CiAgfQo=","payloadType":"https://witness.testifysec.com/policy/v0.1","signatures":[{"keyid":"6516d0812cb5a0d01f7f014f88e04c5d4c2d89a64e788a12950ba950fb43ef45","sig":"d7tB7Ob453kQDNlgLBwXJeHkt34tjC8H8PZIetfwSdjVbZwMrGYyhI4npxdQ5If9h+ZCWzhn5+SN9ymL6LiBX2vZfoepR0dxNh1l6ZpJw91ZhuvsgCvkVpaIFeeCh6/fcCshlMGnNta7Lya7sAzX9WgC314tntO5cK9ASgMXezjIS4pScccAHb0powbdkwq42j2I0n915I+Spp1Ta/hyw2+gyLrLiL8lEGeQFc5UMRbsHSGl+rCfBw+ob2o1OtQN1atKvOane97hXI9AWiGujdLtUnkIf5gKEuvOyzf+ViKn9obg1iwqOOoqCjFqg2x/nnZ+polrRvmvQ8n1woQDfw=="}]} +{"payload":"ewogICAgImV4cGlyZXMiOiAiMjAyNS0xMi0xN1QyMzo1Nzo0MC0wNTowMCIsCiAgICAic3RlcHMiOiB7CiAgICAgICJmbXQiOiB7CiAgICAgICAgIm5hbWUiOiAiZm10IiwKICAgICAgICAiYXR0ZXN0YXRpb25zIjogWwogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9lbnZpcm9ubWVudC92MC4xIgogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAiaHR0cHM6Ly93aXRuZXNzLmRldi9hdHRlc3RhdGlvbnMvZ2l0L3YwLjEiCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9tYXRlcmlhbC92MC4xIgogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAiaHR0cHM6Ly93aXRuZXNzLmRldi9hdHRlc3RhdGlvbnMvY29tbWFuZC1ydW4vdjAuMSIKICAgICAgICAgIH0sCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0eXBlIjogImh0dHBzOi8vd2l0bmVzcy5kZXYvYXR0ZXN0YXRpb25zL3Byb2R1Y3QvdjAuMSIKICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJmdW5jdGlvbmFyaWVzIjogWwogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJyb290IiwKICAgICAgICAgICAgImNlcnRDb25zdHJhaW50IjogewogICAgICAgICAgICAgICJjb21tb25uYW1lIjogIioiLAogICAgICAgICAgICAgICJkbnNuYW1lcyI6IFsKICAgICAgICAgICAgICAgICIqIgogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgImVtYWlscyI6IFsKICAgICAgICAgICAgICAgICIqIgogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIm9yZ2FuaXphdGlvbnMiOiBbCiAgICAgICAgICAgICAgICAiKiIKICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJ1cmlzIjogWwogICAgICAgICAgICAgICAgIioiCiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAicm9vdHMiOiBbCiAgICAgICAgICAgICAgICAiZGNmMTY2ZWViZTdjYmQ5NzYwOTQ3YTg4MjEzZDk0ZTY1NjM0OWM2NDdkNDM5NTY5ZGM3NmEyNzVmMDViNzE1OSIKICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJleHRlbnNpb25zIjogewogICAgICAgICAgICAgICAgImlzc3VlciI6ICJodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tIiwKICAgICAgICAgICAgICAgICJzb3VyY2VfcmVwb3NpdG9yeV91cmkiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Rlc3RpZnlzZWMvc3dmIiwKICAgICAgICAgICAgICAgICJidWlsZF9zaWduZXJfdXJpIjogImh0dHBzOi8vZ2l0aHViLmNvbS90ZXN0aWZ5c2VjL3dpdG5lc3MtcnVuLWFjdGlvbi8uZ2l0aHViL3dvcmtmbG93cy93aXRuZXNzLnltbEByZWZzL2hlYWRzL3JldXNhYmxlLXdvcmtmbG93IiwKICAgICAgICAgICAgICAgICJidWlsZF9zaWduZXJfZGlnZXN0IjogImQ2NmY4OWVjODUzOTM5OGVkOTkwNGQxYTYyMmJkMDMwM2JmZTM4NGMiLAogICAgICAgICAgICAgICAgImJ1aWxkX2NvbmZpZ191cmkiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Rlc3RpZnlzZWMvc3dmLy5naXRodWIvd29ya2Zsb3dzL3BpcGVsaW5lLnltbEByZWZzL2hlYWRzL3Nsc2EiLAogICAgICAgICAgICAgICAgInJ1bm5lcl9lbnZpcm9ubWVudCI6ICJnaXRodWItaG9zdGVkIgogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIF0KICAgICAgfSwKICAgICAgInZldCI6IHsKICAgICAgICAibmFtZSI6ICJ2ZXQiLAogICAgICAgICJhdHRlc3RhdGlvbnMiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0eXBlIjogImh0dHBzOi8vd2l0bmVzcy5kZXYvYXR0ZXN0YXRpb25zL2Vudmlyb25tZW50L3YwLjEiCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9naXQvdjAuMSIKICAgICAgICAgIH0sCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0eXBlIjogImh0dHBzOi8vd2l0bmVzcy5kZXYvYXR0ZXN0YXRpb25zL21hdGVyaWFsL3YwLjEiCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9jb21tYW5kLXJ1bi92MC4xIgogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAiaHR0cHM6Ly93aXRuZXNzLmRldi9hdHRlc3RhdGlvbnMvcHJvZHVjdC92MC4xIgogICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgImZ1bmN0aW9uYXJpZXMiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0eXBlIjogInJvb3QiLAogICAgICAgICAgICAiY2VydENvbnN0cmFpbnQiOiB7CiAgICAgICAgICAgICAgImNvbW1vbm5hbWUiOiAiKiIsCiAgICAgICAgICAgICAgImRuc25hbWVzIjogWwogICAgICAgICAgICAgICAgIioiCiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAiZW1haWxzIjogWwogICAgICAgICAgICAgICAgIioiCiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAib3JnYW5pemF0aW9ucyI6IFsKICAgICAgICAgICAgICAgICIqIgogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInVyaXMiOiBbCiAgICAgICAgICAgICAgICAiKiIKICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJyb290cyI6IFsKICAgICAgICAgICAgICAgICJkY2YxNjZlZWJlN2NiZDk3NjA5NDdhODgyMTNkOTRlNjU2MzQ5YzY0N2Q0Mzk1NjlkYzc2YTI3NWYwNWI3MTU5IgogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgImV4dGVuc2lvbnMiOiB7CiAgICAgICAgICAgICAgICAiaXNzdWVyIjogImh0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20iLAogICAgICAgICAgICAgICAgInNvdXJjZV9yZXBvc2l0b3J5X3VyaSI6ICJodHRwczovL2dpdGh1Yi5jb20vdGVzdGlmeXNlYy9zd2YiLAogICAgICAgICAgICAgICAgImJ1aWxkX3NpZ25lcl91cmkiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Rlc3RpZnlzZWMvd2l0bmVzcy1ydW4tYWN0aW9uLy5naXRodWIvd29ya2Zsb3dzL3dpdG5lc3MueW1sQHJlZnMvaGVhZHMvcmV1c2FibGUtd29ya2Zsb3ciLAogICAgICAgICAgICAgICAgImJ1aWxkX3NpZ25lcl9kaWdlc3QiOiAiZDY2Zjg5ZWM4NTM5Mzk4ZWQ5OTA0ZDFhNjIyYmQwMzAzYmZlMzg0YyIsCiAgICAgICAgICAgICAgICAiYnVpbGRfY29uZmlnX3VyaSI6ICJodHRwczovL2dpdGh1Yi5jb20vdGVzdGlmeXNlYy9zd2YvLmdpdGh1Yi93b3JrZmxvd3MvcGlwZWxpbmUueW1sQHJlZnMvaGVhZHMvc2xzYSIsCiAgICAgICAgICAgICAgICAicnVubmVyX2Vudmlyb25tZW50IjogImdpdGh1Yi1ob3N0ZWQiCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgXQogICAgICB9LAogICAgICAibGludCI6IHsKICAgICAgICAibmFtZSI6ICJsaW50IiwKICAgICAgICAiYXR0ZXN0YXRpb25zIjogWwogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9lbnZpcm9ubWVudC92MC4xIgogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAiaHR0cHM6Ly93aXRuZXNzLmRldi9hdHRlc3RhdGlvbnMvZ2l0L3YwLjEiCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9tYXRlcmlhbC92MC4xIgogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAiaHR0cHM6Ly93aXRuZXNzLmRldi9hdHRlc3RhdGlvbnMvY29tbWFuZC1ydW4vdjAuMSIsCiAgICAgICAgICAgICJyZWdvcG9saWNpZXMiOiBbCiAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIm5hbWUiOiAiZXhwZWN0ZWQgY29tbWFuZCIsCiAgICAgICAgICAgICAgICAibW9kdWxlIjogImNHRmphMkZuWlNCamIyMXRZVzVrY25WdUxtTnRaQW9LWkdWdWVWdHRjMmRkSUhzS0NXbHVjSFYwTG1OdFpDQWhQU0JiSWk5aWFXNHZjMmdpTENBaUxXTWlMQ0FpYUdGa2IyeHBiblFnTFdZZ2MyRnlhV1lnUkc5amEyVnlabWxzWlNBK0lHaGhaRzlzYVc1MExuTmhjbWxtSWwwS0NXMXpaeUE2UFNBaWRXNWxlSEJsWTNSbFpDQmpiV1FpQ24wSyIKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0KICAgICAgICAgIH0sCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0eXBlIjogImh0dHBzOi8vd2l0bmVzcy5kZXYvYXR0ZXN0YXRpb25zL3Byb2R1Y3QvdjAuMSIKICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJmdW5jdGlvbmFyaWVzIjogWwogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJyb290IiwKICAgICAgICAgICAgImNlcnRDb25zdHJhaW50IjogewogICAgICAgICAgICAgICJjb21tb25uYW1lIjogIioiLAogICAgICAgICAgICAgICJkbnNuYW1lcyI6IFsKICAgICAgICAgICAgICAgICIqIgogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgImVtYWlscyI6IFsKICAgICAgICAgICAgICAgICIqIgogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIm9yZ2FuaXphdGlvbnMiOiBbCiAgICAgICAgICAgICAgICAiKiIKICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJ1cmlzIjogWwogICAgICAgICAgICAgICAgIioiCiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAicm9vdHMiOiBbCiAgICAgICAgICAgICAgICAiZGNmMTY2ZWViZTdjYmQ5NzYwOTQ3YTg4MjEzZDk0ZTY1NjM0OWM2NDdkNDM5NTY5ZGM3NmEyNzVmMDViNzE1OSIKICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJleHRlbnNpb25zIjogewogICAgICAgICAgICAgICAgImlzc3VlciI6ICJodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tIiwKICAgICAgICAgICAgICAgICJzb3VyY2VfcmVwb3NpdG9yeV91cmkiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Rlc3RpZnlzZWMvc3dmIiwKICAgICAgICAgICAgICAgICJidWlsZF9zaWduZXJfdXJpIjogImh0dHBzOi8vZ2l0aHViLmNvbS90ZXN0aWZ5c2VjL3dpdG5lc3MtcnVuLWFjdGlvbi8uZ2l0aHViL3dvcmtmbG93cy93aXRuZXNzLnltbEByZWZzL2hlYWRzL3JldXNhYmxlLXdvcmtmbG93IiwKICAgICAgICAgICAgICAgICJidWlsZF9zaWduZXJfZGlnZXN0IjogImQ2NmY4OWVjODUzOTM5OGVkOTkwNGQxYTYyMmJkMDMwM2JmZTM4NGMiLAogICAgICAgICAgICAgICAgImJ1aWxkX2NvbmZpZ191cmkiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Rlc3RpZnlzZWMvc3dmLy5naXRodWIvd29ya2Zsb3dzL3BpcGVsaW5lLnltbEByZWZzL2hlYWRzL3Nsc2EiLAogICAgICAgICAgICAgICAgInJ1bm5lcl9lbnZpcm9ubWVudCI6ICJnaXRodWItaG9zdGVkIgogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIF0KICAgICAgfSwKICAgICAgInVuaXQtdGVzdCI6IHsKICAgICAgICAibmFtZSI6ICJ1bml0LXRlc3QiLAogICAgICAgICJhdHRlc3RhdGlvbnMiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0eXBlIjogImh0dHBzOi8vd2l0bmVzcy5kZXYvYXR0ZXN0YXRpb25zL2Vudmlyb25tZW50L3YwLjEiCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9naXQvdjAuMSIKICAgICAgICAgIH0sCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0eXBlIjogImh0dHBzOi8vd2l0bmVzcy5kZXYvYXR0ZXN0YXRpb25zL21hdGVyaWFsL3YwLjEiCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9jb21tYW5kLXJ1bi92MC4xIgogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAiaHR0cHM6Ly93aXRuZXNzLmRldi9hdHRlc3RhdGlvbnMvcHJvZHVjdC92MC4xIgogICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgImZ1bmN0aW9uYXJpZXMiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0eXBlIjogInJvb3QiLAogICAgICAgICAgICAiY2VydENvbnN0cmFpbnQiOiB7CiAgICAgICAgICAgICAgImNvbW1vbm5hbWUiOiAiKiIsCiAgICAgICAgICAgICAgImRuc25hbWVzIjogWwogICAgICAgICAgICAgICAgIioiCiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAiZW1haWxzIjogWwogICAgICAgICAgICAgICAgIioiCiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAib3JnYW5pemF0aW9ucyI6IFsKICAgICAgICAgICAgICAgICIqIgogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInVyaXMiOiBbCiAgICAgICAgICAgICAgICAiKiIKICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJyb290cyI6IFsKICAgICAgICAgICAgICAgICJkY2YxNjZlZWJlN2NiZDk3NjA5NDdhODgyMTNkOTRlNjU2MzQ5YzY0N2Q0Mzk1NjlkYzc2YTI3NWYwNWI3MTU5IgogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgImV4dGVuc2lvbnMiOiB7CiAgICAgICAgICAgICAgICAiaXNzdWVyIjogImh0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20iLAogICAgICAgICAgICAgICAgInNvdXJjZV9yZXBvc2l0b3J5X3VyaSI6ICJodHRwczovL2dpdGh1Yi5jb20vdGVzdGlmeXNlYy9zd2YiLAogICAgICAgICAgICAgICAgImJ1aWxkX3NpZ25lcl91cmkiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Rlc3RpZnlzZWMvd2l0bmVzcy1ydW4tYWN0aW9uLy5naXRodWIvd29ya2Zsb3dzL3dpdG5lc3MueW1sQHJlZnMvaGVhZHMvcmV1c2FibGUtd29ya2Zsb3ciLAogICAgICAgICAgICAgICAgImJ1aWxkX3NpZ25lcl9kaWdlc3QiOiAiZDY2Zjg5ZWM4NTM5Mzk4ZWQ5OTA0ZDFhNjIyYmQwMzAzYmZlMzg0YyIsCiAgICAgICAgICAgICAgICAiYnVpbGRfY29uZmlnX3VyaSI6ICJodHRwczovL2dpdGh1Yi5jb20vdGVzdGlmeXNlYy9zd2YvLmdpdGh1Yi93b3JrZmxvd3MvcGlwZWxpbmUueW1sQHJlZnMvaGVhZHMvc2xzYSIsCiAgICAgICAgICAgICAgICAicnVubmVyX2Vudmlyb25tZW50IjogImdpdGh1Yi1ob3N0ZWQiCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgXQogICAgICB9LAogICAgICAic2FzdCI6IHsKICAgICAgICAibmFtZSI6ICJzYXN0IiwKICAgICAgICAiYXR0ZXN0YXRpb25zIjogWwogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9lbnZpcm9ubWVudC92MC4xIgogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAiaHR0cHM6Ly93aXRuZXNzLmRldi9hdHRlc3RhdGlvbnMvZ2l0L3YwLjEiCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9tYXRlcmlhbC92MC4xIgogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAiaHR0cHM6Ly93aXRuZXNzLmRldi9hdHRlc3RhdGlvbnMvY29tbWFuZC1ydW4vdjAuMSIKICAgICAgICAgIH0sCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0eXBlIjogImh0dHBzOi8vd2l0bmVzcy5kZXYvYXR0ZXN0YXRpb25zL3Byb2R1Y3QvdjAuMSIKICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJmdW5jdGlvbmFyaWVzIjogWwogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJyb290IiwKICAgICAgICAgICAgImNlcnRDb25zdHJhaW50IjogewogICAgICAgICAgICAgICJjb21tb25uYW1lIjogIioiLAogICAgICAgICAgICAgICJkbnNuYW1lcyI6IFsKICAgICAgICAgICAgICAgICIqIgogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgImVtYWlscyI6IFsKICAgICAgICAgICAgICAgICIqIgogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIm9yZ2FuaXphdGlvbnMiOiBbCiAgICAgICAgICAgICAgICAiKiIKICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJ1cmlzIjogWwogICAgICAgICAgICAgICAgIioiCiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAicm9vdHMiOiBbCiAgICAgICAgICAgICAgICAiZGNmMTY2ZWViZTdjYmQ5NzYwOTQ3YTg4MjEzZDk0ZTY1NjM0OWM2NDdkNDM5NTY5ZGM3NmEyNzVmMDViNzE1OSIKICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJleHRlbnNpb25zIjogewogICAgICAgICAgICAgICAgImlzc3VlciI6ICJodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tIiwKICAgICAgICAgICAgICAgICJzb3VyY2VfcmVwb3NpdG9yeV91cmkiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Rlc3RpZnlzZWMvc3dmIiwKICAgICAgICAgICAgICAgICJidWlsZF9zaWduZXJfdXJpIjogImh0dHBzOi8vZ2l0aHViLmNvbS90ZXN0aWZ5c2VjL3dpdG5lc3MtcnVuLWFjdGlvbi8uZ2l0aHViL3dvcmtmbG93cy93aXRuZXNzLnltbEByZWZzL2hlYWRzL3JldXNhYmxlLXdvcmtmbG93IiwKICAgICAgICAgICAgICAgICJidWlsZF9zaWduZXJfZGlnZXN0IjogImQ2NmY4OWVjODUzOTM5OGVkOTkwNGQxYTYyMmJkMDMwM2JmZTM4NGMiLAogICAgICAgICAgICAgICAgImJ1aWxkX2NvbmZpZ191cmkiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Rlc3RpZnlzZWMvc3dmLy5naXRodWIvd29ya2Zsb3dzL3BpcGVsaW5lLnltbEByZWZzL2hlYWRzL3Nsc2EiLAogICAgICAgICAgICAgICAgInJ1bm5lcl9lbnZpcm9ubWVudCI6ICJnaXRodWItaG9zdGVkIgogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIF0KICAgICAgfSwKICAgICAgImJ1aWxkLWltYWdlIjogewogICAgICAgICJuYW1lIjogImJ1aWxkLWltYWdlIiwKICAgICAgICAiYXR0ZXN0YXRpb25zIjogWwogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9lbnZpcm9ubWVudC92MC4xIgogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAiaHR0cHM6Ly93aXRuZXNzLmRldi9hdHRlc3RhdGlvbnMvZ2l0L3YwLjEiCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9tYXRlcmlhbC92MC4xIgogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAiaHR0cHM6Ly93aXRuZXNzLmRldi9hdHRlc3RhdGlvbnMvY29tbWFuZC1ydW4vdjAuMSIKICAgICAgICAgIH0sCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0eXBlIjogImh0dHBzOi8vc2xzYS5kZXYvcHJvdmVuYW5jZS92MS4wIgogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAiaHR0cHM6Ly93aXRuZXNzLmRldi9hdHRlc3RhdGlvbnMvcHJvZHVjdC92MC4xIgogICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgImZ1bmN0aW9uYXJpZXMiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0eXBlIjogInJvb3QiLAogICAgICAgICAgICAiY2VydENvbnN0cmFpbnQiOiB7CiAgICAgICAgICAgICAgImNvbW1vbm5hbWUiOiAiKiIsCiAgICAgICAgICAgICAgImRuc25hbWVzIjogWwogICAgICAgICAgICAgICAgIioiCiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAiZW1haWxzIjogWwogICAgICAgICAgICAgICAgIioiCiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAib3JnYW5pemF0aW9ucyI6IFsKICAgICAgICAgICAgICAgICIqIgogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInVyaXMiOiBbCiAgICAgICAgICAgICAgICAiKiIKICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJyb290cyI6IFsKICAgICAgICAgICAgICAgICJkY2YxNjZlZWJlN2NiZDk3NjA5NDdhODgyMTNkOTRlNjU2MzQ5YzY0N2Q0Mzk1NjlkYzc2YTI3NWYwNWI3MTU5IgogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgImV4dGVuc2lvbnMiOiB7CiAgICAgICAgICAgICAgICAiaXNzdWVyIjogImh0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20iLAogICAgICAgICAgICAgICAgInNvdXJjZV9yZXBvc2l0b3J5X3VyaSI6ICJodHRwczovL2dpdGh1Yi5jb20vdGVzdGlmeXNlYy9zd2YiLAogICAgICAgICAgICAgICAgImJ1aWxkX3NpZ25lcl91cmkiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Rlc3RpZnlzZWMvd2l0bmVzcy1ydW4tYWN0aW9uLy5naXRodWIvd29ya2Zsb3dzL3dpdG5lc3MueW1sQHJlZnMvaGVhZHMvcmV1c2FibGUtd29ya2Zsb3ciLAogICAgICAgICAgICAgICAgImJ1aWxkX3NpZ25lcl9kaWdlc3QiOiAiZDY2Zjg5ZWM4NTM5Mzk4ZWQ5OTA0ZDFhNjIyYmQwMzAzYmZlMzg0YyIsCiAgICAgICAgICAgICAgICAiYnVpbGRfY29uZmlnX3VyaSI6ICJodHRwczovL2dpdGh1Yi5jb20vdGVzdGlmeXNlYy9zd2YvLmdpdGh1Yi93b3JrZmxvd3MvcGlwZWxpbmUueW1sQHJlZnMvaGVhZHMvc2xzYSIsCiAgICAgICAgICAgICAgICAicnVubmVyX2Vudmlyb25tZW50IjogImdpdGh1Yi1ob3N0ZWQiCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgXQogICAgICB9LAogICAgICAic2F2ZS1pbWFnZSI6IHsKICAgICAgICAibmFtZSI6ICJzYXZlLWltYWdlIiwKICAgICAgICAiYXR0ZXN0YXRpb25zIjogWwogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9lbnZpcm9ubWVudC92MC4xIgogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAiaHR0cHM6Ly93aXRuZXNzLmRldi9hdHRlc3RhdGlvbnMvZ2l0L3YwLjEiCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9tYXRlcmlhbC92MC4xIgogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAiaHR0cHM6Ly93aXRuZXNzLmRldi9hdHRlc3RhdGlvbnMvY29tbWFuZC1ydW4vdjAuMSIKICAgICAgICAgIH0sCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0eXBlIjogImh0dHBzOi8vc2xzYS5kZXYvcHJvdmVuYW5jZS92MS4wIgogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAiaHR0cHM6Ly93aXRuZXNzLmRldi9hdHRlc3RhdGlvbnMvcHJvZHVjdC92MC4xIgogICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgImZ1bmN0aW9uYXJpZXMiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0eXBlIjogInJvb3QiLAogICAgICAgICAgICAiY2VydENvbnN0cmFpbnQiOiB7CiAgICAgICAgICAgICAgImNvbW1vbm5hbWUiOiAiKiIsCiAgICAgICAgICAgICAgImRuc25hbWVzIjogWwogICAgICAgICAgICAgICAgIioiCiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAiZW1haWxzIjogWwogICAgICAgICAgICAgICAgIioiCiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAib3JnYW5pemF0aW9ucyI6IFsKICAgICAgICAgICAgICAgICIqIgogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInVyaXMiOiBbCiAgICAgICAgICAgICAgICAiKiIKICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJyb290cyI6IFsKICAgICAgICAgICAgICAgICJkY2YxNjZlZWJlN2NiZDk3NjA5NDdhODgyMTNkOTRlNjU2MzQ5YzY0N2Q0Mzk1NjlkYzc2YTI3NWYwNWI3MTU5IgogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgImV4dGVuc2lvbnMiOiB7CiAgICAgICAgICAgICAgICAiaXNzdWVyIjogImh0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20iLAogICAgICAgICAgICAgICAgInNvdXJjZV9yZXBvc2l0b3J5X3VyaSI6ICJodHRwczovL2dpdGh1Yi5jb20vdGVzdGlmeXNlYy9zd2YiLAogICAgICAgICAgICAgICAgImJ1aWxkX3NpZ25lcl91cmkiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Rlc3RpZnlzZWMvd2l0bmVzcy1ydW4tYWN0aW9uLy5naXRodWIvd29ya2Zsb3dzL3dpdG5lc3MueW1sQHJlZnMvaGVhZHMvcmV1c2FibGUtd29ya2Zsb3ciLAogICAgICAgICAgICAgICAgImJ1aWxkX3NpZ25lcl9kaWdlc3QiOiAiZDY2Zjg5ZWM4NTM5Mzk4ZWQ5OTA0ZDFhNjIyYmQwMzAzYmZlMzg0YyIsCiAgICAgICAgICAgICAgICAiYnVpbGRfY29uZmlnX3VyaSI6ICJodHRwczovL2dpdGh1Yi5jb20vdGVzdGlmeXNlYy9zd2YvLmdpdGh1Yi93b3JrZmxvd3MvcGlwZWxpbmUueW1sQHJlZnMvaGVhZHMvc2xzYSIsCiAgICAgICAgICAgICAgICAicnVubmVyX2Vudmlyb25tZW50IjogImdpdGh1Yi1ob3N0ZWQiCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgXQogICAgICB9LAogICAgICAiZ2VuZXJhdGUtc2JvbSI6IHsKICAgICAgICAibmFtZSI6ICJnZW5lcmF0ZS1zYm9tIiwKICAgICAgICAiYXR0ZXN0YXRpb25zIjogWwogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9lbnZpcm9ubWVudC92MC4xIgogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAiaHR0cHM6Ly93aXRuZXNzLmRldi9hdHRlc3RhdGlvbnMvZ2l0L3YwLjEiCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9tYXRlcmlhbC92MC4xIgogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAiaHR0cHM6Ly93aXRuZXNzLmRldi9hdHRlc3RhdGlvbnMvY29tbWFuZC1ydW4vdjAuMSIKICAgICAgICAgIH0sCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0eXBlIjogImh0dHBzOi8vd2l0bmVzcy5kZXYvYXR0ZXN0YXRpb25zL3Byb2R1Y3QvdjAuMSIKICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJmdW5jdGlvbmFyaWVzIjogWwogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJyb290IiwKICAgICAgICAgICAgImNlcnRDb25zdHJhaW50IjogewogICAgICAgICAgICAgICJjb21tb25uYW1lIjogIioiLAogICAgICAgICAgICAgICJkbnNuYW1lcyI6IFsKICAgICAgICAgICAgICAgICIqIgogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgImVtYWlscyI6IFsKICAgICAgICAgICAgICAgICIqIgogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIm9yZ2FuaXphdGlvbnMiOiBbCiAgICAgICAgICAgICAgICAiKiIKICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJ1cmlzIjogWwogICAgICAgICAgICAgICAgIioiCiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAicm9vdHMiOiBbCiAgICAgICAgICAgICAgICAiZGNmMTY2ZWViZTdjYmQ5NzYwOTQ3YTg4MjEzZDk0ZTY1NjM0OWM2NDdkNDM5NTY5ZGM3NmEyNzVmMDViNzE1OSIKICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJleHRlbnNpb25zIjogewogICAgICAgICAgICAgICAgImlzc3VlciI6ICJodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tIiwKICAgICAgICAgICAgICAgICJzb3VyY2VfcmVwb3NpdG9yeV91cmkiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Rlc3RpZnlzZWMvc3dmIiwKICAgICAgICAgICAgICAgICJidWlsZF9zaWduZXJfdXJpIjogImh0dHBzOi8vZ2l0aHViLmNvbS90ZXN0aWZ5c2VjL3dpdG5lc3MtcnVuLWFjdGlvbi8uZ2l0aHViL3dvcmtmbG93cy93aXRuZXNzLnltbEByZWZzL2hlYWRzL3JldXNhYmxlLXdvcmtmbG93IiwKICAgICAgICAgICAgICAgICJidWlsZF9zaWduZXJfZGlnZXN0IjogImQ2NmY4OWVjODUzOTM5OGVkOTkwNGQxYTYyMmJkMDMwM2JmZTM4NGMiLAogICAgICAgICAgICAgICAgImJ1aWxkX2NvbmZpZ191cmkiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Rlc3RpZnlzZWMvc3dmLy5naXRodWIvd29ya2Zsb3dzL3BpcGVsaW5lLnltbEByZWZzL2hlYWRzL3Nsc2EiLAogICAgICAgICAgICAgICAgInJ1bm5lcl9lbnZpcm9ubWVudCI6ICJnaXRodWItaG9zdGVkIgogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIF0KICAgICAgfSwKICAgICAgInNlY3JldC1zY2FuIjogewogICAgICAgICJuYW1lIjogInNlY3JldC1zY2FuIiwKICAgICAgICAiYXR0ZXN0YXRpb25zIjogWwogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9lbnZpcm9ubWVudC92MC4xIgogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAiaHR0cHM6Ly93aXRuZXNzLmRldi9hdHRlc3RhdGlvbnMvZ2l0L3YwLjEiCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9tYXRlcmlhbC92MC4xIgogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAiaHR0cHM6Ly93aXRuZXNzLmRldi9hdHRlc3RhdGlvbnMvY29tbWFuZC1ydW4vdjAuMSIKICAgICAgICAgIH0sCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0eXBlIjogImh0dHBzOi8vd2l0bmVzcy5kZXYvYXR0ZXN0YXRpb25zL3Byb2R1Y3QvdjAuMSIKICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJmdW5jdGlvbmFyaWVzIjogWwogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJyb290IiwKICAgICAgICAgICAgImNlcnRDb25zdHJhaW50IjogewogICAgICAgICAgICAgICJjb21tb25uYW1lIjogIioiLAogICAgICAgICAgICAgICJkbnNuYW1lcyI6IFsKICAgICAgICAgICAgICAgICIqIgogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgImVtYWlscyI6IFsKICAgICAgICAgICAgICAgICIqIgogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIm9yZ2FuaXphdGlvbnMiOiBbCiAgICAgICAgICAgICAgICAiKiIKICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJ1cmlzIjogWwogICAgICAgICAgICAgICAgIioiCiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAicm9vdHMiOiBbCiAgICAgICAgICAgICAgICAiZGNmMTY2ZWViZTdjYmQ5NzYwOTQ3YTg4MjEzZDk0ZTY1NjM0OWM2NDdkNDM5NTY5ZGM3NmEyNzVmMDViNzE1OSIKICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJleHRlbnNpb25zIjogewogICAgICAgICAgICAgICAgImlzc3VlciI6ICJodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tIiwKICAgICAgICAgICAgICAgICJzb3VyY2VfcmVwb3NpdG9yeV91cmkiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Rlc3RpZnlzZWMvc3dmIiwKICAgICAgICAgICAgICAgICJidWlsZF9zaWduZXJfdXJpIjogImh0dHBzOi8vZ2l0aHViLmNvbS90ZXN0aWZ5c2VjL3dpdG5lc3MtcnVuLWFjdGlvbi8uZ2l0aHViL3dvcmtmbG93cy93aXRuZXNzLnltbEByZWZzL2hlYWRzL3JldXNhYmxlLXdvcmtmbG93IiwKICAgICAgICAgICAgICAgICJidWlsZF9zaWduZXJfZGlnZXN0IjogImQ2NmY4OWVjODUzOTM5OGVkOTkwNGQxYTYyMmJkMDMwM2JmZTM4NGMiLAogICAgICAgICAgICAgICAgImJ1aWxkX2NvbmZpZ191cmkiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Rlc3RpZnlzZWMvc3dmLy5naXRodWIvd29ya2Zsb3dzL3BpcGVsaW5lLnltbEByZWZzL2hlYWRzL3Nsc2EiLAogICAgICAgICAgICAgICAgInJ1bm5lcl9lbnZpcm9ubWVudCI6ICJnaXRodWItaG9zdGVkIgogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIF0KICAgICAgfQogICAgfSwKICAgICJyb290cyI6IHsKICAgICAgImRjZjE2NmVlYmU3Y2JkOTc2MDk0N2E4ODIxM2Q5NGU2NTYzNDljNjQ3ZDQzOTU2OWRjNzZhMjc1ZjA1YjcxNTkiOiB7CiAgICAgICAgImNlcnRpZmljYXRlIjogIkxTMHRMUzFDUlVkSlRpQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENrMUpTVU5IYWtORFFXRkhaMEYzU1VKQlowbFZRVXh1Vm1sV1ptNVZNR0p5U21GemJWSnJTSEp1TDFWdVptRlJkME5uV1VsTGIxcEplbW93UlVGM1RYY0tTMnBGVmsxQ1RVZEJNVlZGUTJoTlRXTXliRzVqTTFKMlkyMVZkVnBIVmpKTlVrVjNSSGRaUkZaUlVVUkZkMmg2WVZka2VtUkhPWGxhVkVGbFJuY3dlUXBOYWtFd1RWUk5lVTFFUVRKTlZGWmhSbmN3ZWsxVVJYZE5SRlY0VFhwVk1rNVVhR0ZOUkdONFJsUkJWRUpuVGxaQ1FXOVVSRWhPY0ZvelRqQmlNMHBzQ2t4dFVteGtha1ZsVFVKM1IwRXhWVVZCZUUxV1l6SnNibU16VW5aamJWVjBZVmMxTUZwWVNuUmFWMUp3V1ZoU2JFMUlXWGRGUVZsSVMyOWFTWHBxTUVNS1FWRlpSa3MwUlVWQlEwbEVXV2RCUlRoU1ZsTXZlWE5JSzA1UGRuVkVXbmxRU1ZwMGFXeG5WVVk1VG14aGNsbHdRV1E1U0ZBeGRrSkNTREZWTlVOV053bzNURk5UTjNNd1dtbElORzVGTjBoMk4zQjBVelpNZG5aU0wxTlVhemM1T0V4V1owMTZUR3hLTkVobFNXWkdNM1JJVTJGbGVFeGpXWEJUUVZOeU1XdFRDakJPTDFKblFrcDZMemxxVjBOcFdHNXZNM04zWlZSQlQwSm5UbFpJVVRoQ1FXWTRSVUpCVFVOQlVWbDNSWGRaUkZaU01HeENRWGQzUTJkWlNVdDNXVUlLUWxGVlNFRjNUWGRGWjFsRVZsSXdWRUZSU0M5Q1FXZDNRbWRGUWk5M1NVSkJSRUZrUW1kT1ZraFJORVZHWjFGVk16bFFjSG94V1d0RldtSTFjVTVxY0FwTFJsZHBlR2swV1ZwRU9IZElkMWxFVmxJd2FrSkNaM2RHYjBGVlYwMUJaVmcxUmtad1YyRndaWE41VVc5YVRXa3dRM0pHZUdadmQwTm5XVWxMYjFwSkNucHFNRVZCZDAxRVduZEJkMXBCU1hkUVEzTlJTelJFV1dsYVdVUlFTV0ZFYVRWSVJrdHVabmhZZURaQlUxTldiVVZTWm5ONWJsbENhVmd5V0RaVFNsSUtibHBWT0RRdk9VUmFaRzVHZG5aNGJVRnFRazkwTmxGd1FteGpORW92TUVSNGRtdFVRM0Z3WTJ4MmVtbE1Oa0pEUTFCdWFtUnNTVUl6VUhVelFuaHpVQXB0ZVdkVldUZEphVEo2WW1SRFpHeHBhVzkzUFFvdExTMHRMVVZPUkNCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2dvPSIsCiAgICAgICAgImludGVybWVkaWF0ZXMiOiBbCiAgICAgICAgICAiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVSTVla05EUVZoNVowRjNTVUpCWjBsVlFVeGFUa0ZRUm1SNFNGQjNhbVZFYkc5RWQzbFpRMmhCVHk4MGQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1MycEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWtWM1JIZFpSRlpSVVVSRmQyaDZZVmRrZW1SSE9YbGFWRUZsUm5jd2VRcE5WRVYzVFVSamVFMTZWVEpPVkd4aFJuY3dlazFVUlhkTlJGVjRUWHBWTWs1VWFHRk5RMjk0UmxSQlZFSm5UbFpDUVc5VVJFaE9jRm96VGpCaU0wcHNDa3h0VW14a2FrVlNUVUU0UjBFeFZVVkJlRTFKWXpKc2JtTXpVblpqYlZWM1pHcEJVVUpuWTNGb2EycFBVRkZKUWtKblZYSm5VVkZCU1dkT2FVRkJWRGNLV0dWR1ZEUnlZak5RVVVkM1V6UkpZV3AwVEdzekwwOXNibkJuWVc1bllVSmpiRmx3YzFsQ2NqVnBLelI1YmtJd04yTmxZak5NVURCUFNVOWFaSGhsZUFwWU5qbGpOV2xXZFhsS1VsRXJTSG93TlhscEsxVkdNM1ZDVjBGc1NIQnBVelZ6YURBclNESkhTRVUzVTFoeWF6RkZRelZ0TVZSeU1UbE1PV2RuT1RKcUNsbDZRbWhOUVRSSFFURlZaRVIzUlVJdmQxRkZRWGRKUWtKcVFWQkNaMDVXU0ZKTlFrRm1PRVZDVkVGRVFWRklMMDFDTUVkQk1WVmtSR2RSVjBKQ1Vsa0tkMEkxWm10VlYyeGFjV3cyZWtwRGFHdDVURkZMYzFoR0sycEJaa0puVGxaSVUwMUZSMFJCVjJkQ1VsbDNRalZtYTFWWGJGcHhiRFo2U2tOb2EzbE1VUXBMYzFoR0sycEJTMEpuWjNGb2EycFBVRkZSUkVGM1RuQkJSRUp0UVdwRlFXb3hia2hsV0Zwd0t6RXpUbGRDVG1FclJVUnpSRkE0UnpGWFYyY3hkRU5OQ2xkUUwxZElVSEZ3WVZadk1HcG9jM2RsVGtaYVoxTnpNR1ZGTjNkWlNUUnhRV3BGUVRKWFFqbHZkRGs0YzBscmIwWXpkbHBaWkdRekwxWjBWMEkxWWprS1ZFNU5aV0UzU1hndmMzUktOVlJtWTB4TVpVRkNURVUwUWs1S1QzTlJOSFp1UWtoS0NpMHRMUzB0UlU1RUlFTkZVbFJKUmtsRFFWUkZMUzB0TFMwSyIKICAgICAgICBdCiAgICAgIH0KICAgIH0sCiAgICAidGltZXN0YW1wYXV0aG9yaXRpZXMiOiB7CiAgICAgICJmcmVldHNhIjogewogICAgICAgICJjZXJ0aWZpY2F0ZSI6ICJMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VndmVrTkRRbVZsWjBGM1NVSkJaMGxLUVUxSWNHaG9XVTV4VDIxQlRVRXdSME5UY1VkVFNXSXpSRkZGUWtSUlZVRk5TVWRXVFZKRmQwUjNXVVFLVmxGUlMwVjNhRWRqYlZac1NVWlNWRkZVUlZGTlFUUkhRVEZWUlVONFRVaFZiVGwyWkVOQ1JGRlVSVmxOUWxsSFFURlZSVUY0VFZCa00yUXpURzFhZVFwYVYxWXdZekpGZFdJelNtNU5VMGwzU1VGWlNrdHZXa2xvZG1OT1FWRnJRa1pvVG1sa1dFNXdZa2RXTmxsWVRrRmFNakZvWVZkM2RWa3lPWFJOVWtsM0NrVkJXVVJXVVZGSVJYZHNXR1JYVm5sbGJVb3hZMjFqZUVSNlFVNUNaMDVXUWtGblZFSnJTbWhsVjFaNVltcEZURTFCYTBkQk1WVkZRbWhOUTFKRlZYY0tTR2hqVGsxVVdYZE5la1Y2VFVSRk1VMXFSWHBYYUdOT1RrUkZkMDE2UVROTlJFVXhUV3BGZWxkcVEwSnNWRVZTVFVFNFIwRXhWVVZEYUUxSlVtNUtiQXBhVTBKVlZUQkZlRVZFUVU5Q1owNVdRa0Z6VkVJeFNuWmlNMUZuVVRCRmVFZEVRVmRDWjA1V1FrRk5WRVF6WkROa2VUVnRZMjFXYkdSSVRtaE1iVGw1Q2xwNlJXbE5RMEZIUTFOeFIxTkpZak5FVVVWS1FWSlpWRmx1Vm5waFYzaHNaVzFHZWxGSFpIUlpWMnh6VEcxT2RtSlVSVk5OUWtGSFFURlZSVUo0VFVvS1ZqTldiR051Y0dsa1dFcHVUVkU0ZDBSUldVUldVVkZKUlhkYVExbFliR3hqYlRSNFEzcEJTa0puVGxaQ1FWbFVRV3RTUmsxSlNVTkpha0ZPUW1kcmNRcG9hMmxIT1hjd1FrRlJSVVpCUVU5RFFXYzRRVTFKU1VORFowdERRV2RGUVhSblMwOUVha0Y1T0ZKRlVUSlhWRTV4VlhWa1FXNXFhR3hEY25CRk5uRnNDbTFSWms1d2NHVlViVloyV25KSU5IcDFkRzRyVG5kVVlVaEJSM0JxVTBkMk5DOVhVbkJhTVhkYU0wSlNXalZ0VUZWQ1dubE1aM0V3V1hKSlpsRTFSbmdLTUhNdlRWSmFVSHBqTVhJemJFdFhjazFTT1hOQlVYZzBiVTQwZWpFeGVFWkZUelV5T1V3d1pFWkthbEJHT1UxRU9FZHdaREptWlZkNlIzbHdkR3hsYkFwaUsxQnhWQ3NySzJaUFlUSnZXVEFyVG1GTlRUZHNMM2hqVGtoUVQyRk5lakF2TW05c2F6QnBNakpvWWt0bFZtaDJiMnRRUTNGb1JtaDZjM1ZvUzNOdENuRTBUMll2Ynl0ME5tUkpOM040Tldnd2JsQk5iVFJuUjFOU2FHWnhLM28yUWxSU1owTnljVkZITWtaUFRHOVdSbWQwTm1sSmJTOUNiazVtWmxWeU4xWUtSRmxrTTNwYWJVbDNSazlxTDBnelJFdEliMGRwYXk5NFN6TkZPREpaUVRKYWRXeFdUMFpTVnk5NmFqUkJjR3BRWVRWUFJtSndTV3RrTUhCdGVuaDZaQXBGWTB3ME56bG9VMEU1WkVacGVWWnRVM2hRZEZrMWVtVXhVQ3RDUlRsaVRWVXhVRk5qY0ZKNmR6aE5TRVpZZUhsTGNWY3hNMUYyTjB4WGR6UnpZbXN6Q2xOamFVSTNSMEZEWWxGcFZrZDZaMnQyV0VjMmVUZzFTRTkxZGxkT2RrTTFSMHhUYVhsUU9VZHNVRUl3VmpZNGRHSjRlalJLVmxSU1pIY3ZXRzR2V0ZRS1JrNTZVa0pOTTJOeE9HeENUMEZXZEM5UVFWZzFLM1ZHWTNZeFV6bDNSa1U0V1dwaFFtWlhRMUF4YW1SQ2FXd3JZelJsS3pCMFpIbDNWREp2U20xWlFncENSaTlyUlhReGQyMUhkMDF0U0hWdVRrVjFVVTU2YURGR2RFcFpOVFJvWWxWbWFWZHBNemh0UVZORk4zaE5kRTFvWm1vdlF6UlRkbUZ3YVVST09ETTNDbWRaWVZCbWN6aDRNMHRhZUdKWU4wTXpXVUZ6Um01S2FXNXNkMEZWYzNNeFptUkxZWEk0VVM5WlZuTTNTQzl1VlRSak5FbDRlSGg2TkdZMk4yWmpWbkVLVFRKSlZFdGxiblJpUTAxRFFYZEZRVUZoVDBOQmF6UjNaMmRLUzAxQmQwZEJNVlZrUlhkUlJrMUJUVUpCWmpoM1JHZFpSRlpTTUZCQlVVZ3ZRa0ZSUkFwQlowaEhUVUl3UjBFeFZXUkVaMUZYUWtKVU5sWlJNazFPUjFwU1VUQjZNelUzVDI1aVNsZDJaWFZoYTJ4NlEwSjVaMWxFVmxJd2FrSkpTRU5OU1VjdkNtZENWRFpXVVRKTlRrZGFVbEV3ZWpNMU4wOXVZa3BYZG1WMVlXdHNOa2RDYlRaVFFtMUVRMEpzVkVWU1RVRTRSMEV4VlVWRGFFMUpVbTVLYkZwVFFsVUtWVEJGZUVWRVFVOUNaMDVXUWtGelZFSXhTblppTTFGblVUQkZlRWRFUVZkQ1owNVdRa0ZOVkVRelpETmtlVFZ0WTIxV2JHUklUbWhNYlRsNVducEZhUXBOUTBGSFExTnhSMU5KWWpORVVVVktRVkpaVkZsdVZucGhWM2hzWlcxR2VsRkhaSFJaVjJ4elRHMU9kbUpVUlZOTlFrRkhRVEZWUlVKNFRVcFdNMVpzQ21OdWNHbGtXRXB1VFZFNGQwUlJXVVJXVVZGSlJYZGFRMWxZYkd4amJUUjRRM3BCU2tKblRsWkNRVmxVUVd0U1JtZG5hMEYzWlcxSFJtY3lielpaUVhjS1RYZFpSRlpTTUdaQ1EzZDNTMnBCYjI5RFlXZEtTVmxwWVVoU01HTkViM1pNTTJRelpIazFiV050Vm14a1NFNW9URzA1ZVZwNU9YbGlNamt3V0RKT2FBcE1iVTU1WWtSRFFucDNXVVJXVWpCblFrbElTRTFKU0VWTlNVaENRbWR2Y2tKblJVVkJXVWg1U2tGRlFrMUpSM2xOUkUxSFEwTnpSMEZSVlVaQ2QwbENDa1pwWkc5a1NGSjNUMms0ZG1RelpETk1iVnA1V2xkV01HTXlSWFZpTTBwdVRESmFlVnBYVmpCak1rWm1XVE5DZWt4dGFEQmlWM2QzVFdkWlNVdDNXVUlLUWxGVlNFRm5SVmRLYldnd1pFaEJOa3g1T1ROa00yTjFXbTVLYkZwWVVucFpVelYyWTIxamRscHVTbXhhV0ZKNldWWTVhbU5JVFhWalIxSnRUVVZqUndwRFEzTkhRVkZWUmtKM1NVTk5SSE5oVDFWYWVWcFhWbFZWTUVWblpFaEtNV016VW14YVEwSXdZVmN4YkdNelVtaGlXRUp3WW0xaloxVXlPVzFrU0dSb0NtTnRWV2RaV0UxbldWTkNWRnBZU2pKaFYwNXNTVU5vVkZsWFJsUkxWRUV6UW1kbmNrSm5SVVpDVVdOQ1FWRlJjazFEYTNkS2QxbEpTM2RaUWtKUlZVZ0tUVUZIUjBjeWFEQmtTRUUyVEhrNU0yUXpZM1ZhYmtwc1dsaFNlbGxUTlhaamJXTTJUV3BWTWsxRVFVNUNaMnR4YUd0cFJ6bDNNRUpCVVRCR1FVRlBRd3BCWjBWQllVczVLM1kxVDBaWmRUbE5ObnAwV1VNclREWTVjM2N4YjIxa2VXeHBPRGxzV2tGbWNGZE5UV2c1UTFKdFNtaE5Oa3RDY1UwdmFYQjNiMHgwQ201NGVYaEhjMkpEVUdoalVXcDFWSFo2YlN0NWJFNDJWbmRVVFcxSmJGWjVWbE5NUzFsYVkyUlRhblF2WlVOVlRpczBNVXMzYzBRM1IxWnRlRnBDUVVZS1NVeHVRa1J0VkVkS2JVeHJjbFV3UzNWMVNYQnFPR3hKTDBVMldqWk9ibTExVURJclVrRlJVMGh6WmtKUmFUWnpjM051V0Uxdk5FaFBWelZuZEZCUE53cG5SSEpWY0ZaWVNVUXJLekZRTkZodVpHdHZTMjQzVTNaM05XNHdlbE01Wm5ZeGFIaENZMWxKU0ZCUVVWVjZaVEoxTXpCaVFWRjBNRzR3YVVsNVVreDZDbUZYZFdoMGNFRjBaRGRtWm5kRllrRlRaM3BDTjBVclRrZEdOSFJ3VmpNM1pUaExhVUV5ZUdsSFUxSnhWRFZ1WkhVeU9HWm5jRTlaT0RkblJETkJjbG9LUkdOMFduWjJWRU5tU0dSQlV6VnJSVTh6WjI1SFIyVmFSVlpNUkcxbVJYTjJPRlJIU21FelFXeHFWbUUxUlRRd1NWRkVjMVZZY0ZGTWFUaEhLMVZETkFveFJGZGFkVGhGVmxRMGNtNVpZVU4zTVZaWU4xTm9UMUl4VUU1RFEzWnFZamhUT0hSbVpIVmtaRGw2YUZVelowVkNNSEo0WkdWVWVURjBWbUpPVEZoWENqazVlVGt3ZUdOM2NqRmFTVVJWZDAwdmVGRXZibTlQT0VaU2FHMHdURzlRUXpjelJXWXJTalJhUW1SeWRsZDNZWFZHTTNwS1pUTXpaRFJwWW5oRlkySUtPQzl3ZWpWWGVrWnJaV2w0V1UweWJuTklhSEZJYzBKTGR6ZEtVRzkxUzA1WVVtNXNOVWxCUlRGbFJtMXhSSGxETjBjdlZsUTNUMFkyTmpsNFRUWm9ZZ3BWZERWSE1qRktSVFJqVGtzMlRrNTFZMU1yWm5wbk1VcFFXREFyTTFab2MxbGFhbW8zUkRWMWJHcFNkbEZZY2tvNGFVaG5jaTlOTm1veWIweElkbFJCQ2treVRVeGtjVEp4YWxwR1JFOURXSE40UW5oS2NHSnRURWRDZURsdmR6WmFaWEpzVlhoNmQzTXlRVmQyTW5CclBRb3RMUzB0TFVWT1JDQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENnPT0iCiAgICAgIH0KICAgIH0KICB9Cg==","payloadType":"https://witness.testifysec.com/policy/v0.1","signatures":[{"keyid":"6516d0812cb5a0d01f7f014f88e04c5d4c2d89a64e788a12950ba950fb43ef45","sig":"AhcdG55mzo5qrYnmV869QoEPdal4HPpsvafSjPbwnoA+c21PP4S6/3PaSivDqCoVnxqG+K0mbSeVrbUqdnVKYVQIY5/2PkD2NpVWciPMEg1wc6CO2xZn0VEtSF5bJkuOzQajSEjCz1jJWm8uOcCLjxogyWgLuWjfUDTYJYa945Xwq5u4MrE6WUoEZFD+YHioxCir7ZGFUp1ubnq6N+24jH7W0SpVtn/In1XwbC2Q/BEw8owWLe8lDeOoyEapNnkWl6nNiGUnnOWB1ObgGrrm21vL3kb1uugD5YcY0VUYaOSXhgEmlJdsmX76fMHRQg07XMbGY1h1iJoo+S8Z363dZw=="}]} diff --git a/policy.json b/policy.json index 20f8771..048e981 100644 --- a/policy.json +++ b/policy.json @@ -42,10 +42,10 @@ ], "extensions": { "issuer": "https://token.actions.githubusercontent.com", - "github_workflow_sha": "39f80b4c173e7b023a19d2aeac2686733c67b38e", "source_repository_uri": "https://github.com/testifysec/swf", - "build_signer_uri": "https://github.com/testifysec/swf/.github/workflows/witness.yml@refs/heads/slsa", - "build_signer_digest": "39f80b4c173e7b023a19d2aeac2686733c67b38e", + "build_signer_uri": "https://github.com/testifysec/witness-run-action/.github/workflows/witness.yml@refs/heads/reusable-workflow", + "build_signer_digest": "d66f89ec8539398ed9904d1a622bd0303bfe384c", + "build_config_uri": "https://github.com/testifysec/swf/.github/workflows/pipeline.yml@refs/heads/slsa", "runner_environment": "github-hosted" } } @@ -90,7 +90,15 @@ ], "roots": [ "dcf166eebe7cbd9760947a88213d94e656349c647d439569dc76a275f05b7159" - ] + ], + "extensions": { + "issuer": "https://token.actions.githubusercontent.com", + "source_repository_uri": "https://github.com/testifysec/swf", + "build_signer_uri": "https://github.com/testifysec/witness-run-action/.github/workflows/witness.yml@refs/heads/reusable-workflow", + "build_signer_digest": "d66f89ec8539398ed9904d1a622bd0303bfe384c", + "build_config_uri": "https://github.com/testifysec/swf/.github/workflows/pipeline.yml@refs/heads/slsa", + "runner_environment": "github-hosted" + } } } ] @@ -142,10 +150,10 @@ ], "extensions": { "issuer": "https://token.actions.githubusercontent.com", - "github_workflow_sha": "39f80b4c173e7b023a19d2aeac2686733c67b38e", "source_repository_uri": "https://github.com/testifysec/swf", - "build_signer_uri": "https://github.com/testifysec/swf/.github/workflows/witness.yml@refs/heads/slsa", - "build_signer_digest": "39f80b4c173e7b023a19d2aeac2686733c67b38e", + "build_signer_uri": "https://github.com/testifysec/witness-run-action/.github/workflows/witness.yml@refs/heads/reusable-workflow", + "build_signer_digest": "d66f89ec8539398ed9904d1a622bd0303bfe384c", + "build_config_uri": "https://github.com/testifysec/swf/.github/workflows/pipeline.yml@refs/heads/slsa", "runner_environment": "github-hosted" } } @@ -193,10 +201,10 @@ ], "extensions": { "issuer": "https://token.actions.githubusercontent.com", - "github_workflow_sha": "39f80b4c173e7b023a19d2aeac2686733c67b38e", "source_repository_uri": "https://github.com/testifysec/swf", - "build_signer_uri": "https://github.com/testifysec/swf/.github/workflows/witness.yml@refs/heads/slsa", - "build_signer_digest": "39f80b4c173e7b023a19d2aeac2686733c67b38e", + "build_signer_uri": "https://github.com/testifysec/witness-run-action/.github/workflows/witness.yml@refs/heads/reusable-workflow", + "build_signer_digest": "d66f89ec8539398ed9904d1a622bd0303bfe384c", + "build_config_uri": "https://github.com/testifysec/swf/.github/workflows/pipeline.yml@refs/heads/slsa", "runner_environment": "github-hosted" } } @@ -244,10 +252,10 @@ ], "extensions": { "issuer": "https://token.actions.githubusercontent.com", - "github_workflow_sha": "39f80b4c173e7b023a19d2aeac2686733c67b38e", "source_repository_uri": "https://github.com/testifysec/swf", - "build_signer_uri": "https://github.com/testifysec/swf/.github/workflows/witness.yml@refs/heads/slsa", - "build_signer_digest": "39f80b4c173e7b023a19d2aeac2686733c67b38e", + "build_signer_uri": "https://github.com/testifysec/witness-run-action/.github/workflows/witness.yml@refs/heads/reusable-workflow", + "build_signer_digest": "d66f89ec8539398ed9904d1a622bd0303bfe384c", + "build_config_uri": "https://github.com/testifysec/swf/.github/workflows/pipeline.yml@refs/heads/slsa", "runner_environment": "github-hosted" } } @@ -298,10 +306,10 @@ ], "extensions": { "issuer": "https://token.actions.githubusercontent.com", - "github_workflow_sha": "39f80b4c173e7b023a19d2aeac2686733c67b38e", "source_repository_uri": "https://github.com/testifysec/swf", - "build_signer_uri": "https://github.com/testifysec/swf/.github/workflows/witness.yml@refs/heads/slsa", - "build_signer_digest": "39f80b4c173e7b023a19d2aeac2686733c67b38e", + "build_signer_uri": "https://github.com/testifysec/witness-run-action/.github/workflows/witness.yml@refs/heads/reusable-workflow", + "build_signer_digest": "d66f89ec8539398ed9904d1a622bd0303bfe384c", + "build_config_uri": "https://github.com/testifysec/swf/.github/workflows/pipeline.yml@refs/heads/slsa", "runner_environment": "github-hosted" } } @@ -352,10 +360,10 @@ ], "extensions": { "issuer": "https://token.actions.githubusercontent.com", - "github_workflow_sha": "39f80b4c173e7b023a19d2aeac2686733c67b38e", "source_repository_uri": "https://github.com/testifysec/swf", - "build_signer_uri": "https://github.com/testifysec/swf/.github/workflows/witness.yml@refs/heads/slsa", - "build_signer_digest": "39f80b4c173e7b023a19d2aeac2686733c67b38e", + "build_signer_uri": "https://github.com/testifysec/witness-run-action/.github/workflows/witness.yml@refs/heads/reusable-workflow", + "build_signer_digest": "d66f89ec8539398ed9904d1a622bd0303bfe384c", + "build_config_uri": "https://github.com/testifysec/swf/.github/workflows/pipeline.yml@refs/heads/slsa", "runner_environment": "github-hosted" } } @@ -403,61 +411,10 @@ ], "extensions": { "issuer": "https://token.actions.githubusercontent.com", - "github_workflow_sha": "39f80b4c173e7b023a19d2aeac2686733c67b38e", - "source_repository_uri": "https://github.com/testifysec/swf", - "build_signer_uri": "https://github.com/testifysec/swf/.github/workflows/witness.yml@refs/heads/slsa", - "build_signer_digest": "39f80b4c173e7b023a19d2aeac2686733c67b38e", - "runner_environment": "github-hosted" - } - } - } - ] - }, - "cve-scan": { - "name": "cve-scan", - "attestations": [ - { - "type": "https://witness.dev/attestations/environment/v0.1" - }, - { - "type": "https://witness.dev/attestations/git/v0.1" - }, - { - "type": "https://witness.dev/attestations/material/v0.1" - }, - { - "type": "https://witness.dev/attestations/command-run/v0.1" - }, - { - "type": "https://witness.dev/attestations/product/v0.1" - } - ], - "functionaries": [ - { - "type": "root", - "certConstraint": { - "commonname": "*", - "dnsnames": [ - "*" - ], - "emails": [ - "*" - ], - "organizations": [ - "*" - ], - "uris": [ - "*" - ], - "roots": [ - "dcf166eebe7cbd9760947a88213d94e656349c647d439569dc76a275f05b7159" - ], - "extensions": { - "issuer": "https://token.actions.githubusercontent.com", - "github_workflow_sha": "39f80b4c173e7b023a19d2aeac2686733c67b38e", "source_repository_uri": "https://github.com/testifysec/swf", - "build_signer_uri": "https://github.com/testifysec/swf/.github/workflows/witness.yml@refs/heads/slsa", - "build_signer_digest": "39f80b4c173e7b023a19d2aeac2686733c67b38e", + "build_signer_uri": "https://github.com/testifysec/witness-run-action/.github/workflows/witness.yml@refs/heads/reusable-workflow", + "build_signer_digest": "d66f89ec8539398ed9904d1a622bd0303bfe384c", + "build_config_uri": "https://github.com/testifysec/swf/.github/workflows/pipeline.yml@refs/heads/slsa", "runner_environment": "github-hosted" } } @@ -505,10 +462,10 @@ ], "extensions": { "issuer": "https://token.actions.githubusercontent.com", - "github_workflow_sha": "39f80b4c173e7b023a19d2aeac2686733c67b38e", "source_repository_uri": "https://github.com/testifysec/swf", - "build_signer_uri": "https://github.com/testifysec/swf/.github/workflows/witness.yml@refs/heads/slsa", - "build_signer_digest": "39f80b4c173e7b023a19d2aeac2686733c67b38e", + "build_signer_uri": "https://github.com/testifysec/witness-run-action/.github/workflows/witness.yml@refs/heads/reusable-workflow", + "build_signer_digest": "d66f89ec8539398ed9904d1a622bd0303bfe384c", + "build_config_uri": "https://github.com/testifysec/swf/.github/workflows/pipeline.yml@refs/heads/slsa", "runner_environment": "github-hosted" } }