all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:feae:47de
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: 81bd71d5-7c9e-4db4-9c40-c11f5357b495
        host_id: 0d3d02185f810c959252bd1d303ec55040bf5bb0b401cceef814c3a7
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:feae:47de
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.7.56
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.193.191
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:feae:47de
        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 ansible-lint explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-jobs/.zuul.yaml@main#7>'
      - '<Job ansible-lint explicit: None implied: None source: osism/testbed/.zuul.yaml@main#195>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: f9e3b5d0f3a84f998f270318ba857a63
      build_refs:
      - branch: main
        change: '2654'
        change_message: "chore(deps): update dependency gruntwork-io/terragrunt to
          v0.81.0\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.81.0` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>gruntwork-io/terragrunt
          (gruntwork-io/terragrunt)</summary>\n\n### [`v0.81.0`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.81.0)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.80.4...v0.81.0)\n\n####
          \U0001F6E0\uFE0F Breaking Changes\n\n##### Bare Includes Deprecated\n\nUse
          of bare includes ([include](https://terragrunt.gruntwork.io/docs/reference/config-blocks-and-attributes/#include)
          configuration blocks without a label) are now deprecated.\n\nFor example:\n\n```hcl\ninclude
          {\n    path = find_in_parent_folders(\"root.hcl\")\n}\n```\n\nWill now result
          in a deprecation warning, while the following usage of an include with a
          label added won't:\n\n```hcl\ninclude \"root\" {\n    path = find_in_parent_folders(\"root.hcl\")\n}\n```\n\nUsing
          labeled includes result in better performance, as backwards compatibility
          requires that Terragrunt does additional work during configuration processing.
          You are advised to update your bare includes to use labels as early as possible.\n\nNote
          that although this deprecation won't be an immediate breaking change. It
          will be a breaking change in the future. To opt-in to this breaking change
          today, you can use the [bare-include](https://terragrunt.gruntwork.io/docs/reference/strict-mode/#bare-include)
          strict control to mandate usage of the modern, labelled include. Doing so
          will ensure that you and your teammates are leveraging the most performant
          version of the configuration block.\n\nBackwards compatibility is guaranteed
          to remain present for this functionality until at least Terragrunt 2.0.\n\n#####
          Logging Moved from Terragrunt Options\n\nIf you depend on Terragrunt as
          a Golang library, you'll want to take note that this release introduces
          a breaking change to public functions in multiple packages to adjust how
          the logger is passed. The Terragrunt logger is no longer a member of the
          `TerragruntOptions` struct in the `options` package, and is instead passed
          explicitly as an argument to functions that need the logger.\n\nFor example,
          the signature for the `RunCommand` function in the `shell` package changed
          from this:\n\n```go\nfunc RunCommand(ctx context.Context, opts *options.TerragruntOptions,
          command string, args ...string) error\n```\n\nTo this:\n\n```go\nfunc RunCommand(ctx
          context.Context, l log.Logger, opts *options.TerragruntOptions, command
          string, args ...string) error\n```\n\nYou maybe need to manually construct
          a logger to pass into public functions you are calling in Terragrunt packages
          as a consequence.\n\n#### \u2728 New Features\n\n##### Added `constraint_check`
          HCL Function\n\nA new HCL function, [constraint_check](https://terragrunt.gruntwork.io/docs/reference/built-in-functions/#constraint_check),
          has been added to Terragrunt.\n\nThis HCL function allows you to drive logic
          in your configurations based on constraints checked against arbitrary semantic
          versions.\n\nFor example:\n\n```hcl\nfeature \"module_version\" {\n  default
          = \"1.2.3\"\n}\n\nlocals {\n  module_version       = feature.module_version.value\n
          \ needs_v2_adjustments = constraint_check(local.module_version, \">= 2.0.0\")\n}\n\nterraform
          {\n  source = \"github.com/my-org/my-module.git//?ref=v${local.module_version}\"\n}\n\ninputs
          = !local.needs_v2_adjustments ? {\n  old_module_input_name = \"old_module_input_value\"\n}
          : {\n  new_module_input_name = \"new_module_input_value\"\n}\n```\n\nUsing
          this function, you can alter the behavior of units when particular OpenTofu/Terraform
          module versions are used, including changing inputs or altering error handling.\n\n####
          What's Changed\n\n-   feat: Add constraint_check HCL function by [@&#8203;james03160927](https://redirect.github.com/james03160927)
          in [https://github.com/gruntwork-io/terragrunt/pull/4376](https://redirect.github.com/gruntwork-io/terragrunt/pull/4376)\n-
          \  feat: Added license check by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4368](https://redirect.github.com/gruntwork-io/terragrunt/pull/4368)\n-
          \  fix: Always run CI on push by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4372](https://redirect.github.com/gruntwork-io/terragrunt/pull/4372)\n-
          \  fix: Fixing reference to `relative_path_to_include` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4371](https://redirect.github.com/gruntwork-io/terragrunt/pull/4371)\n-
          \  perf: Moving logger out of opts by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4367](https://redirect.github.com/gruntwork-io/terragrunt/pull/4367)\n-
          \  chore: Deprecating bare includes by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4375](https://redirect.github.com/gruntwork-io/terragrunt/pull/4375)\n-
          \  build(deps): Updated Opentelemetry dependencies to 1.36.0 by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4370](https://redirect.github.com/gruntwork-io/terragrunt/pull/4370)\n-
          \  docs: Documenting `constraint_check` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4384](https://redirect.github.com/gruntwork-io/terragrunt/pull/4384)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.80.4...v0.80.5\n\n###
          [`v0.80.4`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.80.4)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.80.3...v0.80.4)\n\n####
          \u2728 New Features\n\n##### The `exec` command now supports `--tf-path`\n\nThe
          `exec` command has gained support for use of the `--tf-path` flag. This
          can be important when Terragrunt incidentally uses OpenTofu/Terraform to
          do things like fetch outputs from dependencies.\n\nThanks to [@&#8203;erpel](https://redirect.github.com/erpel)
          for contributing this feature!\n\n#### What's Changed\n\n-   feat: Add tf-path
          flag to exec command by [@&#8203;erpel](https://redirect.github.com/erpel)
          in [https://github.com/gruntwork-io/terragrunt/pull/4343](https://redirect.github.com/gruntwork-io/terragrunt/pull/4343)\n-
          \  fix: Optimizing CI cache keys by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4362](https://redirect.github.com/gruntwork-io/terragrunt/pull/4362)\n-
          \  docs: gcp docs update by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4361](https://redirect.github.com/gruntwork-io/terragrunt/pull/4361)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.80.3...v0.80.4\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####
          \U0001F3CE\uFE0F\_Performance Improvements\n\nImproved overall performance
          by memoizing `-version` output in each unit.\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 units,
          the following performance gains were released:\n\n-   18% speed improvement.\n-
          \  9% memory reduction.\n\nMore optimizations of this sort are planned for
          future releases.\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\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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjQwLjMzLjYiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbInJlbm92YXRlIl19-->\n"
        change_url: https://github.com/osism/testbed/pull/2654
        commit_id: 61eae06244ec3901cc7ba39dec3c9d55ff335886
        patchset: 61eae06244ec3901cc7ba39dec3c9d55ff335886
        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: ebb12c23f74d4713bc574142a736484e
      buildset_refs:
      - branch: main
        change: '2654'
        change_message: "chore(deps): update dependency gruntwork-io/terragrunt to
          v0.81.0\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.81.0` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>gruntwork-io/terragrunt
          (gruntwork-io/terragrunt)</summary>\n\n### [`v0.81.0`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.81.0)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.80.4...v0.81.0)\n\n####
          \U0001F6E0\uFE0F Breaking Changes\n\n##### Bare Includes Deprecated\n\nUse
          of bare includes ([include](https://terragrunt.gruntwork.io/docs/reference/config-blocks-and-attributes/#include)
          configuration blocks without a label) are now deprecated.\n\nFor example:\n\n```hcl\ninclude
          {\n    path = find_in_parent_folders(\"root.hcl\")\n}\n```\n\nWill now result
          in a deprecation warning, while the following usage of an include with a
          label added won't:\n\n```hcl\ninclude \"root\" {\n    path = find_in_parent_folders(\"root.hcl\")\n}\n```\n\nUsing
          labeled includes result in better performance, as backwards compatibility
          requires that Terragrunt does additional work during configuration processing.
          You are advised to update your bare includes to use labels as early as possible.\n\nNote
          that although this deprecation won't be an immediate breaking change. It
          will be a breaking change in the future. To opt-in to this breaking change
          today, you can use the [bare-include](https://terragrunt.gruntwork.io/docs/reference/strict-mode/#bare-include)
          strict control to mandate usage of the modern, labelled include. Doing so
          will ensure that you and your teammates are leveraging the most performant
          version of the configuration block.\n\nBackwards compatibility is guaranteed
          to remain present for this functionality until at least Terragrunt 2.0.\n\n#####
          Logging Moved from Terragrunt Options\n\nIf you depend on Terragrunt as
          a Golang library, you'll want to take note that this release introduces
          a breaking change to public functions in multiple packages to adjust how
          the logger is passed. The Terragrunt logger is no longer a member of the
          `TerragruntOptions` struct in the `options` package, and is instead passed
          explicitly as an argument to functions that need the logger.\n\nFor example,
          the signature for the `RunCommand` function in the `shell` package changed
          from this:\n\n```go\nfunc RunCommand(ctx context.Context, opts *options.TerragruntOptions,
          command string, args ...string) error\n```\n\nTo this:\n\n```go\nfunc RunCommand(ctx
          context.Context, l log.Logger, opts *options.TerragruntOptions, command
          string, args ...string) error\n```\n\nYou maybe need to manually construct
          a logger to pass into public functions you are calling in Terragrunt packages
          as a consequence.\n\n#### \u2728 New Features\n\n##### Added `constraint_check`
          HCL Function\n\nA new HCL function, [constraint_check](https://terragrunt.gruntwork.io/docs/reference/built-in-functions/#constraint_check),
          has been added to Terragrunt.\n\nThis HCL function allows you to drive logic
          in your configurations based on constraints checked against arbitrary semantic
          versions.\n\nFor example:\n\n```hcl\nfeature \"module_version\" {\n  default
          = \"1.2.3\"\n}\n\nlocals {\n  module_version       = feature.module_version.value\n
          \ needs_v2_adjustments = constraint_check(local.module_version, \">= 2.0.0\")\n}\n\nterraform
          {\n  source = \"github.com/my-org/my-module.git//?ref=v${local.module_version}\"\n}\n\ninputs
          = !local.needs_v2_adjustments ? {\n  old_module_input_name = \"old_module_input_value\"\n}
          : {\n  new_module_input_name = \"new_module_input_value\"\n}\n```\n\nUsing
          this function, you can alter the behavior of units when particular OpenTofu/Terraform
          module versions are used, including changing inputs or altering error handling.\n\n####
          What's Changed\n\n-   feat: Add constraint_check HCL function by [@&#8203;james03160927](https://redirect.github.com/james03160927)
          in [https://github.com/gruntwork-io/terragrunt/pull/4376](https://redirect.github.com/gruntwork-io/terragrunt/pull/4376)\n-
          \  feat: Added license check by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4368](https://redirect.github.com/gruntwork-io/terragrunt/pull/4368)\n-
          \  fix: Always run CI on push by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4372](https://redirect.github.com/gruntwork-io/terragrunt/pull/4372)\n-
          \  fix: Fixing reference to `relative_path_to_include` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4371](https://redirect.github.com/gruntwork-io/terragrunt/pull/4371)\n-
          \  perf: Moving logger out of opts by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4367](https://redirect.github.com/gruntwork-io/terragrunt/pull/4367)\n-
          \  chore: Deprecating bare includes by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4375](https://redirect.github.com/gruntwork-io/terragrunt/pull/4375)\n-
          \  build(deps): Updated Opentelemetry dependencies to 1.36.0 by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4370](https://redirect.github.com/gruntwork-io/terragrunt/pull/4370)\n-
          \  docs: Documenting `constraint_check` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4384](https://redirect.github.com/gruntwork-io/terragrunt/pull/4384)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.80.4...v0.80.5\n\n###
          [`v0.80.4`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.80.4)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.80.3...v0.80.4)\n\n####
          \u2728 New Features\n\n##### The `exec` command now supports `--tf-path`\n\nThe
          `exec` command has gained support for use of the `--tf-path` flag. This
          can be important when Terragrunt incidentally uses OpenTofu/Terraform to
          do things like fetch outputs from dependencies.\n\nThanks to [@&#8203;erpel](https://redirect.github.com/erpel)
          for contributing this feature!\n\n#### What's Changed\n\n-   feat: Add tf-path
          flag to exec command by [@&#8203;erpel](https://redirect.github.com/erpel)
          in [https://github.com/gruntwork-io/terragrunt/pull/4343](https://redirect.github.com/gruntwork-io/terragrunt/pull/4343)\n-
          \  fix: Optimizing CI cache keys by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4362](https://redirect.github.com/gruntwork-io/terragrunt/pull/4362)\n-
          \  docs: gcp docs update by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4361](https://redirect.github.com/gruntwork-io/terragrunt/pull/4361)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.80.3...v0.80.4\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####
          \U0001F3CE\uFE0F\_Performance Improvements\n\nImproved overall performance
          by memoizing `-version` output in each unit.\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 units,
          the following performance gains were released:\n\n-   18% speed improvement.\n-
          \  9% memory reduction.\n\nMore optimizations of this sort are planned for
          future releases.\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\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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjQwLjMzLjYiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbInJlbm92YXRlIl19-->\n"
        change_url: https://github.com/osism/testbed/pull/2654
        commit_id: 61eae06244ec3901cc7ba39dec3c9d55ff335886
        patchset: 61eae06244ec3901cc7ba39dec3c9d55ff335886
        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.81.0\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.81.0` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>gruntwork-io/terragrunt
        (gruntwork-io/terragrunt)</summary>\n\n### [`v0.81.0`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.81.0)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.80.4...v0.81.0)\n\n####
        \U0001F6E0\uFE0F Breaking Changes\n\n##### Bare Includes Deprecated\n\nUse
        of bare includes ([include](https://terragrunt.gruntwork.io/docs/reference/config-blocks-and-attributes/#include)
        configuration blocks without a label) are now deprecated.\n\nFor example:\n\n```hcl\ninclude
        {\n    path = find_in_parent_folders(\"root.hcl\")\n}\n```\n\nWill now result
        in a deprecation warning, while the following usage of an include with a label
        added won't:\n\n```hcl\ninclude \"root\" {\n    path = find_in_parent_folders(\"root.hcl\")\n}\n```\n\nUsing
        labeled includes result in better performance, as backwards compatibility
        requires that Terragrunt does additional work during configuration processing.
        You are advised to update your bare includes to use labels as early as possible.\n\nNote
        that although this deprecation won't be an immediate breaking change. It will
        be a breaking change in the future. To opt-in to this breaking change today,
        you can use the [bare-include](https://terragrunt.gruntwork.io/docs/reference/strict-mode/#bare-include)
        strict control to mandate usage of the modern, labelled include. Doing so
        will ensure that you and your teammates are leveraging the most performant
        version of the configuration block.\n\nBackwards compatibility is guaranteed
        to remain present for this functionality until at least Terragrunt 2.0.\n\n#####
        Logging Moved from Terragrunt Options\n\nIf you depend on Terragrunt as a
        Golang library, you'll want to take note that this release introduces a breaking
        change to public functions in multiple packages to adjust how the logger is
        passed. The Terragrunt logger is no longer a member of the `TerragruntOptions`
        struct in the `options` package, and is instead passed explicitly as an argument
        to functions that need the logger.\n\nFor example, the signature for the `RunCommand`
        function in the `shell` package changed from this:\n\n```go\nfunc RunCommand(ctx
        context.Context, opts *options.TerragruntOptions, command string, args ...string)
        error\n```\n\nTo this:\n\n```go\nfunc RunCommand(ctx context.Context, l log.Logger,
        opts *options.TerragruntOptions, command string, args ...string) error\n```\n\nYou
        maybe need to manually construct a logger to pass into public functions you
        are calling in Terragrunt packages as a consequence.\n\n#### \u2728 New Features\n\n#####
        Added `constraint_check` HCL Function\n\nA new HCL function, [constraint_check](https://terragrunt.gruntwork.io/docs/reference/built-in-functions/#constraint_check),
        has been added to Terragrunt.\n\nThis HCL function allows you to drive logic
        in your configurations based on constraints checked against arbitrary semantic
        versions.\n\nFor example:\n\n```hcl\nfeature \"module_version\" {\n  default
        = \"1.2.3\"\n}\n\nlocals {\n  module_version       = feature.module_version.value\n
        \ needs_v2_adjustments = constraint_check(local.module_version, \">= 2.0.0\")\n}\n\nterraform
        {\n  source = \"github.com/my-org/my-module.git//?ref=v${local.module_version}\"\n}\n\ninputs
        = !local.needs_v2_adjustments ? {\n  old_module_input_name = \"old_module_input_value\"\n}
        : {\n  new_module_input_name = \"new_module_input_value\"\n}\n```\n\nUsing
        this function, you can alter the behavior of units when particular OpenTofu/Terraform
        module versions are used, including changing inputs or altering error handling.\n\n####
        What's Changed\n\n-   feat: Add constraint_check HCL function by [@&#8203;james03160927](https://redirect.github.com/james03160927)
        in [https://github.com/gruntwork-io/terragrunt/pull/4376](https://redirect.github.com/gruntwork-io/terragrunt/pull/4376)\n-
        \  feat: Added license check by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4368](https://redirect.github.com/gruntwork-io/terragrunt/pull/4368)\n-
        \  fix: Always run CI on push by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4372](https://redirect.github.com/gruntwork-io/terragrunt/pull/4372)\n-
        \  fix: Fixing reference to `relative_path_to_include` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4371](https://redirect.github.com/gruntwork-io/terragrunt/pull/4371)\n-
        \  perf: Moving logger out of opts by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4367](https://redirect.github.com/gruntwork-io/terragrunt/pull/4367)\n-
        \  chore: Deprecating bare includes by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4375](https://redirect.github.com/gruntwork-io/terragrunt/pull/4375)\n-
        \  build(deps): Updated Opentelemetry dependencies to 1.36.0 by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4370](https://redirect.github.com/gruntwork-io/terragrunt/pull/4370)\n-
        \  docs: Documenting `constraint_check` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4384](https://redirect.github.com/gruntwork-io/terragrunt/pull/4384)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.80.4...v0.80.5\n\n###
        [`v0.80.4`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.80.4)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.80.3...v0.80.4)\n\n####
        \u2728 New Features\n\n##### The `exec` command now supports `--tf-path`\n\nThe
        `exec` command has gained support for use of the `--tf-path` flag. This can
        be important when Terragrunt incidentally uses OpenTofu/Terraform to do things
        like fetch outputs from dependencies.\n\nThanks to [@&#8203;erpel](https://redirect.github.com/erpel)
        for contributing this feature!\n\n#### What's Changed\n\n-   feat: Add tf-path
        flag to exec command by [@&#8203;erpel](https://redirect.github.com/erpel)
        in [https://github.com/gruntwork-io/terragrunt/pull/4343](https://redirect.github.com/gruntwork-io/terragrunt/pull/4343)\n-
        \  fix: Optimizing CI cache keys by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4362](https://redirect.github.com/gruntwork-io/terragrunt/pull/4362)\n-
        \  docs: gcp docs update by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4361](https://redirect.github.com/gruntwork-io/terragrunt/pull/4361)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.80.3...v0.80.4\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####
        \U0001F3CE\uFE0F\_Performance Improvements\n\nImproved overall performance
        by memoizing `-version` output in each unit.\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 units, the following
        performance gains were released:\n\n-   18% speed improvement.\n-   9% memory
        reduction.\n\nMore optimizations of this sort are planned for future releases.\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\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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjQwLjMzLjYiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbInJlbm92YXRlIl19-->\n"
      change_url: https://github.com/osism/testbed/pull/2654
      child_jobs: []
      commit_id: 61eae06244ec3901cc7ba39dec3c9d55ff335886
      event_id: e0e0c710-4089-11f0-9583-11090002f842
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/f9e3b5d0f3a84f998f270318ba857a63/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/f9e3b5d0f3a84f998f270318ba857a63/work/logs
        result_data_file: /var/lib/zuul/builds/f9e3b5d0f3a84f998f270318ba857a63/work/results.json
        src_root: /var/lib/zuul/builds/f9e3b5d0f3a84f998f270318ba857a63/work/src
        work_root: /var/lib/zuul/builds/f9e3b5d0f3a84f998f270318ba857a63/work
      include_vars: []
      items:
      - branch: main
        change: '2654'
        change_message: "chore(deps): update dependency gruntwork-io/terragrunt to
          v0.81.0\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.81.0` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>gruntwork-io/terragrunt
          (gruntwork-io/terragrunt)</summary>\n\n### [`v0.81.0`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.81.0)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.80.4...v0.81.0)\n\n####
          \U0001F6E0\uFE0F Breaking Changes\n\n##### Bare Includes Deprecated\n\nUse
          of bare includes ([include](https://terragrunt.gruntwork.io/docs/reference/config-blocks-and-attributes/#include)
          configuration blocks without a label) are now deprecated.\n\nFor example:\n\n```hcl\ninclude
          {\n    path = find_in_parent_folders(\"root.hcl\")\n}\n```\n\nWill now result
          in a deprecation warning, while the following usage of an include with a
          label added won't:\n\n```hcl\ninclude \"root\" {\n    path = find_in_parent_folders(\"root.hcl\")\n}\n```\n\nUsing
          labeled includes result in better performance, as backwards compatibility
          requires that Terragrunt does additional work during configuration processing.
          You are advised to update your bare includes to use labels as early as possible.\n\nNote
          that although this deprecation won't be an immediate breaking change. It
          will be a breaking change in the future. To opt-in to this breaking change
          today, you can use the [bare-include](https://terragrunt.gruntwork.io/docs/reference/strict-mode/#bare-include)
          strict control to mandate usage of the modern, labelled include. Doing so
          will ensure that you and your teammates are leveraging the most performant
          version of the configuration block.\n\nBackwards compatibility is guaranteed
          to remain present for this functionality until at least Terragrunt 2.0.\n\n#####
          Logging Moved from Terragrunt Options\n\nIf you depend on Terragrunt as
          a Golang library, you'll want to take note that this release introduces
          a breaking change to public functions in multiple packages to adjust how
          the logger is passed. The Terragrunt logger is no longer a member of the
          `TerragruntOptions` struct in the `options` package, and is instead passed
          explicitly as an argument to functions that need the logger.\n\nFor example,
          the signature for the `RunCommand` function in the `shell` package changed
          from this:\n\n```go\nfunc RunCommand(ctx context.Context, opts *options.TerragruntOptions,
          command string, args ...string) error\n```\n\nTo this:\n\n```go\nfunc RunCommand(ctx
          context.Context, l log.Logger, opts *options.TerragruntOptions, command
          string, args ...string) error\n```\n\nYou maybe need to manually construct
          a logger to pass into public functions you are calling in Terragrunt packages
          as a consequence.\n\n#### \u2728 New Features\n\n##### Added `constraint_check`
          HCL Function\n\nA new HCL function, [constraint_check](https://terragrunt.gruntwork.io/docs/reference/built-in-functions/#constraint_check),
          has been added to Terragrunt.\n\nThis HCL function allows you to drive logic
          in your configurations based on constraints checked against arbitrary semantic
          versions.\n\nFor example:\n\n```hcl\nfeature \"module_version\" {\n  default
          = \"1.2.3\"\n}\n\nlocals {\n  module_version       = feature.module_version.value\n
          \ needs_v2_adjustments = constraint_check(local.module_version, \">= 2.0.0\")\n}\n\nterraform
          {\n  source = \"github.com/my-org/my-module.git//?ref=v${local.module_version}\"\n}\n\ninputs
          = !local.needs_v2_adjustments ? {\n  old_module_input_name = \"old_module_input_value\"\n}
          : {\n  new_module_input_name = \"new_module_input_value\"\n}\n```\n\nUsing
          this function, you can alter the behavior of units when particular OpenTofu/Terraform
          module versions are used, including changing inputs or altering error handling.\n\n####
          What's Changed\n\n-   feat: Add constraint_check HCL function by [@&#8203;james03160927](https://redirect.github.com/james03160927)
          in [https://github.com/gruntwork-io/terragrunt/pull/4376](https://redirect.github.com/gruntwork-io/terragrunt/pull/4376)\n-
          \  feat: Added license check by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4368](https://redirect.github.com/gruntwork-io/terragrunt/pull/4368)\n-
          \  fix: Always run CI on push by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4372](https://redirect.github.com/gruntwork-io/terragrunt/pull/4372)\n-
          \  fix: Fixing reference to `relative_path_to_include` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4371](https://redirect.github.com/gruntwork-io/terragrunt/pull/4371)\n-
          \  perf: Moving logger out of opts by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4367](https://redirect.github.com/gruntwork-io/terragrunt/pull/4367)\n-
          \  chore: Deprecating bare includes by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4375](https://redirect.github.com/gruntwork-io/terragrunt/pull/4375)\n-
          \  build(deps): Updated Opentelemetry dependencies to 1.36.0 by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4370](https://redirect.github.com/gruntwork-io/terragrunt/pull/4370)\n-
          \  docs: Documenting `constraint_check` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4384](https://redirect.github.com/gruntwork-io/terragrunt/pull/4384)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.80.4...v0.80.5\n\n###
          [`v0.80.4`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.80.4)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.80.3...v0.80.4)\n\n####
          \u2728 New Features\n\n##### The `exec` command now supports `--tf-path`\n\nThe
          `exec` command has gained support for use of the `--tf-path` flag. This
          can be important when Terragrunt incidentally uses OpenTofu/Terraform to
          do things like fetch outputs from dependencies.\n\nThanks to [@&#8203;erpel](https://redirect.github.com/erpel)
          for contributing this feature!\n\n#### What's Changed\n\n-   feat: Add tf-path
          flag to exec command by [@&#8203;erpel](https://redirect.github.com/erpel)
          in [https://github.com/gruntwork-io/terragrunt/pull/4343](https://redirect.github.com/gruntwork-io/terragrunt/pull/4343)\n-
          \  fix: Optimizing CI cache keys by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4362](https://redirect.github.com/gruntwork-io/terragrunt/pull/4362)\n-
          \  docs: gcp docs update by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4361](https://redirect.github.com/gruntwork-io/terragrunt/pull/4361)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.80.3...v0.80.4\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####
          \U0001F3CE\uFE0F\_Performance Improvements\n\nImproved overall performance
          by memoizing `-version` output in each unit.\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 units,
          the following performance gains were released:\n\n-   18% speed improvement.\n-
          \  9% memory reduction.\n\nMore optimizations of this sort are planned for
          future releases.\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\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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjQwLjMzLjYiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbInJlbm92YXRlIl19-->\n"
        change_url: https://github.com/osism/testbed/pull/2654
        commit_id: 61eae06244ec3901cc7ba39dec3c9d55ff335886
        patchset: 61eae06244ec3901cc7ba39dec3c9d55ff335886
        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: ansible-lint
      jobtags: []
      max_attempts: 3
      message: Y2hvcmUoZGVwcyk6IHVwZGF0ZSBkZXBlbmRlbmN5IGdydW50d29yay1pby90ZXJyYWdydW50IHRvIHYwLjgxLjAKClRoaXMgUFIgY29udGFpbnMgdGhlIGZvbGxvd2luZyB1cGRhdGVzOgoKfCBQYWNrYWdlIHwgVXBkYXRlIHwgQ2hhbmdlIHwKfC0tLXwtLS18LS0tfAp8IFtncnVudHdvcmstaW8vdGVycmFncnVudF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50KSB8IG1pbm9yIHwgYHYwLjc3LjMgYCAtPiBgdjAuODEuMGAgfAoKLS0tCgojIyMgUmVsZWFzZSBOb3RlcwoKPGRldGFpbHM+CjxzdW1tYXJ5PmdydW50d29yay1pby90ZXJyYWdydW50IChncnVudHdvcmstaW8vdGVycmFncnVudCk8L3N1bW1hcnk+CgojIyMgW2B2MC44MS4wYF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3JlbGVhc2VzL3RhZy92MC44MS4wKQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC44MC40Li4udjAuODEuMCkKCiMjIyMg8J+boO+4jyBCcmVha2luZyBDaGFuZ2VzCgojIyMjIyBCYXJlIEluY2x1ZGVzIERlcHJlY2F0ZWQKClVzZSBvZiBiYXJlIGluY2x1ZGVzIChbaW5jbHVkZV0oaHR0cHM6Ly90ZXJyYWdydW50LmdydW50d29yay5pby9kb2NzL3JlZmVyZW5jZS9jb25maWctYmxvY2tzLWFuZC1hdHRyaWJ1dGVzLyNpbmNsdWRlKSBjb25maWd1cmF0aW9uIGJsb2NrcyB3aXRob3V0IGEgbGFiZWwpIGFyZSBub3cgZGVwcmVjYXRlZC4KCkZvciBleGFtcGxlOgoKYGBgaGNsCmluY2x1ZGUgewogICAgcGF0aCA9IGZpbmRfaW5fcGFyZW50X2ZvbGRlcnMoInJvb3QuaGNsIikKfQpgYGAKCldpbGwgbm93IHJlc3VsdCBpbiBhIGRlcHJlY2F0aW9uIHdhcm5pbmcsIHdoaWxlIHRoZSBmb2xsb3dpbmcgdXNhZ2Ugb2YgYW4gaW5jbHVkZSB3aXRoIGEgbGFiZWwgYWRkZWQgd29uJ3Q6CgpgYGBoY2wKaW5jbHVkZSAicm9vdCIgewogICAgcGF0aCA9IGZpbmRfaW5fcGFyZW50X2ZvbGRlcnMoInJvb3QuaGNsIikKfQpgYGAKClVzaW5nIGxhYmVsZWQgaW5jbHVkZXMgcmVzdWx0IGluIGJldHRlciBwZXJmb3JtYW5jZSwgYXMgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgcmVxdWlyZXMgdGhhdCBUZXJyYWdydW50IGRvZXMgYWRkaXRpb25hbCB3b3JrIGR1cmluZyBjb25maWd1cmF0aW9uIHByb2Nlc3NpbmcuIFlvdSBhcmUgYWR2aXNlZCB0byB1cGRhdGUgeW91ciBiYXJlIGluY2x1ZGVzIHRvIHVzZSBsYWJlbHMgYXMgZWFybHkgYXMgcG9zc2libGUuCgpOb3RlIHRoYXQgYWx0aG91Z2ggdGhpcyBkZXByZWNhdGlvbiB3b24ndCBiZSBhbiBpbW1lZGlhdGUgYnJlYWtpbmcgY2hhbmdlLiBJdCB3aWxsIGJlIGEgYnJlYWtpbmcgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFRvIG9wdC1pbiB0byB0aGlzIGJyZWFraW5nIGNoYW5nZSB0b2RheSwgeW91IGNhbiB1c2UgdGhlIFtiYXJlLWluY2x1ZGVdKGh0dHBzOi8vdGVycmFncnVudC5ncnVudHdvcmsuaW8vZG9jcy9yZWZlcmVuY2Uvc3RyaWN0LW1vZGUvI2JhcmUtaW5jbHVkZSkgc3RyaWN0IGNvbnRyb2wgdG8gbWFuZGF0ZSB1c2FnZSBvZiB0aGUgbW9kZXJuLCBsYWJlbGxlZCBpbmNsdWRlLiBEb2luZyBzbyB3aWxsIGVuc3VyZSB0aGF0IHlvdSBhbmQgeW91ciB0ZWFtbWF0ZXMgYXJlIGxldmVyYWdpbmcgdGhlIG1vc3QgcGVyZm9ybWFudCB2ZXJzaW9uIG9mIHRoZSBjb25maWd1cmF0aW9uIGJsb2NrLgoKQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgaXMgZ3VhcmFudGVlZCB0byByZW1haW4gcHJlc2VudCBmb3IgdGhpcyBmdW5jdGlvbmFsaXR5IHVudGlsIGF0IGxlYXN0IFRlcnJhZ3J1bnQgMi4wLgoKIyMjIyMgTG9nZ2luZyBNb3ZlZCBmcm9tIFRlcnJhZ3J1bnQgT3B0aW9ucwoKSWYgeW91IGRlcGVuZCBvbiBUZXJyYWdydW50IGFzIGEgR29sYW5nIGxpYnJhcnksIHlvdSdsbCB3YW50IHRvIHRha2Ugbm90ZSB0aGF0IHRoaXMgcmVsZWFzZSBpbnRyb2R1Y2VzIGEgYnJlYWtpbmcgY2hhbmdlIHRvIHB1YmxpYyBmdW5jdGlvbnMgaW4gbXVsdGlwbGUgcGFja2FnZXMgdG8gYWRqdXN0IGhvdyB0aGUgbG9nZ2VyIGlzIHBhc3NlZC4gVGhlIFRlcnJhZ3J1bnQgbG9nZ2VyIGlzIG5vIGxvbmdlciBhIG1lbWJlciBvZiB0aGUgYFRlcnJhZ3J1bnRPcHRpb25zYCBzdHJ1Y3QgaW4gdGhlIGBvcHRpb25zYCBwYWNrYWdlLCBhbmQgaXMgaW5zdGVhZCBwYXNzZWQgZXhwbGljaXRseSBhcyBhbiBhcmd1bWVudCB0byBmdW5jdGlvbnMgdGhhdCBuZWVkIHRoZSBsb2dnZXIuCgpGb3IgZXhhbXBsZSwgdGhlIHNpZ25hdHVyZSBmb3IgdGhlIGBSdW5Db21tYW5kYCBmdW5jdGlvbiBpbiB0aGUgYHNoZWxsYCBwYWNrYWdlIGNoYW5nZWQgZnJvbSB0aGlzOgoKYGBgZ28KZnVuYyBSdW5Db21tYW5kKGN0eCBjb250ZXh0LkNvbnRleHQsIG9wdHMgKm9wdGlvbnMuVGVycmFncnVudE9wdGlvbnMsIGNvbW1hbmQgc3RyaW5nLCBhcmdzIC4uLnN0cmluZykgZXJyb3IKYGBgCgpUbyB0aGlzOgoKYGBgZ28KZnVuYyBSdW5Db21tYW5kKGN0eCBjb250ZXh0LkNvbnRleHQsIGwgbG9nLkxvZ2dlciwgb3B0cyAqb3B0aW9ucy5UZXJyYWdydW50T3B0aW9ucywgY29tbWFuZCBzdHJpbmcsIGFyZ3MgLi4uc3RyaW5nKSBlcnJvcgpgYGAKCllvdSBtYXliZSBuZWVkIHRvIG1hbnVhbGx5IGNvbnN0cnVjdCBhIGxvZ2dlciB0byBwYXNzIGludG8gcHVibGljIGZ1bmN0aW9ucyB5b3UgYXJlIGNhbGxpbmcgaW4gVGVycmFncnVudCBwYWNrYWdlcyBhcyBhIGNvbnNlcXVlbmNlLgoKIyMjIyDinKggTmV3IEZlYXR1cmVzCgojIyMjIyBBZGRlZCBgY29uc3RyYWludF9jaGVja2AgSENMIEZ1bmN0aW9uCgpBIG5ldyBIQ0wgZnVuY3Rpb24sIFtjb25zdHJhaW50X2NoZWNrXShodHRwczovL3RlcnJhZ3J1bnQuZ3J1bnR3b3JrLmlvL2RvY3MvcmVmZXJlbmNlL2J1aWx0LWluLWZ1bmN0aW9ucy8jY29uc3RyYWludF9jaGVjayksIGhhcyBiZWVuIGFkZGVkIHRvIFRlcnJhZ3J1bnQuCgpUaGlzIEhDTCBmdW5jdGlvbiBhbGxvd3MgeW91IHRvIGRyaXZlIGxvZ2ljIGluIHlvdXIgY29uZmlndXJhdGlvbnMgYmFzZWQgb24gY29uc3RyYWludHMgY2hlY2tlZCBhZ2FpbnN0IGFyYml0cmFyeSBzZW1hbnRpYyB2ZXJzaW9ucy4KCkZvciBleGFtcGxlOgoKYGBgaGNsCmZlYXR1cmUgIm1vZHVsZV92ZXJzaW9uIiB7CiAgZGVmYXVsdCA9ICIxLjIuMyIKfQoKbG9jYWxzIHsKICBtb2R1bGVfdmVyc2lvbiAgICAgICA9IGZlYXR1cmUubW9kdWxlX3ZlcnNpb24udmFsdWUKICBuZWVkc192Ml9hZGp1c3RtZW50cyA9IGNvbnN0cmFpbnRfY2hlY2sobG9jYWwubW9kdWxlX3ZlcnNpb24sICI+PSAyLjAuMCIpCn0KCnRlcnJhZm9ybSB7CiAgc291cmNlID0gImdpdGh1Yi5jb20vbXktb3JnL215LW1vZHVsZS5naXQvLz9yZWY9diR7bG9jYWwubW9kdWxlX3ZlcnNpb259Igp9CgppbnB1dHMgPSAhbG9jYWwubmVlZHNfdjJfYWRqdXN0bWVudHMgPyB7CiAgb2xkX21vZHVsZV9pbnB1dF9uYW1lID0gIm9sZF9tb2R1bGVfaW5wdXRfdmFsdWUiCn0gOiB7CiAgbmV3X21vZHVsZV9pbnB1dF9uYW1lID0gIm5ld19tb2R1bGVfaW5wdXRfdmFsdWUiCn0KYGBgCgpVc2luZyB0aGlzIGZ1bmN0aW9uLCB5b3UgY2FuIGFsdGVyIHRoZSBiZWhhdmlvciBvZiB1bml0cyB3aGVuIHBhcnRpY3VsYXIgT3BlblRvZnUvVGVycmFmb3JtIG1vZHVsZSB2ZXJzaW9ucyBhcmUgdXNlZCwgaW5jbHVkaW5nIGNoYW5naW5nIGlucHV0cyBvciBhbHRlcmluZyBlcnJvciBoYW5kbGluZy4KCiMjIyMgV2hhdCdzIENoYW5nZWQKCi0gICBmZWF0OiBBZGQgY29uc3RyYWludF9jaGVjayBIQ0wgZnVuY3Rpb24gYnkgW0AmIzgyMDM7amFtZXMwMzE2MDkyN10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2phbWVzMDMxNjA5MjcpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80Mzc2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80Mzc2KQotICAgZmVhdDogQWRkZWQgbGljZW5zZSBjaGVjayBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDM2OF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDM2OCkKLSAgIGZpeDogQWx3YXlzIHJ1biBDSSBvbiBwdXNoIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDM3Ml0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDM3MikKLSAgIGZpeDogRml4aW5nIHJlZmVyZW5jZSB0byBgcmVsYXRpdmVfcGF0aF90b19pbmNsdWRlYCBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzNzFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzNzEpCi0gICBwZXJmOiBNb3ZpbmcgbG9nZ2VyIG91dCBvZiBvcHRzIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDM2N10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDM2NykKLSAgIGNob3JlOiBEZXByZWNhdGluZyBiYXJlIGluY2x1ZGVzIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDM3NV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDM3NSkKLSAgIGJ1aWxkKGRlcHMpOiBVcGRhdGVkIE9wZW50ZWxlbWV0cnkgZGVwZW5kZW5jaWVzIHRvIDEuMzYuMCBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDM3MF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDM3MCkKLSAgIGRvY3M6IERvY3VtZW50aW5nIGBjb25zdHJhaW50X2NoZWNrYCBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzODRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzODQpCgoqKkZ1bGwgQ2hhbmdlbG9nKio6IGh0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjgwLjQuLi52MC44MC41CgojIyMgW2B2MC44MC40YF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3JlbGVhc2VzL3RhZy92MC44MC40KQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC44MC4zLi4udjAuODAuNCkKCiMjIyMg4pyoIE5ldyBGZWF0dXJlcwoKIyMjIyMgVGhlIGBleGVjYCBjb21tYW5kIG5vdyBzdXBwb3J0cyBgLS10Zi1wYXRoYAoKVGhlIGBleGVjYCBjb21tYW5kIGhhcyBnYWluZWQgc3VwcG9ydCBmb3IgdXNlIG9mIHRoZSBgLS10Zi1wYXRoYCBmbGFnLiBUaGlzIGNhbiBiZSBpbXBvcnRhbnQgd2hlbiBUZXJyYWdydW50IGluY2lkZW50YWxseSB1c2VzIE9wZW5Ub2Z1L1RlcnJhZm9ybSB0byBkbyB0aGluZ3MgbGlrZSBmZXRjaCBvdXRwdXRzIGZyb20gZGVwZW5kZW5jaWVzLgoKVGhhbmtzIHRvIFtAJiM4MjAzO2VycGVsXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZXJwZWwpIGZvciBjb250cmlidXRpbmcgdGhpcyBmZWF0dXJlIQoKIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSAgIGZlYXQ6IEFkZCB0Zi1wYXRoIGZsYWcgdG8gZXhlYyBjb21tYW5kIGJ5IFtAJiM4MjAzO2VycGVsXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZXJwZWwpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzQzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzQzKQotICAgZml4OiBPcHRpbWl6aW5nIENJIGNhY2hlIGtleXMgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzYyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzYyKQotICAgZG9jczogZ2NwIGRvY3MgdXBkYXRlIGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzYxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzYxKQoKKipGdWxsIENoYW5nZWxvZyoqOiBodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC44MC4zLi4udjAuODAuNAoKIyMjIFtgdjAuODAuM2BdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9yZWxlYXNlcy90YWcvdjAuODAuMykKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuODAuMi4uLnYwLjgwLjMpCgojIyMjIPCfj47vuI/CoFBlcmZvcm1hbmNlIEltcHJvdmVtZW50cwoKIyMjIyMgU2lnbmlmaWNhbnQgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnRzIGZvciBgcnVuIC0tYWxsYAoKVGhlIHBlcmZvcm1hbmNlIG9mIGBydW4gLS1hbGxgIGhhcyBiZWVuIGltcHJvdmVkIGluIHR3byBzaWduaWZpY2FudCB3YXlzOgoKMS4gIFBlcmZvcm1hbmNlIGZvciBuYW1lZCBpbmNsdWRlcyBoYXMgaW1wcm92ZWQuCgogICAgQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZm9yIGJhcmUgaW5jbHVkZXMgcmVxdWlyZWQgdGhhdCBUZXJyYWdydW50IGRvIHNvbWUgaW5lZmZpY2llbnQgd29yayBpbnRlcm5hbGx5IHRvIGhhbmRsZSBib3RoIG5hbWVkIGluY2x1ZGVzIGFuZCBiYXJlIGluY2x1ZGVzIGJ5IGRvaW5nIGFuIGluLW1lbW9yeSByZXdyaXRlIG9mIFRlcnJhZ3J1bnQgY29uZmlndXJhdGlvbnMuIEFuIG9wdGltaXphdGlvbiBoYXMgYmVlbiBpbnRyb2R1Y2VkIHRvIGF2b2lkIHRoaXMgYmVoYXZpb3Igd2hlbiB1c2VycyB1c2UgbmFtZWQgaW5jbHVkZXMuIFRoaXMgb3B0aW1pemF0aW9uIGRvZXMgbm90IGV4dGVuZCB0byB1c2VycyB0aGF0IGFyZSB1c2luZyBiYXJlIGluY2x1ZGVzLgoKICAgIFVzZXJzIGFyZSBhZHZpc2VkIHRvIGF2b2lkIHVzaW5nIGJhcmUgaW5jbHVkZXMgd2hlbmV2ZXIgcG9zc2libGUgZm9yIG1heGltdW0gcGVyZm9ybWFuY2UuIEEgW3N0cmljdCBjb250cm9sXShodHRwczovL3RlcnJhZ3J1bnQuZ3J1bnR3b3JrLmlvL2RvY3MvcmVmZXJlbmNlL3N0cmljdC1tb2RlLyNiYXJlLWluY2x1ZGUpIGhhcyBiZWVuIGludHJvZHVjZWQgdG8gZW5mb3JjZSB1c2FnZSBvZiBuYW1lZCBpbmNsdWRlcy4KCiAgICBJbiBhIGZ1dHVyZSBtaW5vciByZWxlYXNlLCBhIHdhcm5pbmcgd2lsbCBiZSBlbWl0dGVkLCBpbnN0cnVjdGluZyB1c2VycyB0byBzdG9wIHVzaW5nIGJhcmUgaW5jbHVkZXMuIE1haW50YWluZXJzIHdpbGwgYXZvaWQgYnJlYWtpbmcgc3VwcG9ydCBmb3IgYmFyZSBpbmNsdWRlcyB1bnRpbCBhdCBsZWFzdCAyLjAuCgogICAgRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gaG93IHRvIGJlbmVmaXQgZnJvbSB0aGlzIG9wdGltaXphdGlvbiwgc2VlIHRoZSBbbWlncmF0aW9uIGd1aWRlXShodHRwczovL3RlcnJhZ3J1bnQuZ3J1bnR3b3JrLmlvL2RvY3MvbWlncmF0ZS9iYXJlLWluY2x1ZGUvKS4KMi4gIFRoZSBjaGVjayBmb3IgT3BlblRvZnUvVGVycmFmb3JtIGNvZGUgaGFzIGJlZW4gb3B0aW1pemVkLgoKICAgIFRvIHByb3ZpZGUgaGVscGZ1bCBlcnJvciBtZXNzYWdlcyB3aGVuIHVzZXJzIGRvbid0IGhhdmUgT3BlblRvZnUvVGVycmFmb3JtIGNvZGUgZm9yIFRlcnJhZ3J1bnQgdG8gcnVuLCBUZXJyYWdydW50IGNoZWNrcyBmb3IgdGhlIHByZXNlbmNlIG9mIE9wZW5Ub2Z1L1RlcnJhZm9ybSBjb25maWd1cmF0aW9uIGZpbGVzIChlLmcuIGAqLnRmYCwgYCoudG9mdWApLiBUaGlzIGNoZWNrIGhhcyBiZWVuIG9wdGltaXplZCB0byBpbXByb3ZlIHBlcmZvcm1hbmNlLgoKSW4gYSBtaWNyby1iZW5jaG1hcmsgb24gYW4gTTMgTWF4LCB1c2luZyB0aGUgYEJlbmNobWFya01hbnlFbXB0eVRlcnJhZ3J1bnRJbml0c2AgYmVuY2htYXJrLCB3aGljaCB0ZXN0cyB0aGUgcGVyZm9ybWFuY2Ugb2YgYSBUZXJyYWdydW50IGBydW4gLS1hbGwgaW5pdGAgYWNyb3NzIDEwMDAgaW5pdHMsIHRoZSBmb2xsb3dpbmcgcGVyZm9ybWFuY2UgZ2FpbnMgd2VyZSByZWxlYXNlZDoKCi0gICA0MiUgc3BlZWQgaW1wcm92ZW1lbnQuCi0gICA0MyUgbWVtb3J5IHJlZHVjdGlvbi4KCk1vcmUgb3B0aW1pemF0aW9ucyBvZiB0aGlzIHNvcnQgYXJlIHBsYW5uZWQgZm9yIGZ1dHVyZSByZWxlYXNlcy4KCiMjIyMjIFNpemUgcmVkdWN0aW9uIG9mIGNvbXBpbGVkIGJpbmFyaWVzCgpUaGUgc2l6ZSBvZiBjb21waWxlZCBiaW5hcmllcyB3aWxsIGJlIHJlZHVjZWQgZHVlIHRvIHRoZSBzdHJpcHBpbmcgb2YgZGVidWcgc3ltYm9scyBmcm9tIHRoZSBmaW5hbCBleGVjdXRhYmxlLiBBcyBhbiBleGFtcGxlLCB0aGlzIGRyb3BzIHRoZSBzaXplIG9mIHRoZSBjb21waWxlZCBMaW51eCBBTUQ2NCBiaW5hcnkgZnJvbSA5OU1CIHRvIDcwTUIuCgpUaGlzIGNhbiBiZSBhIHNtYWxsIGltcHJvdmVtZW50IHRvIGRvd25sb2FkIHRpbWVzIGZvciBlbnZpcm9ubWVudHMgd2hlcmUgVGVycmFncnVudCBpcyBkb3dubG9hZGVkIGZyZXF1ZW50bHkuCgojIyMjIPCfkJvCoEJ1ZyBGaXhlcwoKIyMjIyMgRml4ZWQgYC1kZXRhaWxlZC1leGl0Y29kZWAgYmVoYXZpb3IgaW4gYHJ1biAtLWFsbGAKCkFuIHVuaW50ZW5kZWQgc2lkZS1lZmZlY3Qgb2YgYWRkcmVzc2luZyBhIGRpZmZlcmVudCBidWcgZm9yIFRlcnJhZ3J1bnTigJlzIGhhbmRsaW5nIG9mIHRoZSBgLWRldGFpbGVkLWV4aXRjb2RlYCBmbGFnIGluIE9wZW5Ub2Z1L1RlcnJhZm9ybSBpbiByZXRyaWVzIHdhcyB0aGF0IGFueSBydW4gaW4gYSBgcnVuIC0tYWxsYCBjb3VsZCBvdmVycmlkZSB0aGUgZXhpdCBjb2RlIG9mIHRoZSBlbnRpcmUgYHJ1biAtLWFsbGAuCgpUaGlzIGhhcyBiZWVuIGZpeGVkLiBUaGUgZXhpdCBjb2RlIG9mIHRoZSBgcnVuIC0tYWxsIC0tIHBsYW4gLWRldGFpbGVkLWV4aXRjb2RlYCAgY29tbWFuZCB3aWxsIG5vdyBwcm9wZXJseSBhZ2dyZWdhdGUgZXhpdCBjb2RlcyBmcm9tIGFsbCBydW5zIGluIGEgYHJ1biAtLWFsbGAsIG9ubHkgcmVzZXRpbmcgdGhlIGV4aXQgY29kZSBmb3IgYW4gaW5kaXZpZHVhbCB1bml0IGlmIGl0IHByb3Blcmx5IHJlY292ZXJzIGFmdGVyIGEgcmV0cnkuCgojIyMjIFdoYXQncyBDaGFuZ2VkCgotICAgZml4OiBSZXZlcnRpbmcgdG8gZGVmZXIgb24gY2xlYW51cCBmb3IgZG9jcyB0ZXN0IGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDM0NF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDM0NCkKLSAgIGZpeDogR2V0IHdheSBtb3JlIGFnZ3Jlc3NpdmUgd2l0aCBjbGVhbnVwIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDM0Ml0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDM0MikKLSAgIGZpeDogUmVtb3ZpbmcgdW5uZWNlc3NhcnkgaW5wdXQgb24gZmxha2UgZGlzcGF0Y2ggYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzM3XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzM3KQotICAgZml4OiBTZXR0aW5nIG9mIHJpZ2h0IGV4aXQgY29kZSBpbiBjYXNlIG9mIGAtZGV0YWlsZWQtZXhpdGNvZGVgIGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzU3XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzU3KQotICAgZml4OiBBZGp1c3RpbmcgdGYgY2hlY2sgc28gdGhhdCBpdCdzIGVhc2llciB0byB1cGRhdGUgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzYwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzYwKQotICAgZml4OiBGaXhpbmcgZGlzY3JlcGFuY3kgYmV0d2VlbiBKZWt5bGwgZG9jcyBhbmQgU3RhcmxpZ2h0IGRvY3MgZm9yIHZhbGlkYXRlIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDM1OV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDM1OSkKLSAgIHBlcmY6IEFkZGluZyBvcHRpbWl6ZWQgdGYgY29kZSBjaGVjayBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzMzldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzMzkpCi0gICBwZXJmOiBEZXByZWNhdGluZyBiYXJlIGluY2x1ZGVzIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDM0MF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDM0MCkKLSAgIGRvY3M6IERvY3VtZW50aW5nIGRlcHJlY2F0aW9uIG9mIGJhcmUgaW5jbHVkZXMgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzQ2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzQ2KQotICAgY2hvcmU6IFJlZHVjZWQgc2l6ZSBvZiBwcm9kdWNlZCBleGVjdXRhYmxlIGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzQxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzQxKQoKKipGdWxsIENoYW5nZWxvZyoqOiBodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC44MC4yLi4udjAuODAuMwoKIyMjIFtgdjAuODAuMmBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9yZWxlYXNlcy90YWcvdjAuODAuMikKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuODAuMS4uLnYwLjgwLjIpCgojIyMjIyDinKggTmV3IEZlYXR1cmVzCgojIyMjIyBgZmluZGAgYWRkcyBzdXBwb3J0IGZvciBgLS1pbmNsdWRlYAoKVGhlIGBmaW5kYCBjb21tYW5kIG5vdyBzdXBwb3J0cyB0aGUgYC0taW5jbHVkZWAgZmxhZyB0byBhbGxvdyBmb3IgZmluZSBncmFpbmVkIGNvbnRyb2wgb3ZlciB0aGUgZGlzY292ZXJ5IG9mIHVuaXRzIHRoYXQgaW5jbHVkZSBvdGhlciBwYXJ0aWFsIGNvbmZpZ3VyYXRpb25zLgoKZS5nLgoKYGBgYmFzaAokIHRlcnJhZ3J1bnQgZmluZCAtLWluY2x1ZGUgLS1mb3JtYXQ9anNvbiB8IGpxClsKICB7CiAgICAidHlwZSI6ICJ1bml0IiwKICAgICJwYXRoIjogImJhciIsCiAgICAiaW5jbHVkZSI6IHsKICAgICAgImNsb3VkIjogImNsb3VkLmhjbCIKICAgIH0KICB9LAogIHsKICAgICJ0eXBlIjogInVuaXQiLAogICAgInBhdGgiOiAiZm9vIgogIH0KXQpgYGAKCkNvbWJpbmluZyB0aGUgZmxhZyB3aXRoIHRvb2xzIGxpa2UgYGpxYCBhbGxvd3MgZm9yIHNpbXBsZSBkaXNjb3Zlcnkgb2YgY29uZmlndXJhdGlvbnMgdGhhdCBpbmNsdWRlIG90aGVyIHBhcnRpYWwgY29uZmlndXJhdGlvbnMuCgpgYGBiYXNoCiQgdGVycmFncnVudCBmaW5kIC0taW5jbHVkZSAtLWZvcm1hdD1qc29uIHwganEgJ1suW10gfCBzZWxlY3QoLmluY2x1ZGUuY2xvdWQgPT0gImNsb3VkLmhjbCIpXScKWwogIHsKICAgICJ0eXBlIjogInVuaXQiLAogICAgInBhdGgiOiAiYmFyIiwKICAgICJpbmNsdWRlIjogewogICAgICAiY2xvdWQiOiAiY2xvdWQuaGNsIgogICAgfQogIH0KXQpgYGAKCiMjIyMjIPCfkJsgQnVnIEZpeGVzCgojIyMjIyBgLS10Zi1wYXRoYCBub3cgY29ycmVjdGx5IG92ZXJyaWRlcyBgdGVycmFmb3JtX2JpbmFyeWAKCkEgYnVnIGluIHRoZSBwcmVjZWRlbmNlIGxvZ2ljIGZvciBUZXJyYWdydW50IGNvbmZpZ3VyYXRpb24gcGFyc2luZyByZXN1bHRlZCBpbiB0aGUgQ0xJIGZsYWcgYC0tdGYtcGF0aGAgZnJvbSBiZWluZyBpZ25vcmVkIHdoZW4gdGhlIGB0ZXJyYWZvcm1fYmluYXJ5YCBhdHRyaWJ1dGUgd2FzIHNldC4KClRlcnJhZ3J1bnQgd2lsbCBub3cgY29ycmVjdGx5IHJlc3BlY3QgdGhlIGB0ZXJyYWZvcm1fYmluYXJ5YCBhdHRyaWJ1dGUgd2hlbiBzZXQsIGFuZCBhbGxvdyBgLS10Zi1wYXRoYCB0byBvdmVycmlkZSB0aGUgdmFsdWUgd2hlbiBpdCBpcyBzZXQuCgojIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSAgIGZlYXQ6IEFkZGluZyBiYXNpYyBiZW5jaG1hcmtzIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMyNV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMyNSkKLSAgIGZlYXQ6IEFkZCBzdXBwb3J0IGZvciBkaXNwbGF5aW5nIGluY2x1ZGUgY29uZmlndXJhdGlvbnMgaW4gdGhlIHRlcnJhZ3J1bnQgZmluZCBjb21tYW5kIGJ5IFtAJiM4MjAzO2phbWVzMDMxNjA5MjddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9qYW1lczAzMTYwOTI3KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMzMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMzMCkKLSAgIGZlYXQ6IEFkZGluZyBmbGFrZSB0ZXN0IGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMzNF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMzNCkKLSAgIGZpeDogRml4aW5nIHVzYWdlIG9mIGAtLXRmLXBhdGhgIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMzMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMzMikKLSAgIGZpeDogQ2xlYW5pbmcgdXAgYWRkaXRpb24gb2YgYC0taW5jbHVkZWAgb24gYGZpbmRgIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMzNV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMzNSkKLSAgIGNob3JlOiBtaWdyYXRlZCB0byBnb2xhbmdjaS1saW50IHYyIGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzMzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzMzKQoKKipGdWxsIENoYW5nZWxvZyoqOiBodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC44MC4xLi4udjAuODAuMgoKIyMjIFtgdjAuODAuMWBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9yZWxlYXNlcy90YWcvdjAuODAuMSkKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuODAuMC4uLnYwLjgwLjEpCgojIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSAgIGNob3JlOiBCdWlsZCBwcm9jZXNzIG5vdyBsZXZlcmFnZXMgR28gMS4yNCBmZWF0dXJlcyBhbmQgaW1wcm92ZW1lbnRzIGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzI0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzI0KQoKKipGdWxsIENoYW5nZWxvZyoqOiBodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC44MC4wLi4udjAuODAuMQoKIyMjIFtgdjAuODAuMGBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9yZWxlYXNlcy90YWcvdjAuODAuMCkKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzkuMy4uLnYwLjgwLjApCgoqKlRlcnJhZm9ybSAxLjEyIHN1cHBvcnQqKjogV2UgYXJlIG5vdyB0ZXN0aW5nIFRlcnJhZ3J1bnQgYWdhaW5zdCBUZXJyYWZvcm0gMS4xMiBhbmQgaXMgY29uZmlybWVkIHRvIGJlIHdvcmtpbmcuCgpOT1RFOiBBbHRob3VnaCB0aGlzIHJlbGVhc2UgaXMgbWFya2VkIGFzIGJhY2t3YXJkIGluY29tcGF0aWJsZSwgaXQgaXMgZnVuY3Rpb25hbGx5IGNvbXBhdGlibGUgYXMgbm90aGluZyBoYXMgYmVlbiBjaGFuZ2VkIGluIFRlcnJhZ3J1bnQgaW50ZXJuYWxzLiBUaGUgbWlub3IgdmVyc2lvbiByZWxlYXNlIGlzIHVzZWZ1bCB0byBtYXJrIHRoZSBjaGFuZ2UgaW4gVGVycmFmb3JtIHZlcnNpb24gdGhhdCBpcyBiZWluZyB0ZXN0ZWQuCgojIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSAgIGNob3JlOiBBZGRlZCBzdXBwb3J0IGZvciBUZXJyYWZvcm0gMS4xMiBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMxN10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMxNykKLSAgIGJ1aWxkKGRlcHMpOiBidW1wIGdpdGh1Yi5jb20vYXdzL2F3cy1zZGstZ28gZnJvbSAxLjU1LjYgdG8gMS41NS43IGJ5IFtAJiM4MjAzO2RlcGVuZGFib3RdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZXBlbmRhYm90KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMwMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMwMCkKLSAgIGJ1aWxkKGRlcHMpOiBidW1wIGNsb3VkLmdvb2dsZS5jb20vZ28vc3RvcmFnZSBmcm9tIDEuNTEuMCB0byAxLjUzLjAgYnkgW0AmIzgyMDM7ZGVwZW5kYWJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlcGVuZGFib3QpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjY5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjY5KQotICAgYnVpbGQoZGVwcyk6IGJ1bXAgZ29sYW5nLm9yZy94L3N5cyBmcm9tIDAuMzIuMCB0byAwLjMzLjAgYnkgW0AmIzgyMDM7ZGVwZW5kYWJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlcGVuZGFib3QpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjY4XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjY4KQoKKipGdWxsIENoYW5nZWxvZyoqOiBodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43OS4zLi4udjAuODAuMAoKIyMjIFtgdjAuNzkuM2BdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9yZWxlYXNlcy90YWcvdjAuNzkuMykKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzkuMi4uLnYwLjc5LjMpCgojIyMjIyDwn5Kq8J+PvSBFbmhhbmNlbWVudHMKCiMjIyMjIExpbWl0YXRpb24gb24gQ2F0YWxvZyBVUkxzIGxpZnRlZAoKQSBsaW1pdGF0aW9uIG9uIG9ubHkgc3VwcG9ydGluZyByZWNvZ25pemVkIGdvLWdldHRlciBVUkwgcGF0dGVycyBoYXMgYmVlbiBsaWZ0ZWQgZnJvbSB0aGUgW2NhdGFsb2ddKGh0dHBzOi8vdGVycmFncnVudC5ncnVudHdvcmsuaW8vZG9jcy9mZWF0dXJlcy9jYXRhbG9nLykgY29tbWFuZC4KClRoZSByZWFzb24gdGhpcyBsaW1pdGF0aW9uIGV4aXN0ZWQgaW4gdGhlIHBhc3Qgd2FzIHRvIGVuc3VyZSB0aGF0IHVzZXJzIHdlcmUgYWJsZSB0byBoYXZlIFRlcnJhZ3J1bnQgbG9hZCBtb2R1bGUgc291cmNlIGNvZGUgaW4gYnJvd3NlcnMgZnJvbSB0aGUgY2F0YWxvZyBUZXJtaW5hbCBVc2VyIEludGVyZmFjZSAoVFVJKS4gVG8gc3VwcG9ydCB0aGF0LCBvbmx5IGEgY29uc3RyYWluZWQgc2V0IG9mIHNvdXJjZXMgd2VyZSBzdXBwb3J0ZWQsIHRvIGVuc3VyZSB0aGF0IGEgYnV0dG9uIHdhcyBhdmFpbGFibGUgdG8gcG9wIG9wZW4gdGhlIGxpbmsgaW4gdGhlIGJyb3dzZXIuCgo8aW1nIHdpZHRoPSI2NzAiIGFsdD0iaW1hZ2UiIHNyYz0iaHR0cHM6Ly9naXRodWIuY29tL3VzZXItYXR0YWNobWVudHMvYXNzZXRzLzkyZGMwMTZlLTNiYzUtNDZmNS1iNjkwLWRhMzA0MzU5MGMyNCIgLz4KCjxpbWcgd2lkdGg9IjY2NiIgYWx0PSJpbWFnZSIgc3JjPSJodHRwczovL2dpdGh1Yi5jb20vdXNlci1hdHRhY2htZW50cy9hc3NldHMvZjUxMmU5MDEtNGRlYi00NzcxLThjYmQtZWEzZDU0Y2Y1NTk0IiAvPgoKVGVycmFncnVudCB3aWxsIG5vdyBkeW5hbWljYWxseSBhZGp1c3QgdGhlIGJ1dHRvbnMgYXZhaWxhYmxlIGFmdGVyIG1vZHVsZSBzZWxlY3Rpb24gdG8gZ3JhY2VmdWxseSBkZWdyYWRlIHRoZSBleHBlcmllbmNlLCBpbnN0ZWFkIG9mIGNvbXBsZXRlbHkgcmVqZWN0aW5nIHJlcG9zaXRvcnkgc291cmNlcyB0aGF0IGNhbid0IGJlIHByZWRpY3RhYmx5IGNvbnZlcnRlZCB0byBicm93c2VyIFVSTHMuCgo8aW1nIHdpZHRoPSIzNDYiIGFsdD0iaW1hZ2UiIHNyYz0iaHR0cHM6Ly9naXRodWIuY29tL3VzZXItYXR0YWNobWVudHMvYXNzZXRzLzc2YTdiMWU1LWMxNDgtNDJiMi1hNjk2LWQ3ZmQ3NTBlODY2ZCIgLz4KClRoaXMgYWxsb3dzIG1vcmUgdXNlcnMgdG8gYWRvcHQgdGhlIFRlcnJhZ3J1bnQgQ2F0YWxvZywgd2hpbGUgcHJvdmlkaW5nIHRoZSBzYW1lIGdyZWF0IHVzZXIgZXhwZXJpZW5jZSBmb3IgdXNlcnMgdGhhdCBhcmUgb24gZnVsbHkgc3VwcG9ydGVkIHBsYXRmb3JtcywgbGlrZSBHaXRIdWIsIEdpdExhYiwgQml0QnVja2V0LCBldGMuCgojIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSAgIGZlYXQ6IEFsbG93IHVua25vd24gY2F0YWxvZyBVUkxzIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMxOF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMxOCkKLSAgIGRvY3M6IENsYXJpZnkgYW1iaWd1b3VzIGRvY3VtZW50YXRpb24gb24gdmFyaWFibGUgcHJlY2VkZW5jZSBieSBbQCYjODIwMztvd2F0dGxleS1yb3RhZ2Vla10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL293YXR0bGV5LXJvdGFnZWVrKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMxOV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMxOSkKLSAgIGNob3JlOiBBZGp1c3RpbmcgY2F0YWxvZyBpbXBsZW1lbnRhdGlvbiBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzMTVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzMTUpCgojIyMjIyBOZXcgQ29udHJpYnV0b3JzCgotICAgW0AmIzgyMDM7b3dhdHRsZXktcm90YWdlZWtdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9vd2F0dGxleS1yb3RhZ2VlaykgbWFkZSB0aGVpciBmaXJzdCBjb250cmlidXRpb24gaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzMTldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzMTkpCgoqKkZ1bGwgQ2hhbmdlbG9nKio6IGh0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc5LjIuLi52MC43OS4zCgojIyMgW2B2MC43OS4yYF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3JlbGVhc2VzL3RhZy92MC43OS4yKQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43OS4xLi4udjAuNzkuMikKCiMjIyMg8J+Pju+4j8KgUGVyZm9ybWFuY2UgSW1wcm92ZW1lbnRzCgpJbXByb3ZlZCBvdmVyYWxsIHBlcmZvcm1hbmNlIGJ5IG1lbW9pemluZyBgLXZlcnNpb25gIG91dHB1dCBpbiBlYWNoIHVuaXQuCgpJbiBhIG1pY3JvLWJlbmNobWFyayBvbiBhbiBNMyBNYXgsIHVzaW5nIHRoZSBgQmVuY2htYXJrTWFueUVtcHR5VGVycmFncnVudEluaXRzYCBiZW5jaG1hcmssIHdoaWNoIHRlc3RzIHRoZSBwZXJmb3JtYW5jZSBvZiBhIFRlcnJhZ3J1bnQgYHJ1biAtLWFsbCBpbml0YCBhY3Jvc3MgMTAwMCB1bml0cywgdGhlIGZvbGxvd2luZyBwZXJmb3JtYW5jZSBnYWlucyB3ZXJlIHJlbGVhc2VkOgoKLSAgIDE4JSBzcGVlZCBpbXByb3ZlbWVudC4KLSAgIDklIG1lbW9yeSByZWR1Y3Rpb24uCgpNb3JlIG9wdGltaXphdGlvbnMgb2YgdGhpcyBzb3J0IGFyZSBwbGFubmVkIGZvciBmdXR1cmUgcmVsZWFzZXMuCgojIyMjIFdoYXQncyBDaGFuZ2VkCgotICAgZmVhdDogSW1wcm92ZWQgcGVyZm9ybWFuY2UgYnkgbWVtb2l6aW5nIGAtdmVyc2lvbmAgb3V0cHV0IGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80Mjg4XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80Mjg4KQoKKipGdWxsIENoYW5nZWxvZyoqOiBodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43OS4xLi4udjAuNzkuMgoKIyMjIFtgdjAuNzkuMWBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9yZWxlYXNlcy90YWcvdjAuNzkuMSkKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzkuMC4uLnYwLjc5LjEpCgojIyMjIyDwn5Kq8J+PvSBFbmhhbmNlbWVudHMKCiMjIyMjIFJlY3Vyc2l2ZSBzdGFjayBjbGVhbgoKSW1wcm92ZWQgYHN0YWNrIGNsZWFuYCB0byByZWN1cnNpdmVseSBkZWxldGUgYWxsIG5lc3RlZCBzdGFjayBkaXJlY3RvcmllcywgZW5zdXJpbmcgdGhvcm91Z2ggY2xlYW51cC4KCiMjIyMjIFdoYXQncyBDaGFuZ2VkCgotICAgZmVhdDogRW5hYmxlZCByZWN1cnNpdmUgZGVsZXRpb24gb2Ygc3RhY2sgZGlyZWN0b3JpZXMgaW4gYHN0YWNrIGNsZWFuYCBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMxM10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMxMykKLSAgIGZlYXQ6IFN3aXRjaGluZyB0byBHaXRIdWIgQWN0aW9ucyBPSURDIHJvbGUgYXNzdW1wdGlvbiBmb3IgT0lEQyB0ZXN0IGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMwNV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMwNSkKLSAgIGZpeDogQ29ycmVjdGVkIG1pc2xhYmVsZWQgYGxlZ2FjeS1hbGxgIGNvbnRyb2wgaW4gZG9jdW1lbnRhdGlvbiBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzMTFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzMTEpCi0gICBmaXg6IEVuYWJsZWQgZGlzYWJsZWQgdGVzdHMgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzEyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzEyKQotICAgZG9jczogdXBkYXRlZCBxdWljayBzdGFydCBkb2N1bWVudGF0aW9uIHdpdGggYWRkaXRpb25hbCBvdXRwdXQgZGlyZWN0b3J5IHVzYWdlIGJ5IFtAJiM4MjAzO2phbWVzMDMxNjA5MjddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9qYW1lczAzMTYwOTI3KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI5OV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI5OSkKCioqRnVsbCBDaGFuZ2Vsb2cqKjogaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzkuMC4uLnYwLjc5LjEKCiMjIyBbYHYwLjc5LjBgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcmVsZWFzZXMvdGFnL3YwLjc5LjApCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc4LjQuLi52MC43OS4wKQoKIyMjIyDwn5Kq8J+PvSBFbmhhbmNlbWVudHMKCiMjIyMjIFRoZSBgcnVuIC0tYWxsYCBjb21tYW5kIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVzIFRlcnJhZ3J1bnQgU3RhY2tzCgpJZiB5b3UgYXJlIHVzaW5nIGB0ZXJyYWdydW50LnN0YWNrLmhjbGAgZmlsZXMgaW4geW91ciBjb2RlYmFzZSwgYHJ1biAtLWFsbGAgY29tbWFuZHMgd2lsbCBub3cgYXV0b21hdGljYWxseSBleHBhbmQgYWxsIGB0ZXJyYWdydW50LnN0YWNrLmhjbGAgZmlsZXMgaW50byBnZW5lcmF0ZWQgc3RhY2sgY29uZmlndXJhdGlvbnMsIGFzIGlmIHlvdSBoYWQgcnVuIGBzdGFjayBnZW5lcmF0ZWAgYmVmb3JlIHJ1bm5pbmcgdGhlIGBydW4gLS1hbGxgIGNvbW1hbmQuCgplLmcuCgpgYGBiYXNoCnRlcnJhZ3J1bnQgcnVuIC0tYWxsIHBsYW4KYGBgCgpJcyBub3cgZXF1aXZhbGVudCB0bzoKCmBgYGJhc2gKdGVycmFncnVudCBzdGFjayBnZW5lcmF0ZQp0ZXJyYWdydW50IHJ1biAtLWFsbCBwbGFuCmBgYAoKSWYgeW91IHdvdWxkIGxpa2UgdG8gZGlzYWJsZSB0aGlzIG5ldyBiZWhhdmlvciwgeW91IGNhbiB1c2UgdGhlIGAtLW5vLXN0YWNrLWdlbmVyYXRlYCB0byBvcHQgb3V0IG9mIGF1dG9tYXRpYyBzdGFjayBnZW5lcmF0aW9uLgoKIyMjIyDwn5OWIERvY3MgVXBkYXRlcwoKVGhlIFtUZXJyYWdydW50IHYxXShodHRwczovL3RlcnJhZ3J1bnQtdjEuZ3J1bnR3b3JrLmlvLykgZG9jcyBhcmUgb3BlbiBmb3IgZmVlZGJhY2shCgpUaGVzZSBkb2NzIHdpbGwgdW5kZXJnbyBzaWduaWZpY2FudCBhZGp1c3RtZW50cywgYm90aCBzdHlsaXN0aWNhbGx5LCBhbmQgZnVuY3Rpb25hbGl0eSBvbiB0aGUgcm9hZCB0byAxLjAuCgpUaGV5IGFyZSBhIGZ1bGwgcmV3cml0ZSBvZiB0aGUgZXhpc3RpbmcgVGVycmFncnVudCBEb2NzIHNpdGUgd3JpdHRlbiBpbiBbSmVreWxsXShodHRwczovL2pla3lsbHJiLmNvbS8pIHRvIG9uZSB1c2luZyBbU3RhcmxpZ2h0XShodHRwczovL3N0YXJsaWdodC5hc3Ryby5idWlsZC8pLgoKWW91ciBmZWVkYmFjayBpcyByZXF1ZXN0ZWQhIElmIHlvdSBhcmUgcmVhZGluZyB0aGVzZSByZWxlYXNlIG5vdGVzIHJlbGF0aXZlbHkgc29vbiBhZnRlciByZWxlYXNlLCB5b3Ugc2hvdWxkIHNlZSBhIGxpbmsgYXQgdGhlIHRvcCBvZiB0aGUgc2l0ZSB3aGVyZSB5b3UgY2FuIHByb3ZpZGUgeW91ciBmZWVkYmFjayBvbiB0aGUgbmV3IGRvY3MuCgojIyMjIFdoYXQncyBDaGFuZ2VkCgotICAgZmVhdDogTW92aW5nIHVzZXJzIG92ZXIgdG8gdGVycmFncnVudC12MS5ncnVudHdvcmsuaW8gZG9jcyBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyMDJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyMDIpCi0gICBmZWF0OiBBZGRpbmcgR1RNIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI4NV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI4NSkKLSAgIGZlYXQ6IEdpdGh1YiBBY3Rpb24gdGVzdHMgbWlncmF0aW9uIGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjgxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjgxKQotICAgZmVhdDogQXV0b21hdGljYWxseSBzdGFjayBnZW5lcmF0ZSBpbiBydW4gLS1hbGwgb3IgcnVuIC0tZ3JhcGggY29tbWFuZCBieSBbQCYjODIwMztqYW1lczAzMTYwOTI3XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vamFtZXMwMzE2MDkyNykgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyODNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyODMpCi0gICBmZWF0OiBBZGRpbmcgY2xvdWQtbnVrZSBjcm9uIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMwNl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMwNikKLSAgIGZlYXQ6IEFkanVzdGluZyBuYXYgaGVpZ2h0IGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI4NF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI4NCkKLSAgIGZpeDogRml4aW5nIGByZW1vdGUtcmVsYXRpdmUtd2l0aC1zbGFzaGAgZml4dHVyZSBvbiBBUk0gdGVzdHMgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80Mjk3XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80Mjk3KQotICAgZml4OiBGaXhpbmcgaW5zdGFsbCB2ZXJzaW9uIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMxMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMxMCkKLSAgIGZpeDogSW1wcm92ZWQgZXJyb3IgaGFuZGxpbmcgaW4gQVdTIGRvY3MgYnkgW0AmIzgyMDM7ZGVuaXMyNTZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZW5pczI1NikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzMDNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzMDMpCi0gICBjaG9yZTogZW5hYmxlIFRlc3RSZW1vdGVEb3dubG9hZFdpdGhSZWxhdGl2ZVBhdGhBbmRTbGFzaEluQnJhbmNoIHRlc3QgYnkgW0AmIzgyMDM7ZGVuaXMyNTZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZW5pczI1NikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyODZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyODYpCi0gICBidWlsZChkZXBzKTogYnVtcCBydWJ5L3NldHVwLXJ1YnkgZnJvbSAxLjIzMy4wIHRvIDEuMjM4LjAgYnkgW0AmIzgyMDM7ZGVwZW5kYWJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlcGVuZGFib3QpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjcwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjcwKQotICAgYnVpbGQoZGVwcyk6IGJ1bXAgZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmF0ZXN0IGZyb20gMC40OC4yIHRvIDAuNDkuMCBieSBbQCYjODIwMztkZXBlbmRhYm90XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVwZW5kYWJvdCkgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyNjddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyNjcpCi0gICBidWlsZChkZXBzKTogYnVtcCBydWJ5L3NldHVwLXJ1YnkgZnJvbSAxLjIzOC4wIHRvIDEuMjQyLjAgYnkgW0AmIzgyMDM7ZGVwZW5kYWJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlcGVuZGFib3QpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzAxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzAxKQotICAgYnVpbGQoZGVwcyk6IGJ1bXAgRGF2aWRBbnNvbi9tYXJrZG93bmxpbnQtY2xpMi1hY3Rpb24gZnJvbSAxOSB0byAyMCBieSBbQCYjODIwMztkZXBlbmRhYm90XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVwZW5kYWJvdCkgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzMDJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzMDIpCgojIyMjIE5ldyBDb250cmlidXRvcnMKCi0gICBbQCYjODIwMztqYW1lczAzMTYwOTI3XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vamFtZXMwMzE2MDkyNykgbWFkZSB0aGVpciBmaXJzdCBjb250cmlidXRpb24gaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyODNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyODMpCgoqKkZ1bGwgQ2hhbmdlbG9nKio6IGh0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc4LjQuLi52MC43OS4wCgojIyMgW2B2MC43OC40YF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3JlbGVhc2VzL3RhZy92MC43OC40KQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43OC4zLi4udjAuNzguNCkKCiMjIyMjIOKcqCBOZXcgRmVhdHVyZXMKCiMjIyMjIE9wZW5UZWxlbWV0cnkgVHJhY2UgUHJvcG9nYXRpb24KCkluIGFudGljaXBhdGlvbiBvZiB0aGUgaW50cm9kdWN0aW9uIG9mIE9wZW5UZWxlbWV0cnkgc3VwcG9ydCBpbiBPcGVuVG9mdSAxLjEwLCBUZXJyYWdydW50IHdpbGwgbm93IHByb3BhZ2F0ZSB0aGUgYFRSQUNFUEFSRU5UYCBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byBjaGlsZCBwcm9jZXNzZXMgdG8gc3VwcG9ydCBPcGVuVGVsZW1ldHJ5IHRyYWNlcyB0aGF0IG1haW50YWluIGNvbnRleHQgYWNyb3NzIFRlcnJhZ3J1bnQgYW5kIE9wZW5Ub2Z1LgoKVGhpcyB3b3JrIGlzIGJhc2VkIG9uIFtAJiM4MjAzO1lhbnRyaW9dKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ZYW50cmlvKSAncyBQb0MgUFIgWyMmIzgyMDM7NDI1NF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2lzc3Vlcy80MjU0KSwgYW5kIGlzIG9ubHkgdXNlZnVsIGR1ZSB0byBoaXMgd29yayBhZGRpbmcgT3BlblRlbGVtdHJ5IGluIE9wZW5Ub2Z1LiBUaGFuayB5b3UhCgojIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSAgIGZlYXQ6IEFkZGVkIGdlbmVyYXRpb24gb2Ygb3BlbnRlbGVtZXRyeSBwYXJlbnQgdHJhY2VzIHRvIGludm9rZWQgZXhlY3V0YWJsZXMgYnkgW0AmIzgyMDM7ZGVuaXMyNTZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZW5pczI1NikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyNzhdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyNzgpCi0gICBmZWF0OiBBZGRlZCBzdXBwb3J0IGZvciBUZXJyYWZvcm0gdGVzdHMgaW4gR2l0aHViIEFjdGlvbiBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI3NV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI3NSkKLSAgIGRvY3M6IEFkZGVkIGhvbWVwYWdlIHRvIFN0YXJsaWdodCBkb2NzIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI1MF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI1MCkKCioqRnVsbCBDaGFuZ2Vsb2cqKjogaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzguMy4uLnYwLjc4LjQKCiMjIyBbYHYwLjc4LjNgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcmVsZWFzZXMvdGFnL3YwLjc4LjMpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc4LjIuLi52MC43OC4zKQoKIyMjIyMg8J+QmyBCdWcgRml4ZXMKCldoZW4gYW4gW2Vycm9yIHJldHJ5XShodHRwczovL3RlcnJhZ3J1bnQuZ3J1bnR3b3JrLmlvL2RvY3MvZmVhdHVyZXMvcnVudGltZS1jb250cm9sLyNlcnJvcnMpIHJlc3VsdHMgaW4gYSBwbGFuIHN1Y2NlZWRpbmcgd2hlbiBpdCBpbml0aWFsbHkgZmFpbGVkLCB1c2FnZSBvZiBgcnVuIC0tYWxsIC0tIHBsYW4gLWRldGFpbGVkLWV4aXRjb2RlYCB3aWxsIG5vdyBwcm9wZXJseSB0YWtlIGludG8gYWNjb3VudCB0aGUgKmZpbmFsKiBleGl0IGNvZGUsIHJhdGhlciB0aGFuIHRoZSBmaXJzdCBvbmUsIG1lYW5pbmcgdGhhdCB0aGUgZXhpdCBjb2RlIG9mIHRoZSB3aG9sZSBydW4gd2lsbCBiZSB6ZXJvIGlmIG5vIG90aGVyIHVuaXRzIGZhaWwgdGhlaXIgcGxhbnMuCgpUaGFua3MgdG8gW0AmIzgyMDM7d2FrZWZ1bF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3dha2VmdWwpIGZvciBjb250cmlidXRpbmcgdGhpcyBmaXghCgojIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSAgIGZpeCBbIyYjODIwMzszODQ1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvaXNzdWVzLzM4NDUpIHNldCB0aGUgY29ycmVjdCBleGl0IGNvZGUgd2hlbiBhIHJldHJ5IGlzIHN1Y2Nlc3NmdWwuIGJ5IFtAJiM4MjAzO3dha2VmdWxdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS93YWtlZnVsKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvMzk2Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvMzk2NikKLSAgIGRvY3M6IEltcHJvdmluZyBSdW4gUXVldWUgZG9jcyBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyNzJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyNzIpCgoqKkZ1bGwgQ2hhbmdlbG9nKio6IGh0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc4LjIuLi52MC43OC4zCgojIyMgW2B2MC43OC4yYF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3JlbGVhc2VzL3RhZy92MC43OC4yKQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43OC4xLi4udjAuNzguMikKCiMjIyMgV2hhdCdzIENoYW5nZWQKCi0gICBmZWF0OiBlbmFibGUgR0NQIGludGVncmF0aW9uIHRlc3RzIGluIEdIIEFjdGlvbiBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI1N10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI1NykKLSAgIGZlYXQ6IGZpeGVkIFRlc3RHY3BXb3Jrc1dpdGhJbXBlcnNvbmF0ZUJhY2tlbmQgdGVzdCBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI2MV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI2MSkKLSAgIGZlYXQ6IEFkZGluZyBpbnRlZ3JhdGlvbiB0ZXN0cyBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxOThdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxOTgpCi0gICBmZWF0OiBhZGQgV2luZG93cyBpbnRlZ3JhdGlvbiB0ZXN0cyBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI2Ml0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI2MikKLSAgIGZpeDogUmVtb3ZpbmcgSFRNTCBgZm9udC1zaXplYCBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyNTZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyNTYpCi0gICBkb2NzOiBBZGRpbmcgUnVuIFF1ZXVlIERvY3MgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjQ5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjQ5KQotICAgYnVpbGQoZGVwcyk6IGJ1bXAgZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vYm9pbGVycGxhdGUgdG8gdjAuNi4xIGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjYzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjYzKQotICAgYnVpbGQoZGVwcyk6IGJ1bXAgZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC1lbmdpbmUtZ28gdG8gdjAuMC4xNCBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI2M10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI2MykKLSAgIGJ1aWxkKGRlcHMpOiBidW1wIGdvbGFuZy5vcmcveC9vYXV0aDIgdG8gdjAuMzAuMCBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI2M10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI2MykKLSAgIGJ1aWxkKGRlcHMpOiBidW1wIGdvbGFuZy5vcmcveC9zeW5jIHRvIHYwLjE0LjAgYnkgW0AmIzgyMDM7ZGVuaXMyNTZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZW5pczI1NikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyNjNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyNjMpCi0gICBidWlsZChkZXBzKTogYnVtcCBnb29nbGUuZ29sYW5nLm9yZy9hcGkgdG8gdjAuMjMyLjAgYnkgW0AmIzgyMDM7ZGVuaXMyNTZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZW5pczI1NikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyNjNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyNjMpCi0gICBidWlsZChkZXBzKTogYnVtcCBnb29nbGUuZ29sYW5nLm9yZy9ncnBjIHRvIHYxLjcyLjAgYnkgW0AmIzgyMDM7ZGVuaXMyNTZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZW5pczI1NikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyNjNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyNjMpCi0gICBjaG9yZTogZGVwZW5kZW5jaWVzIHVwZGF0ZSBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI2M10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI2MykKCioqRnVsbCBDaGFuZ2Vsb2cqKjogaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzguMS4uLnYwLjc4LjIKCiMjIyBbYHYwLjc4LjFgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcmVsZWFzZXMvdGFnL3YwLjc4LjEpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc4LjAuLi52MC43OC4xKQoKIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSAgIGRvY3M6IFVwZGF0aW5nIGRvY3Mgbm93IHRoYXQgc3RhY2tzIGFyZSBnZW5lcmFsbHkgYXZhaWxhYmxlIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI0M10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI0MykKLSAgIGZpeDogQVdTIFMzIGJhY2tlbmQgYWNjZXNzIGxvZ2dpbmcgYnVja2V0IG5vdCB2ZXJzaW9uaW5nIGJ5IFtAJiM4MjAzO2xldmtvaGltaW5zXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbGV2a29oaW1pbnMpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjQ2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjQ2KQoKKipGdWxsIENoYW5nZWxvZyoqOiBodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43OC4wLi4udjAuNzguMQoKIyMjIFtgdjAuNzguMGBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9yZWxlYXNlcy90YWcvdjAuNzguMCkKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzcuMjIuLi52MC43OC4wKQoKIyMjIyDwn6eqIEV4cGVyaW1lbnRzIENvbXBsZXRlZAoKVGhlIFtzdGFja3NdKGh0dHBzOi8vdGVycmFncnVudC5ncnVudHdvcmsuaW8vZG9jcy9yZWZlcmVuY2UvZXhwZXJpbWVudHMvI3N0YWNrcykgZXhwZXJpbWVudCBpcyBub3cgY29tcGxldGUuCgpJZiB5b3Ugd2VyZSBwcmV2aW91c2x5IHVzaW5nIHRoZSBmbGFnIGAtLWV4cGVyaW1lbnQgc3RhY2tzYCB0byBvcHQgaW4gdG8gZXhwZXJpbWVudGFsIGZ1bmN0aW9uYWxpdHksIHlvdSBubyBsb25nZXIgaGF2ZSB0byBkbyBzby4gTm90ZSB0aGF0IGlmIHlvdSBhcmUsIHlvdSB3aWxsIHNpbXBseSBnZXQgYSB3YXJuaW5nIHRoYXQgaXQgaXMgbm8gbG9uZ2VyIG5lY2Vzc2FyeS4KCiMjIyMg8J+boO+4jyBCcmVha2luZyBDaGFuZ2VzCgpMZWdhY3kgY29tbWFuZHMgKGFzIHJlcGxhY2VkIGJ5IHRoZSBbQ0xJIFJlZGVzaWduXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvaXNzdWVzLzM0NDUpIGFyZSBub3cgZGVwcmVjYXRlZCwgYW5kIHdpbGwgYmUgcGhhc2VkIG91dCBhdCBhIGZ1dHVyZSBkYXRlLCB3aGljaCB3aWxsIGJlIHNjaGVkdWxlZCBpbiBbIyYjODIwMzszNTM1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvaXNzdWVzLzM1MzUpLiBNYWtlIHN1cmUgdG8gc3Vic2NyaWJlIHRvIHRoZSBpc3N1ZSBpZiB5b3Ugd291bGQgbGlrZSB0byBiZSBpbmZvcm1lZCB3aGVuIHRoZXNlIGRlcHJlY2F0ZWQgZmVhdHVyZXMgYXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQuCgpGb3IgaW5zdHJ1Y3Rpb25zIG9uIG1pZ3JhdGluZyB0byB0aGUgbmV3IGNvbW1hbmRzIHByb3ZpZGVkIGFmdGVyIHRoZSBDTEkgUmVkZXNpZ24sIHJlYWQgdGhlIFtDTEkgUmVkZXNpZ24gTWlncmF0aW9uIEd1aWRlXShodHRwczovL3RlcnJhZ3J1bnQuZ3J1bnR3b3JrLmlvL2RvY3MvbWlncmF0ZS9jbGktcmVkZXNpZ24vKS4KClRoZSBmb2xsb3dpbmcgYXJlIG5vdyBkZXByZWNhdGVkOgoKLSAgIGBoY2xmbXRgICh1c2UgYGhjbCBmbXRgIGluc3RlYWQpCi0gICBgaGNsdmFsaWRhdGVgICh1c2UgYGhjbCB2YWxpZGF0ZWAgaW5zdGVhZCkKLSAgIGB2YWxpZGF0ZS1pbnB1dHNgICh1c2UgYGhjbCB2YWxpZGF0ZSAtLWlucHV0c2AgYW5kIGBoY2wgdmFsaWRhdGUgLS1pbnB1dHMgLS1zdHJpY3RgIGluc3RlYWQpCi0gICBgdGVycmFncnVudC1pbmZvYCAodXNlIGBpbmZvIHByaW50YCBpbnN0ZWFkKQotICAgYG91dHB1dC1tb2R1bGUtZ3JvdXBzYCAodXNlIGBmaW5kIC0tZGFnIC0tanNvbmAgaW5zdGVhZCkKLSAgIGByZW5kZXItanNvbmAgKHVzZSBgcmVuZGVyIC0tanNvbiAtd2AgaW5zdGVhZCkKLSAgIGBncmFwaC1kZXBlbmRlbmNpZXNgICh1c2UgYGRhZyBncmFwaGAgaW5zdGVhZCkKLSAgIGBydW4tYWxsYCAodXNlIGBydW4gLS1hbGxgIGluc3RlYWQpCi0gICBgZ3JhcGhgICh1c2UgYHJ1biAtLWdyYXBoYCBpbnN0ZWFkKQotICAgVGhlIGRlZmF1bHQgY29tbWFuZC4gZS5nLiBgdGVycmFncnVudCB3b3Jrc3BhY2UgbGlzdGAgKHVzZSBgdGVycmFncnVudCBydW4gLS0gd29ya3NwYWNlIGxpc3RgIGluc3RlYWQpCi0gICBEZWZhdWx0IGJvb3RzdHJhcCAoYXV0b21hdGljYWxseSBwcm92aXNpb25pbmcgYmFja2VuZCByZXNvdXJjZXMgd2l0aG91dCBhZGRpdGlvbmFsIGZsYWdzKS4gVGhpcyBpcyBub3cgb3B0IGluIGJlaGF2aW9yLCBhbmQgcmVxdWlyZXMgdXNhZ2Ugb2YgdGhlIGAtLWJhY2tlbmQtYm9vdHN0cmFwYCBmbGFnIG9yIGV4cGxpY2l0bHkgcnVubmluZyB0aGUgbmV3IGBiYWNrZW5kIGJvb3RzdHJhcGAgY29tbWFuZC4KLSAgIGBhd3MtcHJvdmlkZXItcGF0Y2hgICh3ZSBhcmUgc2ltcGx5IGRlcHJlY2F0aW5nIHRoaXMgY29tbWFuZCwgYW5kIHJlbW92aW5nIGl0IHdoZW4gdGhlIG90aGVyIGNvbW1hbmRzIGFyZSByZW1vdmVkLiBJdCBzZXJ2ZWQgaXRzIHB1cnBvc2UgYXMgYSBzaG9ydCB0ZXJtIHN0b3BnYXAgdG9vbCkuCgpOb3RlIHRoYXQgdGhpcyB3aWxsIG5vdCByZXN1bHQgaW4gYW4gaW1tZWRpYXRlIGJyZWFraW5nIGNoYW5nZSBmb3IgdXNlcnMsIGFzIHdl4oCZbGwgaGF2ZSBhbiBpbml0aWFsIGRlcHJlY2F0aW9uIHdpbmRvdyB0byBnaXZlIHVzZXJzIHRpbWUgdG8gYWRqdXN0IHRvIHRoZXNlIGNoYW5nZXMuIElmIHlvdeKAmWQgbGlrZSB0byBlbnN1cmUgdGhhdCB5b3UgYXJlIHByZXBhcmVkIGZvciB0aGUgZnV0dXJlIHJlbW92YWwgb2YgbGVnYWN5IGNvbW1hbmRzLCB5b3UgY2FuIHRha2UgYWR2YW50YWdlIG9mIHRoZSBbY2xpLXJlZGVzaWduXShodHRwczovL3RlcnJhZ3J1bnQuZ3J1bnR3b3JrLmlvL2RvY3MvcmVmZXJlbmNlL3N0cmljdC1tb2RlLyNjbGktcmVkZXNpZ24pIHN0cmljdCBjb250cm9sIHRvIG9wdCBpbiB0byB0aGUgZnV0dXJlIGJyZWFraW5nIGNoYW5nZSBlYXJseS4KCiMjIyMg8J+SqvCfj70gIEVuaGFuY2VtZW50cwoKVGhlIGxvZ2dpbmcgZm9yIHN0YWNrIGdlbmVyYXRpb24gaGFzIGJlZW4gaW1wcm92ZWQgdG8gbWFrZSBpdCBlYXNpZXIgdG8gZGV0ZXJtaW5lIGF0IGEgZ2xhbmNlIHRoZSBzdGFjayBmaWxlIHRoYXTigJlzIGdlbmVyYXRpbmcgYSBwYXJ0aWN1bGFyIHVuaXQuCgohW3N0YWNrcy1nZW5lcmF0aW9uXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vdXNlci1hdHRhY2htZW50cy9hc3NldHMvMTFjNDljOTItZWRmZC00ZDNhLWIyYzYtNGJhZTQzMjZlMGUyKQoKIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSAgIGZlYXQ6IGltcHJvdmVkIHN0YWNrIGxvZ3MgZ2VuZXJhdGlvbiBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDIxM10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDIxMykKLSAgIGZlYXQ6IHN0YWNrcyBleHByaW1lbnQgY29tcGxldGlvbiBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDIyMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDIyMikKLSAgIGZlYXQ6IERlcHJlY2F0aW5nIGByZW5kZXItanNvbmAgY29tbWFuZCBieSBbQCYjODIwMztsZXZrb2hpbWluc10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2xldmtvaGltaW5zKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDIyN10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDIyNykKLSAgIGZlYXQ6IERlcHJlY2F0aW5nIGBhd3MtcHJvdmlkZXItcGF0Y2hgIGNvbW1hbmQgYnkgW0AmIzgyMDM7bGV2a29oaW1pbnNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9sZXZrb2hpbWlucykgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyMjhdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyMjgpCi0gICBmZWF0OiBEZXByZWNhdGluZyBgb3V0cHV0LW1vZHVsZS1ncm91cHNgIGNvbW1hbmQgYnkgW0AmIzgyMDM7bGV2a29oaW1pbnNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9sZXZrb2hpbWlucykgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyMjldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyMjkpCi0gICBmaXg6IEZpeGluZyBiYXNlIHRlc3RzIGZvciBtYWNPUyBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxOTNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxOTMpCi0gICBmaXg6IEZpeGluZyA0MDQgaW4gcGVyZm9ybWFuY2UgZG9jcyBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxOTRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxOTQpCi0gICBmaXg6IGJhc2ljIHRlc3RzIGV4ZWN1dGlvbiB1cGRhdGUgYnkgW0AmIzgyMDM7ZGVuaXMyNTZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZW5pczI1NikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxOTJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxOTIpCi0gICBmaXg6IFRocm93aW5nIGludGVycnVwdCBzaWduYWwgd2l0aCBgLS1hbGxgIGZsYWcgYnkgW0AmIzgyMDM7bGV2a29oaW1pbnNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9sZXZrb2hpbWlucykgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyMjRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyMjQpCi0gICBmaXg6IGhhbmRsaW5nIG9mIGVycm9ycyBpbiBwYXJzaW5nIGJhc2UgYmxvY2tzIGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjI2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjI2KQotICAgZml4OiBDbGVhbmluZyB1cCBsZWdhY3kgYC1hbGxgIHVzYWdlIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDIzOV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDIzOSkKLSAgIGZpeDogUmVuYW1lIGFsbCB0aGUgYC0tdGVycmFncnVudC1gIGZsYWdzIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDIwM10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDIwMykKLSAgIGZpeDogQ2xlYW5pbmcgdXAgYHJ1bi1hbGxgIHVzYWdlIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDIyM10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDIyMykKLSAgIGZpeDogVXBkYXRpbmcgZW52aXJvbm1lbnQgdmFyaWFibGVzIGZvciBmbGFncyBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyNDBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyNDApCi0gICBmaXg6IFVwZGF0aW5nIG1pZ3JhdGlvbiBndWlkZSBmb3IgQ0xJIFJlZGVzaWduIG1pZ3JhdGlvbiBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyMDddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyMDcpCi0gICBkb2NzOiBBZGRpbmcgZG9jcyBmb3IgYGNsaS1yZWRlc2lnbmAgc3RyaWN0IGNvbnRyb2wgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjM4XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjM4KQotICAgZG9jczogRG9jdW1lbnRpbmcgQ0xJIFJlZGVzaWduIGRlcHJlY2F0aW9ucyBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyMzddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyMzcpCi0gICBkb2NzOiB1cGRhdGVkIHN0YWNrIGxpbmtzIGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjAxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjAxKQotICAgY2hvcmU6IFByZXNlcnZlIHRlc3RzIHdpdGggZGVwcmVjYXRlZCBjb21tYW5kcy9mbGFncyBieSBbQCYjODIwMztsZXZrb2hpbWluc10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2xldmtvaGltaW5zKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI0Ml0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI0MikKLSAgIGNob3JlOiBgaGNsZm10YCBgaGNsdmFsaWRhdGVgIGB2YWxpZGF0ZS1pbnB1dHNgIGFzIGRlcHJlY2F0ZWQgY29tbWFuZHMgKG1pbm9yIGZpeGVzKSBieSBbQCYjODIwMztsZXZrb2hpbWluc10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2xldmtvaGltaW5zKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE5OV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE5OSkKLSAgIGNob3JlOiBgaGNsZm10YCBgaGNsdmFsaWRhdGVgIGB2YWxpZGF0ZS1pbnB1dHNgIGFzIGRlcHJlY2F0ZWQgY29tbWFuZHMgYnkgW0AmIzgyMDM7bGV2a29oaW1pbnNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9sZXZrb2hpbWlucykgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxOTZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxOTYpCi0gICBidWlsZChkZXBzKTogYnVtcCBnaXRodWIuY29tL2dldHNvcHMvc29wcy92MyBmcm9tIDMuMTAuMSB0byAzLjEwLjIgYnkgW0AmIzgyMDM7ZGVwZW5kYWJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlcGVuZGFib3QpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTg1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTg1KQotICAgYnVpbGQoZGVwcyk6IGJ1bXAgZ28ub3BlbnRlbGVtZXRyeS5pby9vdGVsL2V4cG9ydGVycy9zdGRvdXQvc3Rkb3V0dHJhY2UgZnJvbSAxLjM0LjAgdG8gMS4zNS4wIGJ5IFtAJiM4MjAzO2RlcGVuZGFib3RdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZXBlbmRhYm90KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE4NF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE4NCkKLSAgIGJ1aWxkKGRlcHMpOiBidW1wIERhdmlkQW5zb24vbWFya2Rvd25saW50LWNsaTItYWN0aW9uIGZyb20gMTUgdG8gMTkgYnkgW0AmIzgyMDM7ZGVwZW5kYWJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlcGVuZGFib3QpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTg3XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTg3KQotICAgYnVpbGQoZGVwcyk6IGJ1bXAgcnVieS9zZXR1cC1ydWJ5IGZyb20gMS4yMzAuMCB0byAxLjIzMy4wIGJ5IFtAJiM4MjAzO2RlcGVuZGFib3RdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZXBlbmRhYm90KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE4Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE4NikKLSAgIGJ1aWxkKGRlcHMtZGV2KTogYnVtcCBub2tvZ2lyaSBmcm9tIDEuMTguNCB0byAxLjE4LjggaW4gL2RvY3MgYnkgW0AmIzgyMDM7ZGVwZW5kYWJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlcGVuZGFib3QpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTk1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTk1KQoKKipGdWxsIENoYW5nZWxvZyoqOiBodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43Ny4yMi4uLnYwLjc4LjAKCiMjIyBbYHYwLjc3LjIyYF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3JlbGVhc2VzL3RhZy92MC43Ny4yMikKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzcuMjEuLi52MC43Ny4yMikKCiMjIyMg8J+nqiBFeHBlcmltZW50cyBDb21wbGV0ZWQKCiMjIyMjIFRoZSBgY2xpLXJlZGVzaWduYCBleHBlcmltZW50IGlzIG5vdyBjb21wbGV0ZQoKVGhlIFtjbGktcmVkZXNpZ25dKGh0dHBzOi8vdGVycmFncnVudC5ncnVudHdvcmsuaW8vZG9jcy9yZWZlcmVuY2UvZXhwZXJpbWVudHMvI2NsaS1yZWRlc2lnbikgZXhwZXJpbWVudCBpcyBub3cgY29tcGxldGUuCgpJZiB5b3Ugd2VyZSBwcmV2aW91c2x5IHVzaW5nIHRoZSBmbGFnIGAtLWV4cGVyaW1lbnQgY2xpLXJlZGVzaWduYCB0byBvcHQgaW4gdG8gZXhwZXJpbWVudGFsIGZ1bmN0aW9uYWxpdHksIHlvdSBubyBsb25nZXIgaGF2ZSB0byBkbyBzby4gTm90ZSB0aGF0IGlmIHlvdSBhcmUsIHlvdSB3aWxsIHNpbXBseSBnZXQgYSB3YXJuaW5nIHRoYXQgaXQgaXMgbm8gbG9uZ2VyIG5lY2Vzc2FyeS4KCiMjIyMgV2hhdCdzIENoYW5nZWQKCi0gICBmZWF0OiBBZGRpbmcgYmFzZSB0ZXN0cyBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNzZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNzYpCi0gICBjaG9yZTogQ29tcGxldGUgQ0xJIFJlZGVzaWduIGV4cGVyaW1lbnQgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTg5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTg5KQoKKipGdWxsIENoYW5nZWxvZyoqOiBodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43Ny4yMS4uLnYwLjc3LjIyCgojIyMgW2B2MC43Ny4yMWBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9yZWxlYXNlcy90YWcvdjAuNzcuMjEpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc3LjIwLi4udjAuNzcuMjEpCgojIyMjIOKcqCBOZXcgRmVhdHVyZXMKCiMjIyMjIEludHJvZHVjdGlvbiBvZiBgaGNsYCBjb21tYW5kcwoKQXMgcGFydCBvZiB0aGUgW0NMSSBSZWRlc2lnbl0oaHR0cHM6Ly90ZXJyYWdydW50LmdydW50d29yay5pby9kb2NzL3JlZmVyZW5jZS9leHBlcmltZW50cy8jY2xpLXJlZGVzaWduKSBleHBlcmltZW50LCB0aGUgW2BoY2xgXShodHRwczovL3RlcnJhZ3J1bnQuZ3J1bnR3b3JrLmlvL2RvY3MvcmVmZXJlbmNlL2NsaS1vcHRpb25zLyNoY2wtY29tbWFuZHMpIGNvbW1hbmRzIGhhdmUgYmVlbiBpbnRyb2R1Y2VkLgoKVGhlIGBoY2xgIGNvbW1hbmRzIGFsbG93IHVzZXJzIHRvIGRpcmVjdGx5IGludGVyYWN0IHdpdGggSENMIGNvbnRlbnQgaW5kZXBlbmRlbnQgb2YgdGhlIHVuZGVybHlpbmcgZnVuY3Rpb25hbGl0eSB0aGV5IHN1cHBvcnQuCgpUaGUgZnVuY3Rpb25hbGl0eSBvZiB0aGUgYGhjbGAgY29tbWFuZHMgcmVwbGFjZSBleGlzdGluZyBmdW5jdGlvbmFsaXR5IHRoYXQgaXMgc29vbiB0byBiZSBkZXByZWNhdGVkOgoKLSAgIGBoY2xmbXRgIC0tPiBgaGNsIGZtdGAKLSAgIGBoY2x2YWxpZGF0ZWAgLS0+IGBoY2wgdmFsaWRhdGVgCi0gICBgdmFsaWRhdGUtaW5wdXRzYCAtLT4gYGhjbCB2YWxpZGF0ZSAtLWlucHV0c2AKLSAgIGB2YWxpZGF0ZS1pbnB1dHMgLS1zdHJpY3QtdmFsaWRhdGVgIC0tPiBgaGNsIHZhbGlkYXRlIC0taW5wdXRzIC0tc3RyaWN0YAoKIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSAgIGZlYXQ6IGBoY2xgIGNvbW1hbmRzIGRvY3MgYnkgW0AmIzgyMDM7bGV2a29oaW1pbnNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9sZXZrb2hpbWlucykgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxODBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxODApCi0gICBmZWF0OiBhZGQgc3ltYm9sIGxpbmsgZXhwZXJpZW1udCBpbiBkaXNjb3ZlcnkgcHJvY2VzcyBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE3N10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE3NykKLSAgIGZlYXQ6IEltcGxlbWVudGF0aW9uIG9mIGBoY2xgIGNvbW1hbmRzIGJ5IFtAJiM4MjAzO2xldmtvaGltaW5zXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbGV2a29oaW1pbnMpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTY5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTY5KQotICAgZml4OiBBZGRpbmcgcmVkaXJlY3QgZnJvbSAvZG9jcy9yZWZlcmVuY2UvZXhwZXJpbWVudC1tb2RlIHRvIC9kb2NzL3JlZmVyZW5jZS9leHBlcmltZW50cyBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNzhdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNzgpCi0gICBmaXg6IEZpeCBzcGVsbGluZyBieSBbQCYjODIwMztocGUtbm9pbmFyaXNha10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2hwZS1ub2luYXJpc2FrKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE3OV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE3OSkKLSAgIGZpeDogVXBkYXRlIHN0YXR1cyBvZiBjbGktcmVkZXNpZ24gZXhwZXJpbWVudCBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxODhdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxODgpCi0gICBidWlsZChkZXBzKTogYnVtcCBnaXRodWIuY29tL2NoYXJtYnJhY2VsZXQvYnViYmxlcyBmcm9tIDAuMjAuMCB0byAwLjIxLjAgYnkgW0AmIzgyMDM7ZGVwZW5kYWJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlcGVuZGFib3QpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTYwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTYwKQoKIyMjIyBOZXcgQ29udHJpYnV0b3JzCgotICAgW0AmIzgyMDM7aHBlLW5vaW5hcmlzYWtdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ocGUtbm9pbmFyaXNhaykgbWFkZSB0aGVpciBmaXJzdCBjb250cmlidXRpb24gaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNzldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNzkpCgoqKkZ1bGwgQ2hhbmdlbG9nKio6IGh0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc3LjIwLi4udjAuNzcuMjEKCiMjIyBbYHYwLjc3LjIwYF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3JlbGVhc2VzL3RhZy92MC43Ny4yMCkKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzcuMTkuLi52MC43Ny4yMCkKCiMjIyMgV2hhdCdzIENoYW5nZWQKCi0gICBidWlsZDogQWRkZWQgYGJ1aWxkLW5vLXByb3h5LnltbGAgd29ya2Zsb3cgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTcxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTcxKQotICAgYnVpbGQ6IEFkZGVkIGBsaW50LnltbGAgYW5kIGBzdHJpY3QtbGludC55bWxgIHdvcmtmbG93cyBmb3IgR2l0SHViIEFjdGlvbnMgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTcyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTcyKQotICAgYnVpbGQ6IEFkZGVkIGNvZGVzcGVsbCB3b3JrZmxvdyBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNzNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNzMpCi0gICBidWlsZDogQWRkZWQgbWFya2Rvd25saW50IHYyIHRvIEdpdEh1YiBBY3Rpb25zIHdvcmtmbG93cyBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNzVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNzUpCi0gICBkb2NzOiBJbXByb3ZlZCBnZXR0aW5nIHN0YXJ0ZWQgZ3VpZGUgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTc0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTc0KQotICAgYnVpbGQoZGVwcyk6IGJ1bXAgZ2l0aHViLmNvbS9Qcm90b25NYWlsL2dvLWNyeXB0byBmcm9tIDEuMS42IHRvIDEuMi4wIGJ5IFtAJiM4MjAzO2RlcGVuZGFib3RdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZXBlbmRhYm90KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE2MV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE2MSkKLSAgIGJ1aWxkKGRlcHMpOiBidW1wIGdvbGFuZy5vcmcveC90ZXJtIGZyb20gMC4zMC4wIHRvIDAuMzEuMCBieSBbQCYjODIwMztkZXBlbmRhYm90XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVwZW5kYWJvdCkgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNTldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNTkpCi0gICBidWlsZChkZXBzKTogYnVtcCBnaXRodWIuY29tL2F3cy9hd3Mtc2RrLWdvLXYyL3NlcnZpY2UvczMgZnJvbSAxLjc4LjIgdG8gMS43OS4yIGJ5IFtAJiM4MjAzO2RlcGVuZGFib3RdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZXBlbmRhYm90KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE1OF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE1OCkKCioqRnVsbCBDaGFuZ2Vsb2cqKjogaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzcuMTkuLi52MC43Ny4yMAoKIyMjIFtgdjAuNzcuMTlgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcmVsZWFzZXMvdGFnL3YwLjc3LjE5KQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43Ny4xOC4uLnYwLjc3LjE5KQoKIyMjIyDinKggTmV3IEZlYXR1cmVzCgojIyMjIyBPcGVuVGVsZW1ldHJ5IHRyYWNlcyBhcmUgbm93IGludGVncmF0ZWQgaW50byBgZmluZGAgYW5kIGBsaXN0YCBjb21tYW5kcwoKZmluZCB0ZWxlbWV0cnk6CiFbaW1hZ2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS91c2VyLWF0dGFjaG1lbnRzL2Fzc2V0cy9lYjVmZjExYS1lOTBmLTRiNWQtYmVjMC1jOTljYjE0MTlmNTcpCgpsaXN0IHRlbGVtZXRyeToKIVtpbWFnZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3VzZXItYXR0YWNobWVudHMvYXNzZXRzLzdhZjIzMmYxLWU4MjItNGFhZS04MjMwLTEyMjU3YzM1OWQyMSkKCiMjIyMgV2hhdCdzIENoYW5nZWQKCi0gICBmZWF0OiBJbXBsZW1lbnRlZCB0ZWxlbWV0cnkgZm9yIGZpbmQvbGlzdCBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE2NV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE2NSkKCioqRnVsbCBDaGFuZ2Vsb2cqKjogaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzcuMTguLi52MC43Ny4xOQoKIyMjIFtgdjAuNzcuMThgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcmVsZWFzZXMvdGFnL3YwLjc3LjE4KQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43Ny4xNy4uLnYwLjc3LjE4KQoKIyMjIyDinKggTmV3IEZlYXR1cmVzCgojIyMjIyBTdXBwb3J0IGZvciBIQ0wgZm9ybWF0dGluZyB3aXRoIHRoZSBgcmVuZGVyYCBjb21tYW5kCgpBcyBwYXJ0IG9mIHRoZSBbQ0xJIFJlZGVzaWduXShodHRwczovL3RlcnJhZ3J1bnQuZ3J1bnR3b3JrLmlvL2RvY3MvcmVmZXJlbmNlL2V4cGVyaW1lbnRzLyNjbGktcmVkZXNpZ24pIGV4cGVyaW1lbnQsIHRoZSBbYHJlbmRlcmBdKGh0dHBzOi8vdGVycmFncnVudC5ncnVudHdvcmsuaW8vZG9jcy9yZWZlcmVuY2UvY2xpLW9wdGlvbnMvI2JhY2tlbmQtbWlncmF0ZSkgY29tbWFuZCBub3cgc3VwcG9ydHMgSENMIGZvcm1hdHRpbmcgZm9yIHJlbmRlcmVkIGNvbmZpZ3VyYXRpb25zLCB3aGljaCBpcyB0aGUgZGVmYXVsdCBvdXRwdXQgZm9ybWF0LgoKVXNpbmcgdGhlIGByZW5kZXJgIGNvbW1hbmQgd2l0aCBIQ0wgZm9ybWF0dGluZyBhbGxvd3MgdXNlcnMgdG8gZ2V0IGEgcXVpY2ssIG1pbmltYWwgZXZhbHVhdGlvbiBvZiBUZXJyYWdydW50IHVuaXQgY29uZmlndXJhdGlvbnMgd2l0aCBhcyBtdWNoIHByZS1wcm9jZXNzaW5nIGRvbmUgYXMgcG9zc2libGUuCgpGb3IgZXhhbXBsZSwgdGhlIGZvbGxvd2luZyBgdGVycmFncnVudC5oY2xgIGZpbGU6CgpgYGBoY2wKCiMjIyB0ZXJyYWdydW50LmhjbAoKbG9jYWxzIHsKICBhd3NfcmVnaW9uID0gInVzLWVhc3QtMSIKfQoKaW5wdXRzID0gewogIGF3c19yZWdpb24gPSBsb2NhbC5hd3NfcmVnaW9uCn0KYGBgCgpSZW5kZXJzIHRvIHRoZSBmb2xsb3dpbmcgSENMOgoKYGBgYmFzaAokIHRlcnJhZ3J1bnQgcmVuZGVyCmxvY2FscyB7CiAgYXdzX3JlZ2lvbiA9ICJ1cy1lYXN0LTEiCn0KaW5wdXRzID0gewogIGF3c19yZWdpb24gPSAidXMtZWFzdC0xIgp9CmBgYAoKVXNpbmcgdGhlIGByZW5kZXJgIGNvbW1hbmQgd2l0aCBIQ0wgZm9ybWF0dGluZyBvZmZlcnMgYSB3YXkgdG8gcmVzb2x2ZSBjb21wbGV4IEhDTCBmdW5jdGlvbiBldmFsdWF0aW9uLCBpbmNsdWRlIG1lcmdpbmcgb3Igc3RyaW5nIGludGVycG9sYXRpb24sIGV0Yy4gdG8gYWNoaWV2ZSBlcXVpdmFsZW50IFRlcnJhZ3J1bnQgSENMIGNvbmZpZ3VyYXRpb25zIHRoYXQgYXJlIGVhc2llciB0byByZWFzb24gYWJvdXQuCgojIyMjIFdoYXQncyBDaGFuZ2VkCgotICAgZmVhdDogQWRkaW5nIGByZW5kZXJgIHdpdGggSENMIGZvcm1hdHRpbmcgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTY0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTY0KQoKKipGdWxsIENoYW5nZWxvZyoqOiBodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43Ny4xNy4uLnYwLjc3LjE4CgojIyMgW2B2MC43Ny4xN2BdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9yZWxlYXNlcy90YWcvdjAuNzcuMTcpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc3LjE2Li4udjAuNzcuMTcpCgojIyMjIOKcqCBOZXcgRmVhdHVyZXMKCiMjIyMjIEludHJvZHVjdGlvbiBvZiB0aGUgYHJlbmRlcmAgY29tbWFuZAoKQXMgcGFydCBvZiB0aGUgW0NMSSBSZWRlc2lnbl0oaHR0cHM6Ly90ZXJyYWdydW50LmdydW50d29yay5pby9kb2NzL3JlZmVyZW5jZS9leHBlcmltZW50cy8jY2xpLXJlZGVzaWduKSBleHBlcmltZW50LCB0aGUgW2ByZW5kZXJgXShodHRwczovL3RlcnJhZ3J1bnQuZ3J1bnR3b3JrLmlvL2RvY3MvcmVmZXJlbmNlL2NsaS1vcHRpb25zLyNiYWNrZW5kLW1pZ3JhdGUpIGNvbW1hbmQgaGFzIGJlZW4gaW50cm9kdWNlZC4KClRoZSBgcmVuZGVyYCBjb21tYW5kIGFsbG93cyB1c2VycyB0byBlYXNpbHkgcmVuZGVyIFRlcnJhZ3J1bnQgdW5pdCBjb25maWd1cmF0aW9ucyB3aXRoIHJlZHVjZWQgY29tcGxleGl0eSwgbWFraW5nIGl0IGVhc2llciB0byB1bmRlcnN0YW5kIGNvbmZpZ3VyYXRpb25zIGF0IGEgZ2xhbmNlLgoKRm9yIGV4YW1wbGUsIHRoZSBmb2xsb3dpbmcgYHRlcnJhZ3J1bnQuaGNsYCBmaWxlOgoKYGBgaGNsCgojIyMgdGVycmFncnVudC5oY2wKCmxvY2FscyB7CiAgYXdzX3JlZ2lvbiA9ICJ1cy1lYXN0LTEiCn0KCmlucHV0cyA9IHsKICBhd3NfcmVnaW9uID0gbG9jYWwuYXdzX3JlZ2lvbgp9CmBgYAoKUmVuZGVycyB0byB0aGUgZm9sbG93aW5nIEpTT046CgpgYGBiYXNoCiQgdGVycmFncnVudCByZW5kZXIgLS1mb3JtYXQganNvbgp7CiAgImxvY2FscyI6IHsgImF3c19yZWdpb24iOiAidXMtZWFzdC0xIiB9LAogICJpbnB1dHMiOiB7ICJhd3NfcmVnaW9uIjogInVzLWVhc3QtMSIgfQogIC8vIE5PVEU6IG90aGVyIGF0dHJpYnV0ZXMgYXJlIG9taXR0ZWQgZm9yIGJyZXZpdHkKfQpgYGAKClRoZSBpbnRyb2R1Y3Rpb24gb2YgdGhlIGByZW5kZXJgIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgZXZlbnR1YWwgZGVwcmVjYXRpb24gb2YgdGhlIGV4aXN0aW5nIGByZW5kZXItanNvbmAgY29tbWFuZCwgd2hpY2ggd2lsbCBiZSBkZXByZWNhdGVkIGJ5IHRoZSBlbmQgb2YgdGhlIENMSSBSZWRlc2lnbi4gVGhlIGByZW5kZXJgIGNvbW1hbmQgaXMgYSBoaWdoZXIgbGV2ZWwgY29tbWFuZCwgdGhhdCBvZmZlcnMgdGhlIGFiaWxpdHkgdG8gd3JpdGUgdG8gc3Rkb3V0LCBpbiBhZGRpdGlvbiB0byB3cml0aW5nIHRvIGZpbGVzLCBhbmQgd2lsbCBzdXBwb3J0IEhDTCBjb25maWd1cmF0aW9ucyBpbiBhZGRpdGlvbiB0byBKU09OIChjb21pbmcgc29vbikuCgpUbyBsZWFybiBtb3JlIGFib3V0IHRoZSBgcmVuZGVyYCBjb21tYW5kLCByZWFkIHRoZSBvZmZpY2lhbCBkb2N1bWVudGF0aW9uIFtoZXJlXShodHRwczovL3RlcnJhZ3J1bnQuZ3J1bnR3b3JrLmlvL2RvY3MvcmVmZXJlbmNlL2NsaS1vcHRpb25zLyNyZW5kZXIpLgoKIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSAgIGZlYXQ6IEFkZGluZyBgcmVuZGVyYCBjb21tYW5kIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE0NV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE0NSkKLSAgIGZlYXQ6IEFkZGluZyBkb2NzIGZvciBgYmFja2VuZCBtaWdyYXRlYCBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNDBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNDApCi0gICBidWlsZChkZXBzKTogYnVtcCBydWJ5L3NldHVwLXJ1YnkgZnJvbSAxLjIyOS4wIHRvIDEuMjMwLjAgYnkgW0AmIzgyMDM7ZGVwZW5kYWJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlcGVuZGFib3QpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTYyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTYyKQoKKipGdWxsIENoYW5nZWxvZyoqOiBodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43Ny4xNi4uLnYwLjc3LjE3CgojIyMgW2B2MC43Ny4xNmBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9yZWxlYXNlcy90YWcvdjAuNzcuMTYpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc3LjE1Li4udjAuNzcuMTYpCgojIyMjIOKcqCBOZXcgRmVhdHVyZXMKCiMjIyMjIEludHJvZHVjdGlvbiBvZiB0aGUgYGJhY2tlbmQgbWlncmF0ZWAgY29tbWFuZAoKQXMgcGFydCBvZiB0aGUgW0NMSSBSZWRlc2lnbl0oaHR0cHM6Ly90ZXJyYWdydW50LmdydW50d29yay5pby9kb2NzL3JlZmVyZW5jZS9leHBlcmltZW50cy8jY2xpLXJlZGVzaWduKSBleHBlcmltZW50LCB0aGUgW2BiYWNrZW5kIG1pZ3JhdGVgXShodHRwczovL3RlcnJhZ3J1bnQuZ3J1bnR3b3JrLmlvL2RvY3MvcmVmZXJlbmNlL2NsaS1vcHRpb25zLyNiYWNrZW5kLW1pZ3JhdGUpIGNvbW1hbmQgaGFzIGJlZW4gaW50cm9kdWNlZC4KClRoZSBgYmFja2VuZCBtaWdyYXRlYCBjb21tYW5kIGFsbG93cyB5b3UgdG8gc2ltcGx5IG1pZ3JhdGUgc3RhdGUgYmV0d2VlbiBkaWZmZXJlbnQgdW5pdHMgKG9yIHJlbmFtZXMgb2YgdW5pdHMpIHdpdGhvdXQgbWFudWFsbHkgcnVubmluZyBPcGVuVG9mdS9UZXJyYWZvcm0gc3RhdGUgbWlncmF0aW9uIGNvbW1hbmRzLgoKVG8gbGVhcm4gbW9yZSBhYm91dCB0aGUgYGJhY2tlbmQgbWlncmF0ZWAgY29tbWFuZCwgcmVhZCB0aGUgW29mZmljaWFsIGRvY3NdKGh0dHBzOi8vdGVycmFncnVudC5ncnVudHdvcmsuaW8vZG9jcy9yZWZlcmVuY2UvY2xpLW9wdGlvbnMvI2JhY2tlbmQtbWlncmF0ZSkuCgojIyMjIFdoYXQncyBDaGFuZ2VkCgotICAgZmVhdDogQWRkZWQgc3VwcG9ydCBmb3IgbWlncmF0aW5nIHN0YXRlIGJldHdlZW4gZGlmZmVyZW50IGJhY2tlbmRzIGJ5IFtAJiM4MjAzO2xldmtvaGltaW5zXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbGV2a29oaW1pbnMpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTU0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTU0KQotICAgZmVhdDogRW5oYW5jZWQgZXJyb3IgZXhwbGFpbmVyIHRvIGRldGVjdCBhbmQgcmVwb3J0IGlzc3VlcyByZWxhdGVkIHRvIGBzdGFja2AgdmFsdWVzIGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTYzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTYzKQotICAgZml4OiBJbXByb3ZlZCB0aGUgZGVwcmVjYXRpb24gbWVzc2FnZSBmb3IgZXhwZXJpbWVudGFsIGNvbW1hbmQgZmxhZ3MgYnkgW0AmIzgyMDM7bGV2a29oaW1pbnNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9sZXZrb2hpbWlucykgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNDZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNDYpCi0gICBmaXg6IFByZXZlbnQgYFRGX0NMSV9DT05GSUdfRklMRWAgZW52aXJvbm1lbnQgdmFyaWFibGUgZnJvbSBiZWluZyBvdmVyd3JpdHRlbiwgZXhjZXB0IGR1cmluZyBgaW5pdGAgYW5kIGBwcm92aWRlcnNgIGNvbW1hbmRzIGJ5IFtAJiM4MjAzO2xldmtvaGltaW5zXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbGV2a29oaW1pbnMpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTU1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTU1KQoKKipGdWxsIENoYW5nZWxvZyoqOiBodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43Ny4xNS4uLnYwLjc3LjE2CgojIyMgW2B2MC43Ny4xNWBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9yZWxlYXNlcy90YWcvdjAuNzcuMTUpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc3LjE0Li4udjAuNzcuMTUpCgojIyMjIOKcqCBOZXcgRmVhdHVyZXMKCiMjIyMjIEludHJvZHVjdGlvbiBvZiB0aGUgYGRhZyBncmFwaGAgY29tbWFuZAoKQXMgcGFydCBvZiB0aGUgW0NMSSBSZWRlc2lnbl0oaHR0cHM6Ly90ZXJyYWdydW50LmdydW50d29yay5pby9kb2NzL3JlZmVyZW5jZS9leHBlcmltZW50cy8jY2xpLXJlZGVzaWduKSBleHBlcmltZW50LCB0aGUgW2BkYWcgZ3JhcGhgXShodHRwczovL3RlcnJhZ3J1bnQuZ3J1bnR3b3JrLmlvL2RvY3MvcmVmZXJlbmNlL2NsaS1vcHRpb25zLyNwcmludC1ncmFwaCkgY29tbWFuZCBoYXMgYmVlbiBpbnRyb2R1Y2VkLgoKIVtkYWddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS91c2VyLWF0dGFjaG1lbnRzL2Fzc2V0cy8zODlkNGUzMS0xOTdjLTRjMzctODkxMy0xNDE3ZWNkM2U1YjQpCgohW2RhZy1oZWxwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vdXNlci1hdHRhY2htZW50cy9hc3NldHMvMjUyNWNkMjctMGQ4ZS00NTdiLTg3ZWEtNzU5ZmFlMzFlMmYzKQoKIVtkYWctZ3JhcGgtaGVscF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3VzZXItYXR0YWNobWVudHMvYXNzZXRzL2ZiMjY4YjIwLWYzMmItNGI0Zi1iYTEzLTBkMWZjOWZjYTc0OCkKCiMjIyMgV2hhdCdzIENoYW5nZWQKCi0gICBkb2NzOiBBZGRlZCBtaWdyYXRpb24gZ3VpZGUgZm9yIGFkb3B0aW5nIFRlcnJhZ3J1bnQgU3RhY2tzIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE1Ml0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE1MikKLSAgIGZlYXQ6IEFkZGVkIGRhZyBncmFwaCBjb21tYW5kIGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTQzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTQzKQoKKipGdWxsIENoYW5nZWxvZyoqOiBodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43Ny4xNC4uLnYwLjc3LjE1CgojIyMgW2B2MC43Ny4xNGBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9yZWxlYXNlcy90YWcvdjAuNzcuMTQpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc3LjEzLi4udjAuNzcuMTQpCgojIyMjIOKcqCBOZXcgRmVhdHVyZXMKCiMjIyMjIFN1cHBvcnQgZm9yIGAtLWV4Y2x1ZGVgIGFuZCBgLS1xdWV1ZS1jb25zdHJ1Y3QtYXNgIGluIGBmaW5kYCBhbmQgYGxpc3RgCgpUaGUgW2BmaW5kYF0oaHR0cHM6Ly90ZXJyYWdydW50LmdydW50d29yay5pby9kb2NzL3JlZmVyZW5jZS9jbGktb3B0aW9ucy8jZmluZCkgYW5kIFtgbGlzdGBdKGh0dHBzOi8vdGVycmFncnVudC5ncnVudHdvcmsuaW8vZG9jcy9yZWZlcmVuY2UvY2xpLW9wdGlvbnMvI2xpc3QpIGNvbW1hbmRzIGhhdmUgYmVlbiB1cGRhdGVkIHRvIGxldmVyYWdlIG5ldyBjYXBhYmlsaXRpZXMgaW52b2x2aW5nIGdyZWF0ZXIgdW5kZXJzdGFuZGluZyBvZiB0aGUgVGVycmFncnVudCBydW4gcXVldWUuCgpVc2VycyBjYW4gbm93IGxldmVyYWdlIHRoZSBbYC0tcXVldWUtY29uc3RydWN0LWFzYF0oaHR0cHM6Ly90ZXJyYWdydW50LmdydW50d29yay5pby9kb2NzL3JlZmVyZW5jZS9jbGkKCjwvZGV0YWlscz4KCi0tLQoKIyMjIENvbmZpZ3VyYXRpb24KCvCfk4UgKipTY2hlZHVsZSoqOiBCcmFuY2ggY3JlYXRpb24gLSBBdCBhbnkgdGltZSAobm8gc2NoZWR1bGUgZGVmaW5lZCksIEF1dG9tZXJnZSAtIEF0IGFueSB0aW1lIChubyBzY2hlZHVsZSBkZWZpbmVkKS4KCvCfmqYgKipBdXRvbWVyZ2UqKjogRGlzYWJsZWQgYnkgY29uZmlnLiBQbGVhc2UgbWVyZ2UgdGhpcyBtYW51YWxseSBvbmNlIHlvdSBhcmUgc2F0aXNmaWVkLgoK4pm7ICoqUmViYXNpbmcqKjogV2hlbmV2ZXIgUFIgYmVjb21lcyBjb25mbGljdGVkLCBvciB5b3UgdGljayB0aGUgcmViYXNlL3JldHJ5IGNoZWNrYm94LgoK8J+UlSAqKklnbm9yZSoqOiBDbG9zZSB0aGlzIFBSIGFuZCB5b3Ugd29uJ3QgYmUgcmVtaW5kZWQgYWJvdXQgdGhpcyB1cGRhdGUgYWdhaW4uCgotLS0KCiAtIFsgXSA8IS0tIHJlYmFzZS1jaGVjayAtLT5JZiB5b3Ugd2FudCB0byByZWJhc2UvcmV0cnkgdGhpcyBQUiwgY2hlY2sgdGhpcyBib3gKCi0tLQoKVGhpcyBQUiB3YXMgZ2VuZXJhdGVkIGJ5IFtNZW5kIFJlbm92YXRlXShodHRwczovL21lbmQuaW8vcmVub3ZhdGUvKS4gVmlldyB0aGUgW3JlcG9zaXRvcnkgam9iIGxvZ10oaHR0cHM6Ly9kZXZlbG9wZXIubWVuZC5pby9naXRodWIvb3Npc20vdGVzdGJlZCkuCjwhLS1yZW5vdmF0ZS1kZWJ1ZzpleUpqY21WaGRHVmtTVzVXWlhJaU9pSXpPUzR5TURjdU1TSXNJblZ3WkdGMFpXUkpibFpsY2lJNklqUXdMak16TGpZaUxDSjBZWEpuWlhSQ2NtRnVZMmdpT2lKdFlXbHVJaXdpYkdGaVpXeHpJanBiSW5KbGJtOTJZWFJsSWwxOS0tPgo=
      patchset: 61eae06244ec3901cc7ba39dec3c9d55ff335886
      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: ba4995f1ef532a76883f76d00b5a298d7e1c09d3
          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/ansible-lint/run.yaml
          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: 204ca7f361e7d1309c1d7a139dfc95b40e1f9dd0
          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
