all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fe89:7fb1
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: 0e1ddfc5-e21e-4f25-a02e-025c985d7138
        host_id: de4c9765152b8ccf16bcbbf90e33fb083884dc744cc344501046bc88
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fe89:7fb1
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.7.95
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.192.136
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fe89:7fb1
        region: null
        slot: null
  vars:
    zuul:
      _inheritance_path:
      - '<Job base explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-config/zuul.d/jobs.yaml@main#2>'
      - '<Job python-black explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-jobs/.zuul.yaml@main#54>'
      - '<Job python-black explicit: None implied: None source: osism/testbed/.zuul.yaml@main#198>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: 43569b3ee4d44a3baffec9e0aef69d7c
      build_refs:
      - branch: main
        change: '2654'
        change_message: "chore(deps): update dependency gruntwork-io/terragrunt to
          v0.80.3\n\nThis PR contains the following updates:\n\n| Package | Update
          | Change |\n|---|---|---|\n| [gruntwork-io/terragrunt](https://redirect.github.com/gruntwork-io/terragrunt)
          | minor | `v0.77.3` -> `v0.80.3` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>gruntwork-io/terragrunt
          (gruntwork-io/terragrunt)</summary>\n\n### [`v0.80.3`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.80.3)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.80.2...v0.80.3)\n\n####
          \U0001F3CE\uFE0F\_Performance Improvements\n\n##### Significant performance
          improvements for `run --all`\n\nThe performance of `run --all` has been
          improved in two significant ways:\n\n1.  Performance for named includes
          has improved.\n\n    Backwards compatibility for bare includes required
          that Terragrunt do some inefficient work internally to handle both named
          includes and bare includes by doing an in-memory rewrite of Terragrunt configurations.
          An optimization has been introduced to avoid this behavior when users use
          named includes. This optimization does not extend to users that are using
          bare includes.\n\n    Users are advised to avoid using bare includes whenever
          possible for maximum performance. A [strict control](https://terragrunt.gruntwork.io/docs/reference/strict-mode/#bare-include)
          has been introduced to enforce usage of named includes.\n\n    In a future
          minor release, a warning will be emitted, instructing users to stop using
          bare includes. Maintainers will avoid breaking support for bare includes
          until at least 2.0.\n\n    For more information on how to benefit from this
          optimization, see the [migration guide](https://terragrunt.gruntwork.io/docs/migrate/bare-include/).\n2.
          \ The check for OpenTofu/Terraform code has been optimized.\n\n    To provide
          helpful error messages when users don't have OpenTofu/Terraform code for
          Terragrunt to run, Terragrunt checks for the presence of OpenTofu/Terraform
          configuration files (e.g. `*.tf`, `*.tofu`). This check has been optimized
          to improve performance.\n\nIn a micro-benchmark on an M3 Max, using the
          `BenchmarkManyEmptyTerragruntInits` benchmark, which tests the performance
          of a Terragrunt `run --all init` across 1000 inits, the following performance
          gains were released:\n\n-   42% speed improvement.\n-   43% memory reduction.\n\nMore
          optimizations of this sort are planned for future releases.\n\n##### Size
          reduction of compiled binaries\n\nThe size of compiled binaries will be
          reduced due to the stripping of debug symbols from the final executable.
          As an example, this drops the size of the compiled Linux AMD64 binary from
          99MB to 70MB.\n\nThis can be a small improvement to download times for environments
          where Terragrunt is downloaded frequently.\n\n#### \U0001F41B\_Bug Fixes\n\n#####
          Fixed `-detailed-exitcode` behavior in `run --all`\n\nAn unintended side-effect
          of addressing a different bug for Terragrunt\u2019s handling of the `-detailed-exitcode`
          flag in OpenTofu/Terraform in retries was that any run in a `run --all`
          could override the exit code of the entire `run --all`.\n\nThis has been
          fixed. The exit code of the `run --all -- plan -detailed-exitcode`  command
          will now properly aggregate exit codes from all runs in a `run --all`, only
          reseting the exit code for an individual unit if it properly recovers after
          a retry.\n\n#### What's Changed\n\n-   fix: Reverting to defer on cleanup
          for docs test by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4344](https://redirect.github.com/gruntwork-io/terragrunt/pull/4344)\n-
          \  fix: Get way more aggressive with cleanup by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4342](https://redirect.github.com/gruntwork-io/terragrunt/pull/4342)\n-
          \  fix: Removing unnecessary input on flake dispatch by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4337](https://redirect.github.com/gruntwork-io/terragrunt/pull/4337)\n-
          \  fix: Setting of right exit code in case of `-detailed-exitcode` by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4357](https://redirect.github.com/gruntwork-io/terragrunt/pull/4357)\n-
          \  fix: Adjusting tf check so that it's easier to update by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4360](https://redirect.github.com/gruntwork-io/terragrunt/pull/4360)\n-
          \  fix: Fixing discrepancy between Jekyll docs and Starlight docs for validate
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4359](https://redirect.github.com/gruntwork-io/terragrunt/pull/4359)\n-
          \  perf: Adding optimized tf code check by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4339](https://redirect.github.com/gruntwork-io/terragrunt/pull/4339)\n-
          \  perf: Deprecating bare includes by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4340](https://redirect.github.com/gruntwork-io/terragrunt/pull/4340)\n-
          \  docs: Documenting deprecation of bare includes by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4346](https://redirect.github.com/gruntwork-io/terragrunt/pull/4346)\n-
          \  chore: Reduced size of produced executable by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4341](https://redirect.github.com/gruntwork-io/terragrunt/pull/4341)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.80.2...v0.80.3\n\n###
          [`v0.80.2`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.80.2)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.80.1...v0.80.2)\n\n####
          \u2728 New Features\n\n##### `find` adds support for `--include`\n\nThe
          `find` command now supports the `--include` flag to allow for fine grained
          control over the discovery of units that include other partial configurations.\n\ne.g.\n\n```bash\n$
          terragrunt find --include --format=json | jq\n[\n  {\n    \"type\": \"unit\",\n
          \   \"path\": \"bar\",\n    \"include\": {\n      \"cloud\": \"cloud.hcl\"\n
          \   }\n  },\n  {\n    \"type\": \"unit\",\n    \"path\": \"foo\"\n  }\n]\n```\n\nCombining
          the flag with tools like `jq` allows for simple discovery of configurations
          that include other partial configurations.\n\n```bash\n$ terragrunt find
          --include --format=json | jq '[.[] | select(.include.cloud == \"cloud.hcl\")]'\n[\n
          \ {\n    \"type\": \"unit\",\n    \"path\": \"bar\",\n    \"include\": {\n
          \     \"cloud\": \"cloud.hcl\"\n    }\n  }\n]\n```\n\n#### \U0001F41B Bug
          Fixes\n\n##### `--tf-path` now correctly overrides `terraform_binary`\n\nA
          bug in the precedence logic for Terragrunt configuration parsing resulted
          in the CLI flag `--tf-path` from being ignored when the `terraform_binary`
          attribute was set.\n\nTerragrunt will now correctly respect the `terraform_binary`
          attribute when set, and allow `--tf-path` to override the value when it
          is set.\n\n#### What's Changed\n\n-   feat: Adding basic benchmarks by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4325](https://redirect.github.com/gruntwork-io/terragrunt/pull/4325)\n-
          \  feat: Add support for displaying include configurations in the terragrunt
          find command by [@&#8203;james03160927](https://redirect.github.com/james03160927)
          in [https://github.com/gruntwork-io/terragrunt/pull/4330](https://redirect.github.com/gruntwork-io/terragrunt/pull/4330)\n-
          \  feat: Adding flake test by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4334](https://redirect.github.com/gruntwork-io/terragrunt/pull/4334)\n-
          \  fix: Fixing usage of `--tf-path` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4332](https://redirect.github.com/gruntwork-io/terragrunt/pull/4332)\n-
          \  fix: Cleaning up addition of `--include` on `find` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4335](https://redirect.github.com/gruntwork-io/terragrunt/pull/4335)\n-
          \  chore: migrated to golangci-lint v2 by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4333](https://redirect.github.com/gruntwork-io/terragrunt/pull/4333)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.80.1...v0.80.2\n\n###
          [`v0.80.1`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.80.1)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.80.0...v0.80.1)\n\n#####
          What's Changed\n\n-   chore: Build process now leverages Go 1.24 features
          and improvements by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4324](https://redirect.github.com/gruntwork-io/terragrunt/pull/4324)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.80.0...v0.80.1\n\n###
          [`v0.80.0`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.80.0)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.79.3...v0.80.0)\n\n**Terraform
          1.12 support**: We are now testing Terragrunt against Terraform 1.12 and
          is confirmed to be working.\n\nNOTE: Although this release is marked as
          backward incompatible, it is functionally compatible as nothing has been
          changed in Terragrunt internals. The minor version release is useful to
          mark the change in Terraform version that is being tested.\n\n#### What's
          Changed\n\n-   chore: Added support for Terraform 1.12 by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4317](https://redirect.github.com/gruntwork-io/terragrunt/pull/4317)\n-
          \  build(deps): bump github.com/aws/aws-sdk-go from 1.55.6 to 1.55.7 by
          [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4300](https://redirect.github.com/gruntwork-io/terragrunt/pull/4300)\n-
          \  build(deps): bump cloud.google.com/go/storage from 1.51.0 to 1.53.0 by
          [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4269](https://redirect.github.com/gruntwork-io/terragrunt/pull/4269)\n-
          \  build(deps): bump golang.org/x/sys from 0.32.0 to 0.33.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4268](https://redirect.github.com/gruntwork-io/terragrunt/pull/4268)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.79.3...v0.80.0\n\n###
          [`v0.79.3`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.79.3)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.79.2...v0.79.3)\n\n#####
          \U0001F4AA\U0001F3FD Enhancements\n\n##### Limitation on Catalog URLs lifted\n\nA
          limitation on only supporting recognized go-getter URL patters has been
          lifted from the [catalog](https://terragrunt.gruntwork.io/docs/features/catalog/)
          command.\n\nThe reason this limitation existed in the past was to ensure
          that users were able to have Terragrunt load module source code in browsers
          from the catalog Terminal User Interface (TUI). To support that, only a
          constrained set of sources were supported, to ensure that a button was available
          to pop open the link in the browser.\n\n<img width=\"670\" alt=\"image\"
          src=\"https://github.com/user-attachments/assets/92dc016e-3bc5-46f5-b690-da3043590c24\"
          />\n\n<img width=\"666\" alt=\"image\" src=\"https://github.com/user-attachments/assets/f512e901-4deb-4771-8cbd-ea3d54cf5594\"
          />\n\nTerragrunt will now dynamically adjust the buttons available after
          module selection to gracefully degrade the experience, instead of completely
          rejecting repository sources that can't be predictably converted to browser
          URLs.\n\n<img width=\"346\" alt=\"image\" src=\"https://github.com/user-attachments/assets/76a7b1e5-c148-42b2-a696-d7fd750e866d\"
          />\n\nThis allows more users to adopt the Terragrunt Catalog, while providing
          the same great user experience for users that are on fully supported platforms,
          like GitHub, GitLab, BitBucket, etc.\n\n##### What's Changed\n\n-   feat:
          Allow unknown catalog URLs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4318](https://redirect.github.com/gruntwork-io/terragrunt/pull/4318)\n-
          \  docs: Clarify ambiguous documentation on variable precedence by [@&#8203;owattley-rotageek](https://redirect.github.com/owattley-rotageek)
          in [https://github.com/gruntwork-io/terragrunt/pull/4319](https://redirect.github.com/gruntwork-io/terragrunt/pull/4319)\n-
          \  chore: Adjusting catalog implementation by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4315](https://redirect.github.com/gruntwork-io/terragrunt/pull/4315)\n\n#####
          New Contributors\n\n-   [@&#8203;owattley-rotageek](https://redirect.github.com/owattley-rotageek)
          made their first contribution in [https://github.com/gruntwork-io/terragrunt/pull/4319](https://redirect.github.com/gruntwork-io/terragrunt/pull/4319)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.79.2...v0.79.3\n\n###
          [`v0.79.2`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.79.2)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.79.1...v0.79.2)\n\n#####
          \U0001F697 Performance Improvements\n\nImproved overall performance by memoizing
          `-version` output in each unit.\n\n##### What's Changed\n\n-   feat: Improved
          performance by memoizing `-version` output by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4288](https://redirect.github.com/gruntwork-io/terragrunt/pull/4288)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.79.1...v0.79.2\n\n###
          [`v0.79.1`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.79.1)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.79.0...v0.79.1)\n\n####
          \U0001F4AA\U0001F3FD Enhancements\n\n##### Recursive stack clean\n\nImproved
          `stack clean` to recursively delete all nested stack directories, ensuring
          thorough cleanup.\n\n#### What's Changed\n\n-   feat: Enabled recursive
          deletion of stack directories in `stack clean` by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4313](https://redirect.github.com/gruntwork-io/terragrunt/pull/4313)\n-
          \  feat: Switching to GitHub Actions OIDC role assumption for OIDC test
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4305](https://redirect.github.com/gruntwork-io/terragrunt/pull/4305)\n-
          \  fix: Corrected mislabeled `legacy-all` control in documentation by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4311](https://redirect.github.com/gruntwork-io/terragrunt/pull/4311)\n-
          \  fix: Enabled disabled tests by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4312](https://redirect.github.com/gruntwork-io/terragrunt/pull/4312)\n-
          \  docs: updated quick start documentation with additional output directory
          usage by [@&#8203;james03160927](https://redirect.github.com/james03160927)
          in [https://github.com/gruntwork-io/terragrunt/pull/4299](https://redirect.github.com/gruntwork-io/terragrunt/pull/4299)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.79.0...v0.79.1\n\n###
          [`v0.79.0`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.79.0)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.4...v0.79.0)\n\n####
          \U0001F4AA\U0001F3FD Enhancements\n\n##### The `run --all` command automatically
          generates Terragrunt Stacks\n\nIf you are using `terragrunt.stack.hcl` files
          in your codebase, `run --all` commands will now automatically expand all
          `terragrunt.stack.hcl` files into generated stack configurations, as if
          you had run `stack generate` before running the `run --all` command.\n\ne.g.\n\n```bash\nterragrunt
          run --all plan\n```\n\nIs now equivalent to:\n\n```bash\nterragrunt stack
          generate\nterragrunt run --all plan\n```\n\nIf you would like to disable
          this new behavior, you can use the `--no-stack-generate` to opt out of automatic
          stack generation.\n\n#### \U0001F4D6 Docs Updates\n\nThe [Terragrunt v1](https://terragrunt-v1.gruntwork.io/)
          docs are open for feedback!\n\nThese docs will undergo significant adjustments,
          both stylistically, and functionality on the road to 1.0.\n\nThey are a
          full rewrite of the existing Terragrunt Docs site written in [Jekyll](https://jekyllrb.com/)
          to one using [Starlight](https://starlight.astro.build/).\n\nYour feedback
          is requested! If you are reading these release notes relatively soon after
          release, you should see a link at the top of the site where you can provide
          your feedback on the new docs.\n\n#### What's Changed\n\n-   feat: Moving
          users over to terragrunt-v1.gruntwork.io docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4202](https://redirect.github.com/gruntwork-io/terragrunt/pull/4202)\n-
          \  feat: Adding GTM by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4285](https://redirect.github.com/gruntwork-io/terragrunt/pull/4285)\n-
          \  feat: Github Action tests migration by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4281](https://redirect.github.com/gruntwork-io/terragrunt/pull/4281)\n-
          \  feat: Automatically stack generate in run --all or run --graph command
          by [@&#8203;james03160927](https://redirect.github.com/james03160927) in
          [https://github.com/gruntwork-io/terragrunt/pull/4283](https://redirect.github.com/gruntwork-io/terragrunt/pull/4283)\n-
          \  feat: Adding cloud-nuke cron by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4306](https://redirect.github.com/gruntwork-io/terragrunt/pull/4306)\n-
          \  feat: Adjusting nav height by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4284](https://redirect.github.com/gruntwork-io/terragrunt/pull/4284)\n-
          \  fix: Fixing `remote-relative-with-slash` fixture on ARM tests by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4297](https://redirect.github.com/gruntwork-io/terragrunt/pull/4297)\n-
          \  fix: Fixing install version by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4310](https://redirect.github.com/gruntwork-io/terragrunt/pull/4310)\n-
          \  fix: Improved error handling in AWS docs by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4303](https://redirect.github.com/gruntwork-io/terragrunt/pull/4303)\n-
          \  chore: enable TestRemoteDownloadWithRelativePathAndSlashInBranch test
          by [@&#8203;denis256](https://redirect.github.com/denis256) in [https://github.com/gruntwork-io/terragrunt/pull/4286](https://redirect.github.com/gruntwork-io/terragrunt/pull/4286)\n-
          \  build(deps): bump ruby/setup-ruby from 1.233.0 to 1.238.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4270](https://redirect.github.com/gruntwork-io/terragrunt/pull/4270)\n-
          \  build(deps): bump github.com/gruntwork-io/terratest from 0.48.2 to 0.49.0
          by [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4267](https://redirect.github.com/gruntwork-io/terragrunt/pull/4267)\n-
          \  build(deps): bump ruby/setup-ruby from 1.238.0 to 1.242.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4301](https://redirect.github.com/gruntwork-io/terragrunt/pull/4301)\n-
          \  build(deps): bump DavidAnson/markdownlint-cli2-action from 19 to 20 by
          [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4302](https://redirect.github.com/gruntwork-io/terragrunt/pull/4302)\n\n####
          New Contributors\n\n-   [@&#8203;james03160927](https://redirect.github.com/james03160927)
          made their first contribution in [https://github.com/gruntwork-io/terragrunt/pull/4283](https://redirect.github.com/gruntwork-io/terragrunt/pull/4283)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.4...v0.79.0\n\n###
          [`v0.78.4`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.4)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.3...v0.78.4)\n\n####
          \u2728 New Features\n\n##### OpenTelemetry Trace Propogation\n\nIn anticipation
          of the introduction of OpenTelemetry support in OpenTofu 1.10, Terragrunt
          will now propagate the `TRACEPARENT` environment variable to child processes
          to support OpenTelemetry traces that maintain context across Terragrunt
          and OpenTofu.\n\nThis work is based on [@&#8203;Yantrio](https://redirect.github.com/Yantrio)
          's PoC PR [#&#8203;4254](https://redirect.github.com/gruntwork-io/terragrunt/issues/4254),
          and is only useful due to his work adding OpenTelemtry in OpenTofu. Thank
          you!\n\n#### What's Changed\n\n-   feat: Added generation of opentelemetry
          parent traces to invoked executables by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4278](https://redirect.github.com/gruntwork-io/terragrunt/pull/4278)\n-
          \  feat: Added support for Terraform tests in Github Action by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4275](https://redirect.github.com/gruntwork-io/terragrunt/pull/4275)\n-
          \  docs: Added homepage to Starlight docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4250](https://redirect.github.com/gruntwork-io/terragrunt/pull/4250)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.3...v0.78.4\n\n###
          [`v0.78.3`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.3)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.2...v0.78.3)\n\n####
          \U0001F41B Bug Fixes\n\nWhen an [error retry](https://terragrunt.gruntwork.io/docs/features/runtime-control/#errors)
          results in a plan succeeding when it initially failed, usage of `run --all
          -- plan -detailed-exitcode` will now properly take into account the *final*
          exit code, rather than the first one, meaning that the exit code of the
          whole run will be zero if no other units fail their plans.\n\nThanks to
          [@&#8203;wakeful](https://redirect.github.com/wakeful) for contributing
          this fix!\n\n#### What's Changed\n\n-   fix [#&#8203;3845](https://redirect.github.com/gruntwork-io/terragrunt/issues/3845)
          set the correct exit code when a retry is successful. by [@&#8203;wakeful](https://redirect.github.com/wakeful)
          in [https://github.com/gruntwork-io/terragrunt/pull/3966](https://redirect.github.com/gruntwork-io/terragrunt/pull/3966)\n-
          \  docs: Improving Run Queue docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4272](https://redirect.github.com/gruntwork-io/terragrunt/pull/4272)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.2...v0.78.3\n\n###
          [`v0.78.2`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.2)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.1...v0.78.2)\n\n#####
          What's Changed\n\n-   feat: enable GCP integration tests in GH Action by
          [@&#8203;denis256](https://redirect.github.com/denis256) in [https://github.com/gruntwork-io/terragrunt/pull/4257](https://redirect.github.com/gruntwork-io/terragrunt/pull/4257)\n-
          \  feat: fixed TestGcpWorksWithImpersonateBackend test by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4261](https://redirect.github.com/gruntwork-io/terragrunt/pull/4261)\n-
          \  feat: Adding integration tests by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4198](https://redirect.github.com/gruntwork-io/terragrunt/pull/4198)\n-
          \  feat: add Windows integration tests by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4262](https://redirect.github.com/gruntwork-io/terragrunt/pull/4262)\n-
          \  fix: Removing HTML `font-size` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4256](https://redirect.github.com/gruntwork-io/terragrunt/pull/4256)\n-
          \  docs: Adding Run Queue Docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4249](https://redirect.github.com/gruntwork-io/terragrunt/pull/4249)\n-
          \  build(deps): bump github.com/gruntwork-io/boilerplate to v0.6.1 by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
          \  build(deps): bump github.com/gruntwork-io/terragrunt-engine-go to v0.0.14
          by [@&#8203;denis256](https://redirect.github.com/denis256) in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
          \  build(deps): bump golang.org/x/oauth2 to v0.30.0 by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
          \  build(deps): bump golang.org/x/sync to v0.14.0 by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
          \  build(deps): bump google.golang.org/api to v0.232.0 by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
          \  build(deps): bump google.golang.org/grpc to v1.72.0 by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
          \  chore: dependencies update by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.1...v0.78.2\n\n###
          [`v0.78.1`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.1)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.0...v0.78.1)\n\n####
          What's Changed\n\n-   docs: Updating docs now that stacks are generally
          available by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4243](https://redirect.github.com/gruntwork-io/terragrunt/pull/4243)\n-
          \  fix: AWS S3 backend access logging bucket not versioning by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4246](https://redirect.github.com/gruntwork-io/terragrunt/pull/4246)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.0...v0.78.1\n\n###
          [`v0.78.0`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.0)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.22...v0.78.0)\n\n####
          \U0001F9EA Experiments Completed\n\nThe [stacks](https://terragrunt.gruntwork.io/docs/reference/experiments/#stacks)
          experiment is now complete.\n\nIf you were previously using the flag `--experiment
          stacks` to opt in to experimental functionality, you no longer have to do
          so. Note that if you are, you will simply get a warning that it is no longer
          necessary.\n\n#### \U0001F6E0\uFE0F Breaking Changes\n\nLegacy commands
          (as replaced by the [CLI Redesign](https://redirect.github.com/gruntwork-io/terragrunt/issues/3445)
          are now deprecated, and will be phased out at a future date, which will
          be scheduled in [#&#8203;3535](https://redirect.github.com/gruntwork-io/terragrunt/issues/3535).
          Make sure to subscribe to the issue if you would like to be informed when
          these deprecated features are no longer supported.\n\nFor instructions on
          migrating to the new commands provided after the CLI Redesign, read the
          [CLI Redesign Migration Guide](https://terragrunt.gruntwork.io/docs/migrate/cli-redesign/).\n\nThe
          following are now deprecated:\n\n-   `hclfmt` (use `hcl fmt` instead)\n-
          \  `hclvalidate` (use `hcl validate` instead)\n-   `validate-inputs` (use
          `hcl validate --inputs` and `hcl validate --inputs --strict` instead)\n-
          \  `terragrunt-info` (use `info print` instead)\n-   `output-module-groups`
          (use `find --dag --json` instead)\n-   `render-json` (use `render --json
          -w` instead)\n-   `graph-dependencies` (use `dag graph` instead)\n-   `run-all`
          (use `run --all` instead)\n-   `graph` (use `run --graph` instead)\n-   The
          default command. e.g. `terragrunt workspace list` (use `terragrunt run --
          workspace list` instead)\n-   Default bootstrap (automatically provisioning
          backend resources without additional flags). This is now opt in behavior,
          and requires usage of the `--backend-bootstrap` flag or explicitly running
          the new `backend bootstrap` command.\n-   `aws-provider-patch` (we are simply
          deprecating this command, and removing it when the other commands are removed.
          It served its purpose as a short term stopgap tool).\n\nNote that this will
          not result in an immediate breaking change for users, as we\u2019ll have
          an initial deprecation window to give users time to adjust to these changes.
          If you\u2019d like to ensure that you are prepared for the future removal
          of legacy commands, you can take advantage of the [cli-redesign](https://terragrunt.gruntwork.io/docs/reference/strict-mode/#cli-redesign)
          strict control to opt in to the future breaking change early.\n\n#### \U0001F4AA\U0001F3FD
          \ Enhancements\n\nThe logging for stack generation has been improved to
          make it easier to determine at a glance the stack file that\u2019s generating
          a particular unit.\n\n![stacks-generation](https://redirect.github.com/user-attachments/assets/11c49c92-edfd-4d3a-b2c6-4bae4326e0e2)\n\n####
          What's Changed\n\n-   feat: improved stack logs generation by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4213](https://redirect.github.com/gruntwork-io/terragrunt/pull/4213)\n-
          \  feat: stacks expriment completion by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4222](https://redirect.github.com/gruntwork-io/terragrunt/pull/4222)\n-
          \  feat: Deprecating `render-json` command by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4227](https://redirect.github.com/gruntwork-io/terragrunt/pull/4227)\n-
          \  feat: Deprecating `aws-provider-patch` command by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4228](https://redirect.github.com/gruntwork-io/terragrunt/pull/4228)\n-
          \  feat: Deprecating `output-module-groups` command by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4229](https://redirect.github.com/gruntwork-io/terragrunt/pull/4229)\n-
          \  fix: Fixing base tests for macOS by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4193](https://redirect.github.com/gruntwork-io/terragrunt/pull/4193)\n-
          \  fix: Fixing 404 in performance docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4194](https://redirect.github.com/gruntwork-io/terragrunt/pull/4194)\n-
          \  fix: basic tests execution update by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4192](https://redirect.github.com/gruntwork-io/terragrunt/pull/4192)\n-
          \  fix: Throwing interrupt signal with `--all` flag by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4224](https://redirect.github.com/gruntwork-io/terragrunt/pull/4224)\n-
          \  fix: handling of errors in parsing base blocks by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4226](https://redirect.github.com/gruntwork-io/terragrunt/pull/4226)\n-
          \  fix: Cleaning up legacy `-all` usage by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4239](https://redirect.github.com/gruntwork-io/terragrunt/pull/4239)\n-
          \  fix: Rename all the `--terragrunt-` flags by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4203](https://redirect.github.com/gruntwork-io/terragrunt/pull/4203)\n-
          \  fix: Cleaning up `run-all` usage by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4223](https://redirect.github.com/gruntwork-io/terragrunt/pull/4223)\n-
          \  fix: Updating environment variables for flags by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4240](https://redirect.github.com/gruntwork-io/terragrunt/pull/4240)\n-
          \  fix: Updating migration guide for CLI Redesign migration by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4207](https://redirect.github.com/gruntwork-io/terragrunt/pull/4207)\n-
          \  docs: Adding docs for `cli-redesign` strict control by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4238](https://redirect.github.com/gruntwork-io/terragrunt/pull/4238)\n-
          \  docs: Documenting CLI Redesign deprecations by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4237](https://redirect.github.com/gruntwork-io/terragrunt/pull/4237)\n-
          \  docs: updated stack links by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4201](https://redirect.github.com/gruntwork-io/terragrunt/pull/4201)\n-
          \  chore: Preserve tests with deprecated commands/flags by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4242](https://redirect.github.com/gruntwork-io/terragrunt/pull/4242)\n-
          \  chore: `hclfmt` `hclvalidate` `validate-inputs` as deprecated commands
          (minor fixes) by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4199](https://redirect.github.com/gruntwork-io/terragrunt/pull/4199)\n-
          \  chore: `hclfmt` `hclvalidate` `validate-inputs` as deprecated commands
          by [@&#8203;levkohimins](https://redirect.github.com/levkohimins) in [https://github.com/gruntwork-io/terragrunt/pull/4196](https://redirect.github.com/gruntwork-io/terragrunt/pull/4196)\n-
          \  build(deps): bump github.com/getsops/sops/v3 from 3.10.1 to 3.10.2 by
          [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4185](https://redirect.github.com/gruntwork-io/terragrunt/pull/4185)\n-
          \  build(deps): bump go.opentelemetry.io/otel/exporters/stdout/stdouttrace
          from 1.34.0 to 1.35.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4184](https://redirect.github.com/gruntwork-io/terragrunt/pull/4184)\n-
          \  build(deps): bump DavidAnson/markdownlint-cli2-action from 15 to 19 by
          [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4187](https://redirect.github.com/gruntwork-io/terragrunt/pull/4187)\n-
          \  build(deps): bump ruby/setup-ruby from 1.230.0 to 1.233.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4186](https://redirect.github.com/gruntwork-io/terragrunt/pull/4186)\n-
          \  build(deps-dev): bump nokogiri from 1.18.4 to 1.18.8 in /docs by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4195](https://redirect.github.com/gruntwork-io/terragrunt/pull/4195)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.22...v0.78.0\n\n###
          [`v0.77.22`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.22)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.21...v0.77.22)\n\n####
          \U0001F9EA Experiments Completed\n\n##### The `cli-redesign` experiment
          is now complete\n\nThe [cli-redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment is now complete.\n\nIf you were previously using the flag `--experiment
          cli-redesign` to opt in to experimental functionality, you no longer have
          to do so. Note that if you are, you will simply get a warning that it is
          no longer necessary.\n\n#### What's Changed\n\n-   feat: Adding base tests
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4176](https://redirect.github.com/gruntwork-io/terragrunt/pull/4176)\n-
          \  chore: Complete CLI Redesign experiment by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4189](https://redirect.github.com/gruntwork-io/terragrunt/pull/4189)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.21...v0.77.22\n\n###
          [`v0.77.21`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.21)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.20...v0.77.21)\n\n####
          \u2728 New Features\n\n##### Introduction of `hcl` commands\n\nAs part of
          the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment, the [`hcl`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#hcl-commands)
          commands have been introduced.\n\nThe `hcl` commands allow users to directly
          interact with HCL content independent of the underlying functionality they
          support.\n\nThe functionality of the `hcl` commands replace existing functionality
          that is soon to be deprecated:\n\n-   `hclfmt` --> `hcl fmt`\n-   `hclvalidate`
          --> `hcl validate`\n-   `validate-inputs` --> `hcl validate --inputs`\n-
          \  `validate-inputs --strict-validate` --> `hcl validate --inputs --strict`\n\n####
          What's Changed\n\n-   feat: `hcl` commands docs by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4180](https://redirect.github.com/gruntwork-io/terragrunt/pull/4180)\n-
          \  feat: add symbol link experiemnt in discovery process by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4177](https://redirect.github.com/gruntwork-io/terragrunt/pull/4177)\n-
          \  feat: Implementation of `hcl` commands by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4169](https://redirect.github.com/gruntwork-io/terragrunt/pull/4169)\n-
          \  fix: Adding redirect from /docs/reference/experiment-mode to /docs/reference/experiments
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4178](https://redirect.github.com/gruntwork-io/terragrunt/pull/4178)\n-
          \  fix: Fix spelling by [@&#8203;hpe-noinarisak](https://redirect.github.com/hpe-noinarisak)
          in [https://github.com/gruntwork-io/terragrunt/pull/4179](https://redirect.github.com/gruntwork-io/terragrunt/pull/4179)\n-
          \  fix: Update status of cli-redesign experiment by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4188](https://redirect.github.com/gruntwork-io/terragrunt/pull/4188)\n-
          \  build(deps): bump github.com/charmbracelet/bubbles from 0.20.0 to 0.21.0
          by [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4160](https://redirect.github.com/gruntwork-io/terragrunt/pull/4160)\n\n####
          New Contributors\n\n-   [@&#8203;hpe-noinarisak](https://redirect.github.com/hpe-noinarisak)
          made their first contribution in [https://github.com/gruntwork-io/terragrunt/pull/4179](https://redirect.github.com/gruntwork-io/terragrunt/pull/4179)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.20...v0.77.21\n\n###
          [`v0.77.20`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.20)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.19...v0.77.20)\n\n####
          What's Changed\n\n-   build: Added `build-no-proxy.yml` workflow by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4171](https://redirect.github.com/gruntwork-io/terragrunt/pull/4171)\n-
          \  build: Added `lint.yml` and `strict-lint.yml` workflows for GitHub Actions
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4172](https://redirect.github.com/gruntwork-io/terragrunt/pull/4172)\n-
          \  build: Added codespell workflow by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4173](https://redirect.github.com/gruntwork-io/terragrunt/pull/4173)\n-
          \  build: Added markdownlint v2 to GitHub Actions workflows by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4175](https://redirect.github.com/gruntwork-io/terragrunt/pull/4175)\n-
          \  docs: Improved getting started guide by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4174](https://redirect.github.com/gruntwork-io/terragrunt/pull/4174)\n-
          \  build(deps): bump github.com/ProtonMail/go-crypto from 1.1.6 to 1.2.0
          by [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4161](https://redirect.github.com/gruntwork-io/terragrunt/pull/4161)\n-
          \  build(deps): bump golang.org/x/term from 0.30.0 to 0.31.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4159](https://redirect.github.com/gruntwork-io/terragrunt/pull/4159)\n-
          \  build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.78.2
          to 1.79.2 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4158](https://redirect.github.com/gruntwork-io/terragrunt/pull/4158)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.19...v0.77.20\n\n###
          [`v0.77.19`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.19)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.18...v0.77.19)\n\n####
          \u2728 New Features\n\n##### OpenTelemetry traces are now integrated into
          `find` and `list` commands\n\nfind telemetry:\n![image](https://redirect.github.com/user-attachments/assets/eb5ff11a-e90f-4b5d-bec0-c99cb1419f57)\n\nlist
          telemetry:\n![image](https://redirect.github.com/user-attachments/assets/7af232f1-e822-4aae-8230-12257c359d21)\n\n####
          What's Changed\n\n-   feat: Implemented telemetry for find/list by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4165](https://redirect.github.com/gruntwork-io/terragrunt/pull/4165)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.18...v0.77.19\n\n###
          [`v0.77.18`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.18)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.17...v0.77.18)\n\n####
          \u2728 New Features\n\n##### Support for HCL formatting with the `render`
          command\n\nAs part of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment, the [`render`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#backend-migrate)
          command now supports HCL formatting for rendered configurations, which is
          the default output format.\n\nUsing the `render` command with HCL formatting
          allows users to get a quick, minimal evaluation of Terragrunt unit configurations
          with as much pre-processing done as possible.\n\nFor example, the following
          `terragrunt.hcl` file:\n\n```hcl\n\n### terragrunt.hcl\n\nlocals {\n  aws_region
          = \"us-east-1\"\n}\n\ninputs = {\n  aws_region = local.aws_region\n}\n```\n\nRenders
          to the following HCL:\n\n```bash\n$ terragrunt render\nlocals {\n  aws_region
          = \"us-east-1\"\n}\ninputs = {\n  aws_region = \"us-east-1\"\n}\n```\n\nUsing
          the `render` command with HCL formatting offers a way to resolve complex
          HCL function evaluation, include merging or string interpolation, etc. to
          achieve equivalent Terragrunt HCL configurations that are easier to reason
          about.\n\n#### What's Changed\n\n-   feat: Adding `render` with HCL formatting
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4164](https://redirect.github.com/gruntwork-io/terragrunt/pull/4164)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.17...v0.77.18\n\n###
          [`v0.77.17`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.17)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.16...v0.77.17)\n\n####
          \u2728 New Features\n\n##### Introduction of the `render` command\n\nAs
          part of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment, the [`render`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#backend-migrate)
          command has been introduced.\n\nThe `render` command allows users to easily
          render Terragrunt unit configurations with reduced complexity, making it
          easier to understand configurations at a glance.\n\nFor example, the following
          `terragrunt.hcl` file:\n\n```hcl\n\n### terragrunt.hcl\n\nlocals {\n  aws_region
          = \"us-east-1\"\n}\n\ninputs = {\n  aws_region = local.aws_region\n}\n```\n\nRenders
          to the following JSON:\n\n```bash\n$ terragrunt render --format json\n{\n
          \ \"locals\": { \"aws_region\": \"us-east-1\" },\n  \"inputs\": { \"aws_region\":
          \"us-east-1\" }\n  // NOTE: other attributes are omitted for brevity\n}\n```\n\nThe
          introduction of the `render` command is part of the eventual deprecation
          of the existing `render-json` command, which will be deprecated by the end
          of the CLI Redesign. The `render` command is a higher level command, that
          offers the ability to write to stdout, in addition to writing to files,
          and will support HCL configurations in addition to JSON (coming soon).\n\nTo
          learn more about the `render` command, read the official documentation [here](https://terragrunt.gruntwork.io/docs/reference/cli-options/#render).\n\n####
          What's Changed\n\n-   feat: Adding `render` command by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4145](https://redirect.github.com/gruntwork-io/terragrunt/pull/4145)\n-
          \  feat: Adding docs for `backend migrate` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4140](https://redirect.github.com/gruntwork-io/terragrunt/pull/4140)\n-
          \  build(deps): bump ruby/setup-ruby from 1.229.0 to 1.230.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4162](https://redirect.github.com/gruntwork-io/terragrunt/pull/4162)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.16...v0.77.17\n\n###
          [`v0.77.16`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.16)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.15...v0.77.16)\n\n####
          \u2728 New Features\n\n##### Introduction of the `backend migrate` command\n\nAs
          part of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment, the [`backend migrate`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#backend-migrate)
          command has been introduced.\n\nThe `backend migrate` command allows you
          to simply migrate state between different units (or renames of units) without
          manually running OpenTofu/Terraform state migration commands.\n\nTo learn
          more about the `backend migrate` command, read the [official docs](https://terragrunt.gruntwork.io/docs/reference/cli-options/#backend-migrate).\n\n####
          What's Changed\n\n-   feat: Added support for migrating state between different
          backends by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4154](https://redirect.github.com/gruntwork-io/terragrunt/pull/4154)\n-
          \  feat: Enhanced error explainer to detect and report issues related to
          `stack` values by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4163](https://redirect.github.com/gruntwork-io/terragrunt/pull/4163)\n-
          \  fix: Improved the deprecation message for experimental command flags
          by [@&#8203;levkohimins](https://redirect.github.com/levkohimins) in [https://github.com/gruntwork-io/terragrunt/pull/4146](https://redirect.github.com/gruntwork-io/terragrunt/pull/4146)\n-
          \  fix: Prevent `TF_CLI_CONFIG_FILE` environment variable from being overwritten,
          except during `init` and `providers` commands by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4155](https://redirect.github.com/gruntwork-io/terragrunt/pull/4155)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.15...v0.77.16\n\n###
          [`v0.77.15`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.15)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.14...v0.77.15)\n\n####
          \u2728 New Features\n\n##### Introduction of the `dag graph` command\n\nAs
          part of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment, the [`dag graph`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#print-graph)
          command has been introduced.\n\n![dag](https://redirect.github.com/user-attachments/assets/389d4e31-197c-4c37-8913-1417ecd3e5b4)\n\n![dag-help](https://redirect.github.com/user-attachments/assets/2525cd27-0d8e-457b-87ea-759fae31e2f3)\n\n![dag-graph-help](https://redirect.github.com/user-attachments/assets/fb268b20-f32b-4b4f-ba13-0d1fc9fca748)\n\n####
          What's Changed\n\n-   docs: Added migration guide for adopting Terragrunt
          Stacks by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4152](https://redirect.github.com/gruntwork-io/terragrunt/pull/4152)\n-
          \  feat: Added dag graph command by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4143](https://redirect.github.com/gruntwork-io/terragrunt/pull/4143)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.14...v0.77.15\n\n###
          [`v0.77.14`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.14)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.13...v0.77.14)\n\n####
          \u2728 New Features\n\n##### Support for `--exclude` and `--queue-construct-as`
          in `find` and `list`\n\nThe [`find`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#find)
          and [`list`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#list)
          commands have been updated to leverage new capabilities involving greater
          understanding of the Terragrunt run queue.\n\nUsers can now leverage the
          [`--queue-construct-as`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#find-queue-construct-as)
          (or just `--as`) flag in the `find` and `list` commands to discover configurations
          as if a particular Terragrunt command was being run (e.g. `plan`, `destroy`).\n\nFor
          example:\n\n```bash\n$ terragrunt find --queue-construct-as=plan\nstacks/live/dev\nstacks/live/prod\nunits/live/dev/vpc\nunits/live/prod/vpc\nunits/live/dev/db\nunits/live/prod/db\nunits/live/dev/ec2\nunits/live/prod/ec2\n```\n\n```bash\n$
          terragrunt find --as=destroy\nstacks/live/dev\nstacks/live/prod\nunits/live/dev/ec2\nunits/live/prod/ec2\nunits/live/dev/db\nunits/live/prod/db\nunits/live/dev/vpc\nunits/live/prod/vpc\n```\n\nThe
          `find` and `list` commands will now construct the Terragrunt run queue as
          if a particular command was being run, potentially altering the position
          of elements in the run queue, based on their dependencies (dependencies
          before dependents for plans, applies, etc. and dependents before dependencies
          for destroys).\n\nIn addition, users can leverage the [`--exclude`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#find-exclude)
          flag on the `find` command to get information on the `exclude` block included
          in results. The `exclude` block is also factored in to discovery results
          when the `--queue-construct-as` flag is passed, allowing users to dry-run
          behavior of the `exclude` block before performing any Terragrunt runs.\n\n####
          What's Changed\n\n-   feat: Adding exclude support to list and find by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4147](https://redirect.github.com/gruntwork-io/terragrunt/pull/4147)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.13...v0.77.14\n\n###
          [`v0.77.13`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.13)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.12...v0.77.13)\n\n####
          What's Changed\n\n-   build(deps): bump google.golang.org/grpc from 1.71.0
          to 1.71.1 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4132](https://redirect.github.com/gruntwork-io/terragrunt/pull/4132)\n-
          \  build(deps): bump golang.org/x/sys from 0.31.0 to 0.32.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4133](https://redirect.github.com/gruntwork-io/terragrunt/pull/4133)\n-
          \  build(deps): bump golang.org/x/oauth2 from 0.28.0 to 0.29.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4131](https://redirect.github.com/gruntwork-io/terragrunt/pull/4131)\n-
          \  build(deps): bump github.com/getsops/sops/v3 from 3.9.4 to 3.10.1 by
          [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4130](https://redirect.github.com/gruntwork-io/terragrunt/pull/4130)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.12...v0.77.13\n\n###
          [`v0.77.12`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.12)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.11...v0.77.12)\n\n####
          \u2728 New Features\n\nIntroduced `no_validation` attribute for `stack`
          and `unit`, allowing users to bypass Terragrunt's validation checks when
          deploying infrastructure. This is particularly useful in scenarios where
          you need to deploy infrastructure that doesn't strictly adhere to Terragrunt's
          validation rules, such as during emergency deployments or when working with
          legacy infrastructure patterns.\n\n#### What's Changed\n\n-   docs: added
          more docs for stacks by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4144](https://redirect.github.com/gruntwork-io/terragrunt/pull/4144)\n-
          \  feat: added support for `no_validation` attribute for `stack` and `unit`
          by [@&#8203;denis256](https://redirect.github.com/denis256) in [https://github.com/gruntwork-io/terragrunt/pull/4149](https://redirect.github.com/gruntwork-io/terragrunt/pull/4149)\n\nRFC:
          [https://github.com/gruntwork-io/terragrunt/issues/3313](https://redirect.github.com/gruntwork-io/terragrunt/issues/3313)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.11...v0.77.12\n\n###
          [`v0.77.11`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.11)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.10...v0.77.11)\n\n####
          \u2728 New Features\n\n##### Introduction of the `info print` command\n\nAs
          part of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment, the [`info print`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#print-command)
          command has been introduced.\n\n![help](https://redirect.github.com/user-attachments/assets/2eac4645-93c2-47dd-8dc3-73c4442bf1c8)\n\n![out](https://redirect.github.com/user-attachments/assets/7005c5db-15e1-4efe-b5a8-349a179f6033)\n\n####
          What's Changed\n\n-   feat: Introduced the `info print` command to output
          Terragrunt context as a structured JSON object by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4122](https://redirect.github.com/gruntwork-io/terragrunt/pull/4122)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.10...v0.77.11\n\n###
          [`v0.77.10`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.10)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.9...v0.77.10)\n\n####
          What's Changed\n\n-   fix: Suppressing warning for catalog when determining
          default file name by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4134](https://redirect.github.com/gruntwork-io/terragrunt/pull/4134)\n-
          \  fix: Remove warning message for unimplemented backends by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4138](https://redirect.github.com/gruntwork-io/terragrunt/pull/4138)\n-
          \  fix: Fixing optional default template by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4141](https://redirect.github.com/gruntwork-io/terragrunt/pull/4141)\n-
          \  chore: stack code improvements by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4136](https://redirect.github.com/gruntwork-io/terragrunt/pull/4136)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.9...v0.77.10\n\n###
          [`v0.77.9`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.9)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.8...v0.77.9)\n\n####
          \U0001F41B Bug fixes\n\n##### Fetching Outputs from Nested Stacks\n\nResolved
          an issue that prevented the correct retrieval of outp\n\n</details>\n\n---\n\n###
          Configuration\n\n\U0001F4C5 **Schedule**: Branch creation - At any time
          (no schedule defined), Automerge - At any time (no schedule defined).\n\n\U0001F6A6
          **Automerge**: Disabled by config. Please merge this manually once you are
          satisfied.\n\n\u267B **Rebasing**: Whenever PR becomes conflicted, or you
          tick the rebase/retry checkbox.\n\n\U0001F515 **Ignore**: Close this PR
          and you won't be reminded about this update again.\n\n---\n\n - [ ] <!--
          rebase-check -->If you want to rebase/retry this PR, check this box\n\n---\n\nThis
          PR was generated by [Mend Renovate](https://mend.io/renovate/). View the
          [repository job log](https://developer.mend.io/github/osism/testbed).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjQwLjE2LjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbInJlbm92YXRlIl19-->\n"
        change_url: https://github.com/osism/testbed/pull/2654
        commit_id: 235a4bafb85bb0b011a53f1f192d752ed338c02e
        patchset: 235a4bafb85bb0b011a53f1f192d752ed338c02e
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/testbed
          name: osism/testbed
          short_name: testbed
        src_dir: src/github.com/osism/testbed
        topic: null
      buildset: 8ce115434d45478daab6dd8e685080ad
      buildset_refs:
      - branch: main
        change: '2654'
        change_message: "chore(deps): update dependency gruntwork-io/terragrunt to
          v0.80.3\n\nThis PR contains the following updates:\n\n| Package | Update
          | Change |\n|---|---|---|\n| [gruntwork-io/terragrunt](https://redirect.github.com/gruntwork-io/terragrunt)
          | minor | `v0.77.3` -> `v0.80.3` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>gruntwork-io/terragrunt
          (gruntwork-io/terragrunt)</summary>\n\n### [`v0.80.3`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.80.3)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.80.2...v0.80.3)\n\n####
          \U0001F3CE\uFE0F\_Performance Improvements\n\n##### Significant performance
          improvements for `run --all`\n\nThe performance of `run --all` has been
          improved in two significant ways:\n\n1.  Performance for named includes
          has improved.\n\n    Backwards compatibility for bare includes required
          that Terragrunt do some inefficient work internally to handle both named
          includes and bare includes by doing an in-memory rewrite of Terragrunt configurations.
          An optimization has been introduced to avoid this behavior when users use
          named includes. This optimization does not extend to users that are using
          bare includes.\n\n    Users are advised to avoid using bare includes whenever
          possible for maximum performance. A [strict control](https://terragrunt.gruntwork.io/docs/reference/strict-mode/#bare-include)
          has been introduced to enforce usage of named includes.\n\n    In a future
          minor release, a warning will be emitted, instructing users to stop using
          bare includes. Maintainers will avoid breaking support for bare includes
          until at least 2.0.\n\n    For more information on how to benefit from this
          optimization, see the [migration guide](https://terragrunt.gruntwork.io/docs/migrate/bare-include/).\n2.
          \ The check for OpenTofu/Terraform code has been optimized.\n\n    To provide
          helpful error messages when users don't have OpenTofu/Terraform code for
          Terragrunt to run, Terragrunt checks for the presence of OpenTofu/Terraform
          configuration files (e.g. `*.tf`, `*.tofu`). This check has been optimized
          to improve performance.\n\nIn a micro-benchmark on an M3 Max, using the
          `BenchmarkManyEmptyTerragruntInits` benchmark, which tests the performance
          of a Terragrunt `run --all init` across 1000 inits, the following performance
          gains were released:\n\n-   42% speed improvement.\n-   43% memory reduction.\n\nMore
          optimizations of this sort are planned for future releases.\n\n##### Size
          reduction of compiled binaries\n\nThe size of compiled binaries will be
          reduced due to the stripping of debug symbols from the final executable.
          As an example, this drops the size of the compiled Linux AMD64 binary from
          99MB to 70MB.\n\nThis can be a small improvement to download times for environments
          where Terragrunt is downloaded frequently.\n\n#### \U0001F41B\_Bug Fixes\n\n#####
          Fixed `-detailed-exitcode` behavior in `run --all`\n\nAn unintended side-effect
          of addressing a different bug for Terragrunt\u2019s handling of the `-detailed-exitcode`
          flag in OpenTofu/Terraform in retries was that any run in a `run --all`
          could override the exit code of the entire `run --all`.\n\nThis has been
          fixed. The exit code of the `run --all -- plan -detailed-exitcode`  command
          will now properly aggregate exit codes from all runs in a `run --all`, only
          reseting the exit code for an individual unit if it properly recovers after
          a retry.\n\n#### What's Changed\n\n-   fix: Reverting to defer on cleanup
          for docs test by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4344](https://redirect.github.com/gruntwork-io/terragrunt/pull/4344)\n-
          \  fix: Get way more aggressive with cleanup by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4342](https://redirect.github.com/gruntwork-io/terragrunt/pull/4342)\n-
          \  fix: Removing unnecessary input on flake dispatch by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4337](https://redirect.github.com/gruntwork-io/terragrunt/pull/4337)\n-
          \  fix: Setting of right exit code in case of `-detailed-exitcode` by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4357](https://redirect.github.com/gruntwork-io/terragrunt/pull/4357)\n-
          \  fix: Adjusting tf check so that it's easier to update by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4360](https://redirect.github.com/gruntwork-io/terragrunt/pull/4360)\n-
          \  fix: Fixing discrepancy between Jekyll docs and Starlight docs for validate
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4359](https://redirect.github.com/gruntwork-io/terragrunt/pull/4359)\n-
          \  perf: Adding optimized tf code check by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4339](https://redirect.github.com/gruntwork-io/terragrunt/pull/4339)\n-
          \  perf: Deprecating bare includes by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4340](https://redirect.github.com/gruntwork-io/terragrunt/pull/4340)\n-
          \  docs: Documenting deprecation of bare includes by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4346](https://redirect.github.com/gruntwork-io/terragrunt/pull/4346)\n-
          \  chore: Reduced size of produced executable by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4341](https://redirect.github.com/gruntwork-io/terragrunt/pull/4341)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.80.2...v0.80.3\n\n###
          [`v0.80.2`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.80.2)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.80.1...v0.80.2)\n\n####
          \u2728 New Features\n\n##### `find` adds support for `--include`\n\nThe
          `find` command now supports the `--include` flag to allow for fine grained
          control over the discovery of units that include other partial configurations.\n\ne.g.\n\n```bash\n$
          terragrunt find --include --format=json | jq\n[\n  {\n    \"type\": \"unit\",\n
          \   \"path\": \"bar\",\n    \"include\": {\n      \"cloud\": \"cloud.hcl\"\n
          \   }\n  },\n  {\n    \"type\": \"unit\",\n    \"path\": \"foo\"\n  }\n]\n```\n\nCombining
          the flag with tools like `jq` allows for simple discovery of configurations
          that include other partial configurations.\n\n```bash\n$ terragrunt find
          --include --format=json | jq '[.[] | select(.include.cloud == \"cloud.hcl\")]'\n[\n
          \ {\n    \"type\": \"unit\",\n    \"path\": \"bar\",\n    \"include\": {\n
          \     \"cloud\": \"cloud.hcl\"\n    }\n  }\n]\n```\n\n#### \U0001F41B Bug
          Fixes\n\n##### `--tf-path` now correctly overrides `terraform_binary`\n\nA
          bug in the precedence logic for Terragrunt configuration parsing resulted
          in the CLI flag `--tf-path` from being ignored when the `terraform_binary`
          attribute was set.\n\nTerragrunt will now correctly respect the `terraform_binary`
          attribute when set, and allow `--tf-path` to override the value when it
          is set.\n\n#### What's Changed\n\n-   feat: Adding basic benchmarks by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4325](https://redirect.github.com/gruntwork-io/terragrunt/pull/4325)\n-
          \  feat: Add support for displaying include configurations in the terragrunt
          find command by [@&#8203;james03160927](https://redirect.github.com/james03160927)
          in [https://github.com/gruntwork-io/terragrunt/pull/4330](https://redirect.github.com/gruntwork-io/terragrunt/pull/4330)\n-
          \  feat: Adding flake test by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4334](https://redirect.github.com/gruntwork-io/terragrunt/pull/4334)\n-
          \  fix: Fixing usage of `--tf-path` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4332](https://redirect.github.com/gruntwork-io/terragrunt/pull/4332)\n-
          \  fix: Cleaning up addition of `--include` on `find` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4335](https://redirect.github.com/gruntwork-io/terragrunt/pull/4335)\n-
          \  chore: migrated to golangci-lint v2 by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4333](https://redirect.github.com/gruntwork-io/terragrunt/pull/4333)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.80.1...v0.80.2\n\n###
          [`v0.80.1`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.80.1)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.80.0...v0.80.1)\n\n#####
          What's Changed\n\n-   chore: Build process now leverages Go 1.24 features
          and improvements by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4324](https://redirect.github.com/gruntwork-io/terragrunt/pull/4324)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.80.0...v0.80.1\n\n###
          [`v0.80.0`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.80.0)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.79.3...v0.80.0)\n\n**Terraform
          1.12 support**: We are now testing Terragrunt against Terraform 1.12 and
          is confirmed to be working.\n\nNOTE: Although this release is marked as
          backward incompatible, it is functionally compatible as nothing has been
          changed in Terragrunt internals. The minor version release is useful to
          mark the change in Terraform version that is being tested.\n\n#### What's
          Changed\n\n-   chore: Added support for Terraform 1.12 by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4317](https://redirect.github.com/gruntwork-io/terragrunt/pull/4317)\n-
          \  build(deps): bump github.com/aws/aws-sdk-go from 1.55.6 to 1.55.7 by
          [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4300](https://redirect.github.com/gruntwork-io/terragrunt/pull/4300)\n-
          \  build(deps): bump cloud.google.com/go/storage from 1.51.0 to 1.53.0 by
          [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4269](https://redirect.github.com/gruntwork-io/terragrunt/pull/4269)\n-
          \  build(deps): bump golang.org/x/sys from 0.32.0 to 0.33.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4268](https://redirect.github.com/gruntwork-io/terragrunt/pull/4268)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.79.3...v0.80.0\n\n###
          [`v0.79.3`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.79.3)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.79.2...v0.79.3)\n\n#####
          \U0001F4AA\U0001F3FD Enhancements\n\n##### Limitation on Catalog URLs lifted\n\nA
          limitation on only supporting recognized go-getter URL patters has been
          lifted from the [catalog](https://terragrunt.gruntwork.io/docs/features/catalog/)
          command.\n\nThe reason this limitation existed in the past was to ensure
          that users were able to have Terragrunt load module source code in browsers
          from the catalog Terminal User Interface (TUI). To support that, only a
          constrained set of sources were supported, to ensure that a button was available
          to pop open the link in the browser.\n\n<img width=\"670\" alt=\"image\"
          src=\"https://github.com/user-attachments/assets/92dc016e-3bc5-46f5-b690-da3043590c24\"
          />\n\n<img width=\"666\" alt=\"image\" src=\"https://github.com/user-attachments/assets/f512e901-4deb-4771-8cbd-ea3d54cf5594\"
          />\n\nTerragrunt will now dynamically adjust the buttons available after
          module selection to gracefully degrade the experience, instead of completely
          rejecting repository sources that can't be predictably converted to browser
          URLs.\n\n<img width=\"346\" alt=\"image\" src=\"https://github.com/user-attachments/assets/76a7b1e5-c148-42b2-a696-d7fd750e866d\"
          />\n\nThis allows more users to adopt the Terragrunt Catalog, while providing
          the same great user experience for users that are on fully supported platforms,
          like GitHub, GitLab, BitBucket, etc.\n\n##### What's Changed\n\n-   feat:
          Allow unknown catalog URLs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4318](https://redirect.github.com/gruntwork-io/terragrunt/pull/4318)\n-
          \  docs: Clarify ambiguous documentation on variable precedence by [@&#8203;owattley-rotageek](https://redirect.github.com/owattley-rotageek)
          in [https://github.com/gruntwork-io/terragrunt/pull/4319](https://redirect.github.com/gruntwork-io/terragrunt/pull/4319)\n-
          \  chore: Adjusting catalog implementation by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4315](https://redirect.github.com/gruntwork-io/terragrunt/pull/4315)\n\n#####
          New Contributors\n\n-   [@&#8203;owattley-rotageek](https://redirect.github.com/owattley-rotageek)
          made their first contribution in [https://github.com/gruntwork-io/terragrunt/pull/4319](https://redirect.github.com/gruntwork-io/terragrunt/pull/4319)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.79.2...v0.79.3\n\n###
          [`v0.79.2`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.79.2)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.79.1...v0.79.2)\n\n#####
          \U0001F697 Performance Improvements\n\nImproved overall performance by memoizing
          `-version` output in each unit.\n\n##### What's Changed\n\n-   feat: Improved
          performance by memoizing `-version` output by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4288](https://redirect.github.com/gruntwork-io/terragrunt/pull/4288)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.79.1...v0.79.2\n\n###
          [`v0.79.1`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.79.1)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.79.0...v0.79.1)\n\n####
          \U0001F4AA\U0001F3FD Enhancements\n\n##### Recursive stack clean\n\nImproved
          `stack clean` to recursively delete all nested stack directories, ensuring
          thorough cleanup.\n\n#### What's Changed\n\n-   feat: Enabled recursive
          deletion of stack directories in `stack clean` by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4313](https://redirect.github.com/gruntwork-io/terragrunt/pull/4313)\n-
          \  feat: Switching to GitHub Actions OIDC role assumption for OIDC test
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4305](https://redirect.github.com/gruntwork-io/terragrunt/pull/4305)\n-
          \  fix: Corrected mislabeled `legacy-all` control in documentation by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4311](https://redirect.github.com/gruntwork-io/terragrunt/pull/4311)\n-
          \  fix: Enabled disabled tests by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4312](https://redirect.github.com/gruntwork-io/terragrunt/pull/4312)\n-
          \  docs: updated quick start documentation with additional output directory
          usage by [@&#8203;james03160927](https://redirect.github.com/james03160927)
          in [https://github.com/gruntwork-io/terragrunt/pull/4299](https://redirect.github.com/gruntwork-io/terragrunt/pull/4299)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.79.0...v0.79.1\n\n###
          [`v0.79.0`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.79.0)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.4...v0.79.0)\n\n####
          \U0001F4AA\U0001F3FD Enhancements\n\n##### The `run --all` command automatically
          generates Terragrunt Stacks\n\nIf you are using `terragrunt.stack.hcl` files
          in your codebase, `run --all` commands will now automatically expand all
          `terragrunt.stack.hcl` files into generated stack configurations, as if
          you had run `stack generate` before running the `run --all` command.\n\ne.g.\n\n```bash\nterragrunt
          run --all plan\n```\n\nIs now equivalent to:\n\n```bash\nterragrunt stack
          generate\nterragrunt run --all plan\n```\n\nIf you would like to disable
          this new behavior, you can use the `--no-stack-generate` to opt out of automatic
          stack generation.\n\n#### \U0001F4D6 Docs Updates\n\nThe [Terragrunt v1](https://terragrunt-v1.gruntwork.io/)
          docs are open for feedback!\n\nThese docs will undergo significant adjustments,
          both stylistically, and functionality on the road to 1.0.\n\nThey are a
          full rewrite of the existing Terragrunt Docs site written in [Jekyll](https://jekyllrb.com/)
          to one using [Starlight](https://starlight.astro.build/).\n\nYour feedback
          is requested! If you are reading these release notes relatively soon after
          release, you should see a link at the top of the site where you can provide
          your feedback on the new docs.\n\n#### What's Changed\n\n-   feat: Moving
          users over to terragrunt-v1.gruntwork.io docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4202](https://redirect.github.com/gruntwork-io/terragrunt/pull/4202)\n-
          \  feat: Adding GTM by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4285](https://redirect.github.com/gruntwork-io/terragrunt/pull/4285)\n-
          \  feat: Github Action tests migration by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4281](https://redirect.github.com/gruntwork-io/terragrunt/pull/4281)\n-
          \  feat: Automatically stack generate in run --all or run --graph command
          by [@&#8203;james03160927](https://redirect.github.com/james03160927) in
          [https://github.com/gruntwork-io/terragrunt/pull/4283](https://redirect.github.com/gruntwork-io/terragrunt/pull/4283)\n-
          \  feat: Adding cloud-nuke cron by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4306](https://redirect.github.com/gruntwork-io/terragrunt/pull/4306)\n-
          \  feat: Adjusting nav height by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4284](https://redirect.github.com/gruntwork-io/terragrunt/pull/4284)\n-
          \  fix: Fixing `remote-relative-with-slash` fixture on ARM tests by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4297](https://redirect.github.com/gruntwork-io/terragrunt/pull/4297)\n-
          \  fix: Fixing install version by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4310](https://redirect.github.com/gruntwork-io/terragrunt/pull/4310)\n-
          \  fix: Improved error handling in AWS docs by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4303](https://redirect.github.com/gruntwork-io/terragrunt/pull/4303)\n-
          \  chore: enable TestRemoteDownloadWithRelativePathAndSlashInBranch test
          by [@&#8203;denis256](https://redirect.github.com/denis256) in [https://github.com/gruntwork-io/terragrunt/pull/4286](https://redirect.github.com/gruntwork-io/terragrunt/pull/4286)\n-
          \  build(deps): bump ruby/setup-ruby from 1.233.0 to 1.238.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4270](https://redirect.github.com/gruntwork-io/terragrunt/pull/4270)\n-
          \  build(deps): bump github.com/gruntwork-io/terratest from 0.48.2 to 0.49.0
          by [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4267](https://redirect.github.com/gruntwork-io/terragrunt/pull/4267)\n-
          \  build(deps): bump ruby/setup-ruby from 1.238.0 to 1.242.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4301](https://redirect.github.com/gruntwork-io/terragrunt/pull/4301)\n-
          \  build(deps): bump DavidAnson/markdownlint-cli2-action from 19 to 20 by
          [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4302](https://redirect.github.com/gruntwork-io/terragrunt/pull/4302)\n\n####
          New Contributors\n\n-   [@&#8203;james03160927](https://redirect.github.com/james03160927)
          made their first contribution in [https://github.com/gruntwork-io/terragrunt/pull/4283](https://redirect.github.com/gruntwork-io/terragrunt/pull/4283)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.4...v0.79.0\n\n###
          [`v0.78.4`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.4)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.3...v0.78.4)\n\n####
          \u2728 New Features\n\n##### OpenTelemetry Trace Propogation\n\nIn anticipation
          of the introduction of OpenTelemetry support in OpenTofu 1.10, Terragrunt
          will now propagate the `TRACEPARENT` environment variable to child processes
          to support OpenTelemetry traces that maintain context across Terragrunt
          and OpenTofu.\n\nThis work is based on [@&#8203;Yantrio](https://redirect.github.com/Yantrio)
          's PoC PR [#&#8203;4254](https://redirect.github.com/gruntwork-io/terragrunt/issues/4254),
          and is only useful due to his work adding OpenTelemtry in OpenTofu. Thank
          you!\n\n#### What's Changed\n\n-   feat: Added generation of opentelemetry
          parent traces to invoked executables by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4278](https://redirect.github.com/gruntwork-io/terragrunt/pull/4278)\n-
          \  feat: Added support for Terraform tests in Github Action by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4275](https://redirect.github.com/gruntwork-io/terragrunt/pull/4275)\n-
          \  docs: Added homepage to Starlight docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4250](https://redirect.github.com/gruntwork-io/terragrunt/pull/4250)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.3...v0.78.4\n\n###
          [`v0.78.3`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.3)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.2...v0.78.3)\n\n####
          \U0001F41B Bug Fixes\n\nWhen an [error retry](https://terragrunt.gruntwork.io/docs/features/runtime-control/#errors)
          results in a plan succeeding when it initially failed, usage of `run --all
          -- plan -detailed-exitcode` will now properly take into account the *final*
          exit code, rather than the first one, meaning that the exit code of the
          whole run will be zero if no other units fail their plans.\n\nThanks to
          [@&#8203;wakeful](https://redirect.github.com/wakeful) for contributing
          this fix!\n\n#### What's Changed\n\n-   fix [#&#8203;3845](https://redirect.github.com/gruntwork-io/terragrunt/issues/3845)
          set the correct exit code when a retry is successful. by [@&#8203;wakeful](https://redirect.github.com/wakeful)
          in [https://github.com/gruntwork-io/terragrunt/pull/3966](https://redirect.github.com/gruntwork-io/terragrunt/pull/3966)\n-
          \  docs: Improving Run Queue docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4272](https://redirect.github.com/gruntwork-io/terragrunt/pull/4272)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.2...v0.78.3\n\n###
          [`v0.78.2`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.2)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.1...v0.78.2)\n\n#####
          What's Changed\n\n-   feat: enable GCP integration tests in GH Action by
          [@&#8203;denis256](https://redirect.github.com/denis256) in [https://github.com/gruntwork-io/terragrunt/pull/4257](https://redirect.github.com/gruntwork-io/terragrunt/pull/4257)\n-
          \  feat: fixed TestGcpWorksWithImpersonateBackend test by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4261](https://redirect.github.com/gruntwork-io/terragrunt/pull/4261)\n-
          \  feat: Adding integration tests by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4198](https://redirect.github.com/gruntwork-io/terragrunt/pull/4198)\n-
          \  feat: add Windows integration tests by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4262](https://redirect.github.com/gruntwork-io/terragrunt/pull/4262)\n-
          \  fix: Removing HTML `font-size` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4256](https://redirect.github.com/gruntwork-io/terragrunt/pull/4256)\n-
          \  docs: Adding Run Queue Docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4249](https://redirect.github.com/gruntwork-io/terragrunt/pull/4249)\n-
          \  build(deps): bump github.com/gruntwork-io/boilerplate to v0.6.1 by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
          \  build(deps): bump github.com/gruntwork-io/terragrunt-engine-go to v0.0.14
          by [@&#8203;denis256](https://redirect.github.com/denis256) in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
          \  build(deps): bump golang.org/x/oauth2 to v0.30.0 by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
          \  build(deps): bump golang.org/x/sync to v0.14.0 by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
          \  build(deps): bump google.golang.org/api to v0.232.0 by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
          \  build(deps): bump google.golang.org/grpc to v1.72.0 by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
          \  chore: dependencies update by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.1...v0.78.2\n\n###
          [`v0.78.1`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.1)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.0...v0.78.1)\n\n####
          What's Changed\n\n-   docs: Updating docs now that stacks are generally
          available by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4243](https://redirect.github.com/gruntwork-io/terragrunt/pull/4243)\n-
          \  fix: AWS S3 backend access logging bucket not versioning by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4246](https://redirect.github.com/gruntwork-io/terragrunt/pull/4246)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.0...v0.78.1\n\n###
          [`v0.78.0`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.0)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.22...v0.78.0)\n\n####
          \U0001F9EA Experiments Completed\n\nThe [stacks](https://terragrunt.gruntwork.io/docs/reference/experiments/#stacks)
          experiment is now complete.\n\nIf you were previously using the flag `--experiment
          stacks` to opt in to experimental functionality, you no longer have to do
          so. Note that if you are, you will simply get a warning that it is no longer
          necessary.\n\n#### \U0001F6E0\uFE0F Breaking Changes\n\nLegacy commands
          (as replaced by the [CLI Redesign](https://redirect.github.com/gruntwork-io/terragrunt/issues/3445)
          are now deprecated, and will be phased out at a future date, which will
          be scheduled in [#&#8203;3535](https://redirect.github.com/gruntwork-io/terragrunt/issues/3535).
          Make sure to subscribe to the issue if you would like to be informed when
          these deprecated features are no longer supported.\n\nFor instructions on
          migrating to the new commands provided after the CLI Redesign, read the
          [CLI Redesign Migration Guide](https://terragrunt.gruntwork.io/docs/migrate/cli-redesign/).\n\nThe
          following are now deprecated:\n\n-   `hclfmt` (use `hcl fmt` instead)\n-
          \  `hclvalidate` (use `hcl validate` instead)\n-   `validate-inputs` (use
          `hcl validate --inputs` and `hcl validate --inputs --strict` instead)\n-
          \  `terragrunt-info` (use `info print` instead)\n-   `output-module-groups`
          (use `find --dag --json` instead)\n-   `render-json` (use `render --json
          -w` instead)\n-   `graph-dependencies` (use `dag graph` instead)\n-   `run-all`
          (use `run --all` instead)\n-   `graph` (use `run --graph` instead)\n-   The
          default command. e.g. `terragrunt workspace list` (use `terragrunt run --
          workspace list` instead)\n-   Default bootstrap (automatically provisioning
          backend resources without additional flags). This is now opt in behavior,
          and requires usage of the `--backend-bootstrap` flag or explicitly running
          the new `backend bootstrap` command.\n-   `aws-provider-patch` (we are simply
          deprecating this command, and removing it when the other commands are removed.
          It served its purpose as a short term stopgap tool).\n\nNote that this will
          not result in an immediate breaking change for users, as we\u2019ll have
          an initial deprecation window to give users time to adjust to these changes.
          If you\u2019d like to ensure that you are prepared for the future removal
          of legacy commands, you can take advantage of the [cli-redesign](https://terragrunt.gruntwork.io/docs/reference/strict-mode/#cli-redesign)
          strict control to opt in to the future breaking change early.\n\n#### \U0001F4AA\U0001F3FD
          \ Enhancements\n\nThe logging for stack generation has been improved to
          make it easier to determine at a glance the stack file that\u2019s generating
          a particular unit.\n\n![stacks-generation](https://redirect.github.com/user-attachments/assets/11c49c92-edfd-4d3a-b2c6-4bae4326e0e2)\n\n####
          What's Changed\n\n-   feat: improved stack logs generation by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4213](https://redirect.github.com/gruntwork-io/terragrunt/pull/4213)\n-
          \  feat: stacks expriment completion by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4222](https://redirect.github.com/gruntwork-io/terragrunt/pull/4222)\n-
          \  feat: Deprecating `render-json` command by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4227](https://redirect.github.com/gruntwork-io/terragrunt/pull/4227)\n-
          \  feat: Deprecating `aws-provider-patch` command by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4228](https://redirect.github.com/gruntwork-io/terragrunt/pull/4228)\n-
          \  feat: Deprecating `output-module-groups` command by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4229](https://redirect.github.com/gruntwork-io/terragrunt/pull/4229)\n-
          \  fix: Fixing base tests for macOS by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4193](https://redirect.github.com/gruntwork-io/terragrunt/pull/4193)\n-
          \  fix: Fixing 404 in performance docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4194](https://redirect.github.com/gruntwork-io/terragrunt/pull/4194)\n-
          \  fix: basic tests execution update by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4192](https://redirect.github.com/gruntwork-io/terragrunt/pull/4192)\n-
          \  fix: Throwing interrupt signal with `--all` flag by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4224](https://redirect.github.com/gruntwork-io/terragrunt/pull/4224)\n-
          \  fix: handling of errors in parsing base blocks by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4226](https://redirect.github.com/gruntwork-io/terragrunt/pull/4226)\n-
          \  fix: Cleaning up legacy `-all` usage by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4239](https://redirect.github.com/gruntwork-io/terragrunt/pull/4239)\n-
          \  fix: Rename all the `--terragrunt-` flags by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4203](https://redirect.github.com/gruntwork-io/terragrunt/pull/4203)\n-
          \  fix: Cleaning up `run-all` usage by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4223](https://redirect.github.com/gruntwork-io/terragrunt/pull/4223)\n-
          \  fix: Updating environment variables for flags by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4240](https://redirect.github.com/gruntwork-io/terragrunt/pull/4240)\n-
          \  fix: Updating migration guide for CLI Redesign migration by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4207](https://redirect.github.com/gruntwork-io/terragrunt/pull/4207)\n-
          \  docs: Adding docs for `cli-redesign` strict control by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4238](https://redirect.github.com/gruntwork-io/terragrunt/pull/4238)\n-
          \  docs: Documenting CLI Redesign deprecations by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4237](https://redirect.github.com/gruntwork-io/terragrunt/pull/4237)\n-
          \  docs: updated stack links by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4201](https://redirect.github.com/gruntwork-io/terragrunt/pull/4201)\n-
          \  chore: Preserve tests with deprecated commands/flags by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4242](https://redirect.github.com/gruntwork-io/terragrunt/pull/4242)\n-
          \  chore: `hclfmt` `hclvalidate` `validate-inputs` as deprecated commands
          (minor fixes) by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4199](https://redirect.github.com/gruntwork-io/terragrunt/pull/4199)\n-
          \  chore: `hclfmt` `hclvalidate` `validate-inputs` as deprecated commands
          by [@&#8203;levkohimins](https://redirect.github.com/levkohimins) in [https://github.com/gruntwork-io/terragrunt/pull/4196](https://redirect.github.com/gruntwork-io/terragrunt/pull/4196)\n-
          \  build(deps): bump github.com/getsops/sops/v3 from 3.10.1 to 3.10.2 by
          [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4185](https://redirect.github.com/gruntwork-io/terragrunt/pull/4185)\n-
          \  build(deps): bump go.opentelemetry.io/otel/exporters/stdout/stdouttrace
          from 1.34.0 to 1.35.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4184](https://redirect.github.com/gruntwork-io/terragrunt/pull/4184)\n-
          \  build(deps): bump DavidAnson/markdownlint-cli2-action from 15 to 19 by
          [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4187](https://redirect.github.com/gruntwork-io/terragrunt/pull/4187)\n-
          \  build(deps): bump ruby/setup-ruby from 1.230.0 to 1.233.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4186](https://redirect.github.com/gruntwork-io/terragrunt/pull/4186)\n-
          \  build(deps-dev): bump nokogiri from 1.18.4 to 1.18.8 in /docs by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4195](https://redirect.github.com/gruntwork-io/terragrunt/pull/4195)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.22...v0.78.0\n\n###
          [`v0.77.22`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.22)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.21...v0.77.22)\n\n####
          \U0001F9EA Experiments Completed\n\n##### The `cli-redesign` experiment
          is now complete\n\nThe [cli-redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment is now complete.\n\nIf you were previously using the flag `--experiment
          cli-redesign` to opt in to experimental functionality, you no longer have
          to do so. Note that if you are, you will simply get a warning that it is
          no longer necessary.\n\n#### What's Changed\n\n-   feat: Adding base tests
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4176](https://redirect.github.com/gruntwork-io/terragrunt/pull/4176)\n-
          \  chore: Complete CLI Redesign experiment by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4189](https://redirect.github.com/gruntwork-io/terragrunt/pull/4189)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.21...v0.77.22\n\n###
          [`v0.77.21`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.21)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.20...v0.77.21)\n\n####
          \u2728 New Features\n\n##### Introduction of `hcl` commands\n\nAs part of
          the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment, the [`hcl`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#hcl-commands)
          commands have been introduced.\n\nThe `hcl` commands allow users to directly
          interact with HCL content independent of the underlying functionality they
          support.\n\nThe functionality of the `hcl` commands replace existing functionality
          that is soon to be deprecated:\n\n-   `hclfmt` --> `hcl fmt`\n-   `hclvalidate`
          --> `hcl validate`\n-   `validate-inputs` --> `hcl validate --inputs`\n-
          \  `validate-inputs --strict-validate` --> `hcl validate --inputs --strict`\n\n####
          What's Changed\n\n-   feat: `hcl` commands docs by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4180](https://redirect.github.com/gruntwork-io/terragrunt/pull/4180)\n-
          \  feat: add symbol link experiemnt in discovery process by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4177](https://redirect.github.com/gruntwork-io/terragrunt/pull/4177)\n-
          \  feat: Implementation of `hcl` commands by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4169](https://redirect.github.com/gruntwork-io/terragrunt/pull/4169)\n-
          \  fix: Adding redirect from /docs/reference/experiment-mode to /docs/reference/experiments
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4178](https://redirect.github.com/gruntwork-io/terragrunt/pull/4178)\n-
          \  fix: Fix spelling by [@&#8203;hpe-noinarisak](https://redirect.github.com/hpe-noinarisak)
          in [https://github.com/gruntwork-io/terragrunt/pull/4179](https://redirect.github.com/gruntwork-io/terragrunt/pull/4179)\n-
          \  fix: Update status of cli-redesign experiment by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4188](https://redirect.github.com/gruntwork-io/terragrunt/pull/4188)\n-
          \  build(deps): bump github.com/charmbracelet/bubbles from 0.20.0 to 0.21.0
          by [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4160](https://redirect.github.com/gruntwork-io/terragrunt/pull/4160)\n\n####
          New Contributors\n\n-   [@&#8203;hpe-noinarisak](https://redirect.github.com/hpe-noinarisak)
          made their first contribution in [https://github.com/gruntwork-io/terragrunt/pull/4179](https://redirect.github.com/gruntwork-io/terragrunt/pull/4179)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.20...v0.77.21\n\n###
          [`v0.77.20`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.20)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.19...v0.77.20)\n\n####
          What's Changed\n\n-   build: Added `build-no-proxy.yml` workflow by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4171](https://redirect.github.com/gruntwork-io/terragrunt/pull/4171)\n-
          \  build: Added `lint.yml` and `strict-lint.yml` workflows for GitHub Actions
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4172](https://redirect.github.com/gruntwork-io/terragrunt/pull/4172)\n-
          \  build: Added codespell workflow by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4173](https://redirect.github.com/gruntwork-io/terragrunt/pull/4173)\n-
          \  build: Added markdownlint v2 to GitHub Actions workflows by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4175](https://redirect.github.com/gruntwork-io/terragrunt/pull/4175)\n-
          \  docs: Improved getting started guide by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4174](https://redirect.github.com/gruntwork-io/terragrunt/pull/4174)\n-
          \  build(deps): bump github.com/ProtonMail/go-crypto from 1.1.6 to 1.2.0
          by [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4161](https://redirect.github.com/gruntwork-io/terragrunt/pull/4161)\n-
          \  build(deps): bump golang.org/x/term from 0.30.0 to 0.31.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4159](https://redirect.github.com/gruntwork-io/terragrunt/pull/4159)\n-
          \  build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.78.2
          to 1.79.2 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4158](https://redirect.github.com/gruntwork-io/terragrunt/pull/4158)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.19...v0.77.20\n\n###
          [`v0.77.19`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.19)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.18...v0.77.19)\n\n####
          \u2728 New Features\n\n##### OpenTelemetry traces are now integrated into
          `find` and `list` commands\n\nfind telemetry:\n![image](https://redirect.github.com/user-attachments/assets/eb5ff11a-e90f-4b5d-bec0-c99cb1419f57)\n\nlist
          telemetry:\n![image](https://redirect.github.com/user-attachments/assets/7af232f1-e822-4aae-8230-12257c359d21)\n\n####
          What's Changed\n\n-   feat: Implemented telemetry for find/list by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4165](https://redirect.github.com/gruntwork-io/terragrunt/pull/4165)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.18...v0.77.19\n\n###
          [`v0.77.18`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.18)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.17...v0.77.18)\n\n####
          \u2728 New Features\n\n##### Support for HCL formatting with the `render`
          command\n\nAs part of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment, the [`render`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#backend-migrate)
          command now supports HCL formatting for rendered configurations, which is
          the default output format.\n\nUsing the `render` command with HCL formatting
          allows users to get a quick, minimal evaluation of Terragrunt unit configurations
          with as much pre-processing done as possible.\n\nFor example, the following
          `terragrunt.hcl` file:\n\n```hcl\n\n### terragrunt.hcl\n\nlocals {\n  aws_region
          = \"us-east-1\"\n}\n\ninputs = {\n  aws_region = local.aws_region\n}\n```\n\nRenders
          to the following HCL:\n\n```bash\n$ terragrunt render\nlocals {\n  aws_region
          = \"us-east-1\"\n}\ninputs = {\n  aws_region = \"us-east-1\"\n}\n```\n\nUsing
          the `render` command with HCL formatting offers a way to resolve complex
          HCL function evaluation, include merging or string interpolation, etc. to
          achieve equivalent Terragrunt HCL configurations that are easier to reason
          about.\n\n#### What's Changed\n\n-   feat: Adding `render` with HCL formatting
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4164](https://redirect.github.com/gruntwork-io/terragrunt/pull/4164)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.17...v0.77.18\n\n###
          [`v0.77.17`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.17)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.16...v0.77.17)\n\n####
          \u2728 New Features\n\n##### Introduction of the `render` command\n\nAs
          part of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment, the [`render`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#backend-migrate)
          command has been introduced.\n\nThe `render` command allows users to easily
          render Terragrunt unit configurations with reduced complexity, making it
          easier to understand configurations at a glance.\n\nFor example, the following
          `terragrunt.hcl` file:\n\n```hcl\n\n### terragrunt.hcl\n\nlocals {\n  aws_region
          = \"us-east-1\"\n}\n\ninputs = {\n  aws_region = local.aws_region\n}\n```\n\nRenders
          to the following JSON:\n\n```bash\n$ terragrunt render --format json\n{\n
          \ \"locals\": { \"aws_region\": \"us-east-1\" },\n  \"inputs\": { \"aws_region\":
          \"us-east-1\" }\n  // NOTE: other attributes are omitted for brevity\n}\n```\n\nThe
          introduction of the `render` command is part of the eventual deprecation
          of the existing `render-json` command, which will be deprecated by the end
          of the CLI Redesign. The `render` command is a higher level command, that
          offers the ability to write to stdout, in addition to writing to files,
          and will support HCL configurations in addition to JSON (coming soon).\n\nTo
          learn more about the `render` command, read the official documentation [here](https://terragrunt.gruntwork.io/docs/reference/cli-options/#render).\n\n####
          What's Changed\n\n-   feat: Adding `render` command by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4145](https://redirect.github.com/gruntwork-io/terragrunt/pull/4145)\n-
          \  feat: Adding docs for `backend migrate` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4140](https://redirect.github.com/gruntwork-io/terragrunt/pull/4140)\n-
          \  build(deps): bump ruby/setup-ruby from 1.229.0 to 1.230.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4162](https://redirect.github.com/gruntwork-io/terragrunt/pull/4162)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.16...v0.77.17\n\n###
          [`v0.77.16`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.16)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.15...v0.77.16)\n\n####
          \u2728 New Features\n\n##### Introduction of the `backend migrate` command\n\nAs
          part of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment, the [`backend migrate`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#backend-migrate)
          command has been introduced.\n\nThe `backend migrate` command allows you
          to simply migrate state between different units (or renames of units) without
          manually running OpenTofu/Terraform state migration commands.\n\nTo learn
          more about the `backend migrate` command, read the [official docs](https://terragrunt.gruntwork.io/docs/reference/cli-options/#backend-migrate).\n\n####
          What's Changed\n\n-   feat: Added support for migrating state between different
          backends by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4154](https://redirect.github.com/gruntwork-io/terragrunt/pull/4154)\n-
          \  feat: Enhanced error explainer to detect and report issues related to
          `stack` values by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4163](https://redirect.github.com/gruntwork-io/terragrunt/pull/4163)\n-
          \  fix: Improved the deprecation message for experimental command flags
          by [@&#8203;levkohimins](https://redirect.github.com/levkohimins) in [https://github.com/gruntwork-io/terragrunt/pull/4146](https://redirect.github.com/gruntwork-io/terragrunt/pull/4146)\n-
          \  fix: Prevent `TF_CLI_CONFIG_FILE` environment variable from being overwritten,
          except during `init` and `providers` commands by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4155](https://redirect.github.com/gruntwork-io/terragrunt/pull/4155)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.15...v0.77.16\n\n###
          [`v0.77.15`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.15)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.14...v0.77.15)\n\n####
          \u2728 New Features\n\n##### Introduction of the `dag graph` command\n\nAs
          part of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment, the [`dag graph`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#print-graph)
          command has been introduced.\n\n![dag](https://redirect.github.com/user-attachments/assets/389d4e31-197c-4c37-8913-1417ecd3e5b4)\n\n![dag-help](https://redirect.github.com/user-attachments/assets/2525cd27-0d8e-457b-87ea-759fae31e2f3)\n\n![dag-graph-help](https://redirect.github.com/user-attachments/assets/fb268b20-f32b-4b4f-ba13-0d1fc9fca748)\n\n####
          What's Changed\n\n-   docs: Added migration guide for adopting Terragrunt
          Stacks by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4152](https://redirect.github.com/gruntwork-io/terragrunt/pull/4152)\n-
          \  feat: Added dag graph command by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4143](https://redirect.github.com/gruntwork-io/terragrunt/pull/4143)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.14...v0.77.15\n\n###
          [`v0.77.14`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.14)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.13...v0.77.14)\n\n####
          \u2728 New Features\n\n##### Support for `--exclude` and `--queue-construct-as`
          in `find` and `list`\n\nThe [`find`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#find)
          and [`list`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#list)
          commands have been updated to leverage new capabilities involving greater
          understanding of the Terragrunt run queue.\n\nUsers can now leverage the
          [`--queue-construct-as`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#find-queue-construct-as)
          (or just `--as`) flag in the `find` and `list` commands to discover configurations
          as if a particular Terragrunt command was being run (e.g. `plan`, `destroy`).\n\nFor
          example:\n\n```bash\n$ terragrunt find --queue-construct-as=plan\nstacks/live/dev\nstacks/live/prod\nunits/live/dev/vpc\nunits/live/prod/vpc\nunits/live/dev/db\nunits/live/prod/db\nunits/live/dev/ec2\nunits/live/prod/ec2\n```\n\n```bash\n$
          terragrunt find --as=destroy\nstacks/live/dev\nstacks/live/prod\nunits/live/dev/ec2\nunits/live/prod/ec2\nunits/live/dev/db\nunits/live/prod/db\nunits/live/dev/vpc\nunits/live/prod/vpc\n```\n\nThe
          `find` and `list` commands will now construct the Terragrunt run queue as
          if a particular command was being run, potentially altering the position
          of elements in the run queue, based on their dependencies (dependencies
          before dependents for plans, applies, etc. and dependents before dependencies
          for destroys).\n\nIn addition, users can leverage the [`--exclude`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#find-exclude)
          flag on the `find` command to get information on the `exclude` block included
          in results. The `exclude` block is also factored in to discovery results
          when the `--queue-construct-as` flag is passed, allowing users to dry-run
          behavior of the `exclude` block before performing any Terragrunt runs.\n\n####
          What's Changed\n\n-   feat: Adding exclude support to list and find by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4147](https://redirect.github.com/gruntwork-io/terragrunt/pull/4147)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.13...v0.77.14\n\n###
          [`v0.77.13`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.13)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.12...v0.77.13)\n\n####
          What's Changed\n\n-   build(deps): bump google.golang.org/grpc from 1.71.0
          to 1.71.1 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4132](https://redirect.github.com/gruntwork-io/terragrunt/pull/4132)\n-
          \  build(deps): bump golang.org/x/sys from 0.31.0 to 0.32.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4133](https://redirect.github.com/gruntwork-io/terragrunt/pull/4133)\n-
          \  build(deps): bump golang.org/x/oauth2 from 0.28.0 to 0.29.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4131](https://redirect.github.com/gruntwork-io/terragrunt/pull/4131)\n-
          \  build(deps): bump github.com/getsops/sops/v3 from 3.9.4 to 3.10.1 by
          [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4130](https://redirect.github.com/gruntwork-io/terragrunt/pull/4130)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.12...v0.77.13\n\n###
          [`v0.77.12`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.12)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.11...v0.77.12)\n\n####
          \u2728 New Features\n\nIntroduced `no_validation` attribute for `stack`
          and `unit`, allowing users to bypass Terragrunt's validation checks when
          deploying infrastructure. This is particularly useful in scenarios where
          you need to deploy infrastructure that doesn't strictly adhere to Terragrunt's
          validation rules, such as during emergency deployments or when working with
          legacy infrastructure patterns.\n\n#### What's Changed\n\n-   docs: added
          more docs for stacks by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4144](https://redirect.github.com/gruntwork-io/terragrunt/pull/4144)\n-
          \  feat: added support for `no_validation` attribute for `stack` and `unit`
          by [@&#8203;denis256](https://redirect.github.com/denis256) in [https://github.com/gruntwork-io/terragrunt/pull/4149](https://redirect.github.com/gruntwork-io/terragrunt/pull/4149)\n\nRFC:
          [https://github.com/gruntwork-io/terragrunt/issues/3313](https://redirect.github.com/gruntwork-io/terragrunt/issues/3313)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.11...v0.77.12\n\n###
          [`v0.77.11`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.11)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.10...v0.77.11)\n\n####
          \u2728 New Features\n\n##### Introduction of the `info print` command\n\nAs
          part of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment, the [`info print`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#print-command)
          command has been introduced.\n\n![help](https://redirect.github.com/user-attachments/assets/2eac4645-93c2-47dd-8dc3-73c4442bf1c8)\n\n![out](https://redirect.github.com/user-attachments/assets/7005c5db-15e1-4efe-b5a8-349a179f6033)\n\n####
          What's Changed\n\n-   feat: Introduced the `info print` command to output
          Terragrunt context as a structured JSON object by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4122](https://redirect.github.com/gruntwork-io/terragrunt/pull/4122)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.10...v0.77.11\n\n###
          [`v0.77.10`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.10)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.9...v0.77.10)\n\n####
          What's Changed\n\n-   fix: Suppressing warning for catalog when determining
          default file name by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4134](https://redirect.github.com/gruntwork-io/terragrunt/pull/4134)\n-
          \  fix: Remove warning message for unimplemented backends by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4138](https://redirect.github.com/gruntwork-io/terragrunt/pull/4138)\n-
          \  fix: Fixing optional default template by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4141](https://redirect.github.com/gruntwork-io/terragrunt/pull/4141)\n-
          \  chore: stack code improvements by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4136](https://redirect.github.com/gruntwork-io/terragrunt/pull/4136)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.9...v0.77.10\n\n###
          [`v0.77.9`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.9)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.8...v0.77.9)\n\n####
          \U0001F41B Bug fixes\n\n##### Fetching Outputs from Nested Stacks\n\nResolved
          an issue that prevented the correct retrieval of outp\n\n</details>\n\n---\n\n###
          Configuration\n\n\U0001F4C5 **Schedule**: Branch creation - At any time
          (no schedule defined), Automerge - At any time (no schedule defined).\n\n\U0001F6A6
          **Automerge**: Disabled by config. Please merge this manually once you are
          satisfied.\n\n\u267B **Rebasing**: Whenever PR becomes conflicted, or you
          tick the rebase/retry checkbox.\n\n\U0001F515 **Ignore**: Close this PR
          and you won't be reminded about this update again.\n\n---\n\n - [ ] <!--
          rebase-check -->If you want to rebase/retry this PR, check this box\n\n---\n\nThis
          PR was generated by [Mend Renovate](https://mend.io/renovate/). View the
          [repository job log](https://developer.mend.io/github/osism/testbed).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjQwLjE2LjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbInJlbm92YXRlIl19-->\n"
        change_url: https://github.com/osism/testbed/pull/2654
        commit_id: 235a4bafb85bb0b011a53f1f192d752ed338c02e
        patchset: 235a4bafb85bb0b011a53f1f192d752ed338c02e
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/testbed
          name: osism/testbed
          short_name: testbed
        src_dir: src/github.com/osism/testbed
        topic: null
      change: '2654'
      change_message: "chore(deps): update dependency gruntwork-io/terragrunt to v0.80.3\n\nThis
        PR contains the following updates:\n\n| Package | Update | Change |\n|---|---|---|\n|
        [gruntwork-io/terragrunt](https://redirect.github.com/gruntwork-io/terragrunt)
        | minor | `v0.77.3` -> `v0.80.3` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>gruntwork-io/terragrunt
        (gruntwork-io/terragrunt)</summary>\n\n### [`v0.80.3`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.80.3)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.80.2...v0.80.3)\n\n####
        \U0001F3CE\uFE0F\_Performance Improvements\n\n##### Significant performance
        improvements for `run --all`\n\nThe performance of `run --all` has been improved
        in two significant ways:\n\n1.  Performance for named includes has improved.\n\n
        \   Backwards compatibility for bare includes required that Terragrunt do
        some inefficient work internally to handle both named includes and bare includes
        by doing an in-memory rewrite of Terragrunt configurations. An optimization
        has been introduced to avoid this behavior when users use named includes.
        This optimization does not extend to users that are using bare includes.\n\n
        \   Users are advised to avoid using bare includes whenever possible for maximum
        performance. A [strict control](https://terragrunt.gruntwork.io/docs/reference/strict-mode/#bare-include)
        has been introduced to enforce usage of named includes.\n\n    In a future
        minor release, a warning will be emitted, instructing users to stop using
        bare includes. Maintainers will avoid breaking support for bare includes until
        at least 2.0.\n\n    For more information on how to benefit from this optimization,
        see the [migration guide](https://terragrunt.gruntwork.io/docs/migrate/bare-include/).\n2.
        \ The check for OpenTofu/Terraform code has been optimized.\n\n    To provide
        helpful error messages when users don't have OpenTofu/Terraform code for Terragrunt
        to run, Terragrunt checks for the presence of OpenTofu/Terraform configuration
        files (e.g. `*.tf`, `*.tofu`). This check has been optimized to improve performance.\n\nIn
        a micro-benchmark on an M3 Max, using the `BenchmarkManyEmptyTerragruntInits`
        benchmark, which tests the performance of a Terragrunt `run --all init` across
        1000 inits, the following performance gains were released:\n\n-   42% speed
        improvement.\n-   43% memory reduction.\n\nMore optimizations of this sort
        are planned for future releases.\n\n##### Size reduction of compiled binaries\n\nThe
        size of compiled binaries will be reduced due to the stripping of debug symbols
        from the final executable. As an example, this drops the size of the compiled
        Linux AMD64 binary from 99MB to 70MB.\n\nThis can be a small improvement to
        download times for environments where Terragrunt is downloaded frequently.\n\n####
        \U0001F41B\_Bug Fixes\n\n##### Fixed `-detailed-exitcode` behavior in `run
        --all`\n\nAn unintended side-effect of addressing a different bug for Terragrunt\u2019s
        handling of the `-detailed-exitcode` flag in OpenTofu/Terraform in retries
        was that any run in a `run --all` could override the exit code of the entire
        `run --all`.\n\nThis has been fixed. The exit code of the `run --all -- plan
        -detailed-exitcode`  command will now properly aggregate exit codes from all
        runs in a `run --all`, only reseting the exit code for an individual unit
        if it properly recovers after a retry.\n\n#### What's Changed\n\n-   fix:
        Reverting to defer on cleanup for docs test by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4344](https://redirect.github.com/gruntwork-io/terragrunt/pull/4344)\n-
        \  fix: Get way more aggressive with cleanup by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4342](https://redirect.github.com/gruntwork-io/terragrunt/pull/4342)\n-
        \  fix: Removing unnecessary input on flake dispatch by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4337](https://redirect.github.com/gruntwork-io/terragrunt/pull/4337)\n-
        \  fix: Setting of right exit code in case of `-detailed-exitcode` by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4357](https://redirect.github.com/gruntwork-io/terragrunt/pull/4357)\n-
        \  fix: Adjusting tf check so that it's easier to update by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4360](https://redirect.github.com/gruntwork-io/terragrunt/pull/4360)\n-
        \  fix: Fixing discrepancy between Jekyll docs and Starlight docs for validate
        by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4359](https://redirect.github.com/gruntwork-io/terragrunt/pull/4359)\n-
        \  perf: Adding optimized tf code check by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4339](https://redirect.github.com/gruntwork-io/terragrunt/pull/4339)\n-
        \  perf: Deprecating bare includes by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4340](https://redirect.github.com/gruntwork-io/terragrunt/pull/4340)\n-
        \  docs: Documenting deprecation of bare includes by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4346](https://redirect.github.com/gruntwork-io/terragrunt/pull/4346)\n-
        \  chore: Reduced size of produced executable by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4341](https://redirect.github.com/gruntwork-io/terragrunt/pull/4341)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.80.2...v0.80.3\n\n###
        [`v0.80.2`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.80.2)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.80.1...v0.80.2)\n\n####
        \u2728 New Features\n\n##### `find` adds support for `--include`\n\nThe `find`
        command now supports the `--include` flag to allow for fine grained control
        over the discovery of units that include other partial configurations.\n\ne.g.\n\n```bash\n$
        terragrunt find --include --format=json | jq\n[\n  {\n    \"type\": \"unit\",\n
        \   \"path\": \"bar\",\n    \"include\": {\n      \"cloud\": \"cloud.hcl\"\n
        \   }\n  },\n  {\n    \"type\": \"unit\",\n    \"path\": \"foo\"\n  }\n]\n```\n\nCombining
        the flag with tools like `jq` allows for simple discovery of configurations
        that include other partial configurations.\n\n```bash\n$ terragrunt find --include
        --format=json | jq '[.[] | select(.include.cloud == \"cloud.hcl\")]'\n[\n
        \ {\n    \"type\": \"unit\",\n    \"path\": \"bar\",\n    \"include\": {\n
        \     \"cloud\": \"cloud.hcl\"\n    }\n  }\n]\n```\n\n#### \U0001F41B Bug
        Fixes\n\n##### `--tf-path` now correctly overrides `terraform_binary`\n\nA
        bug in the precedence logic for Terragrunt configuration parsing resulted
        in the CLI flag `--tf-path` from being ignored when the `terraform_binary`
        attribute was set.\n\nTerragrunt will now correctly respect the `terraform_binary`
        attribute when set, and allow `--tf-path` to override the value when it is
        set.\n\n#### What's Changed\n\n-   feat: Adding basic benchmarks by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4325](https://redirect.github.com/gruntwork-io/terragrunt/pull/4325)\n-
        \  feat: Add support for displaying include configurations in the terragrunt
        find command by [@&#8203;james03160927](https://redirect.github.com/james03160927)
        in [https://github.com/gruntwork-io/terragrunt/pull/4330](https://redirect.github.com/gruntwork-io/terragrunt/pull/4330)\n-
        \  feat: Adding flake test by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4334](https://redirect.github.com/gruntwork-io/terragrunt/pull/4334)\n-
        \  fix: Fixing usage of `--tf-path` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4332](https://redirect.github.com/gruntwork-io/terragrunt/pull/4332)\n-
        \  fix: Cleaning up addition of `--include` on `find` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4335](https://redirect.github.com/gruntwork-io/terragrunt/pull/4335)\n-
        \  chore: migrated to golangci-lint v2 by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4333](https://redirect.github.com/gruntwork-io/terragrunt/pull/4333)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.80.1...v0.80.2\n\n###
        [`v0.80.1`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.80.1)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.80.0...v0.80.1)\n\n#####
        What's Changed\n\n-   chore: Build process now leverages Go 1.24 features
        and improvements by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4324](https://redirect.github.com/gruntwork-io/terragrunt/pull/4324)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.80.0...v0.80.1\n\n###
        [`v0.80.0`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.80.0)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.79.3...v0.80.0)\n\n**Terraform
        1.12 support**: We are now testing Terragrunt against Terraform 1.12 and is
        confirmed to be working.\n\nNOTE: Although this release is marked as backward
        incompatible, it is functionally compatible as nothing has been changed in
        Terragrunt internals. The minor version release is useful to mark the change
        in Terraform version that is being tested.\n\n#### What's Changed\n\n-   chore:
        Added support for Terraform 1.12 by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4317](https://redirect.github.com/gruntwork-io/terragrunt/pull/4317)\n-
        \  build(deps): bump github.com/aws/aws-sdk-go from 1.55.6 to 1.55.7 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
        in [https://github.com/gruntwork-io/terragrunt/pull/4300](https://redirect.github.com/gruntwork-io/terragrunt/pull/4300)\n-
        \  build(deps): bump cloud.google.com/go/storage from 1.51.0 to 1.53.0 by
        [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4269](https://redirect.github.com/gruntwork-io/terragrunt/pull/4269)\n-
        \  build(deps): bump golang.org/x/sys from 0.32.0 to 0.33.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
        in [https://github.com/gruntwork-io/terragrunt/pull/4268](https://redirect.github.com/gruntwork-io/terragrunt/pull/4268)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.79.3...v0.80.0\n\n###
        [`v0.79.3`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.79.3)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.79.2...v0.79.3)\n\n#####
        \U0001F4AA\U0001F3FD Enhancements\n\n##### Limitation on Catalog URLs lifted\n\nA
        limitation on only supporting recognized go-getter URL patters has been lifted
        from the [catalog](https://terragrunt.gruntwork.io/docs/features/catalog/)
        command.\n\nThe reason this limitation existed in the past was to ensure that
        users were able to have Terragrunt load module source code in browsers from
        the catalog Terminal User Interface (TUI). To support that, only a constrained
        set of sources were supported, to ensure that a button was available to pop
        open the link in the browser.\n\n<img width=\"670\" alt=\"image\" src=\"https://github.com/user-attachments/assets/92dc016e-3bc5-46f5-b690-da3043590c24\"
        />\n\n<img width=\"666\" alt=\"image\" src=\"https://github.com/user-attachments/assets/f512e901-4deb-4771-8cbd-ea3d54cf5594\"
        />\n\nTerragrunt will now dynamically adjust the buttons available after module
        selection to gracefully degrade the experience, instead of completely rejecting
        repository sources that can't be predictably converted to browser URLs.\n\n<img
        width=\"346\" alt=\"image\" src=\"https://github.com/user-attachments/assets/76a7b1e5-c148-42b2-a696-d7fd750e866d\"
        />\n\nThis allows more users to adopt the Terragrunt Catalog, while providing
        the same great user experience for users that are on fully supported platforms,
        like GitHub, GitLab, BitBucket, etc.\n\n##### What's Changed\n\n-   feat:
        Allow unknown catalog URLs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4318](https://redirect.github.com/gruntwork-io/terragrunt/pull/4318)\n-
        \  docs: Clarify ambiguous documentation on variable precedence by [@&#8203;owattley-rotageek](https://redirect.github.com/owattley-rotageek)
        in [https://github.com/gruntwork-io/terragrunt/pull/4319](https://redirect.github.com/gruntwork-io/terragrunt/pull/4319)\n-
        \  chore: Adjusting catalog implementation by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4315](https://redirect.github.com/gruntwork-io/terragrunt/pull/4315)\n\n#####
        New Contributors\n\n-   [@&#8203;owattley-rotageek](https://redirect.github.com/owattley-rotageek)
        made their first contribution in [https://github.com/gruntwork-io/terragrunt/pull/4319](https://redirect.github.com/gruntwork-io/terragrunt/pull/4319)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.79.2...v0.79.3\n\n###
        [`v0.79.2`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.79.2)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.79.1...v0.79.2)\n\n#####
        \U0001F697 Performance Improvements\n\nImproved overall performance by memoizing
        `-version` output in each unit.\n\n##### What's Changed\n\n-   feat: Improved
        performance by memoizing `-version` output by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4288](https://redirect.github.com/gruntwork-io/terragrunt/pull/4288)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.79.1...v0.79.2\n\n###
        [`v0.79.1`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.79.1)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.79.0...v0.79.1)\n\n####
        \U0001F4AA\U0001F3FD Enhancements\n\n##### Recursive stack clean\n\nImproved
        `stack clean` to recursively delete all nested stack directories, ensuring
        thorough cleanup.\n\n#### What's Changed\n\n-   feat: Enabled recursive deletion
        of stack directories in `stack clean` by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4313](https://redirect.github.com/gruntwork-io/terragrunt/pull/4313)\n-
        \  feat: Switching to GitHub Actions OIDC role assumption for OIDC test by
        [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4305](https://redirect.github.com/gruntwork-io/terragrunt/pull/4305)\n-
        \  fix: Corrected mislabeled `legacy-all` control in documentation by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4311](https://redirect.github.com/gruntwork-io/terragrunt/pull/4311)\n-
        \  fix: Enabled disabled tests by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4312](https://redirect.github.com/gruntwork-io/terragrunt/pull/4312)\n-
        \  docs: updated quick start documentation with additional output directory
        usage by [@&#8203;james03160927](https://redirect.github.com/james03160927)
        in [https://github.com/gruntwork-io/terragrunt/pull/4299](https://redirect.github.com/gruntwork-io/terragrunt/pull/4299)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.79.0...v0.79.1\n\n###
        [`v0.79.0`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.79.0)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.4...v0.79.0)\n\n####
        \U0001F4AA\U0001F3FD Enhancements\n\n##### The `run --all` command automatically
        generates Terragrunt Stacks\n\nIf you are using `terragrunt.stack.hcl` files
        in your codebase, `run --all` commands will now automatically expand all `terragrunt.stack.hcl`
        files into generated stack configurations, as if you had run `stack generate`
        before running the `run --all` command.\n\ne.g.\n\n```bash\nterragrunt run
        --all plan\n```\n\nIs now equivalent to:\n\n```bash\nterragrunt stack generate\nterragrunt
        run --all plan\n```\n\nIf you would like to disable this new behavior, you
        can use the `--no-stack-generate` to opt out of automatic stack generation.\n\n####
        \U0001F4D6 Docs Updates\n\nThe [Terragrunt v1](https://terragrunt-v1.gruntwork.io/)
        docs are open for feedback!\n\nThese docs will undergo significant adjustments,
        both stylistically, and functionality on the road to 1.0.\n\nThey are a full
        rewrite of the existing Terragrunt Docs site written in [Jekyll](https://jekyllrb.com/)
        to one using [Starlight](https://starlight.astro.build/).\n\nYour feedback
        is requested! If you are reading these release notes relatively soon after
        release, you should see a link at the top of the site where you can provide
        your feedback on the new docs.\n\n#### What's Changed\n\n-   feat: Moving
        users over to terragrunt-v1.gruntwork.io docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4202](https://redirect.github.com/gruntwork-io/terragrunt/pull/4202)\n-
        \  feat: Adding GTM by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4285](https://redirect.github.com/gruntwork-io/terragrunt/pull/4285)\n-
        \  feat: Github Action tests migration by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4281](https://redirect.github.com/gruntwork-io/terragrunt/pull/4281)\n-
        \  feat: Automatically stack generate in run --all or run --graph command
        by [@&#8203;james03160927](https://redirect.github.com/james03160927) in [https://github.com/gruntwork-io/terragrunt/pull/4283](https://redirect.github.com/gruntwork-io/terragrunt/pull/4283)\n-
        \  feat: Adding cloud-nuke cron by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4306](https://redirect.github.com/gruntwork-io/terragrunt/pull/4306)\n-
        \  feat: Adjusting nav height by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4284](https://redirect.github.com/gruntwork-io/terragrunt/pull/4284)\n-
        \  fix: Fixing `remote-relative-with-slash` fixture on ARM tests by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4297](https://redirect.github.com/gruntwork-io/terragrunt/pull/4297)\n-
        \  fix: Fixing install version by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4310](https://redirect.github.com/gruntwork-io/terragrunt/pull/4310)\n-
        \  fix: Improved error handling in AWS docs by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4303](https://redirect.github.com/gruntwork-io/terragrunt/pull/4303)\n-
        \  chore: enable TestRemoteDownloadWithRelativePathAndSlashInBranch test by
        [@&#8203;denis256](https://redirect.github.com/denis256) in [https://github.com/gruntwork-io/terragrunt/pull/4286](https://redirect.github.com/gruntwork-io/terragrunt/pull/4286)\n-
        \  build(deps): bump ruby/setup-ruby from 1.233.0 to 1.238.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
        in [https://github.com/gruntwork-io/terragrunt/pull/4270](https://redirect.github.com/gruntwork-io/terragrunt/pull/4270)\n-
        \  build(deps): bump github.com/gruntwork-io/terratest from 0.48.2 to 0.49.0
        by [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4267](https://redirect.github.com/gruntwork-io/terragrunt/pull/4267)\n-
        \  build(deps): bump ruby/setup-ruby from 1.238.0 to 1.242.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
        in [https://github.com/gruntwork-io/terragrunt/pull/4301](https://redirect.github.com/gruntwork-io/terragrunt/pull/4301)\n-
        \  build(deps): bump DavidAnson/markdownlint-cli2-action from 19 to 20 by
        [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4302](https://redirect.github.com/gruntwork-io/terragrunt/pull/4302)\n\n####
        New Contributors\n\n-   [@&#8203;james03160927](https://redirect.github.com/james03160927)
        made their first contribution in [https://github.com/gruntwork-io/terragrunt/pull/4283](https://redirect.github.com/gruntwork-io/terragrunt/pull/4283)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.4...v0.79.0\n\n###
        [`v0.78.4`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.4)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.3...v0.78.4)\n\n####
        \u2728 New Features\n\n##### OpenTelemetry Trace Propogation\n\nIn anticipation
        of the introduction of OpenTelemetry support in OpenTofu 1.10, Terragrunt
        will now propagate the `TRACEPARENT` environment variable to child processes
        to support OpenTelemetry traces that maintain context across Terragrunt and
        OpenTofu.\n\nThis work is based on [@&#8203;Yantrio](https://redirect.github.com/Yantrio)
        's PoC PR [#&#8203;4254](https://redirect.github.com/gruntwork-io/terragrunt/issues/4254),
        and is only useful due to his work adding OpenTelemtry in OpenTofu. Thank
        you!\n\n#### What's Changed\n\n-   feat: Added generation of opentelemetry
        parent traces to invoked executables by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4278](https://redirect.github.com/gruntwork-io/terragrunt/pull/4278)\n-
        \  feat: Added support for Terraform tests in Github Action by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4275](https://redirect.github.com/gruntwork-io/terragrunt/pull/4275)\n-
        \  docs: Added homepage to Starlight docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4250](https://redirect.github.com/gruntwork-io/terragrunt/pull/4250)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.3...v0.78.4\n\n###
        [`v0.78.3`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.3)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.2...v0.78.3)\n\n####
        \U0001F41B Bug Fixes\n\nWhen an [error retry](https://terragrunt.gruntwork.io/docs/features/runtime-control/#errors)
        results in a plan succeeding when it initially failed, usage of `run --all
        -- plan -detailed-exitcode` will now properly take into account the *final*
        exit code, rather than the first one, meaning that the exit code of the whole
        run will be zero if no other units fail their plans.\n\nThanks to [@&#8203;wakeful](https://redirect.github.com/wakeful)
        for contributing this fix!\n\n#### What's Changed\n\n-   fix [#&#8203;3845](https://redirect.github.com/gruntwork-io/terragrunt/issues/3845)
        set the correct exit code when a retry is successful. by [@&#8203;wakeful](https://redirect.github.com/wakeful)
        in [https://github.com/gruntwork-io/terragrunt/pull/3966](https://redirect.github.com/gruntwork-io/terragrunt/pull/3966)\n-
        \  docs: Improving Run Queue docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4272](https://redirect.github.com/gruntwork-io/terragrunt/pull/4272)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.2...v0.78.3\n\n###
        [`v0.78.2`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.2)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.1...v0.78.2)\n\n#####
        What's Changed\n\n-   feat: enable GCP integration tests in GH Action by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4257](https://redirect.github.com/gruntwork-io/terragrunt/pull/4257)\n-
        \  feat: fixed TestGcpWorksWithImpersonateBackend test by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4261](https://redirect.github.com/gruntwork-io/terragrunt/pull/4261)\n-
        \  feat: Adding integration tests by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4198](https://redirect.github.com/gruntwork-io/terragrunt/pull/4198)\n-
        \  feat: add Windows integration tests by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4262](https://redirect.github.com/gruntwork-io/terragrunt/pull/4262)\n-
        \  fix: Removing HTML `font-size` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4256](https://redirect.github.com/gruntwork-io/terragrunt/pull/4256)\n-
        \  docs: Adding Run Queue Docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4249](https://redirect.github.com/gruntwork-io/terragrunt/pull/4249)\n-
        \  build(deps): bump github.com/gruntwork-io/boilerplate to v0.6.1 by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
        \  build(deps): bump github.com/gruntwork-io/terragrunt-engine-go to v0.0.14
        by [@&#8203;denis256](https://redirect.github.com/denis256) in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
        \  build(deps): bump golang.org/x/oauth2 to v0.30.0 by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
        \  build(deps): bump golang.org/x/sync to v0.14.0 by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
        \  build(deps): bump google.golang.org/api to v0.232.0 by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
        \  build(deps): bump google.golang.org/grpc to v1.72.0 by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
        \  chore: dependencies update by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.1...v0.78.2\n\n###
        [`v0.78.1`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.1)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.0...v0.78.1)\n\n####
        What's Changed\n\n-   docs: Updating docs now that stacks are generally available
        by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4243](https://redirect.github.com/gruntwork-io/terragrunt/pull/4243)\n-
        \  fix: AWS S3 backend access logging bucket not versioning by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
        in [https://github.com/gruntwork-io/terragrunt/pull/4246](https://redirect.github.com/gruntwork-io/terragrunt/pull/4246)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.0...v0.78.1\n\n###
        [`v0.78.0`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.0)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.22...v0.78.0)\n\n####
        \U0001F9EA Experiments Completed\n\nThe [stacks](https://terragrunt.gruntwork.io/docs/reference/experiments/#stacks)
        experiment is now complete.\n\nIf you were previously using the flag `--experiment
        stacks` to opt in to experimental functionality, you no longer have to do
        so. Note that if you are, you will simply get a warning that it is no longer
        necessary.\n\n#### \U0001F6E0\uFE0F Breaking Changes\n\nLegacy commands (as
        replaced by the [CLI Redesign](https://redirect.github.com/gruntwork-io/terragrunt/issues/3445)
        are now deprecated, and will be phased out at a future date, which will be
        scheduled in [#&#8203;3535](https://redirect.github.com/gruntwork-io/terragrunt/issues/3535).
        Make sure to subscribe to the issue if you would like to be informed when
        these deprecated features are no longer supported.\n\nFor instructions on
        migrating to the new commands provided after the CLI Redesign, read the [CLI
        Redesign Migration Guide](https://terragrunt.gruntwork.io/docs/migrate/cli-redesign/).\n\nThe
        following are now deprecated:\n\n-   `hclfmt` (use `hcl fmt` instead)\n-   `hclvalidate`
        (use `hcl validate` instead)\n-   `validate-inputs` (use `hcl validate --inputs`
        and `hcl validate --inputs --strict` instead)\n-   `terragrunt-info` (use
        `info print` instead)\n-   `output-module-groups` (use `find --dag --json`
        instead)\n-   `render-json` (use `render --json -w` instead)\n-   `graph-dependencies`
        (use `dag graph` instead)\n-   `run-all` (use `run --all` instead)\n-   `graph`
        (use `run --graph` instead)\n-   The default command. e.g. `terragrunt workspace
        list` (use `terragrunt run -- workspace list` instead)\n-   Default bootstrap
        (automatically provisioning backend resources without additional flags). This
        is now opt in behavior, and requires usage of the `--backend-bootstrap` flag
        or explicitly running the new `backend bootstrap` command.\n-   `aws-provider-patch`
        (we are simply deprecating this command, and removing it when the other commands
        are removed. It served its purpose as a short term stopgap tool).\n\nNote
        that this will not result in an immediate breaking change for users, as we\u2019ll
        have an initial deprecation window to give users time to adjust to these changes.
        If you\u2019d like to ensure that you are prepared for the future removal
        of legacy commands, you can take advantage of the [cli-redesign](https://terragrunt.gruntwork.io/docs/reference/strict-mode/#cli-redesign)
        strict control to opt in to the future breaking change early.\n\n#### \U0001F4AA\U0001F3FD
        \ Enhancements\n\nThe logging for stack generation has been improved to make
        it easier to determine at a glance the stack file that\u2019s generating a
        particular unit.\n\n![stacks-generation](https://redirect.github.com/user-attachments/assets/11c49c92-edfd-4d3a-b2c6-4bae4326e0e2)\n\n####
        What's Changed\n\n-   feat: improved stack logs generation by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4213](https://redirect.github.com/gruntwork-io/terragrunt/pull/4213)\n-
        \  feat: stacks expriment completion by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4222](https://redirect.github.com/gruntwork-io/terragrunt/pull/4222)\n-
        \  feat: Deprecating `render-json` command by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
        in [https://github.com/gruntwork-io/terragrunt/pull/4227](https://redirect.github.com/gruntwork-io/terragrunt/pull/4227)\n-
        \  feat: Deprecating `aws-provider-patch` command by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
        in [https://github.com/gruntwork-io/terragrunt/pull/4228](https://redirect.github.com/gruntwork-io/terragrunt/pull/4228)\n-
        \  feat: Deprecating `output-module-groups` command by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
        in [https://github.com/gruntwork-io/terragrunt/pull/4229](https://redirect.github.com/gruntwork-io/terragrunt/pull/4229)\n-
        \  fix: Fixing base tests for macOS by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4193](https://redirect.github.com/gruntwork-io/terragrunt/pull/4193)\n-
        \  fix: Fixing 404 in performance docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4194](https://redirect.github.com/gruntwork-io/terragrunt/pull/4194)\n-
        \  fix: basic tests execution update by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4192](https://redirect.github.com/gruntwork-io/terragrunt/pull/4192)\n-
        \  fix: Throwing interrupt signal with `--all` flag by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
        in [https://github.com/gruntwork-io/terragrunt/pull/4224](https://redirect.github.com/gruntwork-io/terragrunt/pull/4224)\n-
        \  fix: handling of errors in parsing base blocks by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4226](https://redirect.github.com/gruntwork-io/terragrunt/pull/4226)\n-
        \  fix: Cleaning up legacy `-all` usage by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4239](https://redirect.github.com/gruntwork-io/terragrunt/pull/4239)\n-
        \  fix: Rename all the `--terragrunt-` flags by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4203](https://redirect.github.com/gruntwork-io/terragrunt/pull/4203)\n-
        \  fix: Cleaning up `run-all` usage by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4223](https://redirect.github.com/gruntwork-io/terragrunt/pull/4223)\n-
        \  fix: Updating environment variables for flags by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4240](https://redirect.github.com/gruntwork-io/terragrunt/pull/4240)\n-
        \  fix: Updating migration guide for CLI Redesign migration by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4207](https://redirect.github.com/gruntwork-io/terragrunt/pull/4207)\n-
        \  docs: Adding docs for `cli-redesign` strict control by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4238](https://redirect.github.com/gruntwork-io/terragrunt/pull/4238)\n-
        \  docs: Documenting CLI Redesign deprecations by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4237](https://redirect.github.com/gruntwork-io/terragrunt/pull/4237)\n-
        \  docs: updated stack links by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4201](https://redirect.github.com/gruntwork-io/terragrunt/pull/4201)\n-
        \  chore: Preserve tests with deprecated commands/flags by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
        in [https://github.com/gruntwork-io/terragrunt/pull/4242](https://redirect.github.com/gruntwork-io/terragrunt/pull/4242)\n-
        \  chore: `hclfmt` `hclvalidate` `validate-inputs` as deprecated commands
        (minor fixes) by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
        in [https://github.com/gruntwork-io/terragrunt/pull/4199](https://redirect.github.com/gruntwork-io/terragrunt/pull/4199)\n-
        \  chore: `hclfmt` `hclvalidate` `validate-inputs` as deprecated commands
        by [@&#8203;levkohimins](https://redirect.github.com/levkohimins) in [https://github.com/gruntwork-io/terragrunt/pull/4196](https://redirect.github.com/gruntwork-io/terragrunt/pull/4196)\n-
        \  build(deps): bump github.com/getsops/sops/v3 from 3.10.1 to 3.10.2 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
        in [https://github.com/gruntwork-io/terragrunt/pull/4185](https://redirect.github.com/gruntwork-io/terragrunt/pull/4185)\n-
        \  build(deps): bump go.opentelemetry.io/otel/exporters/stdout/stdouttrace
        from 1.34.0 to 1.35.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
        in [https://github.com/gruntwork-io/terragrunt/pull/4184](https://redirect.github.com/gruntwork-io/terragrunt/pull/4184)\n-
        \  build(deps): bump DavidAnson/markdownlint-cli2-action from 15 to 19 by
        [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4187](https://redirect.github.com/gruntwork-io/terragrunt/pull/4187)\n-
        \  build(deps): bump ruby/setup-ruby from 1.230.0 to 1.233.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
        in [https://github.com/gruntwork-io/terragrunt/pull/4186](https://redirect.github.com/gruntwork-io/terragrunt/pull/4186)\n-
        \  build(deps-dev): bump nokogiri from 1.18.4 to 1.18.8 in /docs by [@&#8203;dependabot](https://redirect.github.com/dependabot)
        in [https://github.com/gruntwork-io/terragrunt/pull/4195](https://redirect.github.com/gruntwork-io/terragrunt/pull/4195)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.22...v0.78.0\n\n###
        [`v0.77.22`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.22)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.21...v0.77.22)\n\n####
        \U0001F9EA Experiments Completed\n\n##### The `cli-redesign` experiment is
        now complete\n\nThe [cli-redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
        experiment is now complete.\n\nIf you were previously using the flag `--experiment
        cli-redesign` to opt in to experimental functionality, you no longer have
        to do so. Note that if you are, you will simply get a warning that it is no
        longer necessary.\n\n#### What's Changed\n\n-   feat: Adding base tests by
        [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4176](https://redirect.github.com/gruntwork-io/terragrunt/pull/4176)\n-
        \  chore: Complete CLI Redesign experiment by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4189](https://redirect.github.com/gruntwork-io/terragrunt/pull/4189)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.21...v0.77.22\n\n###
        [`v0.77.21`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.21)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.20...v0.77.21)\n\n####
        \u2728 New Features\n\n##### Introduction of `hcl` commands\n\nAs part of
        the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
        experiment, the [`hcl`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#hcl-commands)
        commands have been introduced.\n\nThe `hcl` commands allow users to directly
        interact with HCL content independent of the underlying functionality they
        support.\n\nThe functionality of the `hcl` commands replace existing functionality
        that is soon to be deprecated:\n\n-   `hclfmt` --> `hcl fmt`\n-   `hclvalidate`
        --> `hcl validate`\n-   `validate-inputs` --> `hcl validate --inputs`\n-   `validate-inputs
        --strict-validate` --> `hcl validate --inputs --strict`\n\n#### What's Changed\n\n-
        \  feat: `hcl` commands docs by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
        in [https://github.com/gruntwork-io/terragrunt/pull/4180](https://redirect.github.com/gruntwork-io/terragrunt/pull/4180)\n-
        \  feat: add symbol link experiemnt in discovery process by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4177](https://redirect.github.com/gruntwork-io/terragrunt/pull/4177)\n-
        \  feat: Implementation of `hcl` commands by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
        in [https://github.com/gruntwork-io/terragrunt/pull/4169](https://redirect.github.com/gruntwork-io/terragrunt/pull/4169)\n-
        \  fix: Adding redirect from /docs/reference/experiment-mode to /docs/reference/experiments
        by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4178](https://redirect.github.com/gruntwork-io/terragrunt/pull/4178)\n-
        \  fix: Fix spelling by [@&#8203;hpe-noinarisak](https://redirect.github.com/hpe-noinarisak)
        in [https://github.com/gruntwork-io/terragrunt/pull/4179](https://redirect.github.com/gruntwork-io/terragrunt/pull/4179)\n-
        \  fix: Update status of cli-redesign experiment by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4188](https://redirect.github.com/gruntwork-io/terragrunt/pull/4188)\n-
        \  build(deps): bump github.com/charmbracelet/bubbles from 0.20.0 to 0.21.0
        by [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4160](https://redirect.github.com/gruntwork-io/terragrunt/pull/4160)\n\n####
        New Contributors\n\n-   [@&#8203;hpe-noinarisak](https://redirect.github.com/hpe-noinarisak)
        made their first contribution in [https://github.com/gruntwork-io/terragrunt/pull/4179](https://redirect.github.com/gruntwork-io/terragrunt/pull/4179)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.20...v0.77.21\n\n###
        [`v0.77.20`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.20)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.19...v0.77.20)\n\n####
        What's Changed\n\n-   build: Added `build-no-proxy.yml` workflow by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4171](https://redirect.github.com/gruntwork-io/terragrunt/pull/4171)\n-
        \  build: Added `lint.yml` and `strict-lint.yml` workflows for GitHub Actions
        by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4172](https://redirect.github.com/gruntwork-io/terragrunt/pull/4172)\n-
        \  build: Added codespell workflow by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4173](https://redirect.github.com/gruntwork-io/terragrunt/pull/4173)\n-
        \  build: Added markdownlint v2 to GitHub Actions workflows by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4175](https://redirect.github.com/gruntwork-io/terragrunt/pull/4175)\n-
        \  docs: Improved getting started guide by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4174](https://redirect.github.com/gruntwork-io/terragrunt/pull/4174)\n-
        \  build(deps): bump github.com/ProtonMail/go-crypto from 1.1.6 to 1.2.0 by
        [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4161](https://redirect.github.com/gruntwork-io/terragrunt/pull/4161)\n-
        \  build(deps): bump golang.org/x/term from 0.30.0 to 0.31.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
        in [https://github.com/gruntwork-io/terragrunt/pull/4159](https://redirect.github.com/gruntwork-io/terragrunt/pull/4159)\n-
        \  build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.78.2 to
        1.79.2 by [@&#8203;dependabot](https://redirect.github.com/dependabot) in
        [https://github.com/gruntwork-io/terragrunt/pull/4158](https://redirect.github.com/gruntwork-io/terragrunt/pull/4158)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.19...v0.77.20\n\n###
        [`v0.77.19`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.19)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.18...v0.77.19)\n\n####
        \u2728 New Features\n\n##### OpenTelemetry traces are now integrated into
        `find` and `list` commands\n\nfind telemetry:\n![image](https://redirect.github.com/user-attachments/assets/eb5ff11a-e90f-4b5d-bec0-c99cb1419f57)\n\nlist
        telemetry:\n![image](https://redirect.github.com/user-attachments/assets/7af232f1-e822-4aae-8230-12257c359d21)\n\n####
        What's Changed\n\n-   feat: Implemented telemetry for find/list by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4165](https://redirect.github.com/gruntwork-io/terragrunt/pull/4165)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.18...v0.77.19\n\n###
        [`v0.77.18`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.18)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.17...v0.77.18)\n\n####
        \u2728 New Features\n\n##### Support for HCL formatting with the `render`
        command\n\nAs part of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
        experiment, the [`render`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#backend-migrate)
        command now supports HCL formatting for rendered configurations, which is
        the default output format.\n\nUsing the `render` command with HCL formatting
        allows users to get a quick, minimal evaluation of Terragrunt unit configurations
        with as much pre-processing done as possible.\n\nFor example, the following
        `terragrunt.hcl` file:\n\n```hcl\n\n### terragrunt.hcl\n\nlocals {\n  aws_region
        = \"us-east-1\"\n}\n\ninputs = {\n  aws_region = local.aws_region\n}\n```\n\nRenders
        to the following HCL:\n\n```bash\n$ terragrunt render\nlocals {\n  aws_region
        = \"us-east-1\"\n}\ninputs = {\n  aws_region = \"us-east-1\"\n}\n```\n\nUsing
        the `render` command with HCL formatting offers a way to resolve complex HCL
        function evaluation, include merging or string interpolation, etc. to achieve
        equivalent Terragrunt HCL configurations that are easier to reason about.\n\n####
        What's Changed\n\n-   feat: Adding `render` with HCL formatting by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4164](https://redirect.github.com/gruntwork-io/terragrunt/pull/4164)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.17...v0.77.18\n\n###
        [`v0.77.17`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.17)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.16...v0.77.17)\n\n####
        \u2728 New Features\n\n##### Introduction of the `render` command\n\nAs part
        of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
        experiment, the [`render`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#backend-migrate)
        command has been introduced.\n\nThe `render` command allows users to easily
        render Terragrunt unit configurations with reduced complexity, making it easier
        to understand configurations at a glance.\n\nFor example, the following `terragrunt.hcl`
        file:\n\n```hcl\n\n### terragrunt.hcl\n\nlocals {\n  aws_region = \"us-east-1\"\n}\n\ninputs
        = {\n  aws_region = local.aws_region\n}\n```\n\nRenders to the following JSON:\n\n```bash\n$
        terragrunt render --format json\n{\n  \"locals\": { \"aws_region\": \"us-east-1\"
        },\n  \"inputs\": { \"aws_region\": \"us-east-1\" }\n  // NOTE: other attributes
        are omitted for brevity\n}\n```\n\nThe introduction of the `render` command
        is part of the eventual deprecation of the existing `render-json` command,
        which will be deprecated by the end of the CLI Redesign. The `render` command
        is a higher level command, that offers the ability to write to stdout, in
        addition to writing to files, and will support HCL configurations in addition
        to JSON (coming soon).\n\nTo learn more about the `render` command, read the
        official documentation [here](https://terragrunt.gruntwork.io/docs/reference/cli-options/#render).\n\n####
        What's Changed\n\n-   feat: Adding `render` command by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4145](https://redirect.github.com/gruntwork-io/terragrunt/pull/4145)\n-
        \  feat: Adding docs for `backend migrate` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4140](https://redirect.github.com/gruntwork-io/terragrunt/pull/4140)\n-
        \  build(deps): bump ruby/setup-ruby from 1.229.0 to 1.230.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
        in [https://github.com/gruntwork-io/terragrunt/pull/4162](https://redirect.github.com/gruntwork-io/terragrunt/pull/4162)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.16...v0.77.17\n\n###
        [`v0.77.16`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.16)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.15...v0.77.16)\n\n####
        \u2728 New Features\n\n##### Introduction of the `backend migrate` command\n\nAs
        part of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
        experiment, the [`backend migrate`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#backend-migrate)
        command has been introduced.\n\nThe `backend migrate` command allows you to
        simply migrate state between different units (or renames of units) without
        manually running OpenTofu/Terraform state migration commands.\n\nTo learn
        more about the `backend migrate` command, read the [official docs](https://terragrunt.gruntwork.io/docs/reference/cli-options/#backend-migrate).\n\n####
        What's Changed\n\n-   feat: Added support for migrating state between different
        backends by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
        in [https://github.com/gruntwork-io/terragrunt/pull/4154](https://redirect.github.com/gruntwork-io/terragrunt/pull/4154)\n-
        \  feat: Enhanced error explainer to detect and report issues related to `stack`
        values by [@&#8203;denis256](https://redirect.github.com/denis256) in [https://github.com/gruntwork-io/terragrunt/pull/4163](https://redirect.github.com/gruntwork-io/terragrunt/pull/4163)\n-
        \  fix: Improved the deprecation message for experimental command flags by
        [@&#8203;levkohimins](https://redirect.github.com/levkohimins) in [https://github.com/gruntwork-io/terragrunt/pull/4146](https://redirect.github.com/gruntwork-io/terragrunt/pull/4146)\n-
        \  fix: Prevent `TF_CLI_CONFIG_FILE` environment variable from being overwritten,
        except during `init` and `providers` commands by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
        in [https://github.com/gruntwork-io/terragrunt/pull/4155](https://redirect.github.com/gruntwork-io/terragrunt/pull/4155)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.15...v0.77.16\n\n###
        [`v0.77.15`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.15)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.14...v0.77.15)\n\n####
        \u2728 New Features\n\n##### Introduction of the `dag graph` command\n\nAs
        part of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
        experiment, the [`dag graph`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#print-graph)
        command has been introduced.\n\n![dag](https://redirect.github.com/user-attachments/assets/389d4e31-197c-4c37-8913-1417ecd3e5b4)\n\n![dag-help](https://redirect.github.com/user-attachments/assets/2525cd27-0d8e-457b-87ea-759fae31e2f3)\n\n![dag-graph-help](https://redirect.github.com/user-attachments/assets/fb268b20-f32b-4b4f-ba13-0d1fc9fca748)\n\n####
        What's Changed\n\n-   docs: Added migration guide for adopting Terragrunt
        Stacks by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4152](https://redirect.github.com/gruntwork-io/terragrunt/pull/4152)\n-
        \  feat: Added dag graph command by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4143](https://redirect.github.com/gruntwork-io/terragrunt/pull/4143)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.14...v0.77.15\n\n###
        [`v0.77.14`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.14)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.13...v0.77.14)\n\n####
        \u2728 New Features\n\n##### Support for `--exclude` and `--queue-construct-as`
        in `find` and `list`\n\nThe [`find`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#find)
        and [`list`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#list)
        commands have been updated to leverage new capabilities involving greater
        understanding of the Terragrunt run queue.\n\nUsers can now leverage the [`--queue-construct-as`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#find-queue-construct-as)
        (or just `--as`) flag in the `find` and `list` commands to discover configurations
        as if a particular Terragrunt command was being run (e.g. `plan`, `destroy`).\n\nFor
        example:\n\n```bash\n$ terragrunt find --queue-construct-as=plan\nstacks/live/dev\nstacks/live/prod\nunits/live/dev/vpc\nunits/live/prod/vpc\nunits/live/dev/db\nunits/live/prod/db\nunits/live/dev/ec2\nunits/live/prod/ec2\n```\n\n```bash\n$
        terragrunt find --as=destroy\nstacks/live/dev\nstacks/live/prod\nunits/live/dev/ec2\nunits/live/prod/ec2\nunits/live/dev/db\nunits/live/prod/db\nunits/live/dev/vpc\nunits/live/prod/vpc\n```\n\nThe
        `find` and `list` commands will now construct the Terragrunt run queue as
        if a particular command was being run, potentially altering the position of
        elements in the run queue, based on their dependencies (dependencies before
        dependents for plans, applies, etc. and dependents before dependencies for
        destroys).\n\nIn addition, users can leverage the [`--exclude`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#find-exclude)
        flag on the `find` command to get information on the `exclude` block included
        in results. The `exclude` block is also factored in to discovery results when
        the `--queue-construct-as` flag is passed, allowing users to dry-run behavior
        of the `exclude` block before performing any Terragrunt runs.\n\n#### What's
        Changed\n\n-   feat: Adding exclude support to list and find by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4147](https://redirect.github.com/gruntwork-io/terragrunt/pull/4147)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.13...v0.77.14\n\n###
        [`v0.77.13`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.13)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.12...v0.77.13)\n\n####
        What's Changed\n\n-   build(deps): bump google.golang.org/grpc from 1.71.0
        to 1.71.1 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
        in [https://github.com/gruntwork-io/terragrunt/pull/4132](https://redirect.github.com/gruntwork-io/terragrunt/pull/4132)\n-
        \  build(deps): bump golang.org/x/sys from 0.31.0 to 0.32.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
        in [https://github.com/gruntwork-io/terragrunt/pull/4133](https://redirect.github.com/gruntwork-io/terragrunt/pull/4133)\n-
        \  build(deps): bump golang.org/x/oauth2 from 0.28.0 to 0.29.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
        in [https://github.com/gruntwork-io/terragrunt/pull/4131](https://redirect.github.com/gruntwork-io/terragrunt/pull/4131)\n-
        \  build(deps): bump github.com/getsops/sops/v3 from 3.9.4 to 3.10.1 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
        in [https://github.com/gruntwork-io/terragrunt/pull/4130](https://redirect.github.com/gruntwork-io/terragrunt/pull/4130)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.12...v0.77.13\n\n###
        [`v0.77.12`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.12)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.11...v0.77.12)\n\n####
        \u2728 New Features\n\nIntroduced `no_validation` attribute for `stack` and
        `unit`, allowing users to bypass Terragrunt's validation checks when deploying
        infrastructure. This is particularly useful in scenarios where you need to
        deploy infrastructure that doesn't strictly adhere to Terragrunt's validation
        rules, such as during emergency deployments or when working with legacy infrastructure
        patterns.\n\n#### What's Changed\n\n-   docs: added more docs for stacks by
        [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4144](https://redirect.github.com/gruntwork-io/terragrunt/pull/4144)\n-
        \  feat: added support for `no_validation` attribute for `stack` and `unit`
        by [@&#8203;denis256](https://redirect.github.com/denis256) in [https://github.com/gruntwork-io/terragrunt/pull/4149](https://redirect.github.com/gruntwork-io/terragrunt/pull/4149)\n\nRFC:
        [https://github.com/gruntwork-io/terragrunt/issues/3313](https://redirect.github.com/gruntwork-io/terragrunt/issues/3313)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.11...v0.77.12\n\n###
        [`v0.77.11`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.11)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.10...v0.77.11)\n\n####
        \u2728 New Features\n\n##### Introduction of the `info print` command\n\nAs
        part of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
        experiment, the [`info print`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#print-command)
        command has been introduced.\n\n![help](https://redirect.github.com/user-attachments/assets/2eac4645-93c2-47dd-8dc3-73c4442bf1c8)\n\n![out](https://redirect.github.com/user-attachments/assets/7005c5db-15e1-4efe-b5a8-349a179f6033)\n\n####
        What's Changed\n\n-   feat: Introduced the `info print` command to output
        Terragrunt context as a structured JSON object by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4122](https://redirect.github.com/gruntwork-io/terragrunt/pull/4122)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.10...v0.77.11\n\n###
        [`v0.77.10`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.10)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.9...v0.77.10)\n\n####
        What's Changed\n\n-   fix: Suppressing warning for catalog when determining
        default file name by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4134](https://redirect.github.com/gruntwork-io/terragrunt/pull/4134)\n-
        \  fix: Remove warning message for unimplemented backends by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
        in [https://github.com/gruntwork-io/terragrunt/pull/4138](https://redirect.github.com/gruntwork-io/terragrunt/pull/4138)\n-
        \  fix: Fixing optional default template by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4141](https://redirect.github.com/gruntwork-io/terragrunt/pull/4141)\n-
        \  chore: stack code improvements by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4136](https://redirect.github.com/gruntwork-io/terragrunt/pull/4136)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.9...v0.77.10\n\n###
        [`v0.77.9`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.9)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.8...v0.77.9)\n\n####
        \U0001F41B Bug fixes\n\n##### Fetching Outputs from Nested Stacks\n\nResolved
        an issue that prevented the correct retrieval of outp\n\n</details>\n\n---\n\n###
        Configuration\n\n\U0001F4C5 **Schedule**: Branch creation - At any time (no
        schedule defined), Automerge - At any time (no schedule defined).\n\n\U0001F6A6
        **Automerge**: Disabled by config. Please merge this manually once you are
        satisfied.\n\n\u267B **Rebasing**: Whenever PR becomes conflicted, or you
        tick the rebase/retry checkbox.\n\n\U0001F515 **Ignore**: Close this PR and
        you won't be reminded about this update again.\n\n---\n\n - [ ] <!-- rebase-check
        -->If you want to rebase/retry this PR, check this box\n\n---\n\nThis PR was
        generated by [Mend Renovate](https://mend.io/renovate/). View the [repository
        job log](https://developer.mend.io/github/osism/testbed).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjQwLjE2LjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbInJlbm92YXRlIl19-->\n"
      change_url: https://github.com/osism/testbed/pull/2654
      child_jobs: []
      commit_id: 235a4bafb85bb0b011a53f1f192d752ed338c02e
      event_id: 7b5b0960-3b33-11f0-8736-7cdb50a7ee83
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/43569b3ee4d44a3baffec9e0aef69d7c/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/43569b3ee4d44a3baffec9e0aef69d7c/work/logs
        result_data_file: /var/lib/zuul/builds/43569b3ee4d44a3baffec9e0aef69d7c/work/results.json
        src_root: /var/lib/zuul/builds/43569b3ee4d44a3baffec9e0aef69d7c/work/src
        work_root: /var/lib/zuul/builds/43569b3ee4d44a3baffec9e0aef69d7c/work
      include_vars: []
      items:
      - branch: main
        change: '2654'
        change_message: "chore(deps): update dependency gruntwork-io/terragrunt to
          v0.80.3\n\nThis PR contains the following updates:\n\n| Package | Update
          | Change |\n|---|---|---|\n| [gruntwork-io/terragrunt](https://redirect.github.com/gruntwork-io/terragrunt)
          | minor | `v0.77.3` -> `v0.80.3` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>gruntwork-io/terragrunt
          (gruntwork-io/terragrunt)</summary>\n\n### [`v0.80.3`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.80.3)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.80.2...v0.80.3)\n\n####
          \U0001F3CE\uFE0F\_Performance Improvements\n\n##### Significant performance
          improvements for `run --all`\n\nThe performance of `run --all` has been
          improved in two significant ways:\n\n1.  Performance for named includes
          has improved.\n\n    Backwards compatibility for bare includes required
          that Terragrunt do some inefficient work internally to handle both named
          includes and bare includes by doing an in-memory rewrite of Terragrunt configurations.
          An optimization has been introduced to avoid this behavior when users use
          named includes. This optimization does not extend to users that are using
          bare includes.\n\n    Users are advised to avoid using bare includes whenever
          possible for maximum performance. A [strict control](https://terragrunt.gruntwork.io/docs/reference/strict-mode/#bare-include)
          has been introduced to enforce usage of named includes.\n\n    In a future
          minor release, a warning will be emitted, instructing users to stop using
          bare includes. Maintainers will avoid breaking support for bare includes
          until at least 2.0.\n\n    For more information on how to benefit from this
          optimization, see the [migration guide](https://terragrunt.gruntwork.io/docs/migrate/bare-include/).\n2.
          \ The check for OpenTofu/Terraform code has been optimized.\n\n    To provide
          helpful error messages when users don't have OpenTofu/Terraform code for
          Terragrunt to run, Terragrunt checks for the presence of OpenTofu/Terraform
          configuration files (e.g. `*.tf`, `*.tofu`). This check has been optimized
          to improve performance.\n\nIn a micro-benchmark on an M3 Max, using the
          `BenchmarkManyEmptyTerragruntInits` benchmark, which tests the performance
          of a Terragrunt `run --all init` across 1000 inits, the following performance
          gains were released:\n\n-   42% speed improvement.\n-   43% memory reduction.\n\nMore
          optimizations of this sort are planned for future releases.\n\n##### Size
          reduction of compiled binaries\n\nThe size of compiled binaries will be
          reduced due to the stripping of debug symbols from the final executable.
          As an example, this drops the size of the compiled Linux AMD64 binary from
          99MB to 70MB.\n\nThis can be a small improvement to download times for environments
          where Terragrunt is downloaded frequently.\n\n#### \U0001F41B\_Bug Fixes\n\n#####
          Fixed `-detailed-exitcode` behavior in `run --all`\n\nAn unintended side-effect
          of addressing a different bug for Terragrunt\u2019s handling of the `-detailed-exitcode`
          flag in OpenTofu/Terraform in retries was that any run in a `run --all`
          could override the exit code of the entire `run --all`.\n\nThis has been
          fixed. The exit code of the `run --all -- plan -detailed-exitcode`  command
          will now properly aggregate exit codes from all runs in a `run --all`, only
          reseting the exit code for an individual unit if it properly recovers after
          a retry.\n\n#### What's Changed\n\n-   fix: Reverting to defer on cleanup
          for docs test by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4344](https://redirect.github.com/gruntwork-io/terragrunt/pull/4344)\n-
          \  fix: Get way more aggressive with cleanup by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4342](https://redirect.github.com/gruntwork-io/terragrunt/pull/4342)\n-
          \  fix: Removing unnecessary input on flake dispatch by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4337](https://redirect.github.com/gruntwork-io/terragrunt/pull/4337)\n-
          \  fix: Setting of right exit code in case of `-detailed-exitcode` by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4357](https://redirect.github.com/gruntwork-io/terragrunt/pull/4357)\n-
          \  fix: Adjusting tf check so that it's easier to update by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4360](https://redirect.github.com/gruntwork-io/terragrunt/pull/4360)\n-
          \  fix: Fixing discrepancy between Jekyll docs and Starlight docs for validate
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4359](https://redirect.github.com/gruntwork-io/terragrunt/pull/4359)\n-
          \  perf: Adding optimized tf code check by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4339](https://redirect.github.com/gruntwork-io/terragrunt/pull/4339)\n-
          \  perf: Deprecating bare includes by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4340](https://redirect.github.com/gruntwork-io/terragrunt/pull/4340)\n-
          \  docs: Documenting deprecation of bare includes by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4346](https://redirect.github.com/gruntwork-io/terragrunt/pull/4346)\n-
          \  chore: Reduced size of produced executable by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4341](https://redirect.github.com/gruntwork-io/terragrunt/pull/4341)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.80.2...v0.80.3\n\n###
          [`v0.80.2`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.80.2)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.80.1...v0.80.2)\n\n####
          \u2728 New Features\n\n##### `find` adds support for `--include`\n\nThe
          `find` command now supports the `--include` flag to allow for fine grained
          control over the discovery of units that include other partial configurations.\n\ne.g.\n\n```bash\n$
          terragrunt find --include --format=json | jq\n[\n  {\n    \"type\": \"unit\",\n
          \   \"path\": \"bar\",\n    \"include\": {\n      \"cloud\": \"cloud.hcl\"\n
          \   }\n  },\n  {\n    \"type\": \"unit\",\n    \"path\": \"foo\"\n  }\n]\n```\n\nCombining
          the flag with tools like `jq` allows for simple discovery of configurations
          that include other partial configurations.\n\n```bash\n$ terragrunt find
          --include --format=json | jq '[.[] | select(.include.cloud == \"cloud.hcl\")]'\n[\n
          \ {\n    \"type\": \"unit\",\n    \"path\": \"bar\",\n    \"include\": {\n
          \     \"cloud\": \"cloud.hcl\"\n    }\n  }\n]\n```\n\n#### \U0001F41B Bug
          Fixes\n\n##### `--tf-path` now correctly overrides `terraform_binary`\n\nA
          bug in the precedence logic for Terragrunt configuration parsing resulted
          in the CLI flag `--tf-path` from being ignored when the `terraform_binary`
          attribute was set.\n\nTerragrunt will now correctly respect the `terraform_binary`
          attribute when set, and allow `--tf-path` to override the value when it
          is set.\n\n#### What's Changed\n\n-   feat: Adding basic benchmarks by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4325](https://redirect.github.com/gruntwork-io/terragrunt/pull/4325)\n-
          \  feat: Add support for displaying include configurations in the terragrunt
          find command by [@&#8203;james03160927](https://redirect.github.com/james03160927)
          in [https://github.com/gruntwork-io/terragrunt/pull/4330](https://redirect.github.com/gruntwork-io/terragrunt/pull/4330)\n-
          \  feat: Adding flake test by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4334](https://redirect.github.com/gruntwork-io/terragrunt/pull/4334)\n-
          \  fix: Fixing usage of `--tf-path` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4332](https://redirect.github.com/gruntwork-io/terragrunt/pull/4332)\n-
          \  fix: Cleaning up addition of `--include` on `find` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4335](https://redirect.github.com/gruntwork-io/terragrunt/pull/4335)\n-
          \  chore: migrated to golangci-lint v2 by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4333](https://redirect.github.com/gruntwork-io/terragrunt/pull/4333)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.80.1...v0.80.2\n\n###
          [`v0.80.1`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.80.1)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.80.0...v0.80.1)\n\n#####
          What's Changed\n\n-   chore: Build process now leverages Go 1.24 features
          and improvements by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4324](https://redirect.github.com/gruntwork-io/terragrunt/pull/4324)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.80.0...v0.80.1\n\n###
          [`v0.80.0`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.80.0)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.79.3...v0.80.0)\n\n**Terraform
          1.12 support**: We are now testing Terragrunt against Terraform 1.12 and
          is confirmed to be working.\n\nNOTE: Although this release is marked as
          backward incompatible, it is functionally compatible as nothing has been
          changed in Terragrunt internals. The minor version release is useful to
          mark the change in Terraform version that is being tested.\n\n#### What's
          Changed\n\n-   chore: Added support for Terraform 1.12 by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4317](https://redirect.github.com/gruntwork-io/terragrunt/pull/4317)\n-
          \  build(deps): bump github.com/aws/aws-sdk-go from 1.55.6 to 1.55.7 by
          [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4300](https://redirect.github.com/gruntwork-io/terragrunt/pull/4300)\n-
          \  build(deps): bump cloud.google.com/go/storage from 1.51.0 to 1.53.0 by
          [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4269](https://redirect.github.com/gruntwork-io/terragrunt/pull/4269)\n-
          \  build(deps): bump golang.org/x/sys from 0.32.0 to 0.33.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4268](https://redirect.github.com/gruntwork-io/terragrunt/pull/4268)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.79.3...v0.80.0\n\n###
          [`v0.79.3`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.79.3)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.79.2...v0.79.3)\n\n#####
          \U0001F4AA\U0001F3FD Enhancements\n\n##### Limitation on Catalog URLs lifted\n\nA
          limitation on only supporting recognized go-getter URL patters has been
          lifted from the [catalog](https://terragrunt.gruntwork.io/docs/features/catalog/)
          command.\n\nThe reason this limitation existed in the past was to ensure
          that users were able to have Terragrunt load module source code in browsers
          from the catalog Terminal User Interface (TUI). To support that, only a
          constrained set of sources were supported, to ensure that a button was available
          to pop open the link in the browser.\n\n<img width=\"670\" alt=\"image\"
          src=\"https://github.com/user-attachments/assets/92dc016e-3bc5-46f5-b690-da3043590c24\"
          />\n\n<img width=\"666\" alt=\"image\" src=\"https://github.com/user-attachments/assets/f512e901-4deb-4771-8cbd-ea3d54cf5594\"
          />\n\nTerragrunt will now dynamically adjust the buttons available after
          module selection to gracefully degrade the experience, instead of completely
          rejecting repository sources that can't be predictably converted to browser
          URLs.\n\n<img width=\"346\" alt=\"image\" src=\"https://github.com/user-attachments/assets/76a7b1e5-c148-42b2-a696-d7fd750e866d\"
          />\n\nThis allows more users to adopt the Terragrunt Catalog, while providing
          the same great user experience for users that are on fully supported platforms,
          like GitHub, GitLab, BitBucket, etc.\n\n##### What's Changed\n\n-   feat:
          Allow unknown catalog URLs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4318](https://redirect.github.com/gruntwork-io/terragrunt/pull/4318)\n-
          \  docs: Clarify ambiguous documentation on variable precedence by [@&#8203;owattley-rotageek](https://redirect.github.com/owattley-rotageek)
          in [https://github.com/gruntwork-io/terragrunt/pull/4319](https://redirect.github.com/gruntwork-io/terragrunt/pull/4319)\n-
          \  chore: Adjusting catalog implementation by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4315](https://redirect.github.com/gruntwork-io/terragrunt/pull/4315)\n\n#####
          New Contributors\n\n-   [@&#8203;owattley-rotageek](https://redirect.github.com/owattley-rotageek)
          made their first contribution in [https://github.com/gruntwork-io/terragrunt/pull/4319](https://redirect.github.com/gruntwork-io/terragrunt/pull/4319)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.79.2...v0.79.3\n\n###
          [`v0.79.2`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.79.2)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.79.1...v0.79.2)\n\n#####
          \U0001F697 Performance Improvements\n\nImproved overall performance by memoizing
          `-version` output in each unit.\n\n##### What's Changed\n\n-   feat: Improved
          performance by memoizing `-version` output by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4288](https://redirect.github.com/gruntwork-io/terragrunt/pull/4288)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.79.1...v0.79.2\n\n###
          [`v0.79.1`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.79.1)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.79.0...v0.79.1)\n\n####
          \U0001F4AA\U0001F3FD Enhancements\n\n##### Recursive stack clean\n\nImproved
          `stack clean` to recursively delete all nested stack directories, ensuring
          thorough cleanup.\n\n#### What's Changed\n\n-   feat: Enabled recursive
          deletion of stack directories in `stack clean` by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4313](https://redirect.github.com/gruntwork-io/terragrunt/pull/4313)\n-
          \  feat: Switching to GitHub Actions OIDC role assumption for OIDC test
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4305](https://redirect.github.com/gruntwork-io/terragrunt/pull/4305)\n-
          \  fix: Corrected mislabeled `legacy-all` control in documentation by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4311](https://redirect.github.com/gruntwork-io/terragrunt/pull/4311)\n-
          \  fix: Enabled disabled tests by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4312](https://redirect.github.com/gruntwork-io/terragrunt/pull/4312)\n-
          \  docs: updated quick start documentation with additional output directory
          usage by [@&#8203;james03160927](https://redirect.github.com/james03160927)
          in [https://github.com/gruntwork-io/terragrunt/pull/4299](https://redirect.github.com/gruntwork-io/terragrunt/pull/4299)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.79.0...v0.79.1\n\n###
          [`v0.79.0`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.79.0)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.4...v0.79.0)\n\n####
          \U0001F4AA\U0001F3FD Enhancements\n\n##### The `run --all` command automatically
          generates Terragrunt Stacks\n\nIf you are using `terragrunt.stack.hcl` files
          in your codebase, `run --all` commands will now automatically expand all
          `terragrunt.stack.hcl` files into generated stack configurations, as if
          you had run `stack generate` before running the `run --all` command.\n\ne.g.\n\n```bash\nterragrunt
          run --all plan\n```\n\nIs now equivalent to:\n\n```bash\nterragrunt stack
          generate\nterragrunt run --all plan\n```\n\nIf you would like to disable
          this new behavior, you can use the `--no-stack-generate` to opt out of automatic
          stack generation.\n\n#### \U0001F4D6 Docs Updates\n\nThe [Terragrunt v1](https://terragrunt-v1.gruntwork.io/)
          docs are open for feedback!\n\nThese docs will undergo significant adjustments,
          both stylistically, and functionality on the road to 1.0.\n\nThey are a
          full rewrite of the existing Terragrunt Docs site written in [Jekyll](https://jekyllrb.com/)
          to one using [Starlight](https://starlight.astro.build/).\n\nYour feedback
          is requested! If you are reading these release notes relatively soon after
          release, you should see a link at the top of the site where you can provide
          your feedback on the new docs.\n\n#### What's Changed\n\n-   feat: Moving
          users over to terragrunt-v1.gruntwork.io docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4202](https://redirect.github.com/gruntwork-io/terragrunt/pull/4202)\n-
          \  feat: Adding GTM by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4285](https://redirect.github.com/gruntwork-io/terragrunt/pull/4285)\n-
          \  feat: Github Action tests migration by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4281](https://redirect.github.com/gruntwork-io/terragrunt/pull/4281)\n-
          \  feat: Automatically stack generate in run --all or run --graph command
          by [@&#8203;james03160927](https://redirect.github.com/james03160927) in
          [https://github.com/gruntwork-io/terragrunt/pull/4283](https://redirect.github.com/gruntwork-io/terragrunt/pull/4283)\n-
          \  feat: Adding cloud-nuke cron by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4306](https://redirect.github.com/gruntwork-io/terragrunt/pull/4306)\n-
          \  feat: Adjusting nav height by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4284](https://redirect.github.com/gruntwork-io/terragrunt/pull/4284)\n-
          \  fix: Fixing `remote-relative-with-slash` fixture on ARM tests by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4297](https://redirect.github.com/gruntwork-io/terragrunt/pull/4297)\n-
          \  fix: Fixing install version by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4310](https://redirect.github.com/gruntwork-io/terragrunt/pull/4310)\n-
          \  fix: Improved error handling in AWS docs by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4303](https://redirect.github.com/gruntwork-io/terragrunt/pull/4303)\n-
          \  chore: enable TestRemoteDownloadWithRelativePathAndSlashInBranch test
          by [@&#8203;denis256](https://redirect.github.com/denis256) in [https://github.com/gruntwork-io/terragrunt/pull/4286](https://redirect.github.com/gruntwork-io/terragrunt/pull/4286)\n-
          \  build(deps): bump ruby/setup-ruby from 1.233.0 to 1.238.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4270](https://redirect.github.com/gruntwork-io/terragrunt/pull/4270)\n-
          \  build(deps): bump github.com/gruntwork-io/terratest from 0.48.2 to 0.49.0
          by [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4267](https://redirect.github.com/gruntwork-io/terragrunt/pull/4267)\n-
          \  build(deps): bump ruby/setup-ruby from 1.238.0 to 1.242.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4301](https://redirect.github.com/gruntwork-io/terragrunt/pull/4301)\n-
          \  build(deps): bump DavidAnson/markdownlint-cli2-action from 19 to 20 by
          [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4302](https://redirect.github.com/gruntwork-io/terragrunt/pull/4302)\n\n####
          New Contributors\n\n-   [@&#8203;james03160927](https://redirect.github.com/james03160927)
          made their first contribution in [https://github.com/gruntwork-io/terragrunt/pull/4283](https://redirect.github.com/gruntwork-io/terragrunt/pull/4283)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.4...v0.79.0\n\n###
          [`v0.78.4`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.4)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.3...v0.78.4)\n\n####
          \u2728 New Features\n\n##### OpenTelemetry Trace Propogation\n\nIn anticipation
          of the introduction of OpenTelemetry support in OpenTofu 1.10, Terragrunt
          will now propagate the `TRACEPARENT` environment variable to child processes
          to support OpenTelemetry traces that maintain context across Terragrunt
          and OpenTofu.\n\nThis work is based on [@&#8203;Yantrio](https://redirect.github.com/Yantrio)
          's PoC PR [#&#8203;4254](https://redirect.github.com/gruntwork-io/terragrunt/issues/4254),
          and is only useful due to his work adding OpenTelemtry in OpenTofu. Thank
          you!\n\n#### What's Changed\n\n-   feat: Added generation of opentelemetry
          parent traces to invoked executables by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4278](https://redirect.github.com/gruntwork-io/terragrunt/pull/4278)\n-
          \  feat: Added support for Terraform tests in Github Action by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4275](https://redirect.github.com/gruntwork-io/terragrunt/pull/4275)\n-
          \  docs: Added homepage to Starlight docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4250](https://redirect.github.com/gruntwork-io/terragrunt/pull/4250)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.3...v0.78.4\n\n###
          [`v0.78.3`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.3)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.2...v0.78.3)\n\n####
          \U0001F41B Bug Fixes\n\nWhen an [error retry](https://terragrunt.gruntwork.io/docs/features/runtime-control/#errors)
          results in a plan succeeding when it initially failed, usage of `run --all
          -- plan -detailed-exitcode` will now properly take into account the *final*
          exit code, rather than the first one, meaning that the exit code of the
          whole run will be zero if no other units fail their plans.\n\nThanks to
          [@&#8203;wakeful](https://redirect.github.com/wakeful) for contributing
          this fix!\n\n#### What's Changed\n\n-   fix [#&#8203;3845](https://redirect.github.com/gruntwork-io/terragrunt/issues/3845)
          set the correct exit code when a retry is successful. by [@&#8203;wakeful](https://redirect.github.com/wakeful)
          in [https://github.com/gruntwork-io/terragrunt/pull/3966](https://redirect.github.com/gruntwork-io/terragrunt/pull/3966)\n-
          \  docs: Improving Run Queue docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4272](https://redirect.github.com/gruntwork-io/terragrunt/pull/4272)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.2...v0.78.3\n\n###
          [`v0.78.2`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.2)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.1...v0.78.2)\n\n#####
          What's Changed\n\n-   feat: enable GCP integration tests in GH Action by
          [@&#8203;denis256](https://redirect.github.com/denis256) in [https://github.com/gruntwork-io/terragrunt/pull/4257](https://redirect.github.com/gruntwork-io/terragrunt/pull/4257)\n-
          \  feat: fixed TestGcpWorksWithImpersonateBackend test by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4261](https://redirect.github.com/gruntwork-io/terragrunt/pull/4261)\n-
          \  feat: Adding integration tests by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4198](https://redirect.github.com/gruntwork-io/terragrunt/pull/4198)\n-
          \  feat: add Windows integration tests by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4262](https://redirect.github.com/gruntwork-io/terragrunt/pull/4262)\n-
          \  fix: Removing HTML `font-size` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4256](https://redirect.github.com/gruntwork-io/terragrunt/pull/4256)\n-
          \  docs: Adding Run Queue Docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4249](https://redirect.github.com/gruntwork-io/terragrunt/pull/4249)\n-
          \  build(deps): bump github.com/gruntwork-io/boilerplate to v0.6.1 by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
          \  build(deps): bump github.com/gruntwork-io/terragrunt-engine-go to v0.0.14
          by [@&#8203;denis256](https://redirect.github.com/denis256) in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
          \  build(deps): bump golang.org/x/oauth2 to v0.30.0 by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
          \  build(deps): bump golang.org/x/sync to v0.14.0 by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
          \  build(deps): bump google.golang.org/api to v0.232.0 by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
          \  build(deps): bump google.golang.org/grpc to v1.72.0 by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
          \  chore: dependencies update by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.1...v0.78.2\n\n###
          [`v0.78.1`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.1)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.0...v0.78.1)\n\n####
          What's Changed\n\n-   docs: Updating docs now that stacks are generally
          available by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4243](https://redirect.github.com/gruntwork-io/terragrunt/pull/4243)\n-
          \  fix: AWS S3 backend access logging bucket not versioning by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4246](https://redirect.github.com/gruntwork-io/terragrunt/pull/4246)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.0...v0.78.1\n\n###
          [`v0.78.0`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.0)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.22...v0.78.0)\n\n####
          \U0001F9EA Experiments Completed\n\nThe [stacks](https://terragrunt.gruntwork.io/docs/reference/experiments/#stacks)
          experiment is now complete.\n\nIf you were previously using the flag `--experiment
          stacks` to opt in to experimental functionality, you no longer have to do
          so. Note that if you are, you will simply get a warning that it is no longer
          necessary.\n\n#### \U0001F6E0\uFE0F Breaking Changes\n\nLegacy commands
          (as replaced by the [CLI Redesign](https://redirect.github.com/gruntwork-io/terragrunt/issues/3445)
          are now deprecated, and will be phased out at a future date, which will
          be scheduled in [#&#8203;3535](https://redirect.github.com/gruntwork-io/terragrunt/issues/3535).
          Make sure to subscribe to the issue if you would like to be informed when
          these deprecated features are no longer supported.\n\nFor instructions on
          migrating to the new commands provided after the CLI Redesign, read the
          [CLI Redesign Migration Guide](https://terragrunt.gruntwork.io/docs/migrate/cli-redesign/).\n\nThe
          following are now deprecated:\n\n-   `hclfmt` (use `hcl fmt` instead)\n-
          \  `hclvalidate` (use `hcl validate` instead)\n-   `validate-inputs` (use
          `hcl validate --inputs` and `hcl validate --inputs --strict` instead)\n-
          \  `terragrunt-info` (use `info print` instead)\n-   `output-module-groups`
          (use `find --dag --json` instead)\n-   `render-json` (use `render --json
          -w` instead)\n-   `graph-dependencies` (use `dag graph` instead)\n-   `run-all`
          (use `run --all` instead)\n-   `graph` (use `run --graph` instead)\n-   The
          default command. e.g. `terragrunt workspace list` (use `terragrunt run --
          workspace list` instead)\n-   Default bootstrap (automatically provisioning
          backend resources without additional flags). This is now opt in behavior,
          and requires usage of the `--backend-bootstrap` flag or explicitly running
          the new `backend bootstrap` command.\n-   `aws-provider-patch` (we are simply
          deprecating this command, and removing it when the other commands are removed.
          It served its purpose as a short term stopgap tool).\n\nNote that this will
          not result in an immediate breaking change for users, as we\u2019ll have
          an initial deprecation window to give users time to adjust to these changes.
          If you\u2019d like to ensure that you are prepared for the future removal
          of legacy commands, you can take advantage of the [cli-redesign](https://terragrunt.gruntwork.io/docs/reference/strict-mode/#cli-redesign)
          strict control to opt in to the future breaking change early.\n\n#### \U0001F4AA\U0001F3FD
          \ Enhancements\n\nThe logging for stack generation has been improved to
          make it easier to determine at a glance the stack file that\u2019s generating
          a particular unit.\n\n![stacks-generation](https://redirect.github.com/user-attachments/assets/11c49c92-edfd-4d3a-b2c6-4bae4326e0e2)\n\n####
          What's Changed\n\n-   feat: improved stack logs generation by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4213](https://redirect.github.com/gruntwork-io/terragrunt/pull/4213)\n-
          \  feat: stacks expriment completion by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4222](https://redirect.github.com/gruntwork-io/terragrunt/pull/4222)\n-
          \  feat: Deprecating `render-json` command by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4227](https://redirect.github.com/gruntwork-io/terragrunt/pull/4227)\n-
          \  feat: Deprecating `aws-provider-patch` command by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4228](https://redirect.github.com/gruntwork-io/terragrunt/pull/4228)\n-
          \  feat: Deprecating `output-module-groups` command by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4229](https://redirect.github.com/gruntwork-io/terragrunt/pull/4229)\n-
          \  fix: Fixing base tests for macOS by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4193](https://redirect.github.com/gruntwork-io/terragrunt/pull/4193)\n-
          \  fix: Fixing 404 in performance docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4194](https://redirect.github.com/gruntwork-io/terragrunt/pull/4194)\n-
          \  fix: basic tests execution update by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4192](https://redirect.github.com/gruntwork-io/terragrunt/pull/4192)\n-
          \  fix: Throwing interrupt signal with `--all` flag by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4224](https://redirect.github.com/gruntwork-io/terragrunt/pull/4224)\n-
          \  fix: handling of errors in parsing base blocks by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4226](https://redirect.github.com/gruntwork-io/terragrunt/pull/4226)\n-
          \  fix: Cleaning up legacy `-all` usage by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4239](https://redirect.github.com/gruntwork-io/terragrunt/pull/4239)\n-
          \  fix: Rename all the `--terragrunt-` flags by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4203](https://redirect.github.com/gruntwork-io/terragrunt/pull/4203)\n-
          \  fix: Cleaning up `run-all` usage by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4223](https://redirect.github.com/gruntwork-io/terragrunt/pull/4223)\n-
          \  fix: Updating environment variables for flags by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4240](https://redirect.github.com/gruntwork-io/terragrunt/pull/4240)\n-
          \  fix: Updating migration guide for CLI Redesign migration by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4207](https://redirect.github.com/gruntwork-io/terragrunt/pull/4207)\n-
          \  docs: Adding docs for `cli-redesign` strict control by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4238](https://redirect.github.com/gruntwork-io/terragrunt/pull/4238)\n-
          \  docs: Documenting CLI Redesign deprecations by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4237](https://redirect.github.com/gruntwork-io/terragrunt/pull/4237)\n-
          \  docs: updated stack links by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4201](https://redirect.github.com/gruntwork-io/terragrunt/pull/4201)\n-
          \  chore: Preserve tests with deprecated commands/flags by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4242](https://redirect.github.com/gruntwork-io/terragrunt/pull/4242)\n-
          \  chore: `hclfmt` `hclvalidate` `validate-inputs` as deprecated commands
          (minor fixes) by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4199](https://redirect.github.com/gruntwork-io/terragrunt/pull/4199)\n-
          \  chore: `hclfmt` `hclvalidate` `validate-inputs` as deprecated commands
          by [@&#8203;levkohimins](https://redirect.github.com/levkohimins) in [https://github.com/gruntwork-io/terragrunt/pull/4196](https://redirect.github.com/gruntwork-io/terragrunt/pull/4196)\n-
          \  build(deps): bump github.com/getsops/sops/v3 from 3.10.1 to 3.10.2 by
          [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4185](https://redirect.github.com/gruntwork-io/terragrunt/pull/4185)\n-
          \  build(deps): bump go.opentelemetry.io/otel/exporters/stdout/stdouttrace
          from 1.34.0 to 1.35.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4184](https://redirect.github.com/gruntwork-io/terragrunt/pull/4184)\n-
          \  build(deps): bump DavidAnson/markdownlint-cli2-action from 15 to 19 by
          [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4187](https://redirect.github.com/gruntwork-io/terragrunt/pull/4187)\n-
          \  build(deps): bump ruby/setup-ruby from 1.230.0 to 1.233.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4186](https://redirect.github.com/gruntwork-io/terragrunt/pull/4186)\n-
          \  build(deps-dev): bump nokogiri from 1.18.4 to 1.18.8 in /docs by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4195](https://redirect.github.com/gruntwork-io/terragrunt/pull/4195)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.22...v0.78.0\n\n###
          [`v0.77.22`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.22)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.21...v0.77.22)\n\n####
          \U0001F9EA Experiments Completed\n\n##### The `cli-redesign` experiment
          is now complete\n\nThe [cli-redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment is now complete.\n\nIf you were previously using the flag `--experiment
          cli-redesign` to opt in to experimental functionality, you no longer have
          to do so. Note that if you are, you will simply get a warning that it is
          no longer necessary.\n\n#### What's Changed\n\n-   feat: Adding base tests
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4176](https://redirect.github.com/gruntwork-io/terragrunt/pull/4176)\n-
          \  chore: Complete CLI Redesign experiment by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4189](https://redirect.github.com/gruntwork-io/terragrunt/pull/4189)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.21...v0.77.22\n\n###
          [`v0.77.21`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.21)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.20...v0.77.21)\n\n####
          \u2728 New Features\n\n##### Introduction of `hcl` commands\n\nAs part of
          the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment, the [`hcl`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#hcl-commands)
          commands have been introduced.\n\nThe `hcl` commands allow users to directly
          interact with HCL content independent of the underlying functionality they
          support.\n\nThe functionality of the `hcl` commands replace existing functionality
          that is soon to be deprecated:\n\n-   `hclfmt` --> `hcl fmt`\n-   `hclvalidate`
          --> `hcl validate`\n-   `validate-inputs` --> `hcl validate --inputs`\n-
          \  `validate-inputs --strict-validate` --> `hcl validate --inputs --strict`\n\n####
          What's Changed\n\n-   feat: `hcl` commands docs by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4180](https://redirect.github.com/gruntwork-io/terragrunt/pull/4180)\n-
          \  feat: add symbol link experiemnt in discovery process by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4177](https://redirect.github.com/gruntwork-io/terragrunt/pull/4177)\n-
          \  feat: Implementation of `hcl` commands by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4169](https://redirect.github.com/gruntwork-io/terragrunt/pull/4169)\n-
          \  fix: Adding redirect from /docs/reference/experiment-mode to /docs/reference/experiments
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4178](https://redirect.github.com/gruntwork-io/terragrunt/pull/4178)\n-
          \  fix: Fix spelling by [@&#8203;hpe-noinarisak](https://redirect.github.com/hpe-noinarisak)
          in [https://github.com/gruntwork-io/terragrunt/pull/4179](https://redirect.github.com/gruntwork-io/terragrunt/pull/4179)\n-
          \  fix: Update status of cli-redesign experiment by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4188](https://redirect.github.com/gruntwork-io/terragrunt/pull/4188)\n-
          \  build(deps): bump github.com/charmbracelet/bubbles from 0.20.0 to 0.21.0
          by [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4160](https://redirect.github.com/gruntwork-io/terragrunt/pull/4160)\n\n####
          New Contributors\n\n-   [@&#8203;hpe-noinarisak](https://redirect.github.com/hpe-noinarisak)
          made their first contribution in [https://github.com/gruntwork-io/terragrunt/pull/4179](https://redirect.github.com/gruntwork-io/terragrunt/pull/4179)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.20...v0.77.21\n\n###
          [`v0.77.20`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.20)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.19...v0.77.20)\n\n####
          What's Changed\n\n-   build: Added `build-no-proxy.yml` workflow by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4171](https://redirect.github.com/gruntwork-io/terragrunt/pull/4171)\n-
          \  build: Added `lint.yml` and `strict-lint.yml` workflows for GitHub Actions
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4172](https://redirect.github.com/gruntwork-io/terragrunt/pull/4172)\n-
          \  build: Added codespell workflow by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4173](https://redirect.github.com/gruntwork-io/terragrunt/pull/4173)\n-
          \  build: Added markdownlint v2 to GitHub Actions workflows by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4175](https://redirect.github.com/gruntwork-io/terragrunt/pull/4175)\n-
          \  docs: Improved getting started guide by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4174](https://redirect.github.com/gruntwork-io/terragrunt/pull/4174)\n-
          \  build(deps): bump github.com/ProtonMail/go-crypto from 1.1.6 to 1.2.0
          by [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4161](https://redirect.github.com/gruntwork-io/terragrunt/pull/4161)\n-
          \  build(deps): bump golang.org/x/term from 0.30.0 to 0.31.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4159](https://redirect.github.com/gruntwork-io/terragrunt/pull/4159)\n-
          \  build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.78.2
          to 1.79.2 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4158](https://redirect.github.com/gruntwork-io/terragrunt/pull/4158)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.19...v0.77.20\n\n###
          [`v0.77.19`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.19)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.18...v0.77.19)\n\n####
          \u2728 New Features\n\n##### OpenTelemetry traces are now integrated into
          `find` and `list` commands\n\nfind telemetry:\n![image](https://redirect.github.com/user-attachments/assets/eb5ff11a-e90f-4b5d-bec0-c99cb1419f57)\n\nlist
          telemetry:\n![image](https://redirect.github.com/user-attachments/assets/7af232f1-e822-4aae-8230-12257c359d21)\n\n####
          What's Changed\n\n-   feat: Implemented telemetry for find/list by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4165](https://redirect.github.com/gruntwork-io/terragrunt/pull/4165)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.18...v0.77.19\n\n###
          [`v0.77.18`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.18)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.17...v0.77.18)\n\n####
          \u2728 New Features\n\n##### Support for HCL formatting with the `render`
          command\n\nAs part of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment, the [`render`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#backend-migrate)
          command now supports HCL formatting for rendered configurations, which is
          the default output format.\n\nUsing the `render` command with HCL formatting
          allows users to get a quick, minimal evaluation of Terragrunt unit configurations
          with as much pre-processing done as possible.\n\nFor example, the following
          `terragrunt.hcl` file:\n\n```hcl\n\n### terragrunt.hcl\n\nlocals {\n  aws_region
          = \"us-east-1\"\n}\n\ninputs = {\n  aws_region = local.aws_region\n}\n```\n\nRenders
          to the following HCL:\n\n```bash\n$ terragrunt render\nlocals {\n  aws_region
          = \"us-east-1\"\n}\ninputs = {\n  aws_region = \"us-east-1\"\n}\n```\n\nUsing
          the `render` command with HCL formatting offers a way to resolve complex
          HCL function evaluation, include merging or string interpolation, etc. to
          achieve equivalent Terragrunt HCL configurations that are easier to reason
          about.\n\n#### What's Changed\n\n-   feat: Adding `render` with HCL formatting
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4164](https://redirect.github.com/gruntwork-io/terragrunt/pull/4164)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.17...v0.77.18\n\n###
          [`v0.77.17`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.17)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.16...v0.77.17)\n\n####
          \u2728 New Features\n\n##### Introduction of the `render` command\n\nAs
          part of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment, the [`render`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#backend-migrate)
          command has been introduced.\n\nThe `render` command allows users to easily
          render Terragrunt unit configurations with reduced complexity, making it
          easier to understand configurations at a glance.\n\nFor example, the following
          `terragrunt.hcl` file:\n\n```hcl\n\n### terragrunt.hcl\n\nlocals {\n  aws_region
          = \"us-east-1\"\n}\n\ninputs = {\n  aws_region = local.aws_region\n}\n```\n\nRenders
          to the following JSON:\n\n```bash\n$ terragrunt render --format json\n{\n
          \ \"locals\": { \"aws_region\": \"us-east-1\" },\n  \"inputs\": { \"aws_region\":
          \"us-east-1\" }\n  // NOTE: other attributes are omitted for brevity\n}\n```\n\nThe
          introduction of the `render` command is part of the eventual deprecation
          of the existing `render-json` command, which will be deprecated by the end
          of the CLI Redesign. The `render` command is a higher level command, that
          offers the ability to write to stdout, in addition to writing to files,
          and will support HCL configurations in addition to JSON (coming soon).\n\nTo
          learn more about the `render` command, read the official documentation [here](https://terragrunt.gruntwork.io/docs/reference/cli-options/#render).\n\n####
          What's Changed\n\n-   feat: Adding `render` command by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4145](https://redirect.github.com/gruntwork-io/terragrunt/pull/4145)\n-
          \  feat: Adding docs for `backend migrate` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4140](https://redirect.github.com/gruntwork-io/terragrunt/pull/4140)\n-
          \  build(deps): bump ruby/setup-ruby from 1.229.0 to 1.230.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4162](https://redirect.github.com/gruntwork-io/terragrunt/pull/4162)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.16...v0.77.17\n\n###
          [`v0.77.16`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.16)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.15...v0.77.16)\n\n####
          \u2728 New Features\n\n##### Introduction of the `backend migrate` command\n\nAs
          part of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment, the [`backend migrate`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#backend-migrate)
          command has been introduced.\n\nThe `backend migrate` command allows you
          to simply migrate state between different units (or renames of units) without
          manually running OpenTofu/Terraform state migration commands.\n\nTo learn
          more about the `backend migrate` command, read the [official docs](https://terragrunt.gruntwork.io/docs/reference/cli-options/#backend-migrate).\n\n####
          What's Changed\n\n-   feat: Added support for migrating state between different
          backends by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4154](https://redirect.github.com/gruntwork-io/terragrunt/pull/4154)\n-
          \  feat: Enhanced error explainer to detect and report issues related to
          `stack` values by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4163](https://redirect.github.com/gruntwork-io/terragrunt/pull/4163)\n-
          \  fix: Improved the deprecation message for experimental command flags
          by [@&#8203;levkohimins](https://redirect.github.com/levkohimins) in [https://github.com/gruntwork-io/terragrunt/pull/4146](https://redirect.github.com/gruntwork-io/terragrunt/pull/4146)\n-
          \  fix: Prevent `TF_CLI_CONFIG_FILE` environment variable from being overwritten,
          except during `init` and `providers` commands by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4155](https://redirect.github.com/gruntwork-io/terragrunt/pull/4155)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.15...v0.77.16\n\n###
          [`v0.77.15`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.15)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.14...v0.77.15)\n\n####
          \u2728 New Features\n\n##### Introduction of the `dag graph` command\n\nAs
          part of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment, the [`dag graph`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#print-graph)
          command has been introduced.\n\n![dag](https://redirect.github.com/user-attachments/assets/389d4e31-197c-4c37-8913-1417ecd3e5b4)\n\n![dag-help](https://redirect.github.com/user-attachments/assets/2525cd27-0d8e-457b-87ea-759fae31e2f3)\n\n![dag-graph-help](https://redirect.github.com/user-attachments/assets/fb268b20-f32b-4b4f-ba13-0d1fc9fca748)\n\n####
          What's Changed\n\n-   docs: Added migration guide for adopting Terragrunt
          Stacks by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4152](https://redirect.github.com/gruntwork-io/terragrunt/pull/4152)\n-
          \  feat: Added dag graph command by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4143](https://redirect.github.com/gruntwork-io/terragrunt/pull/4143)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.14...v0.77.15\n\n###
          [`v0.77.14`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.14)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.13...v0.77.14)\n\n####
          \u2728 New Features\n\n##### Support for `--exclude` and `--queue-construct-as`
          in `find` and `list`\n\nThe [`find`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#find)
          and [`list`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#list)
          commands have been updated to leverage new capabilities involving greater
          understanding of the Terragrunt run queue.\n\nUsers can now leverage the
          [`--queue-construct-as`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#find-queue-construct-as)
          (or just `--as`) flag in the `find` and `list` commands to discover configurations
          as if a particular Terragrunt command was being run (e.g. `plan`, `destroy`).\n\nFor
          example:\n\n```bash\n$ terragrunt find --queue-construct-as=plan\nstacks/live/dev\nstacks/live/prod\nunits/live/dev/vpc\nunits/live/prod/vpc\nunits/live/dev/db\nunits/live/prod/db\nunits/live/dev/ec2\nunits/live/prod/ec2\n```\n\n```bash\n$
          terragrunt find --as=destroy\nstacks/live/dev\nstacks/live/prod\nunits/live/dev/ec2\nunits/live/prod/ec2\nunits/live/dev/db\nunits/live/prod/db\nunits/live/dev/vpc\nunits/live/prod/vpc\n```\n\nThe
          `find` and `list` commands will now construct the Terragrunt run queue as
          if a particular command was being run, potentially altering the position
          of elements in the run queue, based on their dependencies (dependencies
          before dependents for plans, applies, etc. and dependents before dependencies
          for destroys).\n\nIn addition, users can leverage the [`--exclude`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#find-exclude)
          flag on the `find` command to get information on the `exclude` block included
          in results. The `exclude` block is also factored in to discovery results
          when the `--queue-construct-as` flag is passed, allowing users to dry-run
          behavior of the `exclude` block before performing any Terragrunt runs.\n\n####
          What's Changed\n\n-   feat: Adding exclude support to list and find by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4147](https://redirect.github.com/gruntwork-io/terragrunt/pull/4147)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.13...v0.77.14\n\n###
          [`v0.77.13`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.13)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.12...v0.77.13)\n\n####
          What's Changed\n\n-   build(deps): bump google.golang.org/grpc from 1.71.0
          to 1.71.1 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4132](https://redirect.github.com/gruntwork-io/terragrunt/pull/4132)\n-
          \  build(deps): bump golang.org/x/sys from 0.31.0 to 0.32.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4133](https://redirect.github.com/gruntwork-io/terragrunt/pull/4133)\n-
          \  build(deps): bump golang.org/x/oauth2 from 0.28.0 to 0.29.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4131](https://redirect.github.com/gruntwork-io/terragrunt/pull/4131)\n-
          \  build(deps): bump github.com/getsops/sops/v3 from 3.9.4 to 3.10.1 by
          [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4130](https://redirect.github.com/gruntwork-io/terragrunt/pull/4130)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.12...v0.77.13\n\n###
          [`v0.77.12`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.12)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.11...v0.77.12)\n\n####
          \u2728 New Features\n\nIntroduced `no_validation` attribute for `stack`
          and `unit`, allowing users to bypass Terragrunt's validation checks when
          deploying infrastructure. This is particularly useful in scenarios where
          you need to deploy infrastructure that doesn't strictly adhere to Terragrunt's
          validation rules, such as during emergency deployments or when working with
          legacy infrastructure patterns.\n\n#### What's Changed\n\n-   docs: added
          more docs for stacks by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4144](https://redirect.github.com/gruntwork-io/terragrunt/pull/4144)\n-
          \  feat: added support for `no_validation` attribute for `stack` and `unit`
          by [@&#8203;denis256](https://redirect.github.com/denis256) in [https://github.com/gruntwork-io/terragrunt/pull/4149](https://redirect.github.com/gruntwork-io/terragrunt/pull/4149)\n\nRFC:
          [https://github.com/gruntwork-io/terragrunt/issues/3313](https://redirect.github.com/gruntwork-io/terragrunt/issues/3313)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.11...v0.77.12\n\n###
          [`v0.77.11`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.11)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.10...v0.77.11)\n\n####
          \u2728 New Features\n\n##### Introduction of the `info print` command\n\nAs
          part of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment, the [`info print`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#print-command)
          command has been introduced.\n\n![help](https://redirect.github.com/user-attachments/assets/2eac4645-93c2-47dd-8dc3-73c4442bf1c8)\n\n![out](https://redirect.github.com/user-attachments/assets/7005c5db-15e1-4efe-b5a8-349a179f6033)\n\n####
          What's Changed\n\n-   feat: Introduced the `info print` command to output
          Terragrunt context as a structured JSON object by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4122](https://redirect.github.com/gruntwork-io/terragrunt/pull/4122)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.10...v0.77.11\n\n###
          [`v0.77.10`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.10)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.9...v0.77.10)\n\n####
          What's Changed\n\n-   fix: Suppressing warning for catalog when determining
          default file name by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4134](https://redirect.github.com/gruntwork-io/terragrunt/pull/4134)\n-
          \  fix: Remove warning message for unimplemented backends by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4138](https://redirect.github.com/gruntwork-io/terragrunt/pull/4138)\n-
          \  fix: Fixing optional default template by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4141](https://redirect.github.com/gruntwork-io/terragrunt/pull/4141)\n-
          \  chore: stack code improvements by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4136](https://redirect.github.com/gruntwork-io/terragrunt/pull/4136)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.9...v0.77.10\n\n###
          [`v0.77.9`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.9)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.8...v0.77.9)\n\n####
          \U0001F41B Bug fixes\n\n##### Fetching Outputs from Nested Stacks\n\nResolved
          an issue that prevented the correct retrieval of outp\n\n</details>\n\n---\n\n###
          Configuration\n\n\U0001F4C5 **Schedule**: Branch creation - At any time
          (no schedule defined), Automerge - At any time (no schedule defined).\n\n\U0001F6A6
          **Automerge**: Disabled by config. Please merge this manually once you are
          satisfied.\n\n\u267B **Rebasing**: Whenever PR becomes conflicted, or you
          tick the rebase/retry checkbox.\n\n\U0001F515 **Ignore**: Close this PR
          and you won't be reminded about this update again.\n\n---\n\n - [ ] <!--
          rebase-check -->If you want to rebase/retry this PR, check this box\n\n---\n\nThis
          PR was generated by [Mend Renovate](https://mend.io/renovate/). View the
          [repository job log](https://developer.mend.io/github/osism/testbed).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjQwLjE2LjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbInJlbm92YXRlIl19-->\n"
        change_url: https://github.com/osism/testbed/pull/2654
        commit_id: 235a4bafb85bb0b011a53f1f192d752ed338c02e
        patchset: 235a4bafb85bb0b011a53f1f192d752ed338c02e
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/testbed
          name: osism/testbed
          short_name: testbed
          src_dir: src/github.com/osism/testbed
        topic: null
      job: python-black
      jobtags: []
      max_attempts: 3
      message: Y2hvcmUoZGVwcyk6IHVwZGF0ZSBkZXBlbmRlbmN5IGdydW50d29yay1pby90ZXJyYWdydW50IHRvIHYwLjgwLjMKClRoaXMgUFIgY29udGFpbnMgdGhlIGZvbGxvd2luZyB1cGRhdGVzOgoKfCBQYWNrYWdlIHwgVXBkYXRlIHwgQ2hhbmdlIHwKfC0tLXwtLS18LS0tfAp8IFtncnVudHdvcmstaW8vdGVycmFncnVudF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50KSB8IG1pbm9yIHwgYHYwLjc3LjNgIC0+IGB2MC44MC4zYCB8CgotLS0KCiMjIyBSZWxlYXNlIE5vdGVzCgo8ZGV0YWlscz4KPHN1bW1hcnk+Z3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQgKGdydW50d29yay1pby90ZXJyYWdydW50KTwvc3VtbWFyeT4KCiMjIyBbYHYwLjgwLjNgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcmVsZWFzZXMvdGFnL3YwLjgwLjMpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjgwLjIuLi52MC44MC4zKQoKIyMjIyDwn4+O77iPwqBQZXJmb3JtYW5jZSBJbXByb3ZlbWVudHMKCiMjIyMjIFNpZ25pZmljYW50IHBlcmZvcm1hbmNlIGltcHJvdmVtZW50cyBmb3IgYHJ1biAtLWFsbGAKClRoZSBwZXJmb3JtYW5jZSBvZiBgcnVuIC0tYWxsYCBoYXMgYmVlbiBpbXByb3ZlZCBpbiB0d28gc2lnbmlmaWNhbnQgd2F5czoKCjEuICBQZXJmb3JtYW5jZSBmb3IgbmFtZWQgaW5jbHVkZXMgaGFzIGltcHJvdmVkLgoKICAgIEJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGZvciBiYXJlIGluY2x1ZGVzIHJlcXVpcmVkIHRoYXQgVGVycmFncnVudCBkbyBzb21lIGluZWZmaWNpZW50IHdvcmsgaW50ZXJuYWxseSB0byBoYW5kbGUgYm90aCBuYW1lZCBpbmNsdWRlcyBhbmQgYmFyZSBpbmNsdWRlcyBieSBkb2luZyBhbiBpbi1tZW1vcnkgcmV3cml0ZSBvZiBUZXJyYWdydW50IGNvbmZpZ3VyYXRpb25zLiBBbiBvcHRpbWl6YXRpb24gaGFzIGJlZW4gaW50cm9kdWNlZCB0byBhdm9pZCB0aGlzIGJlaGF2aW9yIHdoZW4gdXNlcnMgdXNlIG5hbWVkIGluY2x1ZGVzLiBUaGlzIG9wdGltaXphdGlvbiBkb2VzIG5vdCBleHRlbmQgdG8gdXNlcnMgdGhhdCBhcmUgdXNpbmcgYmFyZSBpbmNsdWRlcy4KCiAgICBVc2VycyBhcmUgYWR2aXNlZCB0byBhdm9pZCB1c2luZyBiYXJlIGluY2x1ZGVzIHdoZW5ldmVyIHBvc3NpYmxlIGZvciBtYXhpbXVtIHBlcmZvcm1hbmNlLiBBIFtzdHJpY3QgY29udHJvbF0oaHR0cHM6Ly90ZXJyYWdydW50LmdydW50d29yay5pby9kb2NzL3JlZmVyZW5jZS9zdHJpY3QtbW9kZS8jYmFyZS1pbmNsdWRlKSBoYXMgYmVlbiBpbnRyb2R1Y2VkIHRvIGVuZm9yY2UgdXNhZ2Ugb2YgbmFtZWQgaW5jbHVkZXMuCgogICAgSW4gYSBmdXR1cmUgbWlub3IgcmVsZWFzZSwgYSB3YXJuaW5nIHdpbGwgYmUgZW1pdHRlZCwgaW5zdHJ1Y3RpbmcgdXNlcnMgdG8gc3RvcCB1c2luZyBiYXJlIGluY2x1ZGVzLiBNYWludGFpbmVycyB3aWxsIGF2b2lkIGJyZWFraW5nIHN1cHBvcnQgZm9yIGJhcmUgaW5jbHVkZXMgdW50aWwgYXQgbGVhc3QgMi4wLgoKICAgIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGhvdyB0byBiZW5lZml0IGZyb20gdGhpcyBvcHRpbWl6YXRpb24sIHNlZSB0aGUgW21pZ3JhdGlvbiBndWlkZV0oaHR0cHM6Ly90ZXJyYWdydW50LmdydW50d29yay5pby9kb2NzL21pZ3JhdGUvYmFyZS1pbmNsdWRlLykuCjIuICBUaGUgY2hlY2sgZm9yIE9wZW5Ub2Z1L1RlcnJhZm9ybSBjb2RlIGhhcyBiZWVuIG9wdGltaXplZC4KCiAgICBUbyBwcm92aWRlIGhlbHBmdWwgZXJyb3IgbWVzc2FnZXMgd2hlbiB1c2VycyBkb24ndCBoYXZlIE9wZW5Ub2Z1L1RlcnJhZm9ybSBjb2RlIGZvciBUZXJyYWdydW50IHRvIHJ1biwgVGVycmFncnVudCBjaGVja3MgZm9yIHRoZSBwcmVzZW5jZSBvZiBPcGVuVG9mdS9UZXJyYWZvcm0gY29uZmlndXJhdGlvbiBmaWxlcyAoZS5nLiBgKi50ZmAsIGAqLnRvZnVgKS4gVGhpcyBjaGVjayBoYXMgYmVlbiBvcHRpbWl6ZWQgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZS4KCkluIGEgbWljcm8tYmVuY2htYXJrIG9uIGFuIE0zIE1heCwgdXNpbmcgdGhlIGBCZW5jaG1hcmtNYW55RW1wdHlUZXJyYWdydW50SW5pdHNgIGJlbmNobWFyaywgd2hpY2ggdGVzdHMgdGhlIHBlcmZvcm1hbmNlIG9mIGEgVGVycmFncnVudCBgcnVuIC0tYWxsIGluaXRgIGFjcm9zcyAxMDAwIGluaXRzLCB0aGUgZm9sbG93aW5nIHBlcmZvcm1hbmNlIGdhaW5zIHdlcmUgcmVsZWFzZWQ6CgotICAgNDIlIHNwZWVkIGltcHJvdmVtZW50LgotICAgNDMlIG1lbW9yeSByZWR1Y3Rpb24uCgpNb3JlIG9wdGltaXphdGlvbnMgb2YgdGhpcyBzb3J0IGFyZSBwbGFubmVkIGZvciBmdXR1cmUgcmVsZWFzZXMuCgojIyMjIyBTaXplIHJlZHVjdGlvbiBvZiBjb21waWxlZCBiaW5hcmllcwoKVGhlIHNpemUgb2YgY29tcGlsZWQgYmluYXJpZXMgd2lsbCBiZSByZWR1Y2VkIGR1ZSB0byB0aGUgc3RyaXBwaW5nIG9mIGRlYnVnIHN5bWJvbHMgZnJvbSB0aGUgZmluYWwgZXhlY3V0YWJsZS4gQXMgYW4gZXhhbXBsZSwgdGhpcyBkcm9wcyB0aGUgc2l6ZSBvZiB0aGUgY29tcGlsZWQgTGludXggQU1ENjQgYmluYXJ5IGZyb20gOTlNQiB0byA3ME1CLgoKVGhpcyBjYW4gYmUgYSBzbWFsbCBpbXByb3ZlbWVudCB0byBkb3dubG9hZCB0aW1lcyBmb3IgZW52aXJvbm1lbnRzIHdoZXJlIFRlcnJhZ3J1bnQgaXMgZG93bmxvYWRlZCBmcmVxdWVudGx5LgoKIyMjIyDwn5CbwqBCdWcgRml4ZXMKCiMjIyMjIEZpeGVkIGAtZGV0YWlsZWQtZXhpdGNvZGVgIGJlaGF2aW9yIGluIGBydW4gLS1hbGxgCgpBbiB1bmludGVuZGVkIHNpZGUtZWZmZWN0IG9mIGFkZHJlc3NpbmcgYSBkaWZmZXJlbnQgYnVnIGZvciBUZXJyYWdydW504oCZcyBoYW5kbGluZyBvZiB0aGUgYC1kZXRhaWxlZC1leGl0Y29kZWAgZmxhZyBpbiBPcGVuVG9mdS9UZXJyYWZvcm0gaW4gcmV0cmllcyB3YXMgdGhhdCBhbnkgcnVuIGluIGEgYHJ1biAtLWFsbGAgY291bGQgb3ZlcnJpZGUgdGhlIGV4aXQgY29kZSBvZiB0aGUgZW50aXJlIGBydW4gLS1hbGxgLgoKVGhpcyBoYXMgYmVlbiBmaXhlZC4gVGhlIGV4aXQgY29kZSBvZiB0aGUgYHJ1biAtLWFsbCAtLSBwbGFuIC1kZXRhaWxlZC1leGl0Y29kZWAgIGNvbW1hbmQgd2lsbCBub3cgcHJvcGVybHkgYWdncmVnYXRlIGV4aXQgY29kZXMgZnJvbSBhbGwgcnVucyBpbiBhIGBydW4gLS1hbGxgLCBvbmx5IHJlc2V0aW5nIHRoZSBleGl0IGNvZGUgZm9yIGFuIGluZGl2aWR1YWwgdW5pdCBpZiBpdCBwcm9wZXJseSByZWNvdmVycyBhZnRlciBhIHJldHJ5LgoKIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSAgIGZpeDogUmV2ZXJ0aW5nIHRvIGRlZmVyIG9uIGNsZWFudXAgZm9yIGRvY3MgdGVzdCBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzNDRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzNDQpCi0gICBmaXg6IEdldCB3YXkgbW9yZSBhZ2dyZXNzaXZlIHdpdGggY2xlYW51cCBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzNDJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzNDIpCi0gICBmaXg6IFJlbW92aW5nIHVubmVjZXNzYXJ5IGlucHV0IG9uIGZsYWtlIGRpc3BhdGNoIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMzN10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMzNykKLSAgIGZpeDogU2V0dGluZyBvZiByaWdodCBleGl0IGNvZGUgaW4gY2FzZSBvZiBgLWRldGFpbGVkLWV4aXRjb2RlYCBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDM1N10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDM1NykKLSAgIGZpeDogQWRqdXN0aW5nIHRmIGNoZWNrIHNvIHRoYXQgaXQncyBlYXNpZXIgdG8gdXBkYXRlIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDM2MF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDM2MCkKLSAgIGZpeDogRml4aW5nIGRpc2NyZXBhbmN5IGJldHdlZW4gSmVreWxsIGRvY3MgYW5kIFN0YXJsaWdodCBkb2NzIGZvciB2YWxpZGF0ZSBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzNTldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzNTkpCi0gICBwZXJmOiBBZGRpbmcgb3B0aW1pemVkIHRmIGNvZGUgY2hlY2sgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzM5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzM5KQotICAgcGVyZjogRGVwcmVjYXRpbmcgYmFyZSBpbmNsdWRlcyBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzNDBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzNDApCi0gICBkb2NzOiBEb2N1bWVudGluZyBkZXByZWNhdGlvbiBvZiBiYXJlIGluY2x1ZGVzIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDM0Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDM0NikKLSAgIGNob3JlOiBSZWR1Y2VkIHNpemUgb2YgcHJvZHVjZWQgZXhlY3V0YWJsZSBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDM0MV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDM0MSkKCioqRnVsbCBDaGFuZ2Vsb2cqKjogaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuODAuMi4uLnYwLjgwLjMKCiMjIyBbYHYwLjgwLjJgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcmVsZWFzZXMvdGFnL3YwLjgwLjIpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjgwLjEuLi52MC44MC4yKQoKIyMjIyDinKggTmV3IEZlYXR1cmVzCgojIyMjIyBgZmluZGAgYWRkcyBzdXBwb3J0IGZvciBgLS1pbmNsdWRlYAoKVGhlIGBmaW5kYCBjb21tYW5kIG5vdyBzdXBwb3J0cyB0aGUgYC0taW5jbHVkZWAgZmxhZyB0byBhbGxvdyBmb3IgZmluZSBncmFpbmVkIGNvbnRyb2wgb3ZlciB0aGUgZGlzY292ZXJ5IG9mIHVuaXRzIHRoYXQgaW5jbHVkZSBvdGhlciBwYXJ0aWFsIGNvbmZpZ3VyYXRpb25zLgoKZS5nLgoKYGBgYmFzaAokIHRlcnJhZ3J1bnQgZmluZCAtLWluY2x1ZGUgLS1mb3JtYXQ9anNvbiB8IGpxClsKICB7CiAgICAidHlwZSI6ICJ1bml0IiwKICAgICJwYXRoIjogImJhciIsCiAgICAiaW5jbHVkZSI6IHsKICAgICAgImNsb3VkIjogImNsb3VkLmhjbCIKICAgIH0KICB9LAogIHsKICAgICJ0eXBlIjogInVuaXQiLAogICAgInBhdGgiOiAiZm9vIgogIH0KXQpgYGAKCkNvbWJpbmluZyB0aGUgZmxhZyB3aXRoIHRvb2xzIGxpa2UgYGpxYCBhbGxvd3MgZm9yIHNpbXBsZSBkaXNjb3Zlcnkgb2YgY29uZmlndXJhdGlvbnMgdGhhdCBpbmNsdWRlIG90aGVyIHBhcnRpYWwgY29uZmlndXJhdGlvbnMuCgpgYGBiYXNoCiQgdGVycmFncnVudCBmaW5kIC0taW5jbHVkZSAtLWZvcm1hdD1qc29uIHwganEgJ1suW10gfCBzZWxlY3QoLmluY2x1ZGUuY2xvdWQgPT0gImNsb3VkLmhjbCIpXScKWwogIHsKICAgICJ0eXBlIjogInVuaXQiLAogICAgInBhdGgiOiAiYmFyIiwKICAgICJpbmNsdWRlIjogewogICAgICAiY2xvdWQiOiAiY2xvdWQuaGNsIgogICAgfQogIH0KXQpgYGAKCiMjIyMg8J+QmyBCdWcgRml4ZXMKCiMjIyMjIGAtLXRmLXBhdGhgIG5vdyBjb3JyZWN0bHkgb3ZlcnJpZGVzIGB0ZXJyYWZvcm1fYmluYXJ5YAoKQSBidWcgaW4gdGhlIHByZWNlZGVuY2UgbG9naWMgZm9yIFRlcnJhZ3J1bnQgY29uZmlndXJhdGlvbiBwYXJzaW5nIHJlc3VsdGVkIGluIHRoZSBDTEkgZmxhZyBgLS10Zi1wYXRoYCBmcm9tIGJlaW5nIGlnbm9yZWQgd2hlbiB0aGUgYHRlcnJhZm9ybV9iaW5hcnlgIGF0dHJpYnV0ZSB3YXMgc2V0LgoKVGVycmFncnVudCB3aWxsIG5vdyBjb3JyZWN0bHkgcmVzcGVjdCB0aGUgYHRlcnJhZm9ybV9iaW5hcnlgIGF0dHJpYnV0ZSB3aGVuIHNldCwgYW5kIGFsbG93IGAtLXRmLXBhdGhgIHRvIG92ZXJyaWRlIHRoZSB2YWx1ZSB3aGVuIGl0IGlzIHNldC4KCiMjIyMgV2hhdCdzIENoYW5nZWQKCi0gICBmZWF0OiBBZGRpbmcgYmFzaWMgYmVuY2htYXJrcyBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzMjVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzMjUpCi0gICBmZWF0OiBBZGQgc3VwcG9ydCBmb3IgZGlzcGxheWluZyBpbmNsdWRlIGNvbmZpZ3VyYXRpb25zIGluIHRoZSB0ZXJyYWdydW50IGZpbmQgY29tbWFuZCBieSBbQCYjODIwMztqYW1lczAzMTYwOTI3XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vamFtZXMwMzE2MDkyNykgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzMzBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzMzApCi0gICBmZWF0OiBBZGRpbmcgZmxha2UgdGVzdCBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzMzRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzMzQpCi0gICBmaXg6IEZpeGluZyB1c2FnZSBvZiBgLS10Zi1wYXRoYCBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzMzJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzMzIpCi0gICBmaXg6IENsZWFuaW5nIHVwIGFkZGl0aW9uIG9mIGAtLWluY2x1ZGVgIG9uIGBmaW5kYCBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzMzVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzMzUpCi0gICBjaG9yZTogbWlncmF0ZWQgdG8gZ29sYW5nY2ktbGludCB2MiBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMzM10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMzMykKCioqRnVsbCBDaGFuZ2Vsb2cqKjogaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuODAuMS4uLnYwLjgwLjIKCiMjIyBbYHYwLjgwLjFgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcmVsZWFzZXMvdGFnL3YwLjgwLjEpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjgwLjAuLi52MC44MC4xKQoKIyMjIyMgV2hhdCdzIENoYW5nZWQKCi0gICBjaG9yZTogQnVpbGQgcHJvY2VzcyBub3cgbGV2ZXJhZ2VzIEdvIDEuMjQgZmVhdHVyZXMgYW5kIGltcHJvdmVtZW50cyBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMyNF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMyNCkKCioqRnVsbCBDaGFuZ2Vsb2cqKjogaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuODAuMC4uLnYwLjgwLjEKCiMjIyBbYHYwLjgwLjBgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcmVsZWFzZXMvdGFnL3YwLjgwLjApCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc5LjMuLi52MC44MC4wKQoKKipUZXJyYWZvcm0gMS4xMiBzdXBwb3J0Kio6IFdlIGFyZSBub3cgdGVzdGluZyBUZXJyYWdydW50IGFnYWluc3QgVGVycmFmb3JtIDEuMTIgYW5kIGlzIGNvbmZpcm1lZCB0byBiZSB3b3JraW5nLgoKTk9URTogQWx0aG91Z2ggdGhpcyByZWxlYXNlIGlzIG1hcmtlZCBhcyBiYWNrd2FyZCBpbmNvbXBhdGlibGUsIGl0IGlzIGZ1bmN0aW9uYWxseSBjb21wYXRpYmxlIGFzIG5vdGhpbmcgaGFzIGJlZW4gY2hhbmdlZCBpbiBUZXJyYWdydW50IGludGVybmFscy4gVGhlIG1pbm9yIHZlcnNpb24gcmVsZWFzZSBpcyB1c2VmdWwgdG8gbWFyayB0aGUgY2hhbmdlIGluIFRlcnJhZm9ybSB2ZXJzaW9uIHRoYXQgaXMgYmVpbmcgdGVzdGVkLgoKIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSAgIGNob3JlOiBBZGRlZCBzdXBwb3J0IGZvciBUZXJyYWZvcm0gMS4xMiBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMxN10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMxNykKLSAgIGJ1aWxkKGRlcHMpOiBidW1wIGdpdGh1Yi5jb20vYXdzL2F3cy1zZGstZ28gZnJvbSAxLjU1LjYgdG8gMS41NS43IGJ5IFtAJiM4MjAzO2RlcGVuZGFib3RdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZXBlbmRhYm90KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMwMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMwMCkKLSAgIGJ1aWxkKGRlcHMpOiBidW1wIGNsb3VkLmdvb2dsZS5jb20vZ28vc3RvcmFnZSBmcm9tIDEuNTEuMCB0byAxLjUzLjAgYnkgW0AmIzgyMDM7ZGVwZW5kYWJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlcGVuZGFib3QpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjY5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjY5KQotICAgYnVpbGQoZGVwcyk6IGJ1bXAgZ29sYW5nLm9yZy94L3N5cyBmcm9tIDAuMzIuMCB0byAwLjMzLjAgYnkgW0AmIzgyMDM7ZGVwZW5kYWJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlcGVuZGFib3QpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjY4XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjY4KQoKKipGdWxsIENoYW5nZWxvZyoqOiBodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43OS4zLi4udjAuODAuMAoKIyMjIFtgdjAuNzkuM2BdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9yZWxlYXNlcy90YWcvdjAuNzkuMykKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzkuMi4uLnYwLjc5LjMpCgojIyMjIyDwn5Kq8J+PvSBFbmhhbmNlbWVudHMKCiMjIyMjIExpbWl0YXRpb24gb24gQ2F0YWxvZyBVUkxzIGxpZnRlZAoKQSBsaW1pdGF0aW9uIG9uIG9ubHkgc3VwcG9ydGluZyByZWNvZ25pemVkIGdvLWdldHRlciBVUkwgcGF0dGVycyBoYXMgYmVlbiBsaWZ0ZWQgZnJvbSB0aGUgW2NhdGFsb2ddKGh0dHBzOi8vdGVycmFncnVudC5ncnVudHdvcmsuaW8vZG9jcy9mZWF0dXJlcy9jYXRhbG9nLykgY29tbWFuZC4KClRoZSByZWFzb24gdGhpcyBsaW1pdGF0aW9uIGV4aXN0ZWQgaW4gdGhlIHBhc3Qgd2FzIHRvIGVuc3VyZSB0aGF0IHVzZXJzIHdlcmUgYWJsZSB0byBoYXZlIFRlcnJhZ3J1bnQgbG9hZCBtb2R1bGUgc291cmNlIGNvZGUgaW4gYnJvd3NlcnMgZnJvbSB0aGUgY2F0YWxvZyBUZXJtaW5hbCBVc2VyIEludGVyZmFjZSAoVFVJKS4gVG8gc3VwcG9ydCB0aGF0LCBvbmx5IGEgY29uc3RyYWluZWQgc2V0IG9mIHNvdXJjZXMgd2VyZSBzdXBwb3J0ZWQsIHRvIGVuc3VyZSB0aGF0IGEgYnV0dG9uIHdhcyBhdmFpbGFibGUgdG8gcG9wIG9wZW4gdGhlIGxpbmsgaW4gdGhlIGJyb3dzZXIuCgo8aW1nIHdpZHRoPSI2NzAiIGFsdD0iaW1hZ2UiIHNyYz0iaHR0cHM6Ly9naXRodWIuY29tL3VzZXItYXR0YWNobWVudHMvYXNzZXRzLzkyZGMwMTZlLTNiYzUtNDZmNS1iNjkwLWRhMzA0MzU5MGMyNCIgLz4KCjxpbWcgd2lkdGg9IjY2NiIgYWx0PSJpbWFnZSIgc3JjPSJodHRwczovL2dpdGh1Yi5jb20vdXNlci1hdHRhY2htZW50cy9hc3NldHMvZjUxMmU5MDEtNGRlYi00NzcxLThjYmQtZWEzZDU0Y2Y1NTk0IiAvPgoKVGVycmFncnVudCB3aWxsIG5vdyBkeW5hbWljYWxseSBhZGp1c3QgdGhlIGJ1dHRvbnMgYXZhaWxhYmxlIGFmdGVyIG1vZHVsZSBzZWxlY3Rpb24gdG8gZ3JhY2VmdWxseSBkZWdyYWRlIHRoZSBleHBlcmllbmNlLCBpbnN0ZWFkIG9mIGNvbXBsZXRlbHkgcmVqZWN0aW5nIHJlcG9zaXRvcnkgc291cmNlcyB0aGF0IGNhbid0IGJlIHByZWRpY3RhYmx5IGNvbnZlcnRlZCB0byBicm93c2VyIFVSTHMuCgo8aW1nIHdpZHRoPSIzNDYiIGFsdD0iaW1hZ2UiIHNyYz0iaHR0cHM6Ly9naXRodWIuY29tL3VzZXItYXR0YWNobWVudHMvYXNzZXRzLzc2YTdiMWU1LWMxNDgtNDJiMi1hNjk2LWQ3ZmQ3NTBlODY2ZCIgLz4KClRoaXMgYWxsb3dzIG1vcmUgdXNlcnMgdG8gYWRvcHQgdGhlIFRlcnJhZ3J1bnQgQ2F0YWxvZywgd2hpbGUgcHJvdmlkaW5nIHRoZSBzYW1lIGdyZWF0IHVzZXIgZXhwZXJpZW5jZSBmb3IgdXNlcnMgdGhhdCBhcmUgb24gZnVsbHkgc3VwcG9ydGVkIHBsYXRmb3JtcywgbGlrZSBHaXRIdWIsIEdpdExhYiwgQml0QnVja2V0LCBldGMuCgojIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSAgIGZlYXQ6IEFsbG93IHVua25vd24gY2F0YWxvZyBVUkxzIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMxOF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMxOCkKLSAgIGRvY3M6IENsYXJpZnkgYW1iaWd1b3VzIGRvY3VtZW50YXRpb24gb24gdmFyaWFibGUgcHJlY2VkZW5jZSBieSBbQCYjODIwMztvd2F0dGxleS1yb3RhZ2Vla10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL293YXR0bGV5LXJvdGFnZWVrKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMxOV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMxOSkKLSAgIGNob3JlOiBBZGp1c3RpbmcgY2F0YWxvZyBpbXBsZW1lbnRhdGlvbiBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzMTVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzMTUpCgojIyMjIyBOZXcgQ29udHJpYnV0b3JzCgotICAgW0AmIzgyMDM7b3dhdHRsZXktcm90YWdlZWtdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9vd2F0dGxleS1yb3RhZ2VlaykgbWFkZSB0aGVpciBmaXJzdCBjb250cmlidXRpb24gaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzMTldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzMTkpCgoqKkZ1bGwgQ2hhbmdlbG9nKio6IGh0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc5LjIuLi52MC43OS4zCgojIyMgW2B2MC43OS4yYF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3JlbGVhc2VzL3RhZy92MC43OS4yKQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43OS4xLi4udjAuNzkuMikKCiMjIyMjIPCfmpcgUGVyZm9ybWFuY2UgSW1wcm92ZW1lbnRzCgpJbXByb3ZlZCBvdmVyYWxsIHBlcmZvcm1hbmNlIGJ5IG1lbW9pemluZyBgLXZlcnNpb25gIG91dHB1dCBpbiBlYWNoIHVuaXQuCgojIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSAgIGZlYXQ6IEltcHJvdmVkIHBlcmZvcm1hbmNlIGJ5IG1lbW9pemluZyBgLXZlcnNpb25gIG91dHB1dCBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI4OF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI4OCkKCioqRnVsbCBDaGFuZ2Vsb2cqKjogaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzkuMS4uLnYwLjc5LjIKCiMjIyBbYHYwLjc5LjFgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcmVsZWFzZXMvdGFnL3YwLjc5LjEpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc5LjAuLi52MC43OS4xKQoKIyMjIyDwn5Kq8J+PvSBFbmhhbmNlbWVudHMKCiMjIyMjIFJlY3Vyc2l2ZSBzdGFjayBjbGVhbgoKSW1wcm92ZWQgYHN0YWNrIGNsZWFuYCB0byByZWN1cnNpdmVseSBkZWxldGUgYWxsIG5lc3RlZCBzdGFjayBkaXJlY3RvcmllcywgZW5zdXJpbmcgdGhvcm91Z2ggY2xlYW51cC4KCiMjIyMgV2hhdCdzIENoYW5nZWQKCi0gICBmZWF0OiBFbmFibGVkIHJlY3Vyc2l2ZSBkZWxldGlvbiBvZiBzdGFjayBkaXJlY3RvcmllcyBpbiBgc3RhY2sgY2xlYW5gIGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzEzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzEzKQotICAgZmVhdDogU3dpdGNoaW5nIHRvIEdpdEh1YiBBY3Rpb25zIE9JREMgcm9sZSBhc3N1bXB0aW9uIGZvciBPSURDIHRlc3QgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzA1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzA1KQotICAgZml4OiBDb3JyZWN0ZWQgbWlzbGFiZWxlZCBgbGVnYWN5LWFsbGAgY29udHJvbCBpbiBkb2N1bWVudGF0aW9uIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMxMV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMxMSkKLSAgIGZpeDogRW5hYmxlZCBkaXNhYmxlZCB0ZXN0cyBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzMTJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzMTIpCi0gICBkb2NzOiB1cGRhdGVkIHF1aWNrIHN0YXJ0IGRvY3VtZW50YXRpb24gd2l0aCBhZGRpdGlvbmFsIG91dHB1dCBkaXJlY3RvcnkgdXNhZ2UgYnkgW0AmIzgyMDM7amFtZXMwMzE2MDkyN10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2phbWVzMDMxNjA5MjcpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80Mjk5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80Mjk5KQoKKipGdWxsIENoYW5nZWxvZyoqOiBodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43OS4wLi4udjAuNzkuMQoKIyMjIFtgdjAuNzkuMGBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9yZWxlYXNlcy90YWcvdjAuNzkuMCkKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzguNC4uLnYwLjc5LjApCgojIyMjIPCfkqrwn4+9IEVuaGFuY2VtZW50cwoKIyMjIyMgVGhlIGBydW4gLS1hbGxgIGNvbW1hbmQgYXV0b21hdGljYWxseSBnZW5lcmF0ZXMgVGVycmFncnVudCBTdGFja3MKCklmIHlvdSBhcmUgdXNpbmcgYHRlcnJhZ3J1bnQuc3RhY2suaGNsYCBmaWxlcyBpbiB5b3VyIGNvZGViYXNlLCBgcnVuIC0tYWxsYCBjb21tYW5kcyB3aWxsIG5vdyBhdXRvbWF0aWNhbGx5IGV4cGFuZCBhbGwgYHRlcnJhZ3J1bnQuc3RhY2suaGNsYCBmaWxlcyBpbnRvIGdlbmVyYXRlZCBzdGFjayBjb25maWd1cmF0aW9ucywgYXMgaWYgeW91IGhhZCBydW4gYHN0YWNrIGdlbmVyYXRlYCBiZWZvcmUgcnVubmluZyB0aGUgYHJ1biAtLWFsbGAgY29tbWFuZC4KCmUuZy4KCmBgYGJhc2gKdGVycmFncnVudCBydW4gLS1hbGwgcGxhbgpgYGAKCklzIG5vdyBlcXVpdmFsZW50IHRvOgoKYGBgYmFzaAp0ZXJyYWdydW50IHN0YWNrIGdlbmVyYXRlCnRlcnJhZ3J1bnQgcnVuIC0tYWxsIHBsYW4KYGBgCgpJZiB5b3Ugd291bGQgbGlrZSB0byBkaXNhYmxlIHRoaXMgbmV3IGJlaGF2aW9yLCB5b3UgY2FuIHVzZSB0aGUgYC0tbm8tc3RhY2stZ2VuZXJhdGVgIHRvIG9wdCBvdXQgb2YgYXV0b21hdGljIHN0YWNrIGdlbmVyYXRpb24uCgojIyMjIPCfk5YgRG9jcyBVcGRhdGVzCgpUaGUgW1RlcnJhZ3J1bnQgdjFdKGh0dHBzOi8vdGVycmFncnVudC12MS5ncnVudHdvcmsuaW8vKSBkb2NzIGFyZSBvcGVuIGZvciBmZWVkYmFjayEKClRoZXNlIGRvY3Mgd2lsbCB1bmRlcmdvIHNpZ25pZmljYW50IGFkanVzdG1lbnRzLCBib3RoIHN0eWxpc3RpY2FsbHksIGFuZCBmdW5jdGlvbmFsaXR5IG9uIHRoZSByb2FkIHRvIDEuMC4KClRoZXkgYXJlIGEgZnVsbCByZXdyaXRlIG9mIHRoZSBleGlzdGluZyBUZXJyYWdydW50IERvY3Mgc2l0ZSB3cml0dGVuIGluIFtKZWt5bGxdKGh0dHBzOi8vamVreWxscmIuY29tLykgdG8gb25lIHVzaW5nIFtTdGFybGlnaHRdKGh0dHBzOi8vc3RhcmxpZ2h0LmFzdHJvLmJ1aWxkLykuCgpZb3VyIGZlZWRiYWNrIGlzIHJlcXVlc3RlZCEgSWYgeW91IGFyZSByZWFkaW5nIHRoZXNlIHJlbGVhc2Ugbm90ZXMgcmVsYXRpdmVseSBzb29uIGFmdGVyIHJlbGVhc2UsIHlvdSBzaG91bGQgc2VlIGEgbGluayBhdCB0aGUgdG9wIG9mIHRoZSBzaXRlIHdoZXJlIHlvdSBjYW4gcHJvdmlkZSB5b3VyIGZlZWRiYWNrIG9uIHRoZSBuZXcgZG9jcy4KCiMjIyMgV2hhdCdzIENoYW5nZWQKCi0gICBmZWF0OiBNb3ZpbmcgdXNlcnMgb3ZlciB0byB0ZXJyYWdydW50LXYxLmdydW50d29yay5pbyBkb2NzIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDIwMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDIwMikKLSAgIGZlYXQ6IEFkZGluZyBHVE0gYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80Mjg1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80Mjg1KQotICAgZmVhdDogR2l0aHViIEFjdGlvbiB0ZXN0cyBtaWdyYXRpb24gYnkgW0AmIzgyMDM7ZGVuaXMyNTZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZW5pczI1NikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyODFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyODEpCi0gICBmZWF0OiBBdXRvbWF0aWNhbGx5IHN0YWNrIGdlbmVyYXRlIGluIHJ1biAtLWFsbCBvciBydW4gLS1ncmFwaCBjb21tYW5kIGJ5IFtAJiM4MjAzO2phbWVzMDMxNjA5MjddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9qYW1lczAzMTYwOTI3KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI4M10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI4MykKLSAgIGZlYXQ6IEFkZGluZyBjbG91ZC1udWtlIGNyb24gYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzA2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzA2KQotICAgZmVhdDogQWRqdXN0aW5nIG5hdiBoZWlnaHQgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80Mjg0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80Mjg0KQotICAgZml4OiBGaXhpbmcgYHJlbW90ZS1yZWxhdGl2ZS13aXRoLXNsYXNoYCBmaXh0dXJlIG9uIEFSTSB0ZXN0cyBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyOTddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyOTcpCi0gICBmaXg6IEZpeGluZyBpbnN0YWxsIHZlcnNpb24gYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzEwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzEwKQotICAgZml4OiBJbXByb3ZlZCBlcnJvciBoYW5kbGluZyBpbiBBV1MgZG9jcyBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMwM10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMwMykKLSAgIGNob3JlOiBlbmFibGUgVGVzdFJlbW90ZURvd25sb2FkV2l0aFJlbGF0aXZlUGF0aEFuZFNsYXNoSW5CcmFuY2ggdGVzdCBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI4Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI4NikKLSAgIGJ1aWxkKGRlcHMpOiBidW1wIHJ1Ynkvc2V0dXAtcnVieSBmcm9tIDEuMjMzLjAgdG8gMS4yMzguMCBieSBbQCYjODIwMztkZXBlbmRhYm90XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVwZW5kYWJvdCkgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyNzBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyNzApCi0gICBidWlsZChkZXBzKTogYnVtcCBnaXRodWIuY29tL2dydW50d29yay1pby90ZXJyYXRlc3QgZnJvbSAwLjQ4LjIgdG8gMC40OS4wIGJ5IFtAJiM4MjAzO2RlcGVuZGFib3RdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZXBlbmRhYm90KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI2N10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI2NykKLSAgIGJ1aWxkKGRlcHMpOiBidW1wIHJ1Ynkvc2V0dXAtcnVieSBmcm9tIDEuMjM4LjAgdG8gMS4yNDIuMCBieSBbQCYjODIwMztkZXBlbmRhYm90XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVwZW5kYWJvdCkgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzMDFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzMDEpCi0gICBidWlsZChkZXBzKTogYnVtcCBEYXZpZEFuc29uL21hcmtkb3dubGludC1jbGkyLWFjdGlvbiBmcm9tIDE5IHRvIDIwIGJ5IFtAJiM4MjAzO2RlcGVuZGFib3RdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZXBlbmRhYm90KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMwMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMwMikKCiMjIyMgTmV3IENvbnRyaWJ1dG9ycwoKLSAgIFtAJiM4MjAzO2phbWVzMDMxNjA5MjddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9qYW1lczAzMTYwOTI3KSBtYWRlIHRoZWlyIGZpcnN0IGNvbnRyaWJ1dGlvbiBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI4M10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI4MykKCioqRnVsbCBDaGFuZ2Vsb2cqKjogaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzguNC4uLnYwLjc5LjAKCiMjIyBbYHYwLjc4LjRgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcmVsZWFzZXMvdGFnL3YwLjc4LjQpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc4LjMuLi52MC43OC40KQoKIyMjIyDinKggTmV3IEZlYXR1cmVzCgojIyMjIyBPcGVuVGVsZW1ldHJ5IFRyYWNlIFByb3BvZ2F0aW9uCgpJbiBhbnRpY2lwYXRpb24gb2YgdGhlIGludHJvZHVjdGlvbiBvZiBPcGVuVGVsZW1ldHJ5IHN1cHBvcnQgaW4gT3BlblRvZnUgMS4xMCwgVGVycmFncnVudCB3aWxsIG5vdyBwcm9wYWdhdGUgdGhlIGBUUkFDRVBBUkVOVGAgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gY2hpbGQgcHJvY2Vzc2VzIHRvIHN1cHBvcnQgT3BlblRlbGVtZXRyeSB0cmFjZXMgdGhhdCBtYWludGFpbiBjb250ZXh0IGFjcm9zcyBUZXJyYWdydW50IGFuZCBPcGVuVG9mdS4KClRoaXMgd29yayBpcyBiYXNlZCBvbiBbQCYjODIwMztZYW50cmlvXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vWWFudHJpbykgJ3MgUG9DIFBSIFsjJiM4MjAzOzQyNTRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9pc3N1ZXMvNDI1NCksIGFuZCBpcyBvbmx5IHVzZWZ1bCBkdWUgdG8gaGlzIHdvcmsgYWRkaW5nIE9wZW5UZWxlbXRyeSBpbiBPcGVuVG9mdS4gVGhhbmsgeW91IQoKIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSAgIGZlYXQ6IEFkZGVkIGdlbmVyYXRpb24gb2Ygb3BlbnRlbGVtZXRyeSBwYXJlbnQgdHJhY2VzIHRvIGludm9rZWQgZXhlY3V0YWJsZXMgYnkgW0AmIzgyMDM7ZGVuaXMyNTZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZW5pczI1NikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyNzhdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyNzgpCi0gICBmZWF0OiBBZGRlZCBzdXBwb3J0IGZvciBUZXJyYWZvcm0gdGVzdHMgaW4gR2l0aHViIEFjdGlvbiBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI3NV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI3NSkKLSAgIGRvY3M6IEFkZGVkIGhvbWVwYWdlIHRvIFN0YXJsaWdodCBkb2NzIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI1MF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI1MCkKCioqRnVsbCBDaGFuZ2Vsb2cqKjogaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzguMy4uLnYwLjc4LjQKCiMjIyBbYHYwLjc4LjNgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcmVsZWFzZXMvdGFnL3YwLjc4LjMpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc4LjIuLi52MC43OC4zKQoKIyMjIyDwn5CbIEJ1ZyBGaXhlcwoKV2hlbiBhbiBbZXJyb3IgcmV0cnldKGh0dHBzOi8vdGVycmFncnVudC5ncnVudHdvcmsuaW8vZG9jcy9mZWF0dXJlcy9ydW50aW1lLWNvbnRyb2wvI2Vycm9ycykgcmVzdWx0cyBpbiBhIHBsYW4gc3VjY2VlZGluZyB3aGVuIGl0IGluaXRpYWxseSBmYWlsZWQsIHVzYWdlIG9mIGBydW4gLS1hbGwgLS0gcGxhbiAtZGV0YWlsZWQtZXhpdGNvZGVgIHdpbGwgbm93IHByb3Blcmx5IHRha2UgaW50byBhY2NvdW50IHRoZSAqZmluYWwqIGV4aXQgY29kZSwgcmF0aGVyIHRoYW4gdGhlIGZpcnN0IG9uZSwgbWVhbmluZyB0aGF0IHRoZSBleGl0IGNvZGUgb2YgdGhlIHdob2xlIHJ1biB3aWxsIGJlIHplcm8gaWYgbm8gb3RoZXIgdW5pdHMgZmFpbCB0aGVpciBwbGFucy4KClRoYW5rcyB0byBbQCYjODIwMzt3YWtlZnVsXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vd2FrZWZ1bCkgZm9yIGNvbnRyaWJ1dGluZyB0aGlzIGZpeCEKCiMjIyMgV2hhdCdzIENoYW5nZWQKCi0gICBmaXggWyMmIzgyMDM7Mzg0NV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2lzc3Vlcy8zODQ1KSBzZXQgdGhlIGNvcnJlY3QgZXhpdCBjb2RlIHdoZW4gYSByZXRyeSBpcyBzdWNjZXNzZnVsLiBieSBbQCYjODIwMzt3YWtlZnVsXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vd2FrZWZ1bCkgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzM5NjZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzM5NjYpCi0gICBkb2NzOiBJbXByb3ZpbmcgUnVuIFF1ZXVlIGRvY3MgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjcyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjcyKQoKKipGdWxsIENoYW5nZWxvZyoqOiBodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43OC4yLi4udjAuNzguMwoKIyMjIFtgdjAuNzguMmBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9yZWxlYXNlcy90YWcvdjAuNzguMikKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzguMS4uLnYwLjc4LjIpCgojIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSAgIGZlYXQ6IGVuYWJsZSBHQ1AgaW50ZWdyYXRpb24gdGVzdHMgaW4gR0ggQWN0aW9uIGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjU3XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjU3KQotICAgZmVhdDogZml4ZWQgVGVzdEdjcFdvcmtzV2l0aEltcGVyc29uYXRlQmFja2VuZCB0ZXN0IGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjYxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjYxKQotICAgZmVhdDogQWRkaW5nIGludGVncmF0aW9uIHRlc3RzIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE5OF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE5OCkKLSAgIGZlYXQ6IGFkZCBXaW5kb3dzIGludGVncmF0aW9uIHRlc3RzIGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjYyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjYyKQotICAgZml4OiBSZW1vdmluZyBIVE1MIGBmb250LXNpemVgIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI1NikKLSAgIGRvY3M6IEFkZGluZyBSdW4gUXVldWUgRG9jcyBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyNDldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyNDkpCi0gICBidWlsZChkZXBzKTogYnVtcCBnaXRodWIuY29tL2dydW50d29yay1pby9ib2lsZXJwbGF0ZSB0byB2MC42LjEgYnkgW0AmIzgyMDM7ZGVuaXMyNTZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZW5pczI1NikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyNjNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyNjMpCi0gICBidWlsZChkZXBzKTogYnVtcCBnaXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50LWVuZ2luZS1nbyB0byB2MC4wLjE0IGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjYzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjYzKQotICAgYnVpbGQoZGVwcyk6IGJ1bXAgZ29sYW5nLm9yZy94L29hdXRoMiB0byB2MC4zMC4wIGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjYzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjYzKQotICAgYnVpbGQoZGVwcyk6IGJ1bXAgZ29sYW5nLm9yZy94L3N5bmMgdG8gdjAuMTQuMCBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI2M10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI2MykKLSAgIGJ1aWxkKGRlcHMpOiBidW1wIGdvb2dsZS5nb2xhbmcub3JnL2FwaSB0byB2MC4yMzIuMCBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI2M10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI2MykKLSAgIGJ1aWxkKGRlcHMpOiBidW1wIGdvb2dsZS5nb2xhbmcub3JnL2dycGMgdG8gdjEuNzIuMCBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI2M10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI2MykKLSAgIGNob3JlOiBkZXBlbmRlbmNpZXMgdXBkYXRlIGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjYzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjYzKQoKKipGdWxsIENoYW5nZWxvZyoqOiBodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43OC4xLi4udjAuNzguMgoKIyMjIFtgdjAuNzguMWBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9yZWxlYXNlcy90YWcvdjAuNzguMSkKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzguMC4uLnYwLjc4LjEpCgojIyMjIFdoYXQncyBDaGFuZ2VkCgotICAgZG9jczogVXBkYXRpbmcgZG9jcyBub3cgdGhhdCBzdGFja3MgYXJlIGdlbmVyYWxseSBhdmFpbGFibGUgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjQzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjQzKQotICAgZml4OiBBV1MgUzMgYmFja2VuZCBhY2Nlc3MgbG9nZ2luZyBidWNrZXQgbm90IHZlcnNpb25pbmcgYnkgW0AmIzgyMDM7bGV2a29oaW1pbnNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9sZXZrb2hpbWlucykgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyNDZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyNDYpCgoqKkZ1bGwgQ2hhbmdlbG9nKio6IGh0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc4LjAuLi52MC43OC4xCgojIyMgW2B2MC43OC4wYF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3JlbGVhc2VzL3RhZy92MC43OC4wKQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43Ny4yMi4uLnYwLjc4LjApCgojIyMjIPCfp6ogRXhwZXJpbWVudHMgQ29tcGxldGVkCgpUaGUgW3N0YWNrc10oaHR0cHM6Ly90ZXJyYWdydW50LmdydW50d29yay5pby9kb2NzL3JlZmVyZW5jZS9leHBlcmltZW50cy8jc3RhY2tzKSBleHBlcmltZW50IGlzIG5vdyBjb21wbGV0ZS4KCklmIHlvdSB3ZXJlIHByZXZpb3VzbHkgdXNpbmcgdGhlIGZsYWcgYC0tZXhwZXJpbWVudCBzdGFja3NgIHRvIG9wdCBpbiB0byBleHBlcmltZW50YWwgZnVuY3Rpb25hbGl0eSwgeW91IG5vIGxvbmdlciBoYXZlIHRvIGRvIHNvLiBOb3RlIHRoYXQgaWYgeW91IGFyZSwgeW91IHdpbGwgc2ltcGx5IGdldCBhIHdhcm5pbmcgdGhhdCBpdCBpcyBubyBsb25nZXIgbmVjZXNzYXJ5LgoKIyMjIyDwn5ug77iPIEJyZWFraW5nIENoYW5nZXMKCkxlZ2FjeSBjb21tYW5kcyAoYXMgcmVwbGFjZWQgYnkgdGhlIFtDTEkgUmVkZXNpZ25dKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9pc3N1ZXMvMzQ0NSkgYXJlIG5vdyBkZXByZWNhdGVkLCBhbmQgd2lsbCBiZSBwaGFzZWQgb3V0IGF0IGEgZnV0dXJlIGRhdGUsIHdoaWNoIHdpbGwgYmUgc2NoZWR1bGVkIGluIFsjJiM4MjAzOzM1MzVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9pc3N1ZXMvMzUzNSkuIE1ha2Ugc3VyZSB0byBzdWJzY3JpYmUgdG8gdGhlIGlzc3VlIGlmIHlvdSB3b3VsZCBsaWtlIHRvIGJlIGluZm9ybWVkIHdoZW4gdGhlc2UgZGVwcmVjYXRlZCBmZWF0dXJlcyBhcmUgbm8gbG9uZ2VyIHN1cHBvcnRlZC4KCkZvciBpbnN0cnVjdGlvbnMgb24gbWlncmF0aW5nIHRvIHRoZSBuZXcgY29tbWFuZHMgcHJvdmlkZWQgYWZ0ZXIgdGhlIENMSSBSZWRlc2lnbiwgcmVhZCB0aGUgW0NMSSBSZWRlc2lnbiBNaWdyYXRpb24gR3VpZGVdKGh0dHBzOi8vdGVycmFncnVudC5ncnVudHdvcmsuaW8vZG9jcy9taWdyYXRlL2NsaS1yZWRlc2lnbi8pLgoKVGhlIGZvbGxvd2luZyBhcmUgbm93IGRlcHJlY2F0ZWQ6CgotICAgYGhjbGZtdGAgKHVzZSBgaGNsIGZtdGAgaW5zdGVhZCkKLSAgIGBoY2x2YWxpZGF0ZWAgKHVzZSBgaGNsIHZhbGlkYXRlYCBpbnN0ZWFkKQotICAgYHZhbGlkYXRlLWlucHV0c2AgKHVzZSBgaGNsIHZhbGlkYXRlIC0taW5wdXRzYCBhbmQgYGhjbCB2YWxpZGF0ZSAtLWlucHV0cyAtLXN0cmljdGAgaW5zdGVhZCkKLSAgIGB0ZXJyYWdydW50LWluZm9gICh1c2UgYGluZm8gcHJpbnRgIGluc3RlYWQpCi0gICBgb3V0cHV0LW1vZHVsZS1ncm91cHNgICh1c2UgYGZpbmQgLS1kYWcgLS1qc29uYCBpbnN0ZWFkKQotICAgYHJlbmRlci1qc29uYCAodXNlIGByZW5kZXIgLS1qc29uIC13YCBpbnN0ZWFkKQotICAgYGdyYXBoLWRlcGVuZGVuY2llc2AgKHVzZSBgZGFnIGdyYXBoYCBpbnN0ZWFkKQotICAgYHJ1bi1hbGxgICh1c2UgYHJ1biAtLWFsbGAgaW5zdGVhZCkKLSAgIGBncmFwaGAgKHVzZSBgcnVuIC0tZ3JhcGhgIGluc3RlYWQpCi0gICBUaGUgZGVmYXVsdCBjb21tYW5kLiBlLmcuIGB0ZXJyYWdydW50IHdvcmtzcGFjZSBsaXN0YCAodXNlIGB0ZXJyYWdydW50IHJ1biAtLSB3b3Jrc3BhY2UgbGlzdGAgaW5zdGVhZCkKLSAgIERlZmF1bHQgYm9vdHN0cmFwIChhdXRvbWF0aWNhbGx5IHByb3Zpc2lvbmluZyBiYWNrZW5kIHJlc291cmNlcyB3aXRob3V0IGFkZGl0aW9uYWwgZmxhZ3MpLiBUaGlzIGlzIG5vdyBvcHQgaW4gYmVoYXZpb3IsIGFuZCByZXF1aXJlcyB1c2FnZSBvZiB0aGUgYC0tYmFja2VuZC1ib290c3RyYXBgIGZsYWcgb3IgZXhwbGljaXRseSBydW5uaW5nIHRoZSBuZXcgYGJhY2tlbmQgYm9vdHN0cmFwYCBjb21tYW5kLgotICAgYGF3cy1wcm92aWRlci1wYXRjaGAgKHdlIGFyZSBzaW1wbHkgZGVwcmVjYXRpbmcgdGhpcyBjb21tYW5kLCBhbmQgcmVtb3ZpbmcgaXQgd2hlbiB0aGUgb3RoZXIgY29tbWFuZHMgYXJlIHJlbW92ZWQuIEl0IHNlcnZlZCBpdHMgcHVycG9zZSBhcyBhIHNob3J0IHRlcm0gc3RvcGdhcCB0b29sKS4KCk5vdGUgdGhhdCB0aGlzIHdpbGwgbm90IHJlc3VsdCBpbiBhbiBpbW1lZGlhdGUgYnJlYWtpbmcgY2hhbmdlIGZvciB1c2VycywgYXMgd2XigJlsbCBoYXZlIGFuIGluaXRpYWwgZGVwcmVjYXRpb24gd2luZG93IHRvIGdpdmUgdXNlcnMgdGltZSB0byBhZGp1c3QgdG8gdGhlc2UgY2hhbmdlcy4gSWYgeW914oCZZCBsaWtlIHRvIGVuc3VyZSB0aGF0IHlvdSBhcmUgcHJlcGFyZWQgZm9yIHRoZSBmdXR1cmUgcmVtb3ZhbCBvZiBsZWdhY3kgY29tbWFuZHMsIHlvdSBjYW4gdGFrZSBhZHZhbnRhZ2Ugb2YgdGhlIFtjbGktcmVkZXNpZ25dKGh0dHBzOi8vdGVycmFncnVudC5ncnVudHdvcmsuaW8vZG9jcy9yZWZlcmVuY2Uvc3RyaWN0LW1vZGUvI2NsaS1yZWRlc2lnbikgc3RyaWN0IGNvbnRyb2wgdG8gb3B0IGluIHRvIHRoZSBmdXR1cmUgYnJlYWtpbmcgY2hhbmdlIGVhcmx5LgoKIyMjIyDwn5Kq8J+PvSAgRW5oYW5jZW1lbnRzCgpUaGUgbG9nZ2luZyBmb3Igc3RhY2sgZ2VuZXJhdGlvbiBoYXMgYmVlbiBpbXByb3ZlZCB0byBtYWtlIGl0IGVhc2llciB0byBkZXRlcm1pbmUgYXQgYSBnbGFuY2UgdGhlIHN0YWNrIGZpbGUgdGhhdOKAmXMgZ2VuZXJhdGluZyBhIHBhcnRpY3VsYXIgdW5pdC4KCiFbc3RhY2tzLWdlbmVyYXRpb25dKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS91c2VyLWF0dGFjaG1lbnRzL2Fzc2V0cy8xMWM0OWM5Mi1lZGZkLTRkM2EtYjJjNi00YmFlNDMyNmUwZTIpCgojIyMjIFdoYXQncyBDaGFuZ2VkCgotICAgZmVhdDogaW1wcm92ZWQgc3RhY2sgbG9ncyBnZW5lcmF0aW9uIGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjEzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjEzKQotICAgZmVhdDogc3RhY2tzIGV4cHJpbWVudCBjb21wbGV0aW9uIGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjIyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjIyKQotICAgZmVhdDogRGVwcmVjYXRpbmcgYHJlbmRlci1qc29uYCBjb21tYW5kIGJ5IFtAJiM4MjAzO2xldmtvaGltaW5zXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbGV2a29oaW1pbnMpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjI3XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjI3KQotICAgZmVhdDogRGVwcmVjYXRpbmcgYGF3cy1wcm92aWRlci1wYXRjaGAgY29tbWFuZCBieSBbQCYjODIwMztsZXZrb2hpbWluc10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2xldmtvaGltaW5zKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDIyOF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDIyOCkKLSAgIGZlYXQ6IERlcHJlY2F0aW5nIGBvdXRwdXQtbW9kdWxlLWdyb3Vwc2AgY29tbWFuZCBieSBbQCYjODIwMztsZXZrb2hpbWluc10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2xldmtvaGltaW5zKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDIyOV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDIyOSkKLSAgIGZpeDogRml4aW5nIGJhc2UgdGVzdHMgZm9yIG1hY09TIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE5M10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE5MykKLSAgIGZpeDogRml4aW5nIDQwNCBpbiBwZXJmb3JtYW5jZSBkb2NzIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE5NF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE5NCkKLSAgIGZpeDogYmFzaWMgdGVzdHMgZXhlY3V0aW9uIHVwZGF0ZSBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE5Ml0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE5MikKLSAgIGZpeDogVGhyb3dpbmcgaW50ZXJydXB0IHNpZ25hbCB3aXRoIGAtLWFsbGAgZmxhZyBieSBbQCYjODIwMztsZXZrb2hpbWluc10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2xldmtvaGltaW5zKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDIyNF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDIyNCkKLSAgIGZpeDogaGFuZGxpbmcgb2YgZXJyb3JzIGluIHBhcnNpbmcgYmFzZSBibG9ja3MgYnkgW0AmIzgyMDM7ZGVuaXMyNTZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZW5pczI1NikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyMjZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyMjYpCi0gICBmaXg6IENsZWFuaW5nIHVwIGxlZ2FjeSBgLWFsbGAgdXNhZ2UgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjM5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjM5KQotICAgZml4OiBSZW5hbWUgYWxsIHRoZSBgLS10ZXJyYWdydW50LWAgZmxhZ3MgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjAzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjAzKQotICAgZml4OiBDbGVhbmluZyB1cCBgcnVuLWFsbGAgdXNhZ2UgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjIzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjIzKQotICAgZml4OiBVcGRhdGluZyBlbnZpcm9ubWVudCB2YXJpYWJsZXMgZm9yIGZsYWdzIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI0MF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI0MCkKLSAgIGZpeDogVXBkYXRpbmcgbWlncmF0aW9uIGd1aWRlIGZvciBDTEkgUmVkZXNpZ24gbWlncmF0aW9uIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDIwN10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDIwNykKLSAgIGRvY3M6IEFkZGluZyBkb2NzIGZvciBgY2xpLXJlZGVzaWduYCBzdHJpY3QgY29udHJvbCBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyMzhdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyMzgpCi0gICBkb2NzOiBEb2N1bWVudGluZyBDTEkgUmVkZXNpZ24gZGVwcmVjYXRpb25zIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDIzN10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDIzNykKLSAgIGRvY3M6IHVwZGF0ZWQgc3RhY2sgbGlua3MgYnkgW0AmIzgyMDM7ZGVuaXMyNTZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZW5pczI1NikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyMDFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyMDEpCi0gICBjaG9yZTogUHJlc2VydmUgdGVzdHMgd2l0aCBkZXByZWNhdGVkIGNvbW1hbmRzL2ZsYWdzIGJ5IFtAJiM4MjAzO2xldmtvaGltaW5zXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbGV2a29oaW1pbnMpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjQyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjQyKQotICAgY2hvcmU6IGBoY2xmbXRgIGBoY2x2YWxpZGF0ZWAgYHZhbGlkYXRlLWlucHV0c2AgYXMgZGVwcmVjYXRlZCBjb21tYW5kcyAobWlub3IgZml4ZXMpIGJ5IFtAJiM4MjAzO2xldmtvaGltaW5zXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbGV2a29oaW1pbnMpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTk5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTk5KQotICAgY2hvcmU6IGBoY2xmbXRgIGBoY2x2YWxpZGF0ZWAgYHZhbGlkYXRlLWlucHV0c2AgYXMgZGVwcmVjYXRlZCBjb21tYW5kcyBieSBbQCYjODIwMztsZXZrb2hpbWluc10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2xldmtvaGltaW5zKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE5Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE5NikKLSAgIGJ1aWxkKGRlcHMpOiBidW1wIGdpdGh1Yi5jb20vZ2V0c29wcy9zb3BzL3YzIGZyb20gMy4xMC4xIHRvIDMuMTAuMiBieSBbQCYjODIwMztkZXBlbmRhYm90XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVwZW5kYWJvdCkgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxODVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxODUpCi0gICBidWlsZChkZXBzKTogYnVtcCBnby5vcGVudGVsZW1ldHJ5LmlvL290ZWwvZXhwb3J0ZXJzL3N0ZG91dC9zdGRvdXR0cmFjZSBmcm9tIDEuMzQuMCB0byAxLjM1LjAgYnkgW0AmIzgyMDM7ZGVwZW5kYWJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlcGVuZGFib3QpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTg0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTg0KQotICAgYnVpbGQoZGVwcyk6IGJ1bXAgRGF2aWRBbnNvbi9tYXJrZG93bmxpbnQtY2xpMi1hY3Rpb24gZnJvbSAxNSB0byAxOSBieSBbQCYjODIwMztkZXBlbmRhYm90XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVwZW5kYWJvdCkgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxODddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxODcpCi0gICBidWlsZChkZXBzKTogYnVtcCBydWJ5L3NldHVwLXJ1YnkgZnJvbSAxLjIzMC4wIHRvIDEuMjMzLjAgYnkgW0AmIzgyMDM7ZGVwZW5kYWJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlcGVuZGFib3QpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTg2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTg2KQotICAgYnVpbGQoZGVwcy1kZXYpOiBidW1wIG5va29naXJpIGZyb20gMS4xOC40IHRvIDEuMTguOCBpbiAvZG9jcyBieSBbQCYjODIwMztkZXBlbmRhYm90XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVwZW5kYWJvdCkgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxOTVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxOTUpCgoqKkZ1bGwgQ2hhbmdlbG9nKio6IGh0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc3LjIyLi4udjAuNzguMAoKIyMjIFtgdjAuNzcuMjJgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcmVsZWFzZXMvdGFnL3YwLjc3LjIyKQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43Ny4yMS4uLnYwLjc3LjIyKQoKIyMjIyDwn6eqIEV4cGVyaW1lbnRzIENvbXBsZXRlZAoKIyMjIyMgVGhlIGBjbGktcmVkZXNpZ25gIGV4cGVyaW1lbnQgaXMgbm93IGNvbXBsZXRlCgpUaGUgW2NsaS1yZWRlc2lnbl0oaHR0cHM6Ly90ZXJyYWdydW50LmdydW50d29yay5pby9kb2NzL3JlZmVyZW5jZS9leHBlcmltZW50cy8jY2xpLXJlZGVzaWduKSBleHBlcmltZW50IGlzIG5vdyBjb21wbGV0ZS4KCklmIHlvdSB3ZXJlIHByZXZpb3VzbHkgdXNpbmcgdGhlIGZsYWcgYC0tZXhwZXJpbWVudCBjbGktcmVkZXNpZ25gIHRvIG9wdCBpbiB0byBleHBlcmltZW50YWwgZnVuY3Rpb25hbGl0eSwgeW91IG5vIGxvbmdlciBoYXZlIHRvIGRvIHNvLiBOb3RlIHRoYXQgaWYgeW91IGFyZSwgeW91IHdpbGwgc2ltcGx5IGdldCBhIHdhcm5pbmcgdGhhdCBpdCBpcyBubyBsb25nZXIgbmVjZXNzYXJ5LgoKIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSAgIGZlYXQ6IEFkZGluZyBiYXNlIHRlc3RzIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE3Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE3NikKLSAgIGNob3JlOiBDb21wbGV0ZSBDTEkgUmVkZXNpZ24gZXhwZXJpbWVudCBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxODldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxODkpCgoqKkZ1bGwgQ2hhbmdlbG9nKio6IGh0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc3LjIxLi4udjAuNzcuMjIKCiMjIyBbYHYwLjc3LjIxYF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3JlbGVhc2VzL3RhZy92MC43Ny4yMSkKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzcuMjAuLi52MC43Ny4yMSkKCiMjIyMg4pyoIE5ldyBGZWF0dXJlcwoKIyMjIyMgSW50cm9kdWN0aW9uIG9mIGBoY2xgIGNvbW1hbmRzCgpBcyBwYXJ0IG9mIHRoZSBbQ0xJIFJlZGVzaWduXShodHRwczovL3RlcnJhZ3J1bnQuZ3J1bnR3b3JrLmlvL2RvY3MvcmVmZXJlbmNlL2V4cGVyaW1lbnRzLyNjbGktcmVkZXNpZ24pIGV4cGVyaW1lbnQsIHRoZSBbYGhjbGBdKGh0dHBzOi8vdGVycmFncnVudC5ncnVudHdvcmsuaW8vZG9jcy9yZWZlcmVuY2UvY2xpLW9wdGlvbnMvI2hjbC1jb21tYW5kcykgY29tbWFuZHMgaGF2ZSBiZWVuIGludHJvZHVjZWQuCgpUaGUgYGhjbGAgY29tbWFuZHMgYWxsb3cgdXNlcnMgdG8gZGlyZWN0bHkgaW50ZXJhY3Qgd2l0aCBIQ0wgY29udGVudCBpbmRlcGVuZGVudCBvZiB0aGUgdW5kZXJseWluZyBmdW5jdGlvbmFsaXR5IHRoZXkgc3VwcG9ydC4KClRoZSBmdW5jdGlvbmFsaXR5IG9mIHRoZSBgaGNsYCBjb21tYW5kcyByZXBsYWNlIGV4aXN0aW5nIGZ1bmN0aW9uYWxpdHkgdGhhdCBpcyBzb29uIHRvIGJlIGRlcHJlY2F0ZWQ6CgotICAgYGhjbGZtdGAgLS0+IGBoY2wgZm10YAotICAgYGhjbHZhbGlkYXRlYCAtLT4gYGhjbCB2YWxpZGF0ZWAKLSAgIGB2YWxpZGF0ZS1pbnB1dHNgIC0tPiBgaGNsIHZhbGlkYXRlIC0taW5wdXRzYAotICAgYHZhbGlkYXRlLWlucHV0cyAtLXN0cmljdC12YWxpZGF0ZWAgLS0+IGBoY2wgdmFsaWRhdGUgLS1pbnB1dHMgLS1zdHJpY3RgCgojIyMjIFdoYXQncyBDaGFuZ2VkCgotICAgZmVhdDogYGhjbGAgY29tbWFuZHMgZG9jcyBieSBbQCYjODIwMztsZXZrb2hpbWluc10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2xldmtvaGltaW5zKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE4MF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE4MCkKLSAgIGZlYXQ6IGFkZCBzeW1ib2wgbGluayBleHBlcmllbW50IGluIGRpc2NvdmVyeSBwcm9jZXNzIGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTc3XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTc3KQotICAgZmVhdDogSW1wbGVtZW50YXRpb24gb2YgYGhjbGAgY29tbWFuZHMgYnkgW0AmIzgyMDM7bGV2a29oaW1pbnNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9sZXZrb2hpbWlucykgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNjldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNjkpCi0gICBmaXg6IEFkZGluZyByZWRpcmVjdCBmcm9tIC9kb2NzL3JlZmVyZW5jZS9leHBlcmltZW50LW1vZGUgdG8gL2RvY3MvcmVmZXJlbmNlL2V4cGVyaW1lbnRzIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE3OF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE3OCkKLSAgIGZpeDogRml4IHNwZWxsaW5nIGJ5IFtAJiM4MjAzO2hwZS1ub2luYXJpc2FrXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vaHBlLW5vaW5hcmlzYWspIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTc5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTc5KQotICAgZml4OiBVcGRhdGUgc3RhdHVzIG9mIGNsaS1yZWRlc2lnbiBleHBlcmltZW50IGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE4OF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE4OCkKLSAgIGJ1aWxkKGRlcHMpOiBidW1wIGdpdGh1Yi5jb20vY2hhcm1icmFjZWxldC9idWJibGVzIGZyb20gMC4yMC4wIHRvIDAuMjEuMCBieSBbQCYjODIwMztkZXBlbmRhYm90XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVwZW5kYWJvdCkgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNjBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNjApCgojIyMjIE5ldyBDb250cmlidXRvcnMKCi0gICBbQCYjODIwMztocGUtbm9pbmFyaXNha10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2hwZS1ub2luYXJpc2FrKSBtYWRlIHRoZWlyIGZpcnN0IGNvbnRyaWJ1dGlvbiBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE3OV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE3OSkKCioqRnVsbCBDaGFuZ2Vsb2cqKjogaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzcuMjAuLi52MC43Ny4yMQoKIyMjIFtgdjAuNzcuMjBgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcmVsZWFzZXMvdGFnL3YwLjc3LjIwKQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43Ny4xOS4uLnYwLjc3LjIwKQoKIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSAgIGJ1aWxkOiBBZGRlZCBgYnVpbGQtbm8tcHJveHkueW1sYCB3b3JrZmxvdyBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNzFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNzEpCi0gICBidWlsZDogQWRkZWQgYGxpbnQueW1sYCBhbmQgYHN0cmljdC1saW50LnltbGAgd29ya2Zsb3dzIGZvciBHaXRIdWIgQWN0aW9ucyBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNzJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNzIpCi0gICBidWlsZDogQWRkZWQgY29kZXNwZWxsIHdvcmtmbG93IGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE3M10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE3MykKLSAgIGJ1aWxkOiBBZGRlZCBtYXJrZG93bmxpbnQgdjIgdG8gR2l0SHViIEFjdGlvbnMgd29ya2Zsb3dzIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE3NV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE3NSkKLSAgIGRvY3M6IEltcHJvdmVkIGdldHRpbmcgc3RhcnRlZCBndWlkZSBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNzRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNzQpCi0gICBidWlsZChkZXBzKTogYnVtcCBnaXRodWIuY29tL1Byb3Rvbk1haWwvZ28tY3J5cHRvIGZyb20gMS4xLjYgdG8gMS4yLjAgYnkgW0AmIzgyMDM7ZGVwZW5kYWJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlcGVuZGFib3QpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTYxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTYxKQotICAgYnVpbGQoZGVwcyk6IGJ1bXAgZ29sYW5nLm9yZy94L3Rlcm0gZnJvbSAwLjMwLjAgdG8gMC4zMS4wIGJ5IFtAJiM4MjAzO2RlcGVuZGFib3RdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZXBlbmRhYm90KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE1OV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE1OSkKLSAgIGJ1aWxkKGRlcHMpOiBidW1wIGdpdGh1Yi5jb20vYXdzL2F3cy1zZGstZ28tdjIvc2VydmljZS9zMyBmcm9tIDEuNzguMiB0byAxLjc5LjIgYnkgW0AmIzgyMDM7ZGVwZW5kYWJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlcGVuZGFib3QpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTU4XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTU4KQoKKipGdWxsIENoYW5nZWxvZyoqOiBodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43Ny4xOS4uLnYwLjc3LjIwCgojIyMgW2B2MC43Ny4xOWBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9yZWxlYXNlcy90YWcvdjAuNzcuMTkpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc3LjE4Li4udjAuNzcuMTkpCgojIyMjIOKcqCBOZXcgRmVhdHVyZXMKCiMjIyMjIE9wZW5UZWxlbWV0cnkgdHJhY2VzIGFyZSBub3cgaW50ZWdyYXRlZCBpbnRvIGBmaW5kYCBhbmQgYGxpc3RgIGNvbW1hbmRzCgpmaW5kIHRlbGVtZXRyeToKIVtpbWFnZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3VzZXItYXR0YWNobWVudHMvYXNzZXRzL2ViNWZmMTFhLWU5MGYtNGI1ZC1iZWMwLWM5OWNiMTQxOWY1NykKCmxpc3QgdGVsZW1ldHJ5OgohW2ltYWdlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vdXNlci1hdHRhY2htZW50cy9hc3NldHMvN2FmMjMyZjEtZTgyMi00YWFlLTgyMzAtMTIyNTdjMzU5ZDIxKQoKIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSAgIGZlYXQ6IEltcGxlbWVudGVkIHRlbGVtZXRyeSBmb3IgZmluZC9saXN0IGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTY1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTY1KQoKKipGdWxsIENoYW5nZWxvZyoqOiBodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43Ny4xOC4uLnYwLjc3LjE5CgojIyMgW2B2MC43Ny4xOGBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9yZWxlYXNlcy90YWcvdjAuNzcuMTgpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc3LjE3Li4udjAuNzcuMTgpCgojIyMjIOKcqCBOZXcgRmVhdHVyZXMKCiMjIyMjIFN1cHBvcnQgZm9yIEhDTCBmb3JtYXR0aW5nIHdpdGggdGhlIGByZW5kZXJgIGNvbW1hbmQKCkFzIHBhcnQgb2YgdGhlIFtDTEkgUmVkZXNpZ25dKGh0dHBzOi8vdGVycmFncnVudC5ncnVudHdvcmsuaW8vZG9jcy9yZWZlcmVuY2UvZXhwZXJpbWVudHMvI2NsaS1yZWRlc2lnbikgZXhwZXJpbWVudCwgdGhlIFtgcmVuZGVyYF0oaHR0cHM6Ly90ZXJyYWdydW50LmdydW50d29yay5pby9kb2NzL3JlZmVyZW5jZS9jbGktb3B0aW9ucy8jYmFja2VuZC1taWdyYXRlKSBjb21tYW5kIG5vdyBzdXBwb3J0cyBIQ0wgZm9ybWF0dGluZyBmb3IgcmVuZGVyZWQgY29uZmlndXJhdGlvbnMsIHdoaWNoIGlzIHRoZSBkZWZhdWx0IG91dHB1dCBmb3JtYXQuCgpVc2luZyB0aGUgYHJlbmRlcmAgY29tbWFuZCB3aXRoIEhDTCBmb3JtYXR0aW5nIGFsbG93cyB1c2VycyB0byBnZXQgYSBxdWljaywgbWluaW1hbCBldmFsdWF0aW9uIG9mIFRlcnJhZ3J1bnQgdW5pdCBjb25maWd1cmF0aW9ucyB3aXRoIGFzIG11Y2ggcHJlLXByb2Nlc3NpbmcgZG9uZSBhcyBwb3NzaWJsZS4KCkZvciBleGFtcGxlLCB0aGUgZm9sbG93aW5nIGB0ZXJyYWdydW50LmhjbGAgZmlsZToKCmBgYGhjbAoKIyMjIHRlcnJhZ3J1bnQuaGNsCgpsb2NhbHMgewogIGF3c19yZWdpb24gPSAidXMtZWFzdC0xIgp9CgppbnB1dHMgPSB7CiAgYXdzX3JlZ2lvbiA9IGxvY2FsLmF3c19yZWdpb24KfQpgYGAKClJlbmRlcnMgdG8gdGhlIGZvbGxvd2luZyBIQ0w6CgpgYGBiYXNoCiQgdGVycmFncnVudCByZW5kZXIKbG9jYWxzIHsKICBhd3NfcmVnaW9uID0gInVzLWVhc3QtMSIKfQppbnB1dHMgPSB7CiAgYXdzX3JlZ2lvbiA9ICJ1cy1lYXN0LTEiCn0KYGBgCgpVc2luZyB0aGUgYHJlbmRlcmAgY29tbWFuZCB3aXRoIEhDTCBmb3JtYXR0aW5nIG9mZmVycyBhIHdheSB0byByZXNvbHZlIGNvbXBsZXggSENMIGZ1bmN0aW9uIGV2YWx1YXRpb24sIGluY2x1ZGUgbWVyZ2luZyBvciBzdHJpbmcgaW50ZXJwb2xhdGlvbiwgZXRjLiB0byBhY2hpZXZlIGVxdWl2YWxlbnQgVGVycmFncnVudCBIQ0wgY29uZmlndXJhdGlvbnMgdGhhdCBhcmUgZWFzaWVyIHRvIHJlYXNvbiBhYm91dC4KCiMjIyMgV2hhdCdzIENoYW5nZWQKCi0gICBmZWF0OiBBZGRpbmcgYHJlbmRlcmAgd2l0aCBIQ0wgZm9ybWF0dGluZyBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNjRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNjQpCgoqKkZ1bGwgQ2hhbmdlbG9nKio6IGh0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc3LjE3Li4udjAuNzcuMTgKCiMjIyBbYHYwLjc3LjE3YF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3JlbGVhc2VzL3RhZy92MC43Ny4xNykKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzcuMTYuLi52MC43Ny4xNykKCiMjIyMg4pyoIE5ldyBGZWF0dXJlcwoKIyMjIyMgSW50cm9kdWN0aW9uIG9mIHRoZSBgcmVuZGVyYCBjb21tYW5kCgpBcyBwYXJ0IG9mIHRoZSBbQ0xJIFJlZGVzaWduXShodHRwczovL3RlcnJhZ3J1bnQuZ3J1bnR3b3JrLmlvL2RvY3MvcmVmZXJlbmNlL2V4cGVyaW1lbnRzLyNjbGktcmVkZXNpZ24pIGV4cGVyaW1lbnQsIHRoZSBbYHJlbmRlcmBdKGh0dHBzOi8vdGVycmFncnVudC5ncnVudHdvcmsuaW8vZG9jcy9yZWZlcmVuY2UvY2xpLW9wdGlvbnMvI2JhY2tlbmQtbWlncmF0ZSkgY29tbWFuZCBoYXMgYmVlbiBpbnRyb2R1Y2VkLgoKVGhlIGByZW5kZXJgIGNvbW1hbmQgYWxsb3dzIHVzZXJzIHRvIGVhc2lseSByZW5kZXIgVGVycmFncnVudCB1bml0IGNvbmZpZ3VyYXRpb25zIHdpdGggcmVkdWNlZCBjb21wbGV4aXR5LCBtYWtpbmcgaXQgZWFzaWVyIHRvIHVuZGVyc3RhbmQgY29uZmlndXJhdGlvbnMgYXQgYSBnbGFuY2UuCgpGb3IgZXhhbXBsZSwgdGhlIGZvbGxvd2luZyBgdGVycmFncnVudC5oY2xgIGZpbGU6CgpgYGBoY2wKCiMjIyB0ZXJyYWdydW50LmhjbAoKbG9jYWxzIHsKICBhd3NfcmVnaW9uID0gInVzLWVhc3QtMSIKfQoKaW5wdXRzID0gewogIGF3c19yZWdpb24gPSBsb2NhbC5hd3NfcmVnaW9uCn0KYGBgCgpSZW5kZXJzIHRvIHRoZSBmb2xsb3dpbmcgSlNPTjoKCmBgYGJhc2gKJCB0ZXJyYWdydW50IHJlbmRlciAtLWZvcm1hdCBqc29uCnsKICAibG9jYWxzIjogeyAiYXdzX3JlZ2lvbiI6ICJ1cy1lYXN0LTEiIH0sCiAgImlucHV0cyI6IHsgImF3c19yZWdpb24iOiAidXMtZWFzdC0xIiB9CiAgLy8gTk9URTogb3RoZXIgYXR0cmlidXRlcyBhcmUgb21pdHRlZCBmb3IgYnJldml0eQp9CmBgYAoKVGhlIGludHJvZHVjdGlvbiBvZiB0aGUgYHJlbmRlcmAgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSBldmVudHVhbCBkZXByZWNhdGlvbiBvZiB0aGUgZXhpc3RpbmcgYHJlbmRlci1qc29uYCBjb21tYW5kLCB3aGljaCB3aWxsIGJlIGRlcHJlY2F0ZWQgYnkgdGhlIGVuZCBvZiB0aGUgQ0xJIFJlZGVzaWduLiBUaGUgYHJlbmRlcmAgY29tbWFuZCBpcyBhIGhpZ2hlciBsZXZlbCBjb21tYW5kLCB0aGF0IG9mZmVycyB0aGUgYWJpbGl0eSB0byB3cml0ZSB0byBzdGRvdXQsIGluIGFkZGl0aW9uIHRvIHdyaXRpbmcgdG8gZmlsZXMsIGFuZCB3aWxsIHN1cHBvcnQgSENMIGNvbmZpZ3VyYXRpb25zIGluIGFkZGl0aW9uIHRvIEpTT04gKGNvbWluZyBzb29uKS4KClRvIGxlYXJuIG1vcmUgYWJvdXQgdGhlIGByZW5kZXJgIGNvbW1hbmQsIHJlYWQgdGhlIG9mZmljaWFsIGRvY3VtZW50YXRpb24gW2hlcmVdKGh0dHBzOi8vdGVycmFncnVudC5ncnVudHdvcmsuaW8vZG9jcy9yZWZlcmVuY2UvY2xpLW9wdGlvbnMvI3JlbmRlcikuCgojIyMjIFdoYXQncyBDaGFuZ2VkCgotICAgZmVhdDogQWRkaW5nIGByZW5kZXJgIGNvbW1hbmQgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTQ1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTQ1KQotICAgZmVhdDogQWRkaW5nIGRvY3MgZm9yIGBiYWNrZW5kIG1pZ3JhdGVgIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE0MF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE0MCkKLSAgIGJ1aWxkKGRlcHMpOiBidW1wIHJ1Ynkvc2V0dXAtcnVieSBmcm9tIDEuMjI5LjAgdG8gMS4yMzAuMCBieSBbQCYjODIwMztkZXBlbmRhYm90XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVwZW5kYWJvdCkgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNjJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNjIpCgoqKkZ1bGwgQ2hhbmdlbG9nKio6IGh0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc3LjE2Li4udjAuNzcuMTcKCiMjIyBbYHYwLjc3LjE2YF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3JlbGVhc2VzL3RhZy92MC43Ny4xNikKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzcuMTUuLi52MC43Ny4xNikKCiMjIyMg4pyoIE5ldyBGZWF0dXJlcwoKIyMjIyMgSW50cm9kdWN0aW9uIG9mIHRoZSBgYmFja2VuZCBtaWdyYXRlYCBjb21tYW5kCgpBcyBwYXJ0IG9mIHRoZSBbQ0xJIFJlZGVzaWduXShodHRwczovL3RlcnJhZ3J1bnQuZ3J1bnR3b3JrLmlvL2RvY3MvcmVmZXJlbmNlL2V4cGVyaW1lbnRzLyNjbGktcmVkZXNpZ24pIGV4cGVyaW1lbnQsIHRoZSBbYGJhY2tlbmQgbWlncmF0ZWBdKGh0dHBzOi8vdGVycmFncnVudC5ncnVudHdvcmsuaW8vZG9jcy9yZWZlcmVuY2UvY2xpLW9wdGlvbnMvI2JhY2tlbmQtbWlncmF0ZSkgY29tbWFuZCBoYXMgYmVlbiBpbnRyb2R1Y2VkLgoKVGhlIGBiYWNrZW5kIG1pZ3JhdGVgIGNvbW1hbmQgYWxsb3dzIHlvdSB0byBzaW1wbHkgbWlncmF0ZSBzdGF0ZSBiZXR3ZWVuIGRpZmZlcmVudCB1bml0cyAob3IgcmVuYW1lcyBvZiB1bml0cykgd2l0aG91dCBtYW51YWxseSBydW5uaW5nIE9wZW5Ub2Z1L1RlcnJhZm9ybSBzdGF0ZSBtaWdyYXRpb24gY29tbWFuZHMuCgpUbyBsZWFybiBtb3JlIGFib3V0IHRoZSBgYmFja2VuZCBtaWdyYXRlYCBjb21tYW5kLCByZWFkIHRoZSBbb2ZmaWNpYWwgZG9jc10oaHR0cHM6Ly90ZXJyYWdydW50LmdydW50d29yay5pby9kb2NzL3JlZmVyZW5jZS9jbGktb3B0aW9ucy8jYmFja2VuZC1taWdyYXRlKS4KCiMjIyMgV2hhdCdzIENoYW5nZWQKCi0gICBmZWF0OiBBZGRlZCBzdXBwb3J0IGZvciBtaWdyYXRpbmcgc3RhdGUgYmV0d2VlbiBkaWZmZXJlbnQgYmFja2VuZHMgYnkgW0AmIzgyMDM7bGV2a29oaW1pbnNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9sZXZrb2hpbWlucykgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNTRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNTQpCi0gICBmZWF0OiBFbmhhbmNlZCBlcnJvciBleHBsYWluZXIgdG8gZGV0ZWN0IGFuZCByZXBvcnQgaXNzdWVzIHJlbGF0ZWQgdG8gYHN0YWNrYCB2YWx1ZXMgYnkgW0AmIzgyMDM7ZGVuaXMyNTZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZW5pczI1NikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNjNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNjMpCi0gICBmaXg6IEltcHJvdmVkIHRoZSBkZXByZWNhdGlvbiBtZXNzYWdlIGZvciBleHBlcmltZW50YWwgY29tbWFuZCBmbGFncyBieSBbQCYjODIwMztsZXZrb2hpbWluc10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2xldmtvaGltaW5zKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE0Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE0NikKLSAgIGZpeDogUHJldmVudCBgVEZfQ0xJX0NPTkZJR19GSUxFYCBlbnZpcm9ubWVudCB2YXJpYWJsZSBmcm9tIGJlaW5nIG92ZXJ3cml0dGVuLCBleGNlcHQgZHVyaW5nIGBpbml0YCBhbmQgYHByb3ZpZGVyc2AgY29tbWFuZHMgYnkgW0AmIzgyMDM7bGV2a29oaW1pbnNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9sZXZrb2hpbWlucykgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNTVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNTUpCgoqKkZ1bGwgQ2hhbmdlbG9nKio6IGh0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc3LjE1Li4udjAuNzcuMTYKCiMjIyBbYHYwLjc3LjE1YF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3JlbGVhc2VzL3RhZy92MC43Ny4xNSkKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzcuMTQuLi52MC43Ny4xNSkKCiMjIyMg4pyoIE5ldyBGZWF0dXJlcwoKIyMjIyMgSW50cm9kdWN0aW9uIG9mIHRoZSBgZGFnIGdyYXBoYCBjb21tYW5kCgpBcyBwYXJ0IG9mIHRoZSBbQ0xJIFJlZGVzaWduXShodHRwczovL3RlcnJhZ3J1bnQuZ3J1bnR3b3JrLmlvL2RvY3MvcmVmZXJlbmNlL2V4cGVyaW1lbnRzLyNjbGktcmVkZXNpZ24pIGV4cGVyaW1lbnQsIHRoZSBbYGRhZyBncmFwaGBdKGh0dHBzOi8vdGVycmFncnVudC5ncnVudHdvcmsuaW8vZG9jcy9yZWZlcmVuY2UvY2xpLW9wdGlvbnMvI3ByaW50LWdyYXBoKSBjb21tYW5kIGhhcyBiZWVuIGludHJvZHVjZWQuCgohW2RhZ10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3VzZXItYXR0YWNobWVudHMvYXNzZXRzLzM4OWQ0ZTMxLTE5N2MtNGMzNy04OTEzLTE0MTdlY2QzZTViNCkKCiFbZGFnLWhlbHBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS91c2VyLWF0dGFjaG1lbnRzL2Fzc2V0cy8yNTI1Y2QyNy0wZDhlLTQ1N2ItODdlYS03NTlmYWUzMWUyZjMpCgohW2RhZy1ncmFwaC1oZWxwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vdXNlci1hdHRhY2htZW50cy9hc3NldHMvZmIyNjhiMjAtZjMyYi00YjRmLWJhMTMtMGQxZmM5ZmNhNzQ4KQoKIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSAgIGRvY3M6IEFkZGVkIG1pZ3JhdGlvbiBndWlkZSBmb3IgYWRvcHRpbmcgVGVycmFncnVudCBTdGFja3MgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTUyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTUyKQotICAgZmVhdDogQWRkZWQgZGFnIGdyYXBoIGNvbW1hbmQgYnkgW0AmIzgyMDM7ZGVuaXMyNTZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZW5pczI1NikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNDNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNDMpCgoqKkZ1bGwgQ2hhbmdlbG9nKio6IGh0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc3LjE0Li4udjAuNzcuMTUKCiMjIyBbYHYwLjc3LjE0YF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3JlbGVhc2VzL3RhZy92MC43Ny4xNCkKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzcuMTMuLi52MC43Ny4xNCkKCiMjIyMg4pyoIE5ldyBGZWF0dXJlcwoKIyMjIyMgU3VwcG9ydCBmb3IgYC0tZXhjbHVkZWAgYW5kIGAtLXF1ZXVlLWNvbnN0cnVjdC1hc2AgaW4gYGZpbmRgIGFuZCBgbGlzdGAKClRoZSBbYGZpbmRgXShodHRwczovL3RlcnJhZ3J1bnQuZ3J1bnR3b3JrLmlvL2RvY3MvcmVmZXJlbmNlL2NsaS1vcHRpb25zLyNmaW5kKSBhbmQgW2BsaXN0YF0oaHR0cHM6Ly90ZXJyYWdydW50LmdydW50d29yay5pby9kb2NzL3JlZmVyZW5jZS9jbGktb3B0aW9ucy8jbGlzdCkgY29tbWFuZHMgaGF2ZSBiZWVuIHVwZGF0ZWQgdG8gbGV2ZXJhZ2UgbmV3IGNhcGFiaWxpdGllcyBpbnZvbHZpbmcgZ3JlYXRlciB1bmRlcnN0YW5kaW5nIG9mIHRoZSBUZXJyYWdydW50IHJ1biBxdWV1ZS4KClVzZXJzIGNhbiBub3cgbGV2ZXJhZ2UgdGhlIFtgLS1xdWV1ZS1jb25zdHJ1Y3QtYXNgXShodHRwczovL3RlcnJhZ3J1bnQuZ3J1bnR3b3JrLmlvL2RvY3MvcmVmZXJlbmNlL2NsaS1vcHRpb25zLyNmaW5kLXF1ZXVlLWNvbnN0cnVjdC1hcykgKG9yIGp1c3QgYC0tYXNgKSBmbGFnIGluIHRoZSBgZmluZGAgYW5kIGBsaXN0YCBjb21tYW5kcyB0byBkaXNjb3ZlciBjb25maWd1cmF0aW9ucyBhcyBpZiBhIHBhcnRpY3VsYXIgVGVycmFncnVudCBjb21tYW5kIHdhcyBiZWluZyBydW4gKGUuZy4gYHBsYW5gLCBgZGVzdHJveWApLgoKRm9yIGV4YW1wbGU6CgpgYGBiYXNoCiQgdGVycmFncnVudCBmaW5kIC0tcXVldWUtY29uc3RydWN0LWFzPXBsYW4Kc3RhY2tzL2xpdmUvZGV2CnN0YWNrcy9saXZlL3Byb2QKdW5pdHMvbGl2ZS9kZXYvdnBjCnVuaXRzL2xpdmUvcHJvZC92cGMKdW5pdHMvbGl2ZS9kZXYvZGIKdW5pdHMvbGl2ZS9wcm9kL2RiCnVuaXRzL2xpdmUvZGV2L2VjMgp1bml0cy9saXZlL3Byb2QvZWMyCmBgYAoKYGBgYmFzaAokIHRlcnJhZ3J1bnQgZmluZCAtLWFzPWRlc3Ryb3kKc3RhY2tzL2xpdmUvZGV2CnN0YWNrcy9saXZlL3Byb2QKdW5pdHMvbGl2ZS9kZXYvZWMyCnVuaXRzL2xpdmUvcHJvZC9lYzIKdW5pdHMvbGl2ZS9kZXYvZGIKdW5pdHMvbGl2ZS9wcm9kL2RiCnVuaXRzL2xpdmUvZGV2L3ZwYwp1bml0cy9saXZlL3Byb2QvdnBjCmBgYAoKVGhlIGBmaW5kYCBhbmQgYGxpc3RgIGNvbW1hbmRzIHdpbGwgbm93IGNvbnN0cnVjdCB0aGUgVGVycmFncnVudCBydW4gcXVldWUgYXMgaWYgYSBwYXJ0aWN1bGFyIGNvbW1hbmQgd2FzIGJlaW5nIHJ1biwgcG90ZW50aWFsbHkgYWx0ZXJpbmcgdGhlIHBvc2l0aW9uIG9mIGVsZW1lbnRzIGluIHRoZSBydW4gcXVldWUsIGJhc2VkIG9uIHRoZWlyIGRlcGVuZGVuY2llcyAoZGVwZW5kZW5jaWVzIGJlZm9yZSBkZXBlbmRlbnRzIGZvciBwbGFucywgYXBwbGllcywgZXRjLiBhbmQgZGVwZW5kZW50cyBiZWZvcmUgZGVwZW5kZW5jaWVzIGZvciBkZXN0cm95cykuCgpJbiBhZGRpdGlvbiwgdXNlcnMgY2FuIGxldmVyYWdlIHRoZSBbYC0tZXhjbHVkZWBdKGh0dHBzOi8vdGVycmFncnVudC5ncnVudHdvcmsuaW8vZG9jcy9yZWZlcmVuY2UvY2xpLW9wdGlvbnMvI2ZpbmQtZXhjbHVkZSkgZmxhZyBvbiB0aGUgYGZpbmRgIGNvbW1hbmQgdG8gZ2V0IGluZm9ybWF0aW9uIG9uIHRoZSBgZXhjbHVkZWAgYmxvY2sgaW5jbHVkZWQgaW4gcmVzdWx0cy4gVGhlIGBleGNsdWRlYCBibG9jayBpcyBhbHNvIGZhY3RvcmVkIGluIHRvIGRpc2NvdmVyeSByZXN1bHRzIHdoZW4gdGhlIGAtLXF1ZXVlLWNvbnN0cnVjdC1hc2AgZmxhZyBpcyBwYXNzZWQsIGFsbG93aW5nIHVzZXJzIHRvIGRyeS1ydW4gYmVoYXZpb3Igb2YgdGhlIGBleGNsdWRlYCBibG9jayBiZWZvcmUgcGVyZm9ybWluZyBhbnkgVGVycmFncnVudCBydW5zLgoKIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSAgIGZlYXQ6IEFkZGluZyBleGNsdWRlIHN1cHBvcnQgdG8gbGlzdCBhbmQgZmluZCBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNDddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNDcpCgoqKkZ1bGwgQ2hhbmdlbG9nKio6IGh0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc3LjEzLi4udjAuNzcuMTQKCiMjIyBbYHYwLjc3LjEzYF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3JlbGVhc2VzL3RhZy92MC43Ny4xMykKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzcuMTIuLi52MC43Ny4xMykKCiMjIyMgV2hhdCdzIENoYW5nZWQKCi0gICBidWlsZChkZXBzKTogYnVtcCBnb29nbGUuZ29sYW5nLm9yZy9ncnBjIGZyb20gMS43MS4wIHRvIDEuNzEuMSBieSBbQCYjODIwMztkZXBlbmRhYm90XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVwZW5kYWJvdCkgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxMzJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxMzIpCi0gICBidWlsZChkZXBzKTogYnVtcCBnb2xhbmcub3JnL3gvc3lzIGZyb20gMC4zMS4wIHRvIDAuMzIuMCBieSBbQCYjODIwMztkZXBlbmRhYm90XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVwZW5kYWJvdCkgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxMzNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxMzMpCi0gICBidWlsZChkZXBzKTogYnVtcCBnb2xhbmcub3JnL3gvb2F1dGgyIGZyb20gMC4yOC4wIHRvIDAuMjkuMCBieSBbQCYjODIwMztkZXBlbmRhYm90XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVwZW5kYWJvdCkgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxMzFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxMzEpCi0gICBidWlsZChkZXBzKTogYnVtcCBnaXRodWIuY29tL2dldHNvcHMvc29wcy92MyBmcm9tIDMuOS40IHRvIDMuMTAuMSBieSBbQCYjODIwMztkZXBlbmRhYm90XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVwZW5kYWJvdCkgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxMzBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxMzApCgoqKkZ1bGwgQ2hhbmdlbG9nKio6IGh0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc3LjEyLi4udjAuNzcuMTMKCiMjIyBbYHYwLjc3LjEyYF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3JlbGVhc2VzL3RhZy92MC43Ny4xMikKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzcuMTEuLi52MC43Ny4xMikKCiMjIyMg4pyoIE5ldyBGZWF0dXJlcwoKSW50cm9kdWNlZCBgbm9fdmFsaWRhdGlvbmAgYXR0cmlidXRlIGZvciBgc3RhY2tgIGFuZCBgdW5pdGAsIGFsbG93aW5nIHVzZXJzIHRvIGJ5cGFzcyBUZXJyYWdydW50J3MgdmFsaWRhdGlvbiBjaGVja3Mgd2hlbiBkZXBsb3lpbmcgaW5mcmFzdHJ1Y3R1cmUuIFRoaXMgaXMgcGFydGljdWxhcmx5IHVzZWZ1bCBpbiBzY2VuYXJpb3Mgd2hlcmUgeW91IG5lZWQgdG8gZGVwbG95IGluZnJhc3RydWN0dXJlIHRoYXQgZG9lc24ndCBzdHJpY3RseSBhZGhlcmUgdG8gVGVycmFncnVudCdzIHZhbGlkYXRpb24gcnVsZXMsIHN1Y2ggYXMgZHVyaW5nIGVtZXJnZW5jeSBkZXBsb3ltZW50cyBvciB3aGVuIHdvcmtpbmcgd2l0aCBsZWdhY3kgaW5mcmFzdHJ1Y3R1cmUgcGF0dGVybnMuCgojIyMjIFdoYXQncyBDaGFuZ2VkCgotICAgZG9jczogYWRkZWQgbW9yZSBkb2NzIGZvciBzdGFja3MgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTQ0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTQ0KQotICAgZmVhdDogYWRkZWQgc3VwcG9ydCBmb3IgYG5vX3ZhbGlkYXRpb25gIGF0dHJpYnV0ZSBmb3IgYHN0YWNrYCBhbmQgYHVuaXRgIGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTQ5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTQ5KQoKUkZDOiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2lzc3Vlcy8zMzEzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvaXNzdWVzLzMzMTMpCgoqKkZ1bGwgQ2hhbmdlbG9nKio6IGh0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc3LjExLi4udjAuNzcuMTIKCiMjIyBbYHYwLjc3LjExYF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3JlbGVhc2VzL3RhZy92MC43Ny4xMSkKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzcuMTAuLi52MC43Ny4xMSkKCiMjIyMg4pyoIE5ldyBGZWF0dXJlcwoKIyMjIyMgSW50cm9kdWN0aW9uIG9mIHRoZSBgaW5mbyBwcmludGAgY29tbWFuZAoKQXMgcGFydCBvZiB0aGUgW0NMSSBSZWRlc2lnbl0oaHR0cHM6Ly90ZXJyYWdydW50LmdydW50d29yay5pby9kb2NzL3JlZmVyZW5jZS9leHBlcmltZW50cy8jY2xpLXJlZGVzaWduKSBleHBlcmltZW50LCB0aGUgW2BpbmZvIHByaW50YF0oaHR0cHM6Ly90ZXJyYWdydW50LmdydW50d29yay5pby9kb2NzL3JlZmVyZW5jZS9jbGktb3B0aW9ucy8jcHJpbnQtY29tbWFuZCkgY29tbWFuZCBoYXMgYmVlbiBpbnRyb2R1Y2VkLgoKIVtoZWxwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vdXNlci1hdHRhY2htZW50cy9hc3NldHMvMmVhYzQ2NDUtOTNjMi00N2RkLThkYzMtNzNjNDQ0MmJmMWM4KQoKIVtvdXRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS91c2VyLWF0dGFjaG1lbnRzL2Fzc2V0cy83MDA1YzVkYi0xNWUxLTRlZmUtYjVhOC0zNDlhMTc5ZjYwMzMpCgojIyMjIFdoYXQncyBDaGFuZ2VkCgotICAgZmVhdDogSW50cm9kdWNlZCB0aGUgYGluZm8gcHJpbnRgIGNvbW1hbmQgdG8gb3V0cHV0IFRlcnJhZ3J1bnQgY29udGV4dCBhcyBhIHN0cnVjdHVyZWQgSlNPTiBvYmplY3QgYnkgW0AmIzgyMDM7ZGVuaXMyNTZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZW5pczI1NikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxMjJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxMjIpCgoqKkZ1bGwgQ2hhbmdlbG9nKio6IGh0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc3LjEwLi4udjAuNzcuMTEKCiMjIyBbYHYwLjc3LjEwYF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3JlbGVhc2VzL3RhZy92MC43Ny4xMCkKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzcuOS4uLnYwLjc3LjEwKQoKIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSAgIGZpeDogU3VwcHJlc3Npbmcgd2FybmluZyBmb3IgY2F0YWxvZyB3aGVuIGRldGVybWluaW5nIGRlZmF1bHQgZmlsZSBuYW1lIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDEzNF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDEzNCkKLSAgIGZpeDogUmVtb3ZlIHdhcm5pbmcgbWVzc2FnZSBmb3IgdW5pbXBsZW1lbnRlZCBiYWNrZW5kcyBieSBbQCYjODIwMztsZXZrb2hpbWluc10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2xldmtvaGltaW5zKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDEzOF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDEzOCkKLSAgIGZpeDogRml4aW5nIG9wdGlvbmFsIGRlZmF1bHQgdGVtcGxhdGUgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTQxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTQxKQotICAgY2hvcmU6IHN0YWNrIGNvZGUgaW1wcm92ZW1lbnRzIGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTM2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTM2KQoKKipGdWxsIENoYW5nZWxvZyoqOiBodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43Ny45Li4udjAuNzcuMTAKCiMjIyBbYHYwLjc3LjlgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcmVsZWFzZXMvdGFnL3YwLjc3LjkpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc3LjguLi52MC43Ny45KQoKIyMjIyDwn5CbIEJ1ZyBmaXhlcwoKIyMjIyMgRmV0Y2hpbmcgT3V0cHV0cyBmcm9tIE5lc3RlZCBTdGFja3MKClJlc29sdmVkIGFuIGlzc3VlIHRoYXQgcHJldmVudGVkIHRoZSBjb3JyZWN0IHJldHJpZXZhbCBvZiBvdXRwCgo8L2RldGFpbHM+CgotLS0KCiMjIyBDb25maWd1cmF0aW9uCgrwn5OFICoqU2NoZWR1bGUqKjogQnJhbmNoIGNyZWF0aW9uIC0gQXQgYW55IHRpbWUgKG5vIHNjaGVkdWxlIGRlZmluZWQpLCBBdXRvbWVyZ2UgLSBBdCBhbnkgdGltZSAobm8gc2NoZWR1bGUgZGVmaW5lZCkuCgrwn5qmICoqQXV0b21lcmdlKio6IERpc2FibGVkIGJ5IGNvbmZpZy4gUGxlYXNlIG1lcmdlIHRoaXMgbWFudWFsbHkgb25jZSB5b3UgYXJlIHNhdGlzZmllZC4KCuKZuyAqKlJlYmFzaW5nKio6IFdoZW5ldmVyIFBSIGJlY29tZXMgY29uZmxpY3RlZCwgb3IgeW91IHRpY2sgdGhlIHJlYmFzZS9yZXRyeSBjaGVja2JveC4KCvCflJUgKipJZ25vcmUqKjogQ2xvc2UgdGhpcyBQUiBhbmQgeW91IHdvbid0IGJlIHJlbWluZGVkIGFib3V0IHRoaXMgdXBkYXRlIGFnYWluLgoKLS0tCgogLSBbIF0gPCEtLSByZWJhc2UtY2hlY2sgLS0+SWYgeW91IHdhbnQgdG8gcmViYXNlL3JldHJ5IHRoaXMgUFIsIGNoZWNrIHRoaXMgYm94CgotLS0KClRoaXMgUFIgd2FzIGdlbmVyYXRlZCBieSBbTWVuZCBSZW5vdmF0ZV0oaHR0cHM6Ly9tZW5kLmlvL3Jlbm92YXRlLykuIFZpZXcgdGhlIFtyZXBvc2l0b3J5IGpvYiBsb2ddKGh0dHBzOi8vZGV2ZWxvcGVyLm1lbmQuaW8vZ2l0aHViL29zaXNtL3Rlc3RiZWQpLgo8IS0tcmVub3ZhdGUtZGVidWc6ZXlKamNtVmhkR1ZrU1c1V1pYSWlPaUl6T1M0eU1EY3VNU0lzSW5Wd1pHRjBaV1JKYmxabGNpSTZJalF3TGpFMkxqQWlMQ0owWVhKblpYUkNjbUZ1WTJnaU9pSnRZV2x1SWl3aWJHRmlaV3h6SWpwYkluSmxibTkyWVhSbElsMTktLT4K
      patchset: 235a4bafb85bb0b011a53f1f192d752ed338c02e
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: caa0df55ed55158f32903d317317ac95db4da6ce
          trusted/project_1/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 397240f42127868e42e86e6aeb120c2cb092d117
          untrusted/project_0/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: bf7b7dc34a5e494fa043dc2f23e4626bf96f5aac
          untrusted/project_1/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: caa0df55ed55158f32903d317317ac95db4da6ce
          untrusted/project_2/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 397240f42127868e42e86e6aeb120c2cb092d117
        playbooks:
        - path: untrusted/project_0/github.com/osism/zuul-jobs/playbooks/python-black/run.yml
          roles:
          - checkout: main
            checkout_description: playbook branch
            link_name: ansible/playbook_0/role_0/zuul-jobs
            link_target: untrusted/project_0/github.com/osism/zuul-jobs
            role_path: ansible/playbook_0/role_0/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/playbook_0/role_1/zuul-config
            link_target: untrusted/project_1/github.com/osism/zuul-config
            role_path: ansible/playbook_0/role_1/zuul-config/roles
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/playbook_0/role_2/openinfra-zuul-jobs
            link_target: untrusted/project_2/github.com/osism/openinfra-zuul-jobs
            role_path: ansible/playbook_0/role_2/openinfra-zuul-jobs/roles
      post_review: false
      post_timeout: null
      pre_timeout: null
      project:
        canonical_hostname: github.com
        canonical_name: github.com/osism/testbed
        name: osism/testbed
        short_name: testbed
        src_dir: src/github.com/osism/testbed
      projects:
        github.com/osism/testbed:
          canonical_hostname: github.com
          canonical_name: github.com/osism/testbed
          checkout: main
          checkout_description: zuul branch
          commit: d3a66316cd171d8571efe58b3b48d4fffece091a
          name: osism/testbed
          required: false
          short_name: testbed
          src_dir: src/github.com/osism/testbed
      ref: refs/pull/2654/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
