all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fe91:f3a2
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: 90577988-ebdd-440b-8011-9cfc0877889d
        host_id: df70f2a3f3d0c26428f22685cfc722ebc48099d99e7332c39e017195
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fe91:f3a2
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.0.100
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.193.142
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fe91:f3a2
        region: null
        slot: null
  vars:
    zuul:
      _inheritance_path:
      - '<Job base explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-config/zuul.d/jobs.yaml@main#2>'
      - '<Job python-black explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-jobs/.zuul.yaml@main#54>'
      - '<Job python-black explicit: None implied: None source: osism/testbed/.zuul.yaml@main#198>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: dd7a02b0eb1648d399d56742f0579e1d
      build_refs:
      - branch: main
        change: '2654'
        change_message: "chore(deps): update dependency gruntwork-io/terragrunt to
          v0.79.3\n\nThis PR contains the following updates:\n\n| Package | Update
          | Change |\n|---|---|---|\n| [gruntwork-io/terragrunt](https://redirect.github.com/gruntwork-io/terragrunt)
          | minor | `v0.77.3` -> `v0.79.3` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>gruntwork-io/terragrunt
          (gruntwork-io/terragrunt)</summary>\n\n### [`v0.79.3`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.79.3)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.79.2...v0.79.3)\n\n####
          \U0001F4AA\U0001F3FD Enhancements\n\n##### Limitation on Catalog URLs lifted\n\nA
          limitation on only supporting recognized go-getter URL patters has been
          lifted from the [catalog](https://terragrunt.gruntwork.io/docs/features/catalog/)
          command.\n\nThe reason this limitation existed in the past was to ensure
          that users were able to have Terragrunt load module source code in browsers
          from the catalog Terminal User Interface (TUI). To support that, only a
          constrained set of sources were supported, to ensure that a button was available
          to pop open the link in the browser.\n\n<img width=\"670\" alt=\"image\"
          src=\"https://github.com/user-attachments/assets/92dc016e-3bc5-46f5-b690-da3043590c24\"
          />\n\n<img width=\"666\" alt=\"image\" src=\"https://github.com/user-attachments/assets/f512e901-4deb-4771-8cbd-ea3d54cf5594\"
          />\n\nTerragrunt will now dynamically adjust the buttons available after
          module selection to gracefully degrade the experience, instead of completely
          rejecting repository sources that can't be predictably converted to browser
          URLs.\n\n<img width=\"346\" alt=\"image\" src=\"https://github.com/user-attachments/assets/76a7b1e5-c148-42b2-a696-d7fd750e866d\"
          />\n\nThis allows more users to adopt the Terragrunt Catalog, while providing
          the same great user experience for users that are on fully supported platforms,
          like GitHub, GitLab, BitBucket, etc.\n\n#### What's Changed\n\n-   feat:
          Allow unknown catalog URLs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4318](https://redirect.github.com/gruntwork-io/terragrunt/pull/4318)\n-
          \  docs: Clarify ambiguous documentation on variable precedence by [@&#8203;owattley-rotageek](https://redirect.github.com/owattley-rotageek)
          in [https://github.com/gruntwork-io/terragrunt/pull/4319](https://redirect.github.com/gruntwork-io/terragrunt/pull/4319)\n-
          \  chore: Adjusting catalog implementation by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4315](https://redirect.github.com/gruntwork-io/terragrunt/pull/4315)\n\n####
          New Contributors\n\n-   [@&#8203;owattley-rotageek](https://redirect.github.com/owattley-rotageek)
          made their first contribution in [https://github.com/gruntwork-io/terragrunt/pull/4319](https://redirect.github.com/gruntwork-io/terragrunt/pull/4319)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.79.2...v0.79.3\n\n###
          [`v0.79.2`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.79.2)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.79.1...v0.79.2)\n\n####
          \U0001F697 Performance Improvements\n\nImproved overall performance by memoizing
          `-version` output in each unit.\n\n#### What's Changed\n\n-   feat: Improved
          performance by memoizing `-version` output by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4288](https://redirect.github.com/gruntwork-io/terragrunt/pull/4288)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.79.1...v0.79.2\n\n###
          [`v0.79.1`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.79.1)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.79.0...v0.79.1)\n\n####
          \U0001F4AA\U0001F3FD Enhancements\n\n##### Recursive stack clean\n\nImproved
          `stack clean` to recursively delete all nested stack directories, ensuring
          thorough cleanup.\n\n#### What's Changed\n\n-   feat: Enabled recursive
          deletion of stack directories in `stack clean` by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4313](https://redirect.github.com/gruntwork-io/terragrunt/pull/4313)\n-
          \  feat: Switching to GitHub Actions OIDC role assumption for OIDC test
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4305](https://redirect.github.com/gruntwork-io/terragrunt/pull/4305)\n-
          \  fix: Corrected mislabeled `legacy-all` control in documentation by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4311](https://redirect.github.com/gruntwork-io/terragrunt/pull/4311)\n-
          \  fix: Enabled disabled tests by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4312](https://redirect.github.com/gruntwork-io/terragrunt/pull/4312)\n-
          \  docs: updated quick start documentation with additional output directory
          usage by [@&#8203;james03160927](https://redirect.github.com/james03160927)
          in [https://github.com/gruntwork-io/terragrunt/pull/4299](https://redirect.github.com/gruntwork-io/terragrunt/pull/4299)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.79.0...v0.79.1\n\n###
          [`v0.79.0`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.79.0)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.4...v0.79.0)\n\n####
          \U0001F4AA\U0001F3FD Enhancements\n\n##### The `run --all` command automatically
          generates Terragrunt Stacks\n\nIf you are using `terragrunt.stack.hcl` files
          in your codebase, `run --all` commands will now automatically expand all
          `terragrunt.stack.hcl` files into generated stack configurations, as if
          you had run `stack generate` before running the `run --all` command.\n\ne.g.\n\n```bash\nterragrunt
          run --all plan\n```\n\nIs now equivalent to:\n\n```bash\nterragrunt stack
          generate\nterragrunt run --all plan\n```\n\nIf you would like to disable
          this new behavior, you can use the `--no-stack-generate` to opt out of automatic
          stack generation.\n\n#### \U0001F4D6 Docs Updates\n\nThe [Terragrunt v1](https://terragrunt-v1.gruntwork.io/)
          docs are open for feedback!\n\nThese docs will undergo significant adjustments,
          both stylistically, and functionality on the road to 1.0.\n\nThey are a
          full rewrite of the existing Terragrunt Docs site written in [Jekyll](https://jekyllrb.com/)
          to one using [Starlight](https://starlight.astro.build/).\n\nYour feedback
          is requested! If you are reading these release notes relatively soon after
          release, you should see a link at the top of the site where you can provide
          your feedback on the new docs.\n\n#### What's Changed\n\n-   feat: Moving
          users over to terragrunt-v1.gruntwork.io docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4202](https://redirect.github.com/gruntwork-io/terragrunt/pull/4202)\n-
          \  feat: Adding GTM by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4285](https://redirect.github.com/gruntwork-io/terragrunt/pull/4285)\n-
          \  feat: Github Action tests migration by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4281](https://redirect.github.com/gruntwork-io/terragrunt/pull/4281)\n-
          \  feat: Automatically stack generate in run --all or run --graph command
          by [@&#8203;james03160927](https://redirect.github.com/james03160927) in
          [https://github.com/gruntwork-io/terragrunt/pull/4283](https://redirect.github.com/gruntwork-io/terragrunt/pull/4283)\n-
          \  feat: Adding cloud-nuke cron by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4306](https://redirect.github.com/gruntwork-io/terragrunt/pull/4306)\n-
          \  feat: Adjusting nav height by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4284](https://redirect.github.com/gruntwork-io/terragrunt/pull/4284)\n-
          \  fix: Fixing `remote-relative-with-slash` fixture on ARM tests by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4297](https://redirect.github.com/gruntwork-io/terragrunt/pull/4297)\n-
          \  fix: Fixing install version by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4310](https://redirect.github.com/gruntwork-io/terragrunt/pull/4310)\n-
          \  fix: Improved error handling in AWS docs by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4303](https://redirect.github.com/gruntwork-io/terragrunt/pull/4303)\n-
          \  chore: enable TestRemoteDownloadWithRelativePathAndSlashInBranch test
          by [@&#8203;denis256](https://redirect.github.com/denis256) in [https://github.com/gruntwork-io/terragrunt/pull/4286](https://redirect.github.com/gruntwork-io/terragrunt/pull/4286)\n-
          \  build(deps): bump ruby/setup-ruby from 1.233.0 to 1.238.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4270](https://redirect.github.com/gruntwork-io/terragrunt/pull/4270)\n-
          \  build(deps): bump github.com/gruntwork-io/terratest from 0.48.2 to 0.49.0
          by [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4267](https://redirect.github.com/gruntwork-io/terragrunt/pull/4267)\n-
          \  build(deps): bump ruby/setup-ruby from 1.238.0 to 1.242.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4301](https://redirect.github.com/gruntwork-io/terragrunt/pull/4301)\n-
          \  build(deps): bump DavidAnson/markdownlint-cli2-action from 19 to 20 by
          [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4302](https://redirect.github.com/gruntwork-io/terragrunt/pull/4302)\n\n####
          New Contributors\n\n-   [@&#8203;james03160927](https://redirect.github.com/james03160927)
          made their first contribution in [https://github.com/gruntwork-io/terragrunt/pull/4283](https://redirect.github.com/gruntwork-io/terragrunt/pull/4283)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.4...v0.79.0\n\n###
          [`v0.78.4`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.4)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.3...v0.78.4)\n\n####
          \u2728 New Features\n\n##### OpenTelemetry Trace Propogation\n\nIn anticipation
          of the introduction of OpenTelemetry support in OpenTofu 1.10, Terragrunt
          will now propagate the `TRACEPARENT` environment variable to child processes
          to support OpenTelemetry traces that maintain context across Terragrunt
          and OpenTofu.\n\nThis work is based on [@&#8203;Yantrio](https://redirect.github.com/Yantrio)
          's PoC PR [#&#8203;4254](https://redirect.github.com/gruntwork-io/terragrunt/issues/4254),
          and is only useful due to his work adding OpenTelemtry in OpenTofu. Thank
          you!\n\n#### What's Changed\n\n-   feat: Added generation of opentelemetry
          parent traces to invoked executables by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4278](https://redirect.github.com/gruntwork-io/terragrunt/pull/4278)\n-
          \  feat: Added support for Terraform tests in Github Action by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4275](https://redirect.github.com/gruntwork-io/terragrunt/pull/4275)\n-
          \  docs: Added homepage to Starlight docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4250](https://redirect.github.com/gruntwork-io/terragrunt/pull/4250)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.3...v0.78.4\n\n###
          [`v0.78.3`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.3)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.2...v0.78.3)\n\n####
          \U0001F41B Bug Fixes\n\nWhen an [error retry](https://terragrunt.gruntwork.io/docs/features/runtime-control/#errors)
          results in a plan succeeding when it initially failed, usage of `run --all
          -- plan -detailed-exitcode` will now properly take into account the *final*
          exit code, rather than the first one, meaning that the exit code of the
          whole run will be zero if no other units fail their plans.\n\nThanks to
          [@&#8203;wakeful](https://redirect.github.com/wakeful) for contributing
          this fix!\n\n#### What's Changed\n\n-   fix [#&#8203;3845](https://redirect.github.com/gruntwork-io/terragrunt/issues/3845)
          set the correct exit code when a retry is successful. by [@&#8203;wakeful](https://redirect.github.com/wakeful)
          in [https://github.com/gruntwork-io/terragrunt/pull/3966](https://redirect.github.com/gruntwork-io/terragrunt/pull/3966)\n-
          \  docs: Improving Run Queue docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4272](https://redirect.github.com/gruntwork-io/terragrunt/pull/4272)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.2...v0.78.3\n\n###
          [`v0.78.2`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.2)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.1...v0.78.2)\n\n####
          What's Changed\n\n-   feat: enable GCP integration tests in GH Action by
          [@&#8203;denis256](https://redirect.github.com/denis256) in [https://github.com/gruntwork-io/terragrunt/pull/4257](https://redirect.github.com/gruntwork-io/terragrunt/pull/4257)\n-
          \  feat: fixed TestGcpWorksWithImpersonateBackend test by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4261](https://redirect.github.com/gruntwork-io/terragrunt/pull/4261)\n-
          \  feat: Adding integration tests by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4198](https://redirect.github.com/gruntwork-io/terragrunt/pull/4198)\n-
          \  feat: add Windows integration tests by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4262](https://redirect.github.com/gruntwork-io/terragrunt/pull/4262)\n-
          \  fix: Removing HTML `font-size` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4256](https://redirect.github.com/gruntwork-io/terragrunt/pull/4256)\n-
          \  docs: Adding Run Queue Docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4249](https://redirect.github.com/gruntwork-io/terragrunt/pull/4249)\n-
          \  build(deps): bump github.com/gruntwork-io/boilerplate to v0.6.1 by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
          \  build(deps): bump github.com/gruntwork-io/terragrunt-engine-go to v0.0.14
          by [@&#8203;denis256](https://redirect.github.com/denis256) in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
          \  build(deps): bump golang.org/x/oauth2 to v0.30.0 by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
          \  build(deps): bump golang.org/x/sync to v0.14.0 by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
          \  build(deps): bump google.golang.org/api to v0.232.0 by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
          \  build(deps): bump google.golang.org/grpc to v1.72.0 by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
          \  chore: dependencies update by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.1...v0.78.2\n\n###
          [`v0.78.1`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.1)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.0...v0.78.1)\n\n####
          What's Changed\n\n-   docs: Updating docs now that stacks are generally
          available by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4243](https://redirect.github.com/gruntwork-io/terragrunt/pull/4243)\n-
          \  fix: AWS S3 backend access logging bucket not versioning by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4246](https://redirect.github.com/gruntwork-io/terragrunt/pull/4246)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.0...v0.78.1\n\n###
          [`v0.78.0`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.0)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.22...v0.78.0)\n\n####
          \U0001F9EA Experiments Completed\n\nThe [stacks](https://terragrunt.gruntwork.io/docs/reference/experiments/#stacks)
          experiment is now complete.\n\nIf you were previously using the flag `--experiment
          stacks` to opt in to experimental functionality, you no longer have to do
          so. Note that if you are, you will simply get a warning that it is no longer
          necessary.\n\n#### \U0001F6E0\uFE0F Breaking Changes\n\nLegacy commands
          (as replaced by the [CLI Redesign](https://redirect.github.com/gruntwork-io/terragrunt/issues/3445)
          are now deprecated, and will be phased out at a future date, which will
          be scheduled in [#&#8203;3535](https://redirect.github.com/gruntwork-io/terragrunt/issues/3535).
          Make sure to subscribe to the issue if you would like to be informed when
          these deprecated features are no longer supported.\n\nFor instructions on
          migrating to the new commands provided after the CLI Redesign, read the
          [CLI Redesign Migration Guide](https://terragrunt.gruntwork.io/docs/migrate/cli-redesign/).\n\nThe
          following are now deprecated:\n\n-   `hclfmt` (use `hcl fmt` instead)\n-
          \  `hclvalidate` (use `hcl validate` instead)\n-   `validate-inputs` (use
          `hcl validate --inputs` and `hcl validate --inputs --strict` instead)\n-
          \  `terragrunt-info` (use `info print` instead)\n-   `output-module-groups`
          (use `find --dag --json` instead)\n-   `render-json` (use `render --json
          -w` instead)\n-   `graph-dependencies` (use `dag graph` instead)\n-   `run-all`
          (use `run --all` instead)\n-   `graph` (use `run --graph` instead)\n-   The
          default command. e.g. `terragrunt workspace list` (use `terragrunt run --
          workspace list` instead)\n-   Default bootstrap (automatically provisioning
          backend resources without additional flags). This is now opt in behavior,
          and requires usage of the `--backend-bootstrap` flag or explicitly running
          the new `backend bootstrap` command.\n-   `aws-provider-patch` (we are simply
          deprecating this command, and removing it when the other commands are removed.
          It served its purpose as a short term stopgap tool).\n\nNote that this will
          not result in an immediate breaking change for users, as we\u2019ll have
          an initial deprecation window to give users time to adjust to these changes.
          If you\u2019d like to ensure that you are prepared for the future removal
          of legacy commands, you can take advantage of the [cli-redesign](https://terragrunt.gruntwork.io/docs/reference/strict-mode/#cli-redesign)
          strict control to opt in to the future breaking change early.\n\n#### \U0001F4AA\U0001F3FD
          \ Enhancements\n\nThe logging for stack generation has been improved to
          make it easier to determine at a glance the stack file that\u2019s generating
          a particular unit.\n\n![stacks-generation](https://redirect.github.com/user-attachments/assets/11c49c92-edfd-4d3a-b2c6-4bae4326e0e2)\n\n####
          What's Changed\n\n-   feat: improved stack logs generation by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4213](https://redirect.github.com/gruntwork-io/terragrunt/pull/4213)\n-
          \  feat: stacks expriment completion by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4222](https://redirect.github.com/gruntwork-io/terragrunt/pull/4222)\n-
          \  feat: Deprecating `render-json` command by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4227](https://redirect.github.com/gruntwork-io/terragrunt/pull/4227)\n-
          \  feat: Deprecating `aws-provider-patch` command by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4228](https://redirect.github.com/gruntwork-io/terragrunt/pull/4228)\n-
          \  feat: Deprecating `output-module-groups` command by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4229](https://redirect.github.com/gruntwork-io/terragrunt/pull/4229)\n-
          \  fix: Fixing base tests for macOS by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4193](https://redirect.github.com/gruntwork-io/terragrunt/pull/4193)\n-
          \  fix: Fixing 404 in performance docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4194](https://redirect.github.com/gruntwork-io/terragrunt/pull/4194)\n-
          \  fix: basic tests execution update by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4192](https://redirect.github.com/gruntwork-io/terragrunt/pull/4192)\n-
          \  fix: Throwing interrupt signal with `--all` flag by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4224](https://redirect.github.com/gruntwork-io/terragrunt/pull/4224)\n-
          \  fix: handling of errors in parsing base blocks by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4226](https://redirect.github.com/gruntwork-io/terragrunt/pull/4226)\n-
          \  fix: Cleaning up legacy `-all` usage by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4239](https://redirect.github.com/gruntwork-io/terragrunt/pull/4239)\n-
          \  fix: Rename all the `--terragrunt-` flags by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4203](https://redirect.github.com/gruntwork-io/terragrunt/pull/4203)\n-
          \  fix: Cleaning up `run-all` usage by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4223](https://redirect.github.com/gruntwork-io/terragrunt/pull/4223)\n-
          \  fix: Updating environment variables for flags by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4240](https://redirect.github.com/gruntwork-io/terragrunt/pull/4240)\n-
          \  fix: Updating migration guide for CLI Redesign migration by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4207](https://redirect.github.com/gruntwork-io/terragrunt/pull/4207)\n-
          \  docs: Adding docs for `cli-redesign` strict control by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4238](https://redirect.github.com/gruntwork-io/terragrunt/pull/4238)\n-
          \  docs: Documenting CLI Redesign deprecations by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4237](https://redirect.github.com/gruntwork-io/terragrunt/pull/4237)\n-
          \  docs: updated stack links by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4201](https://redirect.github.com/gruntwork-io/terragrunt/pull/4201)\n-
          \  chore: Preserve tests with deprecated commands/flags by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4242](https://redirect.github.com/gruntwork-io/terragrunt/pull/4242)\n-
          \  chore: `hclfmt` `hclvalidate` `validate-inputs` as deprecated commands
          (minor fixes) by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4199](https://redirect.github.com/gruntwork-io/terragrunt/pull/4199)\n-
          \  chore: `hclfmt` `hclvalidate` `validate-inputs` as deprecated commands
          by [@&#8203;levkohimins](https://redirect.github.com/levkohimins) in [https://github.com/gruntwork-io/terragrunt/pull/4196](https://redirect.github.com/gruntwork-io/terragrunt/pull/4196)\n-
          \  build(deps): bump github.com/getsops/sops/v3 from 3.10.1 to 3.10.2 by
          [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4185](https://redirect.github.com/gruntwork-io/terragrunt/pull/4185)\n-
          \  build(deps): bump go.opentelemetry.io/otel/exporters/stdout/stdouttrace
          from 1.34.0 to 1.35.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4184](https://redirect.github.com/gruntwork-io/terragrunt/pull/4184)\n-
          \  build(deps): bump DavidAnson/markdownlint-cli2-action from 15 to 19 by
          [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4187](https://redirect.github.com/gruntwork-io/terragrunt/pull/4187)\n-
          \  build(deps): bump ruby/setup-ruby from 1.230.0 to 1.233.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4186](https://redirect.github.com/gruntwork-io/terragrunt/pull/4186)\n-
          \  build(deps-dev): bump nokogiri from 1.18.4 to 1.18.8 in /docs by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4195](https://redirect.github.com/gruntwork-io/terragrunt/pull/4195)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.22...v0.78.0\n\n###
          [`v0.77.22`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.22)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.21...v0.77.22)\n\n####
          \U0001F9EA Experiments Completed\n\n##### The `cli-redesign` experiment
          is now complete\n\nThe [cli-redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment is now complete.\n\nIf you were previously using the flag `--experiment
          cli-redesign` to opt in to experimental functionality, you no longer have
          to do so. Note that if you are, you will simply get a warning that it is
          no longer necessary.\n\n#### What's Changed\n\n-   feat: Adding base tests
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4176](https://redirect.github.com/gruntwork-io/terragrunt/pull/4176)\n-
          \  chore: Complete CLI Redesign experiment by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4189](https://redirect.github.com/gruntwork-io/terragrunt/pull/4189)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.21...v0.77.22\n\n###
          [`v0.77.21`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.21)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.20...v0.77.21)\n\n####
          \u2728 New Features\n\n##### Introduction of `hcl` commands\n\nAs part of
          the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment, the [`hcl`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#hcl-commands)
          commands have been introduced.\n\nThe `hcl` commands allow users to directly
          interact with HCL content independent of the underlying functionality they
          support.\n\nThe functionality of the `hcl` commands replace existing functionality
          that is soon to be deprecated:\n\n-   `hclfmt` --> `hcl fmt`\n-   `hclvalidate`
          --> `hcl validate`\n-   `validate-inputs` --> `hcl validate --inputs`\n-
          \  `validate-inputs --strict-validate` --> `hcl validate --inputs --strict`\n\n####
          What's Changed\n\n-   feat: `hcl` commands docs by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4180](https://redirect.github.com/gruntwork-io/terragrunt/pull/4180)\n-
          \  feat: add symbol link experiemnt in discovery process by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4177](https://redirect.github.com/gruntwork-io/terragrunt/pull/4177)\n-
          \  feat: Implementation of `hcl` commands by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4169](https://redirect.github.com/gruntwork-io/terragrunt/pull/4169)\n-
          \  fix: Adding redirect from /docs/reference/experiment-mode to /docs/reference/experiments
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4178](https://redirect.github.com/gruntwork-io/terragrunt/pull/4178)\n-
          \  fix: Fix spelling by [@&#8203;hpe-noinarisak](https://redirect.github.com/hpe-noinarisak)
          in [https://github.com/gruntwork-io/terragrunt/pull/4179](https://redirect.github.com/gruntwork-io/terragrunt/pull/4179)\n-
          \  fix: Update status of cli-redesign experiment by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4188](https://redirect.github.com/gruntwork-io/terragrunt/pull/4188)\n-
          \  build(deps): bump github.com/charmbracelet/bubbles from 0.20.0 to 0.21.0
          by [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4160](https://redirect.github.com/gruntwork-io/terragrunt/pull/4160)\n\n####
          New Contributors\n\n-   [@&#8203;hpe-noinarisak](https://redirect.github.com/hpe-noinarisak)
          made their first contribution in [https://github.com/gruntwork-io/terragrunt/pull/4179](https://redirect.github.com/gruntwork-io/terragrunt/pull/4179)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.20...v0.77.21\n\n###
          [`v0.77.20`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.20)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.19...v0.77.20)\n\n####
          What's Changed\n\n-   build: Added `build-no-proxy.yml` workflow by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4171](https://redirect.github.com/gruntwork-io/terragrunt/pull/4171)\n-
          \  build: Added `lint.yml` and `strict-lint.yml` workflows for GitHub Actions
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4172](https://redirect.github.com/gruntwork-io/terragrunt/pull/4172)\n-
          \  build: Added codespell workflow by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4173](https://redirect.github.com/gruntwork-io/terragrunt/pull/4173)\n-
          \  build: Added markdownlint v2 to GitHub Actions workflows by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4175](https://redirect.github.com/gruntwork-io/terragrunt/pull/4175)\n-
          \  docs: Improved getting started guide by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4174](https://redirect.github.com/gruntwork-io/terragrunt/pull/4174)\n-
          \  build(deps): bump github.com/ProtonMail/go-crypto from 1.1.6 to 1.2.0
          by [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4161](https://redirect.github.com/gruntwork-io/terragrunt/pull/4161)\n-
          \  build(deps): bump golang.org/x/term from 0.30.0 to 0.31.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4159](https://redirect.github.com/gruntwork-io/terragrunt/pull/4159)\n-
          \  build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.78.2
          to 1.79.2 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4158](https://redirect.github.com/gruntwork-io/terragrunt/pull/4158)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.19...v0.77.20\n\n###
          [`v0.77.19`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.19)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.18...v0.77.19)\n\n####
          \u2728 New Features\n\n##### OpenTelemetry traces are now integrated into
          `find` and `list` commands\n\nfind telemetry:\n![image](https://redirect.github.com/user-attachments/assets/eb5ff11a-e90f-4b5d-bec0-c99cb1419f57)\n\nlist
          telemetry:\n![image](https://redirect.github.com/user-attachments/assets/7af232f1-e822-4aae-8230-12257c359d21)\n\n####
          What's Changed\n\n-   feat: Implemented telemetry for find/list by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4165](https://redirect.github.com/gruntwork-io/terragrunt/pull/4165)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.18...v0.77.19\n\n###
          [`v0.77.18`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.18)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.17...v0.77.18)\n\n####
          \u2728 New Features\n\n##### Support for HCL formatting with the `render`
          command\n\nAs part of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment, the [`render`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#backend-migrate)
          command now supports HCL formatting for rendered configurations, which is
          the default output format.\n\nUsing the `render` command with HCL formatting
          allows users to get a quick, minimal evaluation of Terragrunt unit configurations
          with as much pre-processing done as possible.\n\nFor example, the following
          `terragrunt.hcl` file:\n\n```hcl\n\n### terragrunt.hcl\n\nlocals {\n  aws_region
          = \"us-east-1\"\n}\n\ninputs = {\n  aws_region = local.aws_region\n}\n```\n\nRenders
          to the following HCL:\n\n```bash\n$ terragrunt render\nlocals {\n  aws_region
          = \"us-east-1\"\n}\ninputs = {\n  aws_region = \"us-east-1\"\n}\n```\n\nUsing
          the `render` command with HCL formatting offers a way to resolve complex
          HCL function evaluation, include merging or string interpolation, etc. to
          achieve equivalent Terragrunt HCL configurations that are easier to reason
          about.\n\n#### What's Changed\n\n-   feat: Adding `render` with HCL formatting
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4164](https://redirect.github.com/gruntwork-io/terragrunt/pull/4164)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.17...v0.77.18\n\n###
          [`v0.77.17`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.17)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.16...v0.77.17)\n\n####
          \u2728 New Features\n\n##### Introduction of the `render` command\n\nAs
          part of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment, the [`render`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#backend-migrate)
          command has been introduced.\n\nThe `render` command allows users to easily
          render Terragrunt unit configurations with reduced complexity, making it
          easier to understand configurations at a glance.\n\nFor example, the following
          `terragrunt.hcl` file:\n\n```hcl\n\n### terragrunt.hcl\n\nlocals {\n  aws_region
          = \"us-east-1\"\n}\n\ninputs = {\n  aws_region = local.aws_region\n}\n```\n\nRenders
          to the following JSON:\n\n```bash\n$ terragrunt render --format json\n{\n
          \ \"locals\": { \"aws_region\": \"us-east-1\" },\n  \"inputs\": { \"aws_region\":
          \"us-east-1\" }\n  // NOTE: other attributes are omitted for brevity\n}\n```\n\nThe
          introduction of the `render` command is part of the eventual deprecation
          of the existing `render-json` command, which will be deprecated by the end
          of the CLI Redesign. The `render` command is a higher level command, that
          offers the ability to write to stdout, in addition to writing to files,
          and will support HCL configurations in addition to JSON (coming soon).\n\nTo
          learn more about the `render` command, read the official documentation [here](https://terragrunt.gruntwork.io/docs/reference/cli-options/#render).\n\n####
          What's Changed\n\n-   feat: Adding `render` command by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4145](https://redirect.github.com/gruntwork-io/terragrunt/pull/4145)\n-
          \  feat: Adding docs for `backend migrate` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4140](https://redirect.github.com/gruntwork-io/terragrunt/pull/4140)\n-
          \  build(deps): bump ruby/setup-ruby from 1.229.0 to 1.230.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4162](https://redirect.github.com/gruntwork-io/terragrunt/pull/4162)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.16...v0.77.17\n\n###
          [`v0.77.16`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.16)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.15...v0.77.16)\n\n####
          \u2728 New Features\n\n##### Introduction of the `backend migrate` command\n\nAs
          part of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment, the [`backend migrate`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#backend-migrate)
          command has been introduced.\n\nThe `backend migrate` command allows you
          to simply migrate state between different units (or renames of units) without
          manually running OpenTofu/Terraform state migration commands.\n\nTo learn
          more about the `backend migrate` command, read the [official docs](https://terragrunt.gruntwork.io/docs/reference/cli-options/#backend-migrate).\n\n####
          What's Changed\n\n-   feat: Added support for migrating state between different
          backends by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4154](https://redirect.github.com/gruntwork-io/terragrunt/pull/4154)\n-
          \  feat: Enhanced error explainer to detect and report issues related to
          `stack` values by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4163](https://redirect.github.com/gruntwork-io/terragrunt/pull/4163)\n-
          \  fix: Improved the deprecation message for experimental command flags
          by [@&#8203;levkohimins](https://redirect.github.com/levkohimins) in [https://github.com/gruntwork-io/terragrunt/pull/4146](https://redirect.github.com/gruntwork-io/terragrunt/pull/4146)\n-
          \  fix: Prevent `TF_CLI_CONFIG_FILE` environment variable from being overwritten,
          except during `init` and `providers` commands by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4155](https://redirect.github.com/gruntwork-io/terragrunt/pull/4155)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.15...v0.77.16\n\n###
          [`v0.77.15`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.15)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.14...v0.77.15)\n\n####
          \u2728 New Features\n\n##### Introduction of the `dag graph` command\n\nAs
          part of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment, the [`dag graph`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#print-graph)
          command has been introduced.\n\n![dag](https://redirect.github.com/user-attachments/assets/389d4e31-197c-4c37-8913-1417ecd3e5b4)\n\n![dag-help](https://redirect.github.com/user-attachments/assets/2525cd27-0d8e-457b-87ea-759fae31e2f3)\n\n![dag-graph-help](https://redirect.github.com/user-attachments/assets/fb268b20-f32b-4b4f-ba13-0d1fc9fca748)\n\n####
          What's Changed\n\n-   docs: Added migration guide for adopting Terragrunt
          Stacks by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4152](https://redirect.github.com/gruntwork-io/terragrunt/pull/4152)\n-
          \  feat: Added dag graph command by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4143](https://redirect.github.com/gruntwork-io/terragrunt/pull/4143)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.14...v0.77.15\n\n###
          [`v0.77.14`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.14)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.13...v0.77.14)\n\n####
          \u2728 New Features\n\n##### Support for `--exclude` and `--queue-construct-as`
          in `find` and `list`\n\nThe [`find`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#find)
          and [`list`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#list)
          commands have been updated to leverage new capabilities involving greater
          understanding of the Terragrunt run queue.\n\nUsers can now leverage the
          [`--queue-construct-as`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#find-queue-construct-as)
          (or just `--as`) flag in the `find` and `list` commands to discover configurations
          as if a particular Terragrunt command was being run (e.g. `plan`, `destroy`).\n\nFor
          example:\n\n```bash\n$ terragrunt find --queue-construct-as=plan\nstacks/live/dev\nstacks/live/prod\nunits/live/dev/vpc\nunits/live/prod/vpc\nunits/live/dev/db\nunits/live/prod/db\nunits/live/dev/ec2\nunits/live/prod/ec2\n```\n\n```bash\n$
          terragrunt find --as=destroy\nstacks/live/dev\nstacks/live/prod\nunits/live/dev/ec2\nunits/live/prod/ec2\nunits/live/dev/db\nunits/live/prod/db\nunits/live/dev/vpc\nunits/live/prod/vpc\n```\n\nThe
          `find` and `list` commands will now construct the Terragrunt run queue as
          if a particular command was being run, potentially altering the position
          of elements in the run queue, based on their dependencies (dependencies
          before dependents for plans, applies, etc. and dependents before dependencies
          for destroys).\n\nIn addition, users can leverage the [`--exclude`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#find-exclude)
          flag on the `find` command to get information on the `exclude` block included
          in results. The `exclude` block is also factored in to discovery results
          when the `--queue-construct-as` flag is passed, allowing users to dry-run
          behavior of the `exclude` block before performing any Terragrunt runs.\n\n####
          What's Changed\n\n-   feat: Adding exclude support to list and find by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4147](https://redirect.github.com/gruntwork-io/terragrunt/pull/4147)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.13...v0.77.14\n\n###
          [`v0.77.13`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.13)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.12...v0.77.13)\n\n####
          What's Changed\n\n-   build(deps): bump google.golang.org/grpc from 1.71.0
          to 1.71.1 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4132](https://redirect.github.com/gruntwork-io/terragrunt/pull/4132)\n-
          \  build(deps): bump golang.org/x/sys from 0.31.0 to 0.32.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4133](https://redirect.github.com/gruntwork-io/terragrunt/pull/4133)\n-
          \  build(deps): bump golang.org/x/oauth2 from 0.28.0 to 0.29.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4131](https://redirect.github.com/gruntwork-io/terragrunt/pull/4131)\n-
          \  build(deps): bump github.com/getsops/sops/v3 from 3.9.4 to 3.10.1 by
          [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4130](https://redirect.github.com/gruntwork-io/terragrunt/pull/4130)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.12...v0.77.13\n\n###
          [`v0.77.12`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.12)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.11...v0.77.12)\n\n####
          \u2728 New Features\n\nIntroduced `no_validation` attribute for `stack`
          and `unit`, allowing users to bypass Terragrunt's validation checks when
          deploying infrastructure. This is particularly useful in scenarios where
          you need to deploy infrastructure that doesn't strictly adhere to Terragrunt's
          validation rules, such as during emergency deployments or when working with
          legacy infrastructure patterns.\n\n#### What's Changed\n\n-   docs: added
          more docs for stacks by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4144](https://redirect.github.com/gruntwork-io/terragrunt/pull/4144)\n-
          \  feat: added support for `no_validation` attribute for `stack` and `unit`
          by [@&#8203;denis256](https://redirect.github.com/denis256) in [https://github.com/gruntwork-io/terragrunt/pull/4149](https://redirect.github.com/gruntwork-io/terragrunt/pull/4149)\n\nRFC:
          [https://github.com/gruntwork-io/terragrunt/issues/3313](https://redirect.github.com/gruntwork-io/terragrunt/issues/3313)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.11...v0.77.12\n\n###
          [`v0.77.11`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.11)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.10...v0.77.11)\n\n####
          \u2728 New Features\n\n##### Introduction of the `info print` command\n\nAs
          part of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment, the [`info print`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#print-command)
          command has been introduced.\n\n![help](https://redirect.github.com/user-attachments/assets/2eac4645-93c2-47dd-8dc3-73c4442bf1c8)\n\n![out](https://redirect.github.com/user-attachments/assets/7005c5db-15e1-4efe-b5a8-349a179f6033)\n\n####
          What's Changed\n\n-   feat: Introduced the `info print` command to output
          Terragrunt context as a structured JSON object by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4122](https://redirect.github.com/gruntwork-io/terragrunt/pull/4122)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.10...v0.77.11\n\n###
          [`v0.77.10`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.10)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.9...v0.77.10)\n\n####
          What's Changed\n\n-   fix: Suppressing warning for catalog when determining
          default file name by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4134](https://redirect.github.com/gruntwork-io/terragrunt/pull/4134)\n-
          \  fix: Remove warning message for unimplemented backends by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4138](https://redirect.github.com/gruntwork-io/terragrunt/pull/4138)\n-
          \  fix: Fixing optional default template by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4141](https://redirect.github.com/gruntwork-io/terragrunt/pull/4141)\n-
          \  chore: stack code improvements by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4136](https://redirect.github.com/gruntwork-io/terragrunt/pull/4136)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.9...v0.77.10\n\n###
          [`v0.77.9`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.9)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.8...v0.77.9)\n\n####
          \U0001F41B Bug fixes\n\n##### Fetching Outputs from Nested Stacks\n\nResolved
          an issue that prevented the correct retrieval of outputs from nested stacks.\n\n####
          What's Changed\n\n-   fix: corrected the logic for fetching outputs from
          nested stacks by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4126](https://redirect.github.com/gruntwork-io/terragrunt/pull/4126)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.8...v0.77.9\n\n###
          [`v0.77.8`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.8)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.7...v0.77.8)\n\n####
          \U0001F4D6 Documentation Updates\n\nA new [performance guide](https://terragrunt.gruntwork.io/docs/troubleshooting/performance/)
          has been added to Terragrunt documentation to offer guidance on how performance
          can be improved when using Terragrunt or contributing to the Terragrunt
          codebase.\n\nThis documentation will evolve over time, as more optional
          optimizations become available, or are no longer necessary, as they become
          default behavior.\n\n#### What's Changed\n\n-   feat: Add performance guide
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4120](https://redirect.github.com/gruntwork-io/terragrunt/pull/4120)\n-
          \  build(deps): bump ruby/setup-ruby from 1.221.0 to 1.229.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4100](https://redirect.github.com/gruntwork-io/terragrunt/pull/4100)\n-
          \  fix: Addressing commas in external IDs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4128](https://redirect.github.com/gruntwork-io/terragrunt/pull/4128)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.7...v0.77.8\n\n###
          [`v0.77.7`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.7)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.6...v0.77.7)\n\n####
          \u2728 New Features\n\nUsers can now configure a custom default template
          for `scaffold` and `catalog` commands in their `catalog` configuration blocks
          like so:\n\n```hcl\ncatalog {\n  default_template = \"git@github.com/acme/example.git//path/to/template\"\n}\n```\n\nFor
          more information, read the documentation in the [catalog feature](https://terragrunt.gruntwork.io/docs/features/catalog/#custom-templates-for-scaffolding).\n\nSpecial
          thanks to [@&#8203;tgeijg](https://redirect.github.com/tgeijg) for contributing
          this feature!\n\n#### What's Changed\n\n-   feat: Adding custom default
          template [#&#8203;3658](https://redirect.github.com/gruntwork-io/terragrunt/issues/3658)
          by [@&#8203;tgeijg](https://redirect.github.com/tgeijg) in [https://github.com/gruntwork-io/terragrunt/pull/4035](https://redirect.github.com/gruntwork-io/terragrunt/pull/4035)\n-
          \  fix: Updating docs after [#&#8203;4035](https://redirect.github.com/gruntwork-io/terragrunt/issues/4035)
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4117](https://redirect.github.com/gruntwork-io/terragrunt/pull/4117)\n-
          \  chore: stacks documentation improvements by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4114](https://redirect.github.com/gruntwork-io/terragrunt/pull/4114)\n\n####
          New Contributors\n\n-   [@&#8203;tgeijg](https://redirect.github.com/tgeijg)
          made their first contribution in [https://github.com/gruntwork-io/terragrunt/pull/4035](https://redirect.github.com/gruntwork-io/terragrunt/pull/4035)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.6...v0.77.7\n\n###
          [`v0.77.6`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.6)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.5...v0.77.6)\n\n####
          What's Changed\n\n-   fix: Correctly ignore lock table encryption setting
          to prevent unintended configuration overrides by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4112](https://redirect.github.com/gruntwork-io/terragrunt/pull/4112)\n-
          \  fix: Introduced stricter constraints for detecting stack configuration
          files by [@&#8203;denis256](https://redirect.github.com/denis256) in [https://github.com/gruntwork-io/terragrunt/pull/4113](https://redirect.github.com/gruntwork-io/terragrunt/pull/4113)\n-
          \  feat: Enabled parsing of stack configuration directly from a string input
          for enhanced integration with 3rd party code by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4110](https://redirect.github.com/gruntwork-io/terragrunt/pull/4110)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.5...v0.77.6\n\n###
          [`v0.77.5`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.5)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.4...v0.77.5)\n\n####
          What's Changed\n\n-   feat: added support for OpenTelemetry in `stack` commands
          to enable enhanced observability and tracing by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4109](https://redirect.github.com/gruntwork-io/terragrunt/pull/4109)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.4...v0.77.5\n\n###
          [`v0.77.4`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.4)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.3...v0.77.4)\n\n####
          \U0001F41B Bug fixes\n\n##### Newlines reduced in Error Logging for Configuration
          Errors\n\nLogging for configuration errors has been compacted to reduce
          noise, and make errors easier to read.\n\n```\n\n### Before\n14:09:25.892
          ERROR  Error: Error in function call\n\n14:09:25.892 ERROR    on terragrunt.hcl
          line 3, in locals:\n\n14:09:25.892 ERROR     3:       requires_auth = run_cmd(\"exit\",
          \"1\") // intentional error\n\n14:09:25.892 ERROR\n\n14:09:25.892 ERROR
          \ Call to function \"run_cmd\" failed: Failed to execute \"exit 1\" in .\n\nexec:
          \"exit\": executable file not found in $PATH.\n\n```\n\n    ### After\n
          \   15:19:50.937 ERROR  Error: Error in function call\n    15:19:50.937
          ERROR    on terragrunt.hcl line 3, in locals:\n    15:19:50.937 ERROR  Error:
          Error in function call\n    15:19:50.937 ERROR    on terragrunt.hcl line
          3, in locals:\n    15:19:50.937 ERROR     3:       requires_auth = run_cmd(\"exit\",
          \"1\") // intentional error\n    15:19:50.937 ERROR     3:       fail   =
          run_cmd(\"exit\", \"1\") // intentional error\n    15:19:50.937 ERROR  Call
          to function \"run_cmd\" failed: Failed to execute \"exit 1\" in .\n    15:19:50.937
          ERROR  exec: \"exit\": executable file not found in $PATH.\n\n##### Improved
          Cycle Detection Logic for `stack generate`\n\nOn the default filesystem
          for macOS, path length was likely to result in an error before internal
          cycle detection logic, so cycle detection was updated to leverage a maximum
          path length of 1024 characters as an earlier exit for all operating systems.\n\n#####
          Excessive warning for bootstrap requirement resolved\n\nInternal logic for
          determination that backends required bootstrapping was adjusted to no longer
          leverage the value of the OpenTofu state file.\n\nWhile cheaper than making
          a network request to assess the current state of backend resources, it also
          resulted in false negatives, which triggered excessive backend bootstrap
          warnings.\n\n#### What's Changed\n\n-   fix: New lines in TF diagnostic
          log by [@&#8203;levkohimins](https://redirect.github.com/levkohimins) in
          [https://github.com/gruntwork-io/terragrunt/pull/4108](https://redirect.github.com/gruntwork-io/terragrunt/pull/4108)\n-
          \  fix: Stack cycles detection improvements by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4106](https://redirect.github.com/gruntwork-io/terragrunt/pull/4106)\n-
          \  fix: Fixing excessive warning for bootstrap by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4107](https://redirect.github.com/gruntwork-io/terragrunt/pull/4107)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.3...v0.77.4\n\n</details>\n\n---\n\n###
          Configuration\n\n\U0001F4C5 **Schedule**: Branch creation - At any time
          (no schedule defined), Automerge - At any time (no schedule defined).\n\n\U0001F6A6
          **Automerge**: Disabled by config. Please merge this manually once you are
          satisfied.\n\n\u267B **Rebasing**: Whenever PR becomes conflicted, or you
          tick the rebase/retry checkbox.\n\n\U0001F515 **Ignore**: Close this PR
          and you won't be reminded about this update again.\n\n---\n\n - [ ] <!--
          rebase-check -->If you want to rebase/retry this PR, check this box\n\n---\n\nThis
          PR was generated by [Mend Renovate](https://mend.io/renovate/). View the
          [repository job log](https://developer.mend.io/github/osism/testbed).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjQwLjE2LjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbInJlbm92YXRlIl19-->\n"
        change_url: https://github.com/osism/testbed/pull/2654
        commit_id: 75ffde103fc915ebaf25a18091215710415d6b3a
        patchset: 75ffde103fc915ebaf25a18091215710415d6b3a
        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: 02ba0df5b4bc449a8a19109901a45856
      buildset_refs:
      - branch: main
        change: '2654'
        change_message: "chore(deps): update dependency gruntwork-io/terragrunt to
          v0.79.3\n\nThis PR contains the following updates:\n\n| Package | Update
          | Change |\n|---|---|---|\n| [gruntwork-io/terragrunt](https://redirect.github.com/gruntwork-io/terragrunt)
          | minor | `v0.77.3` -> `v0.79.3` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>gruntwork-io/terragrunt
          (gruntwork-io/terragrunt)</summary>\n\n### [`v0.79.3`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.79.3)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.79.2...v0.79.3)\n\n####
          \U0001F4AA\U0001F3FD Enhancements\n\n##### Limitation on Catalog URLs lifted\n\nA
          limitation on only supporting recognized go-getter URL patters has been
          lifted from the [catalog](https://terragrunt.gruntwork.io/docs/features/catalog/)
          command.\n\nThe reason this limitation existed in the past was to ensure
          that users were able to have Terragrunt load module source code in browsers
          from the catalog Terminal User Interface (TUI). To support that, only a
          constrained set of sources were supported, to ensure that a button was available
          to pop open the link in the browser.\n\n<img width=\"670\" alt=\"image\"
          src=\"https://github.com/user-attachments/assets/92dc016e-3bc5-46f5-b690-da3043590c24\"
          />\n\n<img width=\"666\" alt=\"image\" src=\"https://github.com/user-attachments/assets/f512e901-4deb-4771-8cbd-ea3d54cf5594\"
          />\n\nTerragrunt will now dynamically adjust the buttons available after
          module selection to gracefully degrade the experience, instead of completely
          rejecting repository sources that can't be predictably converted to browser
          URLs.\n\n<img width=\"346\" alt=\"image\" src=\"https://github.com/user-attachments/assets/76a7b1e5-c148-42b2-a696-d7fd750e866d\"
          />\n\nThis allows more users to adopt the Terragrunt Catalog, while providing
          the same great user experience for users that are on fully supported platforms,
          like GitHub, GitLab, BitBucket, etc.\n\n#### What's Changed\n\n-   feat:
          Allow unknown catalog URLs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4318](https://redirect.github.com/gruntwork-io/terragrunt/pull/4318)\n-
          \  docs: Clarify ambiguous documentation on variable precedence by [@&#8203;owattley-rotageek](https://redirect.github.com/owattley-rotageek)
          in [https://github.com/gruntwork-io/terragrunt/pull/4319](https://redirect.github.com/gruntwork-io/terragrunt/pull/4319)\n-
          \  chore: Adjusting catalog implementation by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4315](https://redirect.github.com/gruntwork-io/terragrunt/pull/4315)\n\n####
          New Contributors\n\n-   [@&#8203;owattley-rotageek](https://redirect.github.com/owattley-rotageek)
          made their first contribution in [https://github.com/gruntwork-io/terragrunt/pull/4319](https://redirect.github.com/gruntwork-io/terragrunt/pull/4319)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.79.2...v0.79.3\n\n###
          [`v0.79.2`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.79.2)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.79.1...v0.79.2)\n\n####
          \U0001F697 Performance Improvements\n\nImproved overall performance by memoizing
          `-version` output in each unit.\n\n#### What's Changed\n\n-   feat: Improved
          performance by memoizing `-version` output by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4288](https://redirect.github.com/gruntwork-io/terragrunt/pull/4288)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.79.1...v0.79.2\n\n###
          [`v0.79.1`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.79.1)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.79.0...v0.79.1)\n\n####
          \U0001F4AA\U0001F3FD Enhancements\n\n##### Recursive stack clean\n\nImproved
          `stack clean` to recursively delete all nested stack directories, ensuring
          thorough cleanup.\n\n#### What's Changed\n\n-   feat: Enabled recursive
          deletion of stack directories in `stack clean` by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4313](https://redirect.github.com/gruntwork-io/terragrunt/pull/4313)\n-
          \  feat: Switching to GitHub Actions OIDC role assumption for OIDC test
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4305](https://redirect.github.com/gruntwork-io/terragrunt/pull/4305)\n-
          \  fix: Corrected mislabeled `legacy-all` control in documentation by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4311](https://redirect.github.com/gruntwork-io/terragrunt/pull/4311)\n-
          \  fix: Enabled disabled tests by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4312](https://redirect.github.com/gruntwork-io/terragrunt/pull/4312)\n-
          \  docs: updated quick start documentation with additional output directory
          usage by [@&#8203;james03160927](https://redirect.github.com/james03160927)
          in [https://github.com/gruntwork-io/terragrunt/pull/4299](https://redirect.github.com/gruntwork-io/terragrunt/pull/4299)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.79.0...v0.79.1\n\n###
          [`v0.79.0`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.79.0)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.4...v0.79.0)\n\n####
          \U0001F4AA\U0001F3FD Enhancements\n\n##### The `run --all` command automatically
          generates Terragrunt Stacks\n\nIf you are using `terragrunt.stack.hcl` files
          in your codebase, `run --all` commands will now automatically expand all
          `terragrunt.stack.hcl` files into generated stack configurations, as if
          you had run `stack generate` before running the `run --all` command.\n\ne.g.\n\n```bash\nterragrunt
          run --all plan\n```\n\nIs now equivalent to:\n\n```bash\nterragrunt stack
          generate\nterragrunt run --all plan\n```\n\nIf you would like to disable
          this new behavior, you can use the `--no-stack-generate` to opt out of automatic
          stack generation.\n\n#### \U0001F4D6 Docs Updates\n\nThe [Terragrunt v1](https://terragrunt-v1.gruntwork.io/)
          docs are open for feedback!\n\nThese docs will undergo significant adjustments,
          both stylistically, and functionality on the road to 1.0.\n\nThey are a
          full rewrite of the existing Terragrunt Docs site written in [Jekyll](https://jekyllrb.com/)
          to one using [Starlight](https://starlight.astro.build/).\n\nYour feedback
          is requested! If you are reading these release notes relatively soon after
          release, you should see a link at the top of the site where you can provide
          your feedback on the new docs.\n\n#### What's Changed\n\n-   feat: Moving
          users over to terragrunt-v1.gruntwork.io docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4202](https://redirect.github.com/gruntwork-io/terragrunt/pull/4202)\n-
          \  feat: Adding GTM by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4285](https://redirect.github.com/gruntwork-io/terragrunt/pull/4285)\n-
          \  feat: Github Action tests migration by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4281](https://redirect.github.com/gruntwork-io/terragrunt/pull/4281)\n-
          \  feat: Automatically stack generate in run --all or run --graph command
          by [@&#8203;james03160927](https://redirect.github.com/james03160927) in
          [https://github.com/gruntwork-io/terragrunt/pull/4283](https://redirect.github.com/gruntwork-io/terragrunt/pull/4283)\n-
          \  feat: Adding cloud-nuke cron by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4306](https://redirect.github.com/gruntwork-io/terragrunt/pull/4306)\n-
          \  feat: Adjusting nav height by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4284](https://redirect.github.com/gruntwork-io/terragrunt/pull/4284)\n-
          \  fix: Fixing `remote-relative-with-slash` fixture on ARM tests by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4297](https://redirect.github.com/gruntwork-io/terragrunt/pull/4297)\n-
          \  fix: Fixing install version by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4310](https://redirect.github.com/gruntwork-io/terragrunt/pull/4310)\n-
          \  fix: Improved error handling in AWS docs by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4303](https://redirect.github.com/gruntwork-io/terragrunt/pull/4303)\n-
          \  chore: enable TestRemoteDownloadWithRelativePathAndSlashInBranch test
          by [@&#8203;denis256](https://redirect.github.com/denis256) in [https://github.com/gruntwork-io/terragrunt/pull/4286](https://redirect.github.com/gruntwork-io/terragrunt/pull/4286)\n-
          \  build(deps): bump ruby/setup-ruby from 1.233.0 to 1.238.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4270](https://redirect.github.com/gruntwork-io/terragrunt/pull/4270)\n-
          \  build(deps): bump github.com/gruntwork-io/terratest from 0.48.2 to 0.49.0
          by [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4267](https://redirect.github.com/gruntwork-io/terragrunt/pull/4267)\n-
          \  build(deps): bump ruby/setup-ruby from 1.238.0 to 1.242.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4301](https://redirect.github.com/gruntwork-io/terragrunt/pull/4301)\n-
          \  build(deps): bump DavidAnson/markdownlint-cli2-action from 19 to 20 by
          [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4302](https://redirect.github.com/gruntwork-io/terragrunt/pull/4302)\n\n####
          New Contributors\n\n-   [@&#8203;james03160927](https://redirect.github.com/james03160927)
          made their first contribution in [https://github.com/gruntwork-io/terragrunt/pull/4283](https://redirect.github.com/gruntwork-io/terragrunt/pull/4283)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.4...v0.79.0\n\n###
          [`v0.78.4`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.4)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.3...v0.78.4)\n\n####
          \u2728 New Features\n\n##### OpenTelemetry Trace Propogation\n\nIn anticipation
          of the introduction of OpenTelemetry support in OpenTofu 1.10, Terragrunt
          will now propagate the `TRACEPARENT` environment variable to child processes
          to support OpenTelemetry traces that maintain context across Terragrunt
          and OpenTofu.\n\nThis work is based on [@&#8203;Yantrio](https://redirect.github.com/Yantrio)
          's PoC PR [#&#8203;4254](https://redirect.github.com/gruntwork-io/terragrunt/issues/4254),
          and is only useful due to his work adding OpenTelemtry in OpenTofu. Thank
          you!\n\n#### What's Changed\n\n-   feat: Added generation of opentelemetry
          parent traces to invoked executables by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4278](https://redirect.github.com/gruntwork-io/terragrunt/pull/4278)\n-
          \  feat: Added support for Terraform tests in Github Action by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4275](https://redirect.github.com/gruntwork-io/terragrunt/pull/4275)\n-
          \  docs: Added homepage to Starlight docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4250](https://redirect.github.com/gruntwork-io/terragrunt/pull/4250)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.3...v0.78.4\n\n###
          [`v0.78.3`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.3)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.2...v0.78.3)\n\n####
          \U0001F41B Bug Fixes\n\nWhen an [error retry](https://terragrunt.gruntwork.io/docs/features/runtime-control/#errors)
          results in a plan succeeding when it initially failed, usage of `run --all
          -- plan -detailed-exitcode` will now properly take into account the *final*
          exit code, rather than the first one, meaning that the exit code of the
          whole run will be zero if no other units fail their plans.\n\nThanks to
          [@&#8203;wakeful](https://redirect.github.com/wakeful) for contributing
          this fix!\n\n#### What's Changed\n\n-   fix [#&#8203;3845](https://redirect.github.com/gruntwork-io/terragrunt/issues/3845)
          set the correct exit code when a retry is successful. by [@&#8203;wakeful](https://redirect.github.com/wakeful)
          in [https://github.com/gruntwork-io/terragrunt/pull/3966](https://redirect.github.com/gruntwork-io/terragrunt/pull/3966)\n-
          \  docs: Improving Run Queue docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4272](https://redirect.github.com/gruntwork-io/terragrunt/pull/4272)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.2...v0.78.3\n\n###
          [`v0.78.2`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.2)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.1...v0.78.2)\n\n####
          What's Changed\n\n-   feat: enable GCP integration tests in GH Action by
          [@&#8203;denis256](https://redirect.github.com/denis256) in [https://github.com/gruntwork-io/terragrunt/pull/4257](https://redirect.github.com/gruntwork-io/terragrunt/pull/4257)\n-
          \  feat: fixed TestGcpWorksWithImpersonateBackend test by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4261](https://redirect.github.com/gruntwork-io/terragrunt/pull/4261)\n-
          \  feat: Adding integration tests by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4198](https://redirect.github.com/gruntwork-io/terragrunt/pull/4198)\n-
          \  feat: add Windows integration tests by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4262](https://redirect.github.com/gruntwork-io/terragrunt/pull/4262)\n-
          \  fix: Removing HTML `font-size` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4256](https://redirect.github.com/gruntwork-io/terragrunt/pull/4256)\n-
          \  docs: Adding Run Queue Docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4249](https://redirect.github.com/gruntwork-io/terragrunt/pull/4249)\n-
          \  build(deps): bump github.com/gruntwork-io/boilerplate to v0.6.1 by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
          \  build(deps): bump github.com/gruntwork-io/terragrunt-engine-go to v0.0.14
          by [@&#8203;denis256](https://redirect.github.com/denis256) in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
          \  build(deps): bump golang.org/x/oauth2 to v0.30.0 by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
          \  build(deps): bump golang.org/x/sync to v0.14.0 by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
          \  build(deps): bump google.golang.org/api to v0.232.0 by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
          \  build(deps): bump google.golang.org/grpc to v1.72.0 by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
          \  chore: dependencies update by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.1...v0.78.2\n\n###
          [`v0.78.1`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.1)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.0...v0.78.1)\n\n####
          What's Changed\n\n-   docs: Updating docs now that stacks are generally
          available by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4243](https://redirect.github.com/gruntwork-io/terragrunt/pull/4243)\n-
          \  fix: AWS S3 backend access logging bucket not versioning by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4246](https://redirect.github.com/gruntwork-io/terragrunt/pull/4246)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.0...v0.78.1\n\n###
          [`v0.78.0`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.0)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.22...v0.78.0)\n\n####
          \U0001F9EA Experiments Completed\n\nThe [stacks](https://terragrunt.gruntwork.io/docs/reference/experiments/#stacks)
          experiment is now complete.\n\nIf you were previously using the flag `--experiment
          stacks` to opt in to experimental functionality, you no longer have to do
          so. Note that if you are, you will simply get a warning that it is no longer
          necessary.\n\n#### \U0001F6E0\uFE0F Breaking Changes\n\nLegacy commands
          (as replaced by the [CLI Redesign](https://redirect.github.com/gruntwork-io/terragrunt/issues/3445)
          are now deprecated, and will be phased out at a future date, which will
          be scheduled in [#&#8203;3535](https://redirect.github.com/gruntwork-io/terragrunt/issues/3535).
          Make sure to subscribe to the issue if you would like to be informed when
          these deprecated features are no longer supported.\n\nFor instructions on
          migrating to the new commands provided after the CLI Redesign, read the
          [CLI Redesign Migration Guide](https://terragrunt.gruntwork.io/docs/migrate/cli-redesign/).\n\nThe
          following are now deprecated:\n\n-   `hclfmt` (use `hcl fmt` instead)\n-
          \  `hclvalidate` (use `hcl validate` instead)\n-   `validate-inputs` (use
          `hcl validate --inputs` and `hcl validate --inputs --strict` instead)\n-
          \  `terragrunt-info` (use `info print` instead)\n-   `output-module-groups`
          (use `find --dag --json` instead)\n-   `render-json` (use `render --json
          -w` instead)\n-   `graph-dependencies` (use `dag graph` instead)\n-   `run-all`
          (use `run --all` instead)\n-   `graph` (use `run --graph` instead)\n-   The
          default command. e.g. `terragrunt workspace list` (use `terragrunt run --
          workspace list` instead)\n-   Default bootstrap (automatically provisioning
          backend resources without additional flags). This is now opt in behavior,
          and requires usage of the `--backend-bootstrap` flag or explicitly running
          the new `backend bootstrap` command.\n-   `aws-provider-patch` (we are simply
          deprecating this command, and removing it when the other commands are removed.
          It served its purpose as a short term stopgap tool).\n\nNote that this will
          not result in an immediate breaking change for users, as we\u2019ll have
          an initial deprecation window to give users time to adjust to these changes.
          If you\u2019d like to ensure that you are prepared for the future removal
          of legacy commands, you can take advantage of the [cli-redesign](https://terragrunt.gruntwork.io/docs/reference/strict-mode/#cli-redesign)
          strict control to opt in to the future breaking change early.\n\n#### \U0001F4AA\U0001F3FD
          \ Enhancements\n\nThe logging for stack generation has been improved to
          make it easier to determine at a glance the stack file that\u2019s generating
          a particular unit.\n\n![stacks-generation](https://redirect.github.com/user-attachments/assets/11c49c92-edfd-4d3a-b2c6-4bae4326e0e2)\n\n####
          What's Changed\n\n-   feat: improved stack logs generation by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4213](https://redirect.github.com/gruntwork-io/terragrunt/pull/4213)\n-
          \  feat: stacks expriment completion by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4222](https://redirect.github.com/gruntwork-io/terragrunt/pull/4222)\n-
          \  feat: Deprecating `render-json` command by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4227](https://redirect.github.com/gruntwork-io/terragrunt/pull/4227)\n-
          \  feat: Deprecating `aws-provider-patch` command by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4228](https://redirect.github.com/gruntwork-io/terragrunt/pull/4228)\n-
          \  feat: Deprecating `output-module-groups` command by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4229](https://redirect.github.com/gruntwork-io/terragrunt/pull/4229)\n-
          \  fix: Fixing base tests for macOS by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4193](https://redirect.github.com/gruntwork-io/terragrunt/pull/4193)\n-
          \  fix: Fixing 404 in performance docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4194](https://redirect.github.com/gruntwork-io/terragrunt/pull/4194)\n-
          \  fix: basic tests execution update by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4192](https://redirect.github.com/gruntwork-io/terragrunt/pull/4192)\n-
          \  fix: Throwing interrupt signal with `--all` flag by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4224](https://redirect.github.com/gruntwork-io/terragrunt/pull/4224)\n-
          \  fix: handling of errors in parsing base blocks by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4226](https://redirect.github.com/gruntwork-io/terragrunt/pull/4226)\n-
          \  fix: Cleaning up legacy `-all` usage by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4239](https://redirect.github.com/gruntwork-io/terragrunt/pull/4239)\n-
          \  fix: Rename all the `--terragrunt-` flags by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4203](https://redirect.github.com/gruntwork-io/terragrunt/pull/4203)\n-
          \  fix: Cleaning up `run-all` usage by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4223](https://redirect.github.com/gruntwork-io/terragrunt/pull/4223)\n-
          \  fix: Updating environment variables for flags by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4240](https://redirect.github.com/gruntwork-io/terragrunt/pull/4240)\n-
          \  fix: Updating migration guide for CLI Redesign migration by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4207](https://redirect.github.com/gruntwork-io/terragrunt/pull/4207)\n-
          \  docs: Adding docs for `cli-redesign` strict control by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4238](https://redirect.github.com/gruntwork-io/terragrunt/pull/4238)\n-
          \  docs: Documenting CLI Redesign deprecations by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4237](https://redirect.github.com/gruntwork-io/terragrunt/pull/4237)\n-
          \  docs: updated stack links by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4201](https://redirect.github.com/gruntwork-io/terragrunt/pull/4201)\n-
          \  chore: Preserve tests with deprecated commands/flags by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4242](https://redirect.github.com/gruntwork-io/terragrunt/pull/4242)\n-
          \  chore: `hclfmt` `hclvalidate` `validate-inputs` as deprecated commands
          (minor fixes) by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4199](https://redirect.github.com/gruntwork-io/terragrunt/pull/4199)\n-
          \  chore: `hclfmt` `hclvalidate` `validate-inputs` as deprecated commands
          by [@&#8203;levkohimins](https://redirect.github.com/levkohimins) in [https://github.com/gruntwork-io/terragrunt/pull/4196](https://redirect.github.com/gruntwork-io/terragrunt/pull/4196)\n-
          \  build(deps): bump github.com/getsops/sops/v3 from 3.10.1 to 3.10.2 by
          [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4185](https://redirect.github.com/gruntwork-io/terragrunt/pull/4185)\n-
          \  build(deps): bump go.opentelemetry.io/otel/exporters/stdout/stdouttrace
          from 1.34.0 to 1.35.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4184](https://redirect.github.com/gruntwork-io/terragrunt/pull/4184)\n-
          \  build(deps): bump DavidAnson/markdownlint-cli2-action from 15 to 19 by
          [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4187](https://redirect.github.com/gruntwork-io/terragrunt/pull/4187)\n-
          \  build(deps): bump ruby/setup-ruby from 1.230.0 to 1.233.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4186](https://redirect.github.com/gruntwork-io/terragrunt/pull/4186)\n-
          \  build(deps-dev): bump nokogiri from 1.18.4 to 1.18.8 in /docs by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4195](https://redirect.github.com/gruntwork-io/terragrunt/pull/4195)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.22...v0.78.0\n\n###
          [`v0.77.22`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.22)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.21...v0.77.22)\n\n####
          \U0001F9EA Experiments Completed\n\n##### The `cli-redesign` experiment
          is now complete\n\nThe [cli-redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment is now complete.\n\nIf you were previously using the flag `--experiment
          cli-redesign` to opt in to experimental functionality, you no longer have
          to do so. Note that if you are, you will simply get a warning that it is
          no longer necessary.\n\n#### What's Changed\n\n-   feat: Adding base tests
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4176](https://redirect.github.com/gruntwork-io/terragrunt/pull/4176)\n-
          \  chore: Complete CLI Redesign experiment by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4189](https://redirect.github.com/gruntwork-io/terragrunt/pull/4189)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.21...v0.77.22\n\n###
          [`v0.77.21`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.21)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.20...v0.77.21)\n\n####
          \u2728 New Features\n\n##### Introduction of `hcl` commands\n\nAs part of
          the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment, the [`hcl`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#hcl-commands)
          commands have been introduced.\n\nThe `hcl` commands allow users to directly
          interact with HCL content independent of the underlying functionality they
          support.\n\nThe functionality of the `hcl` commands replace existing functionality
          that is soon to be deprecated:\n\n-   `hclfmt` --> `hcl fmt`\n-   `hclvalidate`
          --> `hcl validate`\n-   `validate-inputs` --> `hcl validate --inputs`\n-
          \  `validate-inputs --strict-validate` --> `hcl validate --inputs --strict`\n\n####
          What's Changed\n\n-   feat: `hcl` commands docs by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4180](https://redirect.github.com/gruntwork-io/terragrunt/pull/4180)\n-
          \  feat: add symbol link experiemnt in discovery process by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4177](https://redirect.github.com/gruntwork-io/terragrunt/pull/4177)\n-
          \  feat: Implementation of `hcl` commands by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4169](https://redirect.github.com/gruntwork-io/terragrunt/pull/4169)\n-
          \  fix: Adding redirect from /docs/reference/experiment-mode to /docs/reference/experiments
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4178](https://redirect.github.com/gruntwork-io/terragrunt/pull/4178)\n-
          \  fix: Fix spelling by [@&#8203;hpe-noinarisak](https://redirect.github.com/hpe-noinarisak)
          in [https://github.com/gruntwork-io/terragrunt/pull/4179](https://redirect.github.com/gruntwork-io/terragrunt/pull/4179)\n-
          \  fix: Update status of cli-redesign experiment by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4188](https://redirect.github.com/gruntwork-io/terragrunt/pull/4188)\n-
          \  build(deps): bump github.com/charmbracelet/bubbles from 0.20.0 to 0.21.0
          by [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4160](https://redirect.github.com/gruntwork-io/terragrunt/pull/4160)\n\n####
          New Contributors\n\n-   [@&#8203;hpe-noinarisak](https://redirect.github.com/hpe-noinarisak)
          made their first contribution in [https://github.com/gruntwork-io/terragrunt/pull/4179](https://redirect.github.com/gruntwork-io/terragrunt/pull/4179)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.20...v0.77.21\n\n###
          [`v0.77.20`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.20)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.19...v0.77.20)\n\n####
          What's Changed\n\n-   build: Added `build-no-proxy.yml` workflow by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4171](https://redirect.github.com/gruntwork-io/terragrunt/pull/4171)\n-
          \  build: Added `lint.yml` and `strict-lint.yml` workflows for GitHub Actions
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4172](https://redirect.github.com/gruntwork-io/terragrunt/pull/4172)\n-
          \  build: Added codespell workflow by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4173](https://redirect.github.com/gruntwork-io/terragrunt/pull/4173)\n-
          \  build: Added markdownlint v2 to GitHub Actions workflows by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4175](https://redirect.github.com/gruntwork-io/terragrunt/pull/4175)\n-
          \  docs: Improved getting started guide by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4174](https://redirect.github.com/gruntwork-io/terragrunt/pull/4174)\n-
          \  build(deps): bump github.com/ProtonMail/go-crypto from 1.1.6 to 1.2.0
          by [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4161](https://redirect.github.com/gruntwork-io/terragrunt/pull/4161)\n-
          \  build(deps): bump golang.org/x/term from 0.30.0 to 0.31.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4159](https://redirect.github.com/gruntwork-io/terragrunt/pull/4159)\n-
          \  build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.78.2
          to 1.79.2 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4158](https://redirect.github.com/gruntwork-io/terragrunt/pull/4158)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.19...v0.77.20\n\n###
          [`v0.77.19`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.19)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.18...v0.77.19)\n\n####
          \u2728 New Features\n\n##### OpenTelemetry traces are now integrated into
          `find` and `list` commands\n\nfind telemetry:\n![image](https://redirect.github.com/user-attachments/assets/eb5ff11a-e90f-4b5d-bec0-c99cb1419f57)\n\nlist
          telemetry:\n![image](https://redirect.github.com/user-attachments/assets/7af232f1-e822-4aae-8230-12257c359d21)\n\n####
          What's Changed\n\n-   feat: Implemented telemetry for find/list by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4165](https://redirect.github.com/gruntwork-io/terragrunt/pull/4165)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.18...v0.77.19\n\n###
          [`v0.77.18`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.18)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.17...v0.77.18)\n\n####
          \u2728 New Features\n\n##### Support for HCL formatting with the `render`
          command\n\nAs part of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment, the [`render`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#backend-migrate)
          command now supports HCL formatting for rendered configurations, which is
          the default output format.\n\nUsing the `render` command with HCL formatting
          allows users to get a quick, minimal evaluation of Terragrunt unit configurations
          with as much pre-processing done as possible.\n\nFor example, the following
          `terragrunt.hcl` file:\n\n```hcl\n\n### terragrunt.hcl\n\nlocals {\n  aws_region
          = \"us-east-1\"\n}\n\ninputs = {\n  aws_region = local.aws_region\n}\n```\n\nRenders
          to the following HCL:\n\n```bash\n$ terragrunt render\nlocals {\n  aws_region
          = \"us-east-1\"\n}\ninputs = {\n  aws_region = \"us-east-1\"\n}\n```\n\nUsing
          the `render` command with HCL formatting offers a way to resolve complex
          HCL function evaluation, include merging or string interpolation, etc. to
          achieve equivalent Terragrunt HCL configurations that are easier to reason
          about.\n\n#### What's Changed\n\n-   feat: Adding `render` with HCL formatting
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4164](https://redirect.github.com/gruntwork-io/terragrunt/pull/4164)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.17...v0.77.18\n\n###
          [`v0.77.17`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.17)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.16...v0.77.17)\n\n####
          \u2728 New Features\n\n##### Introduction of the `render` command\n\nAs
          part of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment, the [`render`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#backend-migrate)
          command has been introduced.\n\nThe `render` command allows users to easily
          render Terragrunt unit configurations with reduced complexity, making it
          easier to understand configurations at a glance.\n\nFor example, the following
          `terragrunt.hcl` file:\n\n```hcl\n\n### terragrunt.hcl\n\nlocals {\n  aws_region
          = \"us-east-1\"\n}\n\ninputs = {\n  aws_region = local.aws_region\n}\n```\n\nRenders
          to the following JSON:\n\n```bash\n$ terragrunt render --format json\n{\n
          \ \"locals\": { \"aws_region\": \"us-east-1\" },\n  \"inputs\": { \"aws_region\":
          \"us-east-1\" }\n  // NOTE: other attributes are omitted for brevity\n}\n```\n\nThe
          introduction of the `render` command is part of the eventual deprecation
          of the existing `render-json` command, which will be deprecated by the end
          of the CLI Redesign. The `render` command is a higher level command, that
          offers the ability to write to stdout, in addition to writing to files,
          and will support HCL configurations in addition to JSON (coming soon).\n\nTo
          learn more about the `render` command, read the official documentation [here](https://terragrunt.gruntwork.io/docs/reference/cli-options/#render).\n\n####
          What's Changed\n\n-   feat: Adding `render` command by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4145](https://redirect.github.com/gruntwork-io/terragrunt/pull/4145)\n-
          \  feat: Adding docs for `backend migrate` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4140](https://redirect.github.com/gruntwork-io/terragrunt/pull/4140)\n-
          \  build(deps): bump ruby/setup-ruby from 1.229.0 to 1.230.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4162](https://redirect.github.com/gruntwork-io/terragrunt/pull/4162)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.16...v0.77.17\n\n###
          [`v0.77.16`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.16)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.15...v0.77.16)\n\n####
          \u2728 New Features\n\n##### Introduction of the `backend migrate` command\n\nAs
          part of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment, the [`backend migrate`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#backend-migrate)
          command has been introduced.\n\nThe `backend migrate` command allows you
          to simply migrate state between different units (or renames of units) without
          manually running OpenTofu/Terraform state migration commands.\n\nTo learn
          more about the `backend migrate` command, read the [official docs](https://terragrunt.gruntwork.io/docs/reference/cli-options/#backend-migrate).\n\n####
          What's Changed\n\n-   feat: Added support for migrating state between different
          backends by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4154](https://redirect.github.com/gruntwork-io/terragrunt/pull/4154)\n-
          \  feat: Enhanced error explainer to detect and report issues related to
          `stack` values by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4163](https://redirect.github.com/gruntwork-io/terragrunt/pull/4163)\n-
          \  fix: Improved the deprecation message for experimental command flags
          by [@&#8203;levkohimins](https://redirect.github.com/levkohimins) in [https://github.com/gruntwork-io/terragrunt/pull/4146](https://redirect.github.com/gruntwork-io/terragrunt/pull/4146)\n-
          \  fix: Prevent `TF_CLI_CONFIG_FILE` environment variable from being overwritten,
          except during `init` and `providers` commands by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4155](https://redirect.github.com/gruntwork-io/terragrunt/pull/4155)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.15...v0.77.16\n\n###
          [`v0.77.15`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.15)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.14...v0.77.15)\n\n####
          \u2728 New Features\n\n##### Introduction of the `dag graph` command\n\nAs
          part of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment, the [`dag graph`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#print-graph)
          command has been introduced.\n\n![dag](https://redirect.github.com/user-attachments/assets/389d4e31-197c-4c37-8913-1417ecd3e5b4)\n\n![dag-help](https://redirect.github.com/user-attachments/assets/2525cd27-0d8e-457b-87ea-759fae31e2f3)\n\n![dag-graph-help](https://redirect.github.com/user-attachments/assets/fb268b20-f32b-4b4f-ba13-0d1fc9fca748)\n\n####
          What's Changed\n\n-   docs: Added migration guide for adopting Terragrunt
          Stacks by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4152](https://redirect.github.com/gruntwork-io/terragrunt/pull/4152)\n-
          \  feat: Added dag graph command by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4143](https://redirect.github.com/gruntwork-io/terragrunt/pull/4143)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.14...v0.77.15\n\n###
          [`v0.77.14`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.14)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.13...v0.77.14)\n\n####
          \u2728 New Features\n\n##### Support for `--exclude` and `--queue-construct-as`
          in `find` and `list`\n\nThe [`find`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#find)
          and [`list`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#list)
          commands have been updated to leverage new capabilities involving greater
          understanding of the Terragrunt run queue.\n\nUsers can now leverage the
          [`--queue-construct-as`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#find-queue-construct-as)
          (or just `--as`) flag in the `find` and `list` commands to discover configurations
          as if a particular Terragrunt command was being run (e.g. `plan`, `destroy`).\n\nFor
          example:\n\n```bash\n$ terragrunt find --queue-construct-as=plan\nstacks/live/dev\nstacks/live/prod\nunits/live/dev/vpc\nunits/live/prod/vpc\nunits/live/dev/db\nunits/live/prod/db\nunits/live/dev/ec2\nunits/live/prod/ec2\n```\n\n```bash\n$
          terragrunt find --as=destroy\nstacks/live/dev\nstacks/live/prod\nunits/live/dev/ec2\nunits/live/prod/ec2\nunits/live/dev/db\nunits/live/prod/db\nunits/live/dev/vpc\nunits/live/prod/vpc\n```\n\nThe
          `find` and `list` commands will now construct the Terragrunt run queue as
          if a particular command was being run, potentially altering the position
          of elements in the run queue, based on their dependencies (dependencies
          before dependents for plans, applies, etc. and dependents before dependencies
          for destroys).\n\nIn addition, users can leverage the [`--exclude`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#find-exclude)
          flag on the `find` command to get information on the `exclude` block included
          in results. The `exclude` block is also factored in to discovery results
          when the `--queue-construct-as` flag is passed, allowing users to dry-run
          behavior of the `exclude` block before performing any Terragrunt runs.\n\n####
          What's Changed\n\n-   feat: Adding exclude support to list and find by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4147](https://redirect.github.com/gruntwork-io/terragrunt/pull/4147)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.13...v0.77.14\n\n###
          [`v0.77.13`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.13)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.12...v0.77.13)\n\n####
          What's Changed\n\n-   build(deps): bump google.golang.org/grpc from 1.71.0
          to 1.71.1 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4132](https://redirect.github.com/gruntwork-io/terragrunt/pull/4132)\n-
          \  build(deps): bump golang.org/x/sys from 0.31.0 to 0.32.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4133](https://redirect.github.com/gruntwork-io/terragrunt/pull/4133)\n-
          \  build(deps): bump golang.org/x/oauth2 from 0.28.0 to 0.29.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4131](https://redirect.github.com/gruntwork-io/terragrunt/pull/4131)\n-
          \  build(deps): bump github.com/getsops/sops/v3 from 3.9.4 to 3.10.1 by
          [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4130](https://redirect.github.com/gruntwork-io/terragrunt/pull/4130)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.12...v0.77.13\n\n###
          [`v0.77.12`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.12)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.11...v0.77.12)\n\n####
          \u2728 New Features\n\nIntroduced `no_validation` attribute for `stack`
          and `unit`, allowing users to bypass Terragrunt's validation checks when
          deploying infrastructure. This is particularly useful in scenarios where
          you need to deploy infrastructure that doesn't strictly adhere to Terragrunt's
          validation rules, such as during emergency deployments or when working with
          legacy infrastructure patterns.\n\n#### What's Changed\n\n-   docs: added
          more docs for stacks by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4144](https://redirect.github.com/gruntwork-io/terragrunt/pull/4144)\n-
          \  feat: added support for `no_validation` attribute for `stack` and `unit`
          by [@&#8203;denis256](https://redirect.github.com/denis256) in [https://github.com/gruntwork-io/terragrunt/pull/4149](https://redirect.github.com/gruntwork-io/terragrunt/pull/4149)\n\nRFC:
          [https://github.com/gruntwork-io/terragrunt/issues/3313](https://redirect.github.com/gruntwork-io/terragrunt/issues/3313)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.11...v0.77.12\n\n###
          [`v0.77.11`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.11)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.10...v0.77.11)\n\n####
          \u2728 New Features\n\n##### Introduction of the `info print` command\n\nAs
          part of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment, the [`info print`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#print-command)
          command has been introduced.\n\n![help](https://redirect.github.com/user-attachments/assets/2eac4645-93c2-47dd-8dc3-73c4442bf1c8)\n\n![out](https://redirect.github.com/user-attachments/assets/7005c5db-15e1-4efe-b5a8-349a179f6033)\n\n####
          What's Changed\n\n-   feat: Introduced the `info print` command to output
          Terragrunt context as a structured JSON object by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4122](https://redirect.github.com/gruntwork-io/terragrunt/pull/4122)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.10...v0.77.11\n\n###
          [`v0.77.10`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.10)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.9...v0.77.10)\n\n####
          What's Changed\n\n-   fix: Suppressing warning for catalog when determining
          default file name by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4134](https://redirect.github.com/gruntwork-io/terragrunt/pull/4134)\n-
          \  fix: Remove warning message for unimplemented backends by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4138](https://redirect.github.com/gruntwork-io/terragrunt/pull/4138)\n-
          \  fix: Fixing optional default template by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4141](https://redirect.github.com/gruntwork-io/terragrunt/pull/4141)\n-
          \  chore: stack code improvements by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4136](https://redirect.github.com/gruntwork-io/terragrunt/pull/4136)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.9...v0.77.10\n\n###
          [`v0.77.9`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.9)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.8...v0.77.9)\n\n####
          \U0001F41B Bug fixes\n\n##### Fetching Outputs from Nested Stacks\n\nResolved
          an issue that prevented the correct retrieval of outputs from nested stacks.\n\n####
          What's Changed\n\n-   fix: corrected the logic for fetching outputs from
          nested stacks by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4126](https://redirect.github.com/gruntwork-io/terragrunt/pull/4126)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.8...v0.77.9\n\n###
          [`v0.77.8`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.8)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.7...v0.77.8)\n\n####
          \U0001F4D6 Documentation Updates\n\nA new [performance guide](https://terragrunt.gruntwork.io/docs/troubleshooting/performance/)
          has been added to Terragrunt documentation to offer guidance on how performance
          can be improved when using Terragrunt or contributing to the Terragrunt
          codebase.\n\nThis documentation will evolve over time, as more optional
          optimizations become available, or are no longer necessary, as they become
          default behavior.\n\n#### What's Changed\n\n-   feat: Add performance guide
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4120](https://redirect.github.com/gruntwork-io/terragrunt/pull/4120)\n-
          \  build(deps): bump ruby/setup-ruby from 1.221.0 to 1.229.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4100](https://redirect.github.com/gruntwork-io/terragrunt/pull/4100)\n-
          \  fix: Addressing commas in external IDs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4128](https://redirect.github.com/gruntwork-io/terragrunt/pull/4128)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.7...v0.77.8\n\n###
          [`v0.77.7`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.7)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.6...v0.77.7)\n\n####
          \u2728 New Features\n\nUsers can now configure a custom default template
          for `scaffold` and `catalog` commands in their `catalog` configuration blocks
          like so:\n\n```hcl\ncatalog {\n  default_template = \"git@github.com/acme/example.git//path/to/template\"\n}\n```\n\nFor
          more information, read the documentation in the [catalog feature](https://terragrunt.gruntwork.io/docs/features/catalog/#custom-templates-for-scaffolding).\n\nSpecial
          thanks to [@&#8203;tgeijg](https://redirect.github.com/tgeijg) for contributing
          this feature!\n\n#### What's Changed\n\n-   feat: Adding custom default
          template [#&#8203;3658](https://redirect.github.com/gruntwork-io/terragrunt/issues/3658)
          by [@&#8203;tgeijg](https://redirect.github.com/tgeijg) in [https://github.com/gruntwork-io/terragrunt/pull/4035](https://redirect.github.com/gruntwork-io/terragrunt/pull/4035)\n-
          \  fix: Updating docs after [#&#8203;4035](https://redirect.github.com/gruntwork-io/terragrunt/issues/4035)
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4117](https://redirect.github.com/gruntwork-io/terragrunt/pull/4117)\n-
          \  chore: stacks documentation improvements by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4114](https://redirect.github.com/gruntwork-io/terragrunt/pull/4114)\n\n####
          New Contributors\n\n-   [@&#8203;tgeijg](https://redirect.github.com/tgeijg)
          made their first contribution in [https://github.com/gruntwork-io/terragrunt/pull/4035](https://redirect.github.com/gruntwork-io/terragrunt/pull/4035)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.6...v0.77.7\n\n###
          [`v0.77.6`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.6)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.5...v0.77.6)\n\n####
          What's Changed\n\n-   fix: Correctly ignore lock table encryption setting
          to prevent unintended configuration overrides by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4112](https://redirect.github.com/gruntwork-io/terragrunt/pull/4112)\n-
          \  fix: Introduced stricter constraints for detecting stack configuration
          files by [@&#8203;denis256](https://redirect.github.com/denis256) in [https://github.com/gruntwork-io/terragrunt/pull/4113](https://redirect.github.com/gruntwork-io/terragrunt/pull/4113)\n-
          \  feat: Enabled parsing of stack configuration directly from a string input
          for enhanced integration with 3rd party code by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4110](https://redirect.github.com/gruntwork-io/terragrunt/pull/4110)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.5...v0.77.6\n\n###
          [`v0.77.5`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.5)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.4...v0.77.5)\n\n####
          What's Changed\n\n-   feat: added support for OpenTelemetry in `stack` commands
          to enable enhanced observability and tracing by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4109](https://redirect.github.com/gruntwork-io/terragrunt/pull/4109)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.4...v0.77.5\n\n###
          [`v0.77.4`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.4)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.3...v0.77.4)\n\n####
          \U0001F41B Bug fixes\n\n##### Newlines reduced in Error Logging for Configuration
          Errors\n\nLogging for configuration errors has been compacted to reduce
          noise, and make errors easier to read.\n\n```\n\n### Before\n14:09:25.892
          ERROR  Error: Error in function call\n\n14:09:25.892 ERROR    on terragrunt.hcl
          line 3, in locals:\n\n14:09:25.892 ERROR     3:       requires_auth = run_cmd(\"exit\",
          \"1\") // intentional error\n\n14:09:25.892 ERROR\n\n14:09:25.892 ERROR
          \ Call to function \"run_cmd\" failed: Failed to execute \"exit 1\" in .\n\nexec:
          \"exit\": executable file not found in $PATH.\n\n```\n\n    ### After\n
          \   15:19:50.937 ERROR  Error: Error in function call\n    15:19:50.937
          ERROR    on terragrunt.hcl line 3, in locals:\n    15:19:50.937 ERROR  Error:
          Error in function call\n    15:19:50.937 ERROR    on terragrunt.hcl line
          3, in locals:\n    15:19:50.937 ERROR     3:       requires_auth = run_cmd(\"exit\",
          \"1\") // intentional error\n    15:19:50.937 ERROR     3:       fail   =
          run_cmd(\"exit\", \"1\") // intentional error\n    15:19:50.937 ERROR  Call
          to function \"run_cmd\" failed: Failed to execute \"exit 1\" in .\n    15:19:50.937
          ERROR  exec: \"exit\": executable file not found in $PATH.\n\n##### Improved
          Cycle Detection Logic for `stack generate`\n\nOn the default filesystem
          for macOS, path length was likely to result in an error before internal
          cycle detection logic, so cycle detection was updated to leverage a maximum
          path length of 1024 characters as an earlier exit for all operating systems.\n\n#####
          Excessive warning for bootstrap requirement resolved\n\nInternal logic for
          determination that backends required bootstrapping was adjusted to no longer
          leverage the value of the OpenTofu state file.\n\nWhile cheaper than making
          a network request to assess the current state of backend resources, it also
          resulted in false negatives, which triggered excessive backend bootstrap
          warnings.\n\n#### What's Changed\n\n-   fix: New lines in TF diagnostic
          log by [@&#8203;levkohimins](https://redirect.github.com/levkohimins) in
          [https://github.com/gruntwork-io/terragrunt/pull/4108](https://redirect.github.com/gruntwork-io/terragrunt/pull/4108)\n-
          \  fix: Stack cycles detection improvements by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4106](https://redirect.github.com/gruntwork-io/terragrunt/pull/4106)\n-
          \  fix: Fixing excessive warning for bootstrap by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4107](https://redirect.github.com/gruntwork-io/terragrunt/pull/4107)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.3...v0.77.4\n\n</details>\n\n---\n\n###
          Configuration\n\n\U0001F4C5 **Schedule**: Branch creation - At any time
          (no schedule defined), Automerge - At any time (no schedule defined).\n\n\U0001F6A6
          **Automerge**: Disabled by config. Please merge this manually once you are
          satisfied.\n\n\u267B **Rebasing**: Whenever PR becomes conflicted, or you
          tick the rebase/retry checkbox.\n\n\U0001F515 **Ignore**: Close this PR
          and you won't be reminded about this update again.\n\n---\n\n - [ ] <!--
          rebase-check -->If you want to rebase/retry this PR, check this box\n\n---\n\nThis
          PR was generated by [Mend Renovate](https://mend.io/renovate/). View the
          [repository job log](https://developer.mend.io/github/osism/testbed).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjQwLjE2LjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbInJlbm92YXRlIl19-->\n"
        change_url: https://github.com/osism/testbed/pull/2654
        commit_id: 75ffde103fc915ebaf25a18091215710415d6b3a
        patchset: 75ffde103fc915ebaf25a18091215710415d6b3a
        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.79.3\n\nThis
        PR contains the following updates:\n\n| Package | Update | Change |\n|---|---|---|\n|
        [gruntwork-io/terragrunt](https://redirect.github.com/gruntwork-io/terragrunt)
        | minor | `v0.77.3` -> `v0.79.3` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>gruntwork-io/terragrunt
        (gruntwork-io/terragrunt)</summary>\n\n### [`v0.79.3`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.79.3)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.79.2...v0.79.3)\n\n####
        \U0001F4AA\U0001F3FD Enhancements\n\n##### Limitation on Catalog URLs lifted\n\nA
        limitation on only supporting recognized go-getter URL patters has been lifted
        from the [catalog](https://terragrunt.gruntwork.io/docs/features/catalog/)
        command.\n\nThe reason this limitation existed in the past was to ensure that
        users were able to have Terragrunt load module source code in browsers from
        the catalog Terminal User Interface (TUI). To support that, only a constrained
        set of sources were supported, to ensure that a button was available to pop
        open the link in the browser.\n\n<img width=\"670\" alt=\"image\" src=\"https://github.com/user-attachments/assets/92dc016e-3bc5-46f5-b690-da3043590c24\"
        />\n\n<img width=\"666\" alt=\"image\" src=\"https://github.com/user-attachments/assets/f512e901-4deb-4771-8cbd-ea3d54cf5594\"
        />\n\nTerragrunt will now dynamically adjust the buttons available after module
        selection to gracefully degrade the experience, instead of completely rejecting
        repository sources that can't be predictably converted to browser URLs.\n\n<img
        width=\"346\" alt=\"image\" src=\"https://github.com/user-attachments/assets/76a7b1e5-c148-42b2-a696-d7fd750e866d\"
        />\n\nThis allows more users to adopt the Terragrunt Catalog, while providing
        the same great user experience for users that are on fully supported platforms,
        like GitHub, GitLab, BitBucket, etc.\n\n#### What's Changed\n\n-   feat: Allow
        unknown catalog URLs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4318](https://redirect.github.com/gruntwork-io/terragrunt/pull/4318)\n-
        \  docs: Clarify ambiguous documentation on variable precedence by [@&#8203;owattley-rotageek](https://redirect.github.com/owattley-rotageek)
        in [https://github.com/gruntwork-io/terragrunt/pull/4319](https://redirect.github.com/gruntwork-io/terragrunt/pull/4319)\n-
        \  chore: Adjusting catalog implementation by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4315](https://redirect.github.com/gruntwork-io/terragrunt/pull/4315)\n\n####
        New Contributors\n\n-   [@&#8203;owattley-rotageek](https://redirect.github.com/owattley-rotageek)
        made their first contribution in [https://github.com/gruntwork-io/terragrunt/pull/4319](https://redirect.github.com/gruntwork-io/terragrunt/pull/4319)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.79.2...v0.79.3\n\n###
        [`v0.79.2`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.79.2)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.79.1...v0.79.2)\n\n####
        \U0001F697 Performance Improvements\n\nImproved overall performance by memoizing
        `-version` output in each unit.\n\n#### What's Changed\n\n-   feat: Improved
        performance by memoizing `-version` output by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4288](https://redirect.github.com/gruntwork-io/terragrunt/pull/4288)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.79.1...v0.79.2\n\n###
        [`v0.79.1`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.79.1)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.79.0...v0.79.1)\n\n####
        \U0001F4AA\U0001F3FD Enhancements\n\n##### Recursive stack clean\n\nImproved
        `stack clean` to recursively delete all nested stack directories, ensuring
        thorough cleanup.\n\n#### What's Changed\n\n-   feat: Enabled recursive deletion
        of stack directories in `stack clean` by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4313](https://redirect.github.com/gruntwork-io/terragrunt/pull/4313)\n-
        \  feat: Switching to GitHub Actions OIDC role assumption for OIDC test by
        [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4305](https://redirect.github.com/gruntwork-io/terragrunt/pull/4305)\n-
        \  fix: Corrected mislabeled `legacy-all` control in documentation by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4311](https://redirect.github.com/gruntwork-io/terragrunt/pull/4311)\n-
        \  fix: Enabled disabled tests by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4312](https://redirect.github.com/gruntwork-io/terragrunt/pull/4312)\n-
        \  docs: updated quick start documentation with additional output directory
        usage by [@&#8203;james03160927](https://redirect.github.com/james03160927)
        in [https://github.com/gruntwork-io/terragrunt/pull/4299](https://redirect.github.com/gruntwork-io/terragrunt/pull/4299)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.79.0...v0.79.1\n\n###
        [`v0.79.0`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.79.0)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.4...v0.79.0)\n\n####
        \U0001F4AA\U0001F3FD Enhancements\n\n##### The `run --all` command automatically
        generates Terragrunt Stacks\n\nIf you are using `terragrunt.stack.hcl` files
        in your codebase, `run --all` commands will now automatically expand all `terragrunt.stack.hcl`
        files into generated stack configurations, as if you had run `stack generate`
        before running the `run --all` command.\n\ne.g.\n\n```bash\nterragrunt run
        --all plan\n```\n\nIs now equivalent to:\n\n```bash\nterragrunt stack generate\nterragrunt
        run --all plan\n```\n\nIf you would like to disable this new behavior, you
        can use the `--no-stack-generate` to opt out of automatic stack generation.\n\n####
        \U0001F4D6 Docs Updates\n\nThe [Terragrunt v1](https://terragrunt-v1.gruntwork.io/)
        docs are open for feedback!\n\nThese docs will undergo significant adjustments,
        both stylistically, and functionality on the road to 1.0.\n\nThey are a full
        rewrite of the existing Terragrunt Docs site written in [Jekyll](https://jekyllrb.com/)
        to one using [Starlight](https://starlight.astro.build/).\n\nYour feedback
        is requested! If you are reading these release notes relatively soon after
        release, you should see a link at the top of the site where you can provide
        your feedback on the new docs.\n\n#### What's Changed\n\n-   feat: Moving
        users over to terragrunt-v1.gruntwork.io docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4202](https://redirect.github.com/gruntwork-io/terragrunt/pull/4202)\n-
        \  feat: Adding GTM by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4285](https://redirect.github.com/gruntwork-io/terragrunt/pull/4285)\n-
        \  feat: Github Action tests migration by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4281](https://redirect.github.com/gruntwork-io/terragrunt/pull/4281)\n-
        \  feat: Automatically stack generate in run --all or run --graph command
        by [@&#8203;james03160927](https://redirect.github.com/james03160927) in [https://github.com/gruntwork-io/terragrunt/pull/4283](https://redirect.github.com/gruntwork-io/terragrunt/pull/4283)\n-
        \  feat: Adding cloud-nuke cron by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4306](https://redirect.github.com/gruntwork-io/terragrunt/pull/4306)\n-
        \  feat: Adjusting nav height by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4284](https://redirect.github.com/gruntwork-io/terragrunt/pull/4284)\n-
        \  fix: Fixing `remote-relative-with-slash` fixture on ARM tests by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4297](https://redirect.github.com/gruntwork-io/terragrunt/pull/4297)\n-
        \  fix: Fixing install version by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4310](https://redirect.github.com/gruntwork-io/terragrunt/pull/4310)\n-
        \  fix: Improved error handling in AWS docs by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4303](https://redirect.github.com/gruntwork-io/terragrunt/pull/4303)\n-
        \  chore: enable TestRemoteDownloadWithRelativePathAndSlashInBranch test by
        [@&#8203;denis256](https://redirect.github.com/denis256) in [https://github.com/gruntwork-io/terragrunt/pull/4286](https://redirect.github.com/gruntwork-io/terragrunt/pull/4286)\n-
        \  build(deps): bump ruby/setup-ruby from 1.233.0 to 1.238.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
        in [https://github.com/gruntwork-io/terragrunt/pull/4270](https://redirect.github.com/gruntwork-io/terragrunt/pull/4270)\n-
        \  build(deps): bump github.com/gruntwork-io/terratest from 0.48.2 to 0.49.0
        by [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4267](https://redirect.github.com/gruntwork-io/terragrunt/pull/4267)\n-
        \  build(deps): bump ruby/setup-ruby from 1.238.0 to 1.242.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
        in [https://github.com/gruntwork-io/terragrunt/pull/4301](https://redirect.github.com/gruntwork-io/terragrunt/pull/4301)\n-
        \  build(deps): bump DavidAnson/markdownlint-cli2-action from 19 to 20 by
        [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4302](https://redirect.github.com/gruntwork-io/terragrunt/pull/4302)\n\n####
        New Contributors\n\n-   [@&#8203;james03160927](https://redirect.github.com/james03160927)
        made their first contribution in [https://github.com/gruntwork-io/terragrunt/pull/4283](https://redirect.github.com/gruntwork-io/terragrunt/pull/4283)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.4...v0.79.0\n\n###
        [`v0.78.4`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.4)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.3...v0.78.4)\n\n####
        \u2728 New Features\n\n##### OpenTelemetry Trace Propogation\n\nIn anticipation
        of the introduction of OpenTelemetry support in OpenTofu 1.10, Terragrunt
        will now propagate the `TRACEPARENT` environment variable to child processes
        to support OpenTelemetry traces that maintain context across Terragrunt and
        OpenTofu.\n\nThis work is based on [@&#8203;Yantrio](https://redirect.github.com/Yantrio)
        's PoC PR [#&#8203;4254](https://redirect.github.com/gruntwork-io/terragrunt/issues/4254),
        and is only useful due to his work adding OpenTelemtry in OpenTofu. Thank
        you!\n\n#### What's Changed\n\n-   feat: Added generation of opentelemetry
        parent traces to invoked executables by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4278](https://redirect.github.com/gruntwork-io/terragrunt/pull/4278)\n-
        \  feat: Added support for Terraform tests in Github Action by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4275](https://redirect.github.com/gruntwork-io/terragrunt/pull/4275)\n-
        \  docs: Added homepage to Starlight docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4250](https://redirect.github.com/gruntwork-io/terragrunt/pull/4250)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.3...v0.78.4\n\n###
        [`v0.78.3`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.3)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.2...v0.78.3)\n\n####
        \U0001F41B Bug Fixes\n\nWhen an [error retry](https://terragrunt.gruntwork.io/docs/features/runtime-control/#errors)
        results in a plan succeeding when it initially failed, usage of `run --all
        -- plan -detailed-exitcode` will now properly take into account the *final*
        exit code, rather than the first one, meaning that the exit code of the whole
        run will be zero if no other units fail their plans.\n\nThanks to [@&#8203;wakeful](https://redirect.github.com/wakeful)
        for contributing this fix!\n\n#### What's Changed\n\n-   fix [#&#8203;3845](https://redirect.github.com/gruntwork-io/terragrunt/issues/3845)
        set the correct exit code when a retry is successful. by [@&#8203;wakeful](https://redirect.github.com/wakeful)
        in [https://github.com/gruntwork-io/terragrunt/pull/3966](https://redirect.github.com/gruntwork-io/terragrunt/pull/3966)\n-
        \  docs: Improving Run Queue docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4272](https://redirect.github.com/gruntwork-io/terragrunt/pull/4272)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.2...v0.78.3\n\n###
        [`v0.78.2`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.2)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.1...v0.78.2)\n\n####
        What's Changed\n\n-   feat: enable GCP integration tests in GH Action by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4257](https://redirect.github.com/gruntwork-io/terragrunt/pull/4257)\n-
        \  feat: fixed TestGcpWorksWithImpersonateBackend test by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4261](https://redirect.github.com/gruntwork-io/terragrunt/pull/4261)\n-
        \  feat: Adding integration tests by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4198](https://redirect.github.com/gruntwork-io/terragrunt/pull/4198)\n-
        \  feat: add Windows integration tests by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4262](https://redirect.github.com/gruntwork-io/terragrunt/pull/4262)\n-
        \  fix: Removing HTML `font-size` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4256](https://redirect.github.com/gruntwork-io/terragrunt/pull/4256)\n-
        \  docs: Adding Run Queue Docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4249](https://redirect.github.com/gruntwork-io/terragrunt/pull/4249)\n-
        \  build(deps): bump github.com/gruntwork-io/boilerplate to v0.6.1 by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
        \  build(deps): bump github.com/gruntwork-io/terragrunt-engine-go to v0.0.14
        by [@&#8203;denis256](https://redirect.github.com/denis256) in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
        \  build(deps): bump golang.org/x/oauth2 to v0.30.0 by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
        \  build(deps): bump golang.org/x/sync to v0.14.0 by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
        \  build(deps): bump google.golang.org/api to v0.232.0 by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
        \  build(deps): bump google.golang.org/grpc to v1.72.0 by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
        \  chore: dependencies update by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.1...v0.78.2\n\n###
        [`v0.78.1`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.1)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.0...v0.78.1)\n\n####
        What's Changed\n\n-   docs: Updating docs now that stacks are generally available
        by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4243](https://redirect.github.com/gruntwork-io/terragrunt/pull/4243)\n-
        \  fix: AWS S3 backend access logging bucket not versioning by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
        in [https://github.com/gruntwork-io/terragrunt/pull/4246](https://redirect.github.com/gruntwork-io/terragrunt/pull/4246)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.0...v0.78.1\n\n###
        [`v0.78.0`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.0)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.22...v0.78.0)\n\n####
        \U0001F9EA Experiments Completed\n\nThe [stacks](https://terragrunt.gruntwork.io/docs/reference/experiments/#stacks)
        experiment is now complete.\n\nIf you were previously using the flag `--experiment
        stacks` to opt in to experimental functionality, you no longer have to do
        so. Note that if you are, you will simply get a warning that it is no longer
        necessary.\n\n#### \U0001F6E0\uFE0F Breaking Changes\n\nLegacy commands (as
        replaced by the [CLI Redesign](https://redirect.github.com/gruntwork-io/terragrunt/issues/3445)
        are now deprecated, and will be phased out at a future date, which will be
        scheduled in [#&#8203;3535](https://redirect.github.com/gruntwork-io/terragrunt/issues/3535).
        Make sure to subscribe to the issue if you would like to be informed when
        these deprecated features are no longer supported.\n\nFor instructions on
        migrating to the new commands provided after the CLI Redesign, read the [CLI
        Redesign Migration Guide](https://terragrunt.gruntwork.io/docs/migrate/cli-redesign/).\n\nThe
        following are now deprecated:\n\n-   `hclfmt` (use `hcl fmt` instead)\n-   `hclvalidate`
        (use `hcl validate` instead)\n-   `validate-inputs` (use `hcl validate --inputs`
        and `hcl validate --inputs --strict` instead)\n-   `terragrunt-info` (use
        `info print` instead)\n-   `output-module-groups` (use `find --dag --json`
        instead)\n-   `render-json` (use `render --json -w` instead)\n-   `graph-dependencies`
        (use `dag graph` instead)\n-   `run-all` (use `run --all` instead)\n-   `graph`
        (use `run --graph` instead)\n-   The default command. e.g. `terragrunt workspace
        list` (use `terragrunt run -- workspace list` instead)\n-   Default bootstrap
        (automatically provisioning backend resources without additional flags). This
        is now opt in behavior, and requires usage of the `--backend-bootstrap` flag
        or explicitly running the new `backend bootstrap` command.\n-   `aws-provider-patch`
        (we are simply deprecating this command, and removing it when the other commands
        are removed. It served its purpose as a short term stopgap tool).\n\nNote
        that this will not result in an immediate breaking change for users, as we\u2019ll
        have an initial deprecation window to give users time to adjust to these changes.
        If you\u2019d like to ensure that you are prepared for the future removal
        of legacy commands, you can take advantage of the [cli-redesign](https://terragrunt.gruntwork.io/docs/reference/strict-mode/#cli-redesign)
        strict control to opt in to the future breaking change early.\n\n#### \U0001F4AA\U0001F3FD
        \ Enhancements\n\nThe logging for stack generation has been improved to make
        it easier to determine at a glance the stack file that\u2019s generating a
        particular unit.\n\n![stacks-generation](https://redirect.github.com/user-attachments/assets/11c49c92-edfd-4d3a-b2c6-4bae4326e0e2)\n\n####
        What's Changed\n\n-   feat: improved stack logs generation by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4213](https://redirect.github.com/gruntwork-io/terragrunt/pull/4213)\n-
        \  feat: stacks expriment completion by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4222](https://redirect.github.com/gruntwork-io/terragrunt/pull/4222)\n-
        \  feat: Deprecating `render-json` command by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
        in [https://github.com/gruntwork-io/terragrunt/pull/4227](https://redirect.github.com/gruntwork-io/terragrunt/pull/4227)\n-
        \  feat: Deprecating `aws-provider-patch` command by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
        in [https://github.com/gruntwork-io/terragrunt/pull/4228](https://redirect.github.com/gruntwork-io/terragrunt/pull/4228)\n-
        \  feat: Deprecating `output-module-groups` command by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
        in [https://github.com/gruntwork-io/terragrunt/pull/4229](https://redirect.github.com/gruntwork-io/terragrunt/pull/4229)\n-
        \  fix: Fixing base tests for macOS by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4193](https://redirect.github.com/gruntwork-io/terragrunt/pull/4193)\n-
        \  fix: Fixing 404 in performance docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4194](https://redirect.github.com/gruntwork-io/terragrunt/pull/4194)\n-
        \  fix: basic tests execution update by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4192](https://redirect.github.com/gruntwork-io/terragrunt/pull/4192)\n-
        \  fix: Throwing interrupt signal with `--all` flag by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
        in [https://github.com/gruntwork-io/terragrunt/pull/4224](https://redirect.github.com/gruntwork-io/terragrunt/pull/4224)\n-
        \  fix: handling of errors in parsing base blocks by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4226](https://redirect.github.com/gruntwork-io/terragrunt/pull/4226)\n-
        \  fix: Cleaning up legacy `-all` usage by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4239](https://redirect.github.com/gruntwork-io/terragrunt/pull/4239)\n-
        \  fix: Rename all the `--terragrunt-` flags by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4203](https://redirect.github.com/gruntwork-io/terragrunt/pull/4203)\n-
        \  fix: Cleaning up `run-all` usage by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4223](https://redirect.github.com/gruntwork-io/terragrunt/pull/4223)\n-
        \  fix: Updating environment variables for flags by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4240](https://redirect.github.com/gruntwork-io/terragrunt/pull/4240)\n-
        \  fix: Updating migration guide for CLI Redesign migration by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4207](https://redirect.github.com/gruntwork-io/terragrunt/pull/4207)\n-
        \  docs: Adding docs for `cli-redesign` strict control by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4238](https://redirect.github.com/gruntwork-io/terragrunt/pull/4238)\n-
        \  docs: Documenting CLI Redesign deprecations by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4237](https://redirect.github.com/gruntwork-io/terragrunt/pull/4237)\n-
        \  docs: updated stack links by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4201](https://redirect.github.com/gruntwork-io/terragrunt/pull/4201)\n-
        \  chore: Preserve tests with deprecated commands/flags by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
        in [https://github.com/gruntwork-io/terragrunt/pull/4242](https://redirect.github.com/gruntwork-io/terragrunt/pull/4242)\n-
        \  chore: `hclfmt` `hclvalidate` `validate-inputs` as deprecated commands
        (minor fixes) by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
        in [https://github.com/gruntwork-io/terragrunt/pull/4199](https://redirect.github.com/gruntwork-io/terragrunt/pull/4199)\n-
        \  chore: `hclfmt` `hclvalidate` `validate-inputs` as deprecated commands
        by [@&#8203;levkohimins](https://redirect.github.com/levkohimins) in [https://github.com/gruntwork-io/terragrunt/pull/4196](https://redirect.github.com/gruntwork-io/terragrunt/pull/4196)\n-
        \  build(deps): bump github.com/getsops/sops/v3 from 3.10.1 to 3.10.2 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
        in [https://github.com/gruntwork-io/terragrunt/pull/4185](https://redirect.github.com/gruntwork-io/terragrunt/pull/4185)\n-
        \  build(deps): bump go.opentelemetry.io/otel/exporters/stdout/stdouttrace
        from 1.34.0 to 1.35.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
        in [https://github.com/gruntwork-io/terragrunt/pull/4184](https://redirect.github.com/gruntwork-io/terragrunt/pull/4184)\n-
        \  build(deps): bump DavidAnson/markdownlint-cli2-action from 15 to 19 by
        [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4187](https://redirect.github.com/gruntwork-io/terragrunt/pull/4187)\n-
        \  build(deps): bump ruby/setup-ruby from 1.230.0 to 1.233.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
        in [https://github.com/gruntwork-io/terragrunt/pull/4186](https://redirect.github.com/gruntwork-io/terragrunt/pull/4186)\n-
        \  build(deps-dev): bump nokogiri from 1.18.4 to 1.18.8 in /docs by [@&#8203;dependabot](https://redirect.github.com/dependabot)
        in [https://github.com/gruntwork-io/terragrunt/pull/4195](https://redirect.github.com/gruntwork-io/terragrunt/pull/4195)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.22...v0.78.0\n\n###
        [`v0.77.22`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.22)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.21...v0.77.22)\n\n####
        \U0001F9EA Experiments Completed\n\n##### The `cli-redesign` experiment is
        now complete\n\nThe [cli-redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
        experiment is now complete.\n\nIf you were previously using the flag `--experiment
        cli-redesign` to opt in to experimental functionality, you no longer have
        to do so. Note that if you are, you will simply get a warning that it is no
        longer necessary.\n\n#### What's Changed\n\n-   feat: Adding base tests by
        [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4176](https://redirect.github.com/gruntwork-io/terragrunt/pull/4176)\n-
        \  chore: Complete CLI Redesign experiment by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4189](https://redirect.github.com/gruntwork-io/terragrunt/pull/4189)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.21...v0.77.22\n\n###
        [`v0.77.21`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.21)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.20...v0.77.21)\n\n####
        \u2728 New Features\n\n##### Introduction of `hcl` commands\n\nAs part of
        the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
        experiment, the [`hcl`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#hcl-commands)
        commands have been introduced.\n\nThe `hcl` commands allow users to directly
        interact with HCL content independent of the underlying functionality they
        support.\n\nThe functionality of the `hcl` commands replace existing functionality
        that is soon to be deprecated:\n\n-   `hclfmt` --> `hcl fmt`\n-   `hclvalidate`
        --> `hcl validate`\n-   `validate-inputs` --> `hcl validate --inputs`\n-   `validate-inputs
        --strict-validate` --> `hcl validate --inputs --strict`\n\n#### What's Changed\n\n-
        \  feat: `hcl` commands docs by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
        in [https://github.com/gruntwork-io/terragrunt/pull/4180](https://redirect.github.com/gruntwork-io/terragrunt/pull/4180)\n-
        \  feat: add symbol link experiemnt in discovery process by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4177](https://redirect.github.com/gruntwork-io/terragrunt/pull/4177)\n-
        \  feat: Implementation of `hcl` commands by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
        in [https://github.com/gruntwork-io/terragrunt/pull/4169](https://redirect.github.com/gruntwork-io/terragrunt/pull/4169)\n-
        \  fix: Adding redirect from /docs/reference/experiment-mode to /docs/reference/experiments
        by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4178](https://redirect.github.com/gruntwork-io/terragrunt/pull/4178)\n-
        \  fix: Fix spelling by [@&#8203;hpe-noinarisak](https://redirect.github.com/hpe-noinarisak)
        in [https://github.com/gruntwork-io/terragrunt/pull/4179](https://redirect.github.com/gruntwork-io/terragrunt/pull/4179)\n-
        \  fix: Update status of cli-redesign experiment by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4188](https://redirect.github.com/gruntwork-io/terragrunt/pull/4188)\n-
        \  build(deps): bump github.com/charmbracelet/bubbles from 0.20.0 to 0.21.0
        by [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4160](https://redirect.github.com/gruntwork-io/terragrunt/pull/4160)\n\n####
        New Contributors\n\n-   [@&#8203;hpe-noinarisak](https://redirect.github.com/hpe-noinarisak)
        made their first contribution in [https://github.com/gruntwork-io/terragrunt/pull/4179](https://redirect.github.com/gruntwork-io/terragrunt/pull/4179)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.20...v0.77.21\n\n###
        [`v0.77.20`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.20)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.19...v0.77.20)\n\n####
        What's Changed\n\n-   build: Added `build-no-proxy.yml` workflow by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4171](https://redirect.github.com/gruntwork-io/terragrunt/pull/4171)\n-
        \  build: Added `lint.yml` and `strict-lint.yml` workflows for GitHub Actions
        by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4172](https://redirect.github.com/gruntwork-io/terragrunt/pull/4172)\n-
        \  build: Added codespell workflow by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4173](https://redirect.github.com/gruntwork-io/terragrunt/pull/4173)\n-
        \  build: Added markdownlint v2 to GitHub Actions workflows by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4175](https://redirect.github.com/gruntwork-io/terragrunt/pull/4175)\n-
        \  docs: Improved getting started guide by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4174](https://redirect.github.com/gruntwork-io/terragrunt/pull/4174)\n-
        \  build(deps): bump github.com/ProtonMail/go-crypto from 1.1.6 to 1.2.0 by
        [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4161](https://redirect.github.com/gruntwork-io/terragrunt/pull/4161)\n-
        \  build(deps): bump golang.org/x/term from 0.30.0 to 0.31.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
        in [https://github.com/gruntwork-io/terragrunt/pull/4159](https://redirect.github.com/gruntwork-io/terragrunt/pull/4159)\n-
        \  build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.78.2 to
        1.79.2 by [@&#8203;dependabot](https://redirect.github.com/dependabot) in
        [https://github.com/gruntwork-io/terragrunt/pull/4158](https://redirect.github.com/gruntwork-io/terragrunt/pull/4158)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.19...v0.77.20\n\n###
        [`v0.77.19`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.19)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.18...v0.77.19)\n\n####
        \u2728 New Features\n\n##### OpenTelemetry traces are now integrated into
        `find` and `list` commands\n\nfind telemetry:\n![image](https://redirect.github.com/user-attachments/assets/eb5ff11a-e90f-4b5d-bec0-c99cb1419f57)\n\nlist
        telemetry:\n![image](https://redirect.github.com/user-attachments/assets/7af232f1-e822-4aae-8230-12257c359d21)\n\n####
        What's Changed\n\n-   feat: Implemented telemetry for find/list by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4165](https://redirect.github.com/gruntwork-io/terragrunt/pull/4165)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.18...v0.77.19\n\n###
        [`v0.77.18`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.18)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.17...v0.77.18)\n\n####
        \u2728 New Features\n\n##### Support for HCL formatting with the `render`
        command\n\nAs part of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
        experiment, the [`render`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#backend-migrate)
        command now supports HCL formatting for rendered configurations, which is
        the default output format.\n\nUsing the `render` command with HCL formatting
        allows users to get a quick, minimal evaluation of Terragrunt unit configurations
        with as much pre-processing done as possible.\n\nFor example, the following
        `terragrunt.hcl` file:\n\n```hcl\n\n### terragrunt.hcl\n\nlocals {\n  aws_region
        = \"us-east-1\"\n}\n\ninputs = {\n  aws_region = local.aws_region\n}\n```\n\nRenders
        to the following HCL:\n\n```bash\n$ terragrunt render\nlocals {\n  aws_region
        = \"us-east-1\"\n}\ninputs = {\n  aws_region = \"us-east-1\"\n}\n```\n\nUsing
        the `render` command with HCL formatting offers a way to resolve complex HCL
        function evaluation, include merging or string interpolation, etc. to achieve
        equivalent Terragrunt HCL configurations that are easier to reason about.\n\n####
        What's Changed\n\n-   feat: Adding `render` with HCL formatting by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4164](https://redirect.github.com/gruntwork-io/terragrunt/pull/4164)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.17...v0.77.18\n\n###
        [`v0.77.17`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.17)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.16...v0.77.17)\n\n####
        \u2728 New Features\n\n##### Introduction of the `render` command\n\nAs part
        of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
        experiment, the [`render`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#backend-migrate)
        command has been introduced.\n\nThe `render` command allows users to easily
        render Terragrunt unit configurations with reduced complexity, making it easier
        to understand configurations at a glance.\n\nFor example, the following `terragrunt.hcl`
        file:\n\n```hcl\n\n### terragrunt.hcl\n\nlocals {\n  aws_region = \"us-east-1\"\n}\n\ninputs
        = {\n  aws_region = local.aws_region\n}\n```\n\nRenders to the following JSON:\n\n```bash\n$
        terragrunt render --format json\n{\n  \"locals\": { \"aws_region\": \"us-east-1\"
        },\n  \"inputs\": { \"aws_region\": \"us-east-1\" }\n  // NOTE: other attributes
        are omitted for brevity\n}\n```\n\nThe introduction of the `render` command
        is part of the eventual deprecation of the existing `render-json` command,
        which will be deprecated by the end of the CLI Redesign. The `render` command
        is a higher level command, that offers the ability to write to stdout, in
        addition to writing to files, and will support HCL configurations in addition
        to JSON (coming soon).\n\nTo learn more about the `render` command, read the
        official documentation [here](https://terragrunt.gruntwork.io/docs/reference/cli-options/#render).\n\n####
        What's Changed\n\n-   feat: Adding `render` command by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4145](https://redirect.github.com/gruntwork-io/terragrunt/pull/4145)\n-
        \  feat: Adding docs for `backend migrate` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4140](https://redirect.github.com/gruntwork-io/terragrunt/pull/4140)\n-
        \  build(deps): bump ruby/setup-ruby from 1.229.0 to 1.230.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
        in [https://github.com/gruntwork-io/terragrunt/pull/4162](https://redirect.github.com/gruntwork-io/terragrunt/pull/4162)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.16...v0.77.17\n\n###
        [`v0.77.16`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.16)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.15...v0.77.16)\n\n####
        \u2728 New Features\n\n##### Introduction of the `backend migrate` command\n\nAs
        part of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
        experiment, the [`backend migrate`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#backend-migrate)
        command has been introduced.\n\nThe `backend migrate` command allows you to
        simply migrate state between different units (or renames of units) without
        manually running OpenTofu/Terraform state migration commands.\n\nTo learn
        more about the `backend migrate` command, read the [official docs](https://terragrunt.gruntwork.io/docs/reference/cli-options/#backend-migrate).\n\n####
        What's Changed\n\n-   feat: Added support for migrating state between different
        backends by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
        in [https://github.com/gruntwork-io/terragrunt/pull/4154](https://redirect.github.com/gruntwork-io/terragrunt/pull/4154)\n-
        \  feat: Enhanced error explainer to detect and report issues related to `stack`
        values by [@&#8203;denis256](https://redirect.github.com/denis256) in [https://github.com/gruntwork-io/terragrunt/pull/4163](https://redirect.github.com/gruntwork-io/terragrunt/pull/4163)\n-
        \  fix: Improved the deprecation message for experimental command flags by
        [@&#8203;levkohimins](https://redirect.github.com/levkohimins) in [https://github.com/gruntwork-io/terragrunt/pull/4146](https://redirect.github.com/gruntwork-io/terragrunt/pull/4146)\n-
        \  fix: Prevent `TF_CLI_CONFIG_FILE` environment variable from being overwritten,
        except during `init` and `providers` commands by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
        in [https://github.com/gruntwork-io/terragrunt/pull/4155](https://redirect.github.com/gruntwork-io/terragrunt/pull/4155)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.15...v0.77.16\n\n###
        [`v0.77.15`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.15)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.14...v0.77.15)\n\n####
        \u2728 New Features\n\n##### Introduction of the `dag graph` command\n\nAs
        part of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
        experiment, the [`dag graph`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#print-graph)
        command has been introduced.\n\n![dag](https://redirect.github.com/user-attachments/assets/389d4e31-197c-4c37-8913-1417ecd3e5b4)\n\n![dag-help](https://redirect.github.com/user-attachments/assets/2525cd27-0d8e-457b-87ea-759fae31e2f3)\n\n![dag-graph-help](https://redirect.github.com/user-attachments/assets/fb268b20-f32b-4b4f-ba13-0d1fc9fca748)\n\n####
        What's Changed\n\n-   docs: Added migration guide for adopting Terragrunt
        Stacks by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4152](https://redirect.github.com/gruntwork-io/terragrunt/pull/4152)\n-
        \  feat: Added dag graph command by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4143](https://redirect.github.com/gruntwork-io/terragrunt/pull/4143)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.14...v0.77.15\n\n###
        [`v0.77.14`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.14)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.13...v0.77.14)\n\n####
        \u2728 New Features\n\n##### Support for `--exclude` and `--queue-construct-as`
        in `find` and `list`\n\nThe [`find`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#find)
        and [`list`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#list)
        commands have been updated to leverage new capabilities involving greater
        understanding of the Terragrunt run queue.\n\nUsers can now leverage the [`--queue-construct-as`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#find-queue-construct-as)
        (or just `--as`) flag in the `find` and `list` commands to discover configurations
        as if a particular Terragrunt command was being run (e.g. `plan`, `destroy`).\n\nFor
        example:\n\n```bash\n$ terragrunt find --queue-construct-as=plan\nstacks/live/dev\nstacks/live/prod\nunits/live/dev/vpc\nunits/live/prod/vpc\nunits/live/dev/db\nunits/live/prod/db\nunits/live/dev/ec2\nunits/live/prod/ec2\n```\n\n```bash\n$
        terragrunt find --as=destroy\nstacks/live/dev\nstacks/live/prod\nunits/live/dev/ec2\nunits/live/prod/ec2\nunits/live/dev/db\nunits/live/prod/db\nunits/live/dev/vpc\nunits/live/prod/vpc\n```\n\nThe
        `find` and `list` commands will now construct the Terragrunt run queue as
        if a particular command was being run, potentially altering the position of
        elements in the run queue, based on their dependencies (dependencies before
        dependents for plans, applies, etc. and dependents before dependencies for
        destroys).\n\nIn addition, users can leverage the [`--exclude`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#find-exclude)
        flag on the `find` command to get information on the `exclude` block included
        in results. The `exclude` block is also factored in to discovery results when
        the `--queue-construct-as` flag is passed, allowing users to dry-run behavior
        of the `exclude` block before performing any Terragrunt runs.\n\n#### What's
        Changed\n\n-   feat: Adding exclude support to list and find by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4147](https://redirect.github.com/gruntwork-io/terragrunt/pull/4147)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.13...v0.77.14\n\n###
        [`v0.77.13`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.13)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.12...v0.77.13)\n\n####
        What's Changed\n\n-   build(deps): bump google.golang.org/grpc from 1.71.0
        to 1.71.1 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
        in [https://github.com/gruntwork-io/terragrunt/pull/4132](https://redirect.github.com/gruntwork-io/terragrunt/pull/4132)\n-
        \  build(deps): bump golang.org/x/sys from 0.31.0 to 0.32.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
        in [https://github.com/gruntwork-io/terragrunt/pull/4133](https://redirect.github.com/gruntwork-io/terragrunt/pull/4133)\n-
        \  build(deps): bump golang.org/x/oauth2 from 0.28.0 to 0.29.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
        in [https://github.com/gruntwork-io/terragrunt/pull/4131](https://redirect.github.com/gruntwork-io/terragrunt/pull/4131)\n-
        \  build(deps): bump github.com/getsops/sops/v3 from 3.9.4 to 3.10.1 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
        in [https://github.com/gruntwork-io/terragrunt/pull/4130](https://redirect.github.com/gruntwork-io/terragrunt/pull/4130)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.12...v0.77.13\n\n###
        [`v0.77.12`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.12)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.11...v0.77.12)\n\n####
        \u2728 New Features\n\nIntroduced `no_validation` attribute for `stack` and
        `unit`, allowing users to bypass Terragrunt's validation checks when deploying
        infrastructure. This is particularly useful in scenarios where you need to
        deploy infrastructure that doesn't strictly adhere to Terragrunt's validation
        rules, such as during emergency deployments or when working with legacy infrastructure
        patterns.\n\n#### What's Changed\n\n-   docs: added more docs for stacks by
        [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4144](https://redirect.github.com/gruntwork-io/terragrunt/pull/4144)\n-
        \  feat: added support for `no_validation` attribute for `stack` and `unit`
        by [@&#8203;denis256](https://redirect.github.com/denis256) in [https://github.com/gruntwork-io/terragrunt/pull/4149](https://redirect.github.com/gruntwork-io/terragrunt/pull/4149)\n\nRFC:
        [https://github.com/gruntwork-io/terragrunt/issues/3313](https://redirect.github.com/gruntwork-io/terragrunt/issues/3313)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.11...v0.77.12\n\n###
        [`v0.77.11`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.11)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.10...v0.77.11)\n\n####
        \u2728 New Features\n\n##### Introduction of the `info print` command\n\nAs
        part of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
        experiment, the [`info print`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#print-command)
        command has been introduced.\n\n![help](https://redirect.github.com/user-attachments/assets/2eac4645-93c2-47dd-8dc3-73c4442bf1c8)\n\n![out](https://redirect.github.com/user-attachments/assets/7005c5db-15e1-4efe-b5a8-349a179f6033)\n\n####
        What's Changed\n\n-   feat: Introduced the `info print` command to output
        Terragrunt context as a structured JSON object by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4122](https://redirect.github.com/gruntwork-io/terragrunt/pull/4122)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.10...v0.77.11\n\n###
        [`v0.77.10`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.10)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.9...v0.77.10)\n\n####
        What's Changed\n\n-   fix: Suppressing warning for catalog when determining
        default file name by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4134](https://redirect.github.com/gruntwork-io/terragrunt/pull/4134)\n-
        \  fix: Remove warning message for unimplemented backends by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
        in [https://github.com/gruntwork-io/terragrunt/pull/4138](https://redirect.github.com/gruntwork-io/terragrunt/pull/4138)\n-
        \  fix: Fixing optional default template by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4141](https://redirect.github.com/gruntwork-io/terragrunt/pull/4141)\n-
        \  chore: stack code improvements by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4136](https://redirect.github.com/gruntwork-io/terragrunt/pull/4136)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.9...v0.77.10\n\n###
        [`v0.77.9`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.9)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.8...v0.77.9)\n\n####
        \U0001F41B Bug fixes\n\n##### Fetching Outputs from Nested Stacks\n\nResolved
        an issue that prevented the correct retrieval of outputs from nested stacks.\n\n####
        What's Changed\n\n-   fix: corrected the logic for fetching outputs from nested
        stacks by [@&#8203;denis256](https://redirect.github.com/denis256) in [https://github.com/gruntwork-io/terragrunt/pull/4126](https://redirect.github.com/gruntwork-io/terragrunt/pull/4126)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.8...v0.77.9\n\n###
        [`v0.77.8`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.8)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.7...v0.77.8)\n\n####
        \U0001F4D6 Documentation Updates\n\nA new [performance guide](https://terragrunt.gruntwork.io/docs/troubleshooting/performance/)
        has been added to Terragrunt documentation to offer guidance on how performance
        can be improved when using Terragrunt or contributing to the Terragrunt codebase.\n\nThis
        documentation will evolve over time, as more optional optimizations become
        available, or are no longer necessary, as they become default behavior.\n\n####
        What's Changed\n\n-   feat: Add performance guide by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4120](https://redirect.github.com/gruntwork-io/terragrunt/pull/4120)\n-
        \  build(deps): bump ruby/setup-ruby from 1.221.0 to 1.229.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
        in [https://github.com/gruntwork-io/terragrunt/pull/4100](https://redirect.github.com/gruntwork-io/terragrunt/pull/4100)\n-
        \  fix: Addressing commas in external IDs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4128](https://redirect.github.com/gruntwork-io/terragrunt/pull/4128)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.7...v0.77.8\n\n###
        [`v0.77.7`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.7)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.6...v0.77.7)\n\n####
        \u2728 New Features\n\nUsers can now configure a custom default template for
        `scaffold` and `catalog` commands in their `catalog` configuration blocks
        like so:\n\n```hcl\ncatalog {\n  default_template = \"git@github.com/acme/example.git//path/to/template\"\n}\n```\n\nFor
        more information, read the documentation in the [catalog feature](https://terragrunt.gruntwork.io/docs/features/catalog/#custom-templates-for-scaffolding).\n\nSpecial
        thanks to [@&#8203;tgeijg](https://redirect.github.com/tgeijg) for contributing
        this feature!\n\n#### What's Changed\n\n-   feat: Adding custom default template
        [#&#8203;3658](https://redirect.github.com/gruntwork-io/terragrunt/issues/3658)
        by [@&#8203;tgeijg](https://redirect.github.com/tgeijg) in [https://github.com/gruntwork-io/terragrunt/pull/4035](https://redirect.github.com/gruntwork-io/terragrunt/pull/4035)\n-
        \  fix: Updating docs after [#&#8203;4035](https://redirect.github.com/gruntwork-io/terragrunt/issues/4035)
        by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4117](https://redirect.github.com/gruntwork-io/terragrunt/pull/4117)\n-
        \  chore: stacks documentation improvements by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4114](https://redirect.github.com/gruntwork-io/terragrunt/pull/4114)\n\n####
        New Contributors\n\n-   [@&#8203;tgeijg](https://redirect.github.com/tgeijg)
        made their first contribution in [https://github.com/gruntwork-io/terragrunt/pull/4035](https://redirect.github.com/gruntwork-io/terragrunt/pull/4035)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.6...v0.77.7\n\n###
        [`v0.77.6`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.6)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.5...v0.77.6)\n\n####
        What's Changed\n\n-   fix: Correctly ignore lock table encryption setting
        to prevent unintended configuration overrides by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
        in [https://github.com/gruntwork-io/terragrunt/pull/4112](https://redirect.github.com/gruntwork-io/terragrunt/pull/4112)\n-
        \  fix: Introduced stricter constraints for detecting stack configuration
        files by [@&#8203;denis256](https://redirect.github.com/denis256) in [https://github.com/gruntwork-io/terragrunt/pull/4113](https://redirect.github.com/gruntwork-io/terragrunt/pull/4113)\n-
        \  feat: Enabled parsing of stack configuration directly from a string input
        for enhanced integration with 3rd party code by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4110](https://redirect.github.com/gruntwork-io/terragrunt/pull/4110)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.5...v0.77.6\n\n###
        [`v0.77.5`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.5)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.4...v0.77.5)\n\n####
        What's Changed\n\n-   feat: added support for OpenTelemetry in `stack` commands
        to enable enhanced observability and tracing by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4109](https://redirect.github.com/gruntwork-io/terragrunt/pull/4109)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.4...v0.77.5\n\n###
        [`v0.77.4`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.4)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.3...v0.77.4)\n\n####
        \U0001F41B Bug fixes\n\n##### Newlines reduced in Error Logging for Configuration
        Errors\n\nLogging for configuration errors has been compacted to reduce noise,
        and make errors easier to read.\n\n```\n\n### Before\n14:09:25.892 ERROR  Error:
        Error in function call\n\n14:09:25.892 ERROR    on terragrunt.hcl line 3,
        in locals:\n\n14:09:25.892 ERROR     3:       requires_auth = run_cmd(\"exit\",
        \"1\") // intentional error\n\n14:09:25.892 ERROR\n\n14:09:25.892 ERROR  Call
        to function \"run_cmd\" failed: Failed to execute \"exit 1\" in .\n\nexec:
        \"exit\": executable file not found in $PATH.\n\n```\n\n    ### After\n    15:19:50.937
        ERROR  Error: Error in function call\n    15:19:50.937 ERROR    on terragrunt.hcl
        line 3, in locals:\n    15:19:50.937 ERROR  Error: Error in function call\n
        \   15:19:50.937 ERROR    on terragrunt.hcl line 3, in locals:\n    15:19:50.937
        ERROR     3:       requires_auth = run_cmd(\"exit\", \"1\") // intentional
        error\n    15:19:50.937 ERROR     3:       fail   = run_cmd(\"exit\", \"1\")
        // intentional error\n    15:19:50.937 ERROR  Call to function \"run_cmd\"
        failed: Failed to execute \"exit 1\" in .\n    15:19:50.937 ERROR  exec: \"exit\":
        executable file not found in $PATH.\n\n##### Improved Cycle Detection Logic
        for `stack generate`\n\nOn the default filesystem for macOS, path length was
        likely to result in an error before internal cycle detection logic, so cycle
        detection was updated to leverage a maximum path length of 1024 characters
        as an earlier exit for all operating systems.\n\n##### Excessive warning for
        bootstrap requirement resolved\n\nInternal logic for determination that backends
        required bootstrapping was adjusted to no longer leverage the value of the
        OpenTofu state file.\n\nWhile cheaper than making a network request to assess
        the current state of backend resources, it also resulted in false negatives,
        which triggered excessive backend bootstrap warnings.\n\n#### What's Changed\n\n-
        \  fix: New lines in TF diagnostic log by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
        in [https://github.com/gruntwork-io/terragrunt/pull/4108](https://redirect.github.com/gruntwork-io/terragrunt/pull/4108)\n-
        \  fix: Stack cycles detection improvements by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [https://github.com/gruntwork-io/terragrunt/pull/4106](https://redirect.github.com/gruntwork-io/terragrunt/pull/4106)\n-
        \  fix: Fixing excessive warning for bootstrap by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [https://github.com/gruntwork-io/terragrunt/pull/4107](https://redirect.github.com/gruntwork-io/terragrunt/pull/4107)\n\n**Full
        Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.3...v0.77.4\n\n</details>\n\n---\n\n###
        Configuration\n\n\U0001F4C5 **Schedule**: Branch creation - At any time (no
        schedule defined), Automerge - At any time (no schedule defined).\n\n\U0001F6A6
        **Automerge**: Disabled by config. Please merge this manually once you are
        satisfied.\n\n\u267B **Rebasing**: Whenever PR becomes conflicted, or you
        tick the rebase/retry checkbox.\n\n\U0001F515 **Ignore**: Close this PR and
        you won't be reminded about this update again.\n\n---\n\n - [ ] <!-- rebase-check
        -->If you want to rebase/retry this PR, check this box\n\n---\n\nThis PR was
        generated by [Mend Renovate](https://mend.io/renovate/). View the [repository
        job log](https://developer.mend.io/github/osism/testbed).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjQwLjE2LjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbInJlbm92YXRlIl19-->\n"
      change_url: https://github.com/osism/testbed/pull/2654
      child_jobs: []
      commit_id: 75ffde103fc915ebaf25a18091215710415d6b3a
      event_id: 8fef9360-367d-11f0-8e76-569783f55e5f
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/dd7a02b0eb1648d399d56742f0579e1d/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/dd7a02b0eb1648d399d56742f0579e1d/work/logs
        result_data_file: /var/lib/zuul/builds/dd7a02b0eb1648d399d56742f0579e1d/work/results.json
        src_root: /var/lib/zuul/builds/dd7a02b0eb1648d399d56742f0579e1d/work/src
        work_root: /var/lib/zuul/builds/dd7a02b0eb1648d399d56742f0579e1d/work
      include_vars: []
      items:
      - branch: main
        change: '2654'
        change_message: "chore(deps): update dependency gruntwork-io/terragrunt to
          v0.79.3\n\nThis PR contains the following updates:\n\n| Package | Update
          | Change |\n|---|---|---|\n| [gruntwork-io/terragrunt](https://redirect.github.com/gruntwork-io/terragrunt)
          | minor | `v0.77.3` -> `v0.79.3` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>gruntwork-io/terragrunt
          (gruntwork-io/terragrunt)</summary>\n\n### [`v0.79.3`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.79.3)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.79.2...v0.79.3)\n\n####
          \U0001F4AA\U0001F3FD Enhancements\n\n##### Limitation on Catalog URLs lifted\n\nA
          limitation on only supporting recognized go-getter URL patters has been
          lifted from the [catalog](https://terragrunt.gruntwork.io/docs/features/catalog/)
          command.\n\nThe reason this limitation existed in the past was to ensure
          that users were able to have Terragrunt load module source code in browsers
          from the catalog Terminal User Interface (TUI). To support that, only a
          constrained set of sources were supported, to ensure that a button was available
          to pop open the link in the browser.\n\n<img width=\"670\" alt=\"image\"
          src=\"https://github.com/user-attachments/assets/92dc016e-3bc5-46f5-b690-da3043590c24\"
          />\n\n<img width=\"666\" alt=\"image\" src=\"https://github.com/user-attachments/assets/f512e901-4deb-4771-8cbd-ea3d54cf5594\"
          />\n\nTerragrunt will now dynamically adjust the buttons available after
          module selection to gracefully degrade the experience, instead of completely
          rejecting repository sources that can't be predictably converted to browser
          URLs.\n\n<img width=\"346\" alt=\"image\" src=\"https://github.com/user-attachments/assets/76a7b1e5-c148-42b2-a696-d7fd750e866d\"
          />\n\nThis allows more users to adopt the Terragrunt Catalog, while providing
          the same great user experience for users that are on fully supported platforms,
          like GitHub, GitLab, BitBucket, etc.\n\n#### What's Changed\n\n-   feat:
          Allow unknown catalog URLs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4318](https://redirect.github.com/gruntwork-io/terragrunt/pull/4318)\n-
          \  docs: Clarify ambiguous documentation on variable precedence by [@&#8203;owattley-rotageek](https://redirect.github.com/owattley-rotageek)
          in [https://github.com/gruntwork-io/terragrunt/pull/4319](https://redirect.github.com/gruntwork-io/terragrunt/pull/4319)\n-
          \  chore: Adjusting catalog implementation by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4315](https://redirect.github.com/gruntwork-io/terragrunt/pull/4315)\n\n####
          New Contributors\n\n-   [@&#8203;owattley-rotageek](https://redirect.github.com/owattley-rotageek)
          made their first contribution in [https://github.com/gruntwork-io/terragrunt/pull/4319](https://redirect.github.com/gruntwork-io/terragrunt/pull/4319)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.79.2...v0.79.3\n\n###
          [`v0.79.2`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.79.2)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.79.1...v0.79.2)\n\n####
          \U0001F697 Performance Improvements\n\nImproved overall performance by memoizing
          `-version` output in each unit.\n\n#### What's Changed\n\n-   feat: Improved
          performance by memoizing `-version` output by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4288](https://redirect.github.com/gruntwork-io/terragrunt/pull/4288)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.79.1...v0.79.2\n\n###
          [`v0.79.1`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.79.1)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.79.0...v0.79.1)\n\n####
          \U0001F4AA\U0001F3FD Enhancements\n\n##### Recursive stack clean\n\nImproved
          `stack clean` to recursively delete all nested stack directories, ensuring
          thorough cleanup.\n\n#### What's Changed\n\n-   feat: Enabled recursive
          deletion of stack directories in `stack clean` by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4313](https://redirect.github.com/gruntwork-io/terragrunt/pull/4313)\n-
          \  feat: Switching to GitHub Actions OIDC role assumption for OIDC test
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4305](https://redirect.github.com/gruntwork-io/terragrunt/pull/4305)\n-
          \  fix: Corrected mislabeled `legacy-all` control in documentation by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4311](https://redirect.github.com/gruntwork-io/terragrunt/pull/4311)\n-
          \  fix: Enabled disabled tests by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4312](https://redirect.github.com/gruntwork-io/terragrunt/pull/4312)\n-
          \  docs: updated quick start documentation with additional output directory
          usage by [@&#8203;james03160927](https://redirect.github.com/james03160927)
          in [https://github.com/gruntwork-io/terragrunt/pull/4299](https://redirect.github.com/gruntwork-io/terragrunt/pull/4299)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.79.0...v0.79.1\n\n###
          [`v0.79.0`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.79.0)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.4...v0.79.0)\n\n####
          \U0001F4AA\U0001F3FD Enhancements\n\n##### The `run --all` command automatically
          generates Terragrunt Stacks\n\nIf you are using `terragrunt.stack.hcl` files
          in your codebase, `run --all` commands will now automatically expand all
          `terragrunt.stack.hcl` files into generated stack configurations, as if
          you had run `stack generate` before running the `run --all` command.\n\ne.g.\n\n```bash\nterragrunt
          run --all plan\n```\n\nIs now equivalent to:\n\n```bash\nterragrunt stack
          generate\nterragrunt run --all plan\n```\n\nIf you would like to disable
          this new behavior, you can use the `--no-stack-generate` to opt out of automatic
          stack generation.\n\n#### \U0001F4D6 Docs Updates\n\nThe [Terragrunt v1](https://terragrunt-v1.gruntwork.io/)
          docs are open for feedback!\n\nThese docs will undergo significant adjustments,
          both stylistically, and functionality on the road to 1.0.\n\nThey are a
          full rewrite of the existing Terragrunt Docs site written in [Jekyll](https://jekyllrb.com/)
          to one using [Starlight](https://starlight.astro.build/).\n\nYour feedback
          is requested! If you are reading these release notes relatively soon after
          release, you should see a link at the top of the site where you can provide
          your feedback on the new docs.\n\n#### What's Changed\n\n-   feat: Moving
          users over to terragrunt-v1.gruntwork.io docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4202](https://redirect.github.com/gruntwork-io/terragrunt/pull/4202)\n-
          \  feat: Adding GTM by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4285](https://redirect.github.com/gruntwork-io/terragrunt/pull/4285)\n-
          \  feat: Github Action tests migration by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4281](https://redirect.github.com/gruntwork-io/terragrunt/pull/4281)\n-
          \  feat: Automatically stack generate in run --all or run --graph command
          by [@&#8203;james03160927](https://redirect.github.com/james03160927) in
          [https://github.com/gruntwork-io/terragrunt/pull/4283](https://redirect.github.com/gruntwork-io/terragrunt/pull/4283)\n-
          \  feat: Adding cloud-nuke cron by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4306](https://redirect.github.com/gruntwork-io/terragrunt/pull/4306)\n-
          \  feat: Adjusting nav height by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4284](https://redirect.github.com/gruntwork-io/terragrunt/pull/4284)\n-
          \  fix: Fixing `remote-relative-with-slash` fixture on ARM tests by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4297](https://redirect.github.com/gruntwork-io/terragrunt/pull/4297)\n-
          \  fix: Fixing install version by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4310](https://redirect.github.com/gruntwork-io/terragrunt/pull/4310)\n-
          \  fix: Improved error handling in AWS docs by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4303](https://redirect.github.com/gruntwork-io/terragrunt/pull/4303)\n-
          \  chore: enable TestRemoteDownloadWithRelativePathAndSlashInBranch test
          by [@&#8203;denis256](https://redirect.github.com/denis256) in [https://github.com/gruntwork-io/terragrunt/pull/4286](https://redirect.github.com/gruntwork-io/terragrunt/pull/4286)\n-
          \  build(deps): bump ruby/setup-ruby from 1.233.0 to 1.238.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4270](https://redirect.github.com/gruntwork-io/terragrunt/pull/4270)\n-
          \  build(deps): bump github.com/gruntwork-io/terratest from 0.48.2 to 0.49.0
          by [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4267](https://redirect.github.com/gruntwork-io/terragrunt/pull/4267)\n-
          \  build(deps): bump ruby/setup-ruby from 1.238.0 to 1.242.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4301](https://redirect.github.com/gruntwork-io/terragrunt/pull/4301)\n-
          \  build(deps): bump DavidAnson/markdownlint-cli2-action from 19 to 20 by
          [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4302](https://redirect.github.com/gruntwork-io/terragrunt/pull/4302)\n\n####
          New Contributors\n\n-   [@&#8203;james03160927](https://redirect.github.com/james03160927)
          made their first contribution in [https://github.com/gruntwork-io/terragrunt/pull/4283](https://redirect.github.com/gruntwork-io/terragrunt/pull/4283)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.4...v0.79.0\n\n###
          [`v0.78.4`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.4)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.3...v0.78.4)\n\n####
          \u2728 New Features\n\n##### OpenTelemetry Trace Propogation\n\nIn anticipation
          of the introduction of OpenTelemetry support in OpenTofu 1.10, Terragrunt
          will now propagate the `TRACEPARENT` environment variable to child processes
          to support OpenTelemetry traces that maintain context across Terragrunt
          and OpenTofu.\n\nThis work is based on [@&#8203;Yantrio](https://redirect.github.com/Yantrio)
          's PoC PR [#&#8203;4254](https://redirect.github.com/gruntwork-io/terragrunt/issues/4254),
          and is only useful due to his work adding OpenTelemtry in OpenTofu. Thank
          you!\n\n#### What's Changed\n\n-   feat: Added generation of opentelemetry
          parent traces to invoked executables by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4278](https://redirect.github.com/gruntwork-io/terragrunt/pull/4278)\n-
          \  feat: Added support for Terraform tests in Github Action by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4275](https://redirect.github.com/gruntwork-io/terragrunt/pull/4275)\n-
          \  docs: Added homepage to Starlight docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4250](https://redirect.github.com/gruntwork-io/terragrunt/pull/4250)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.3...v0.78.4\n\n###
          [`v0.78.3`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.3)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.2...v0.78.3)\n\n####
          \U0001F41B Bug Fixes\n\nWhen an [error retry](https://terragrunt.gruntwork.io/docs/features/runtime-control/#errors)
          results in a plan succeeding when it initially failed, usage of `run --all
          -- plan -detailed-exitcode` will now properly take into account the *final*
          exit code, rather than the first one, meaning that the exit code of the
          whole run will be zero if no other units fail their plans.\n\nThanks to
          [@&#8203;wakeful](https://redirect.github.com/wakeful) for contributing
          this fix!\n\n#### What's Changed\n\n-   fix [#&#8203;3845](https://redirect.github.com/gruntwork-io/terragrunt/issues/3845)
          set the correct exit code when a retry is successful. by [@&#8203;wakeful](https://redirect.github.com/wakeful)
          in [https://github.com/gruntwork-io/terragrunt/pull/3966](https://redirect.github.com/gruntwork-io/terragrunt/pull/3966)\n-
          \  docs: Improving Run Queue docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4272](https://redirect.github.com/gruntwork-io/terragrunt/pull/4272)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.2...v0.78.3\n\n###
          [`v0.78.2`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.2)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.1...v0.78.2)\n\n####
          What's Changed\n\n-   feat: enable GCP integration tests in GH Action by
          [@&#8203;denis256](https://redirect.github.com/denis256) in [https://github.com/gruntwork-io/terragrunt/pull/4257](https://redirect.github.com/gruntwork-io/terragrunt/pull/4257)\n-
          \  feat: fixed TestGcpWorksWithImpersonateBackend test by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4261](https://redirect.github.com/gruntwork-io/terragrunt/pull/4261)\n-
          \  feat: Adding integration tests by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4198](https://redirect.github.com/gruntwork-io/terragrunt/pull/4198)\n-
          \  feat: add Windows integration tests by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4262](https://redirect.github.com/gruntwork-io/terragrunt/pull/4262)\n-
          \  fix: Removing HTML `font-size` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4256](https://redirect.github.com/gruntwork-io/terragrunt/pull/4256)\n-
          \  docs: Adding Run Queue Docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4249](https://redirect.github.com/gruntwork-io/terragrunt/pull/4249)\n-
          \  build(deps): bump github.com/gruntwork-io/boilerplate to v0.6.1 by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
          \  build(deps): bump github.com/gruntwork-io/terragrunt-engine-go to v0.0.14
          by [@&#8203;denis256](https://redirect.github.com/denis256) in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
          \  build(deps): bump golang.org/x/oauth2 to v0.30.0 by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
          \  build(deps): bump golang.org/x/sync to v0.14.0 by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
          \  build(deps): bump google.golang.org/api to v0.232.0 by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
          \  build(deps): bump google.golang.org/grpc to v1.72.0 by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n-
          \  chore: dependencies update by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4263](https://redirect.github.com/gruntwork-io/terragrunt/pull/4263)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.1...v0.78.2\n\n###
          [`v0.78.1`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.1)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.78.0...v0.78.1)\n\n####
          What's Changed\n\n-   docs: Updating docs now that stacks are generally
          available by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4243](https://redirect.github.com/gruntwork-io/terragrunt/pull/4243)\n-
          \  fix: AWS S3 backend access logging bucket not versioning by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4246](https://redirect.github.com/gruntwork-io/terragrunt/pull/4246)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.78.0...v0.78.1\n\n###
          [`v0.78.0`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.78.0)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.22...v0.78.0)\n\n####
          \U0001F9EA Experiments Completed\n\nThe [stacks](https://terragrunt.gruntwork.io/docs/reference/experiments/#stacks)
          experiment is now complete.\n\nIf you were previously using the flag `--experiment
          stacks` to opt in to experimental functionality, you no longer have to do
          so. Note that if you are, you will simply get a warning that it is no longer
          necessary.\n\n#### \U0001F6E0\uFE0F Breaking Changes\n\nLegacy commands
          (as replaced by the [CLI Redesign](https://redirect.github.com/gruntwork-io/terragrunt/issues/3445)
          are now deprecated, and will be phased out at a future date, which will
          be scheduled in [#&#8203;3535](https://redirect.github.com/gruntwork-io/terragrunt/issues/3535).
          Make sure to subscribe to the issue if you would like to be informed when
          these deprecated features are no longer supported.\n\nFor instructions on
          migrating to the new commands provided after the CLI Redesign, read the
          [CLI Redesign Migration Guide](https://terragrunt.gruntwork.io/docs/migrate/cli-redesign/).\n\nThe
          following are now deprecated:\n\n-   `hclfmt` (use `hcl fmt` instead)\n-
          \  `hclvalidate` (use `hcl validate` instead)\n-   `validate-inputs` (use
          `hcl validate --inputs` and `hcl validate --inputs --strict` instead)\n-
          \  `terragrunt-info` (use `info print` instead)\n-   `output-module-groups`
          (use `find --dag --json` instead)\n-   `render-json` (use `render --json
          -w` instead)\n-   `graph-dependencies` (use `dag graph` instead)\n-   `run-all`
          (use `run --all` instead)\n-   `graph` (use `run --graph` instead)\n-   The
          default command. e.g. `terragrunt workspace list` (use `terragrunt run --
          workspace list` instead)\n-   Default bootstrap (automatically provisioning
          backend resources without additional flags). This is now opt in behavior,
          and requires usage of the `--backend-bootstrap` flag or explicitly running
          the new `backend bootstrap` command.\n-   `aws-provider-patch` (we are simply
          deprecating this command, and removing it when the other commands are removed.
          It served its purpose as a short term stopgap tool).\n\nNote that this will
          not result in an immediate breaking change for users, as we\u2019ll have
          an initial deprecation window to give users time to adjust to these changes.
          If you\u2019d like to ensure that you are prepared for the future removal
          of legacy commands, you can take advantage of the [cli-redesign](https://terragrunt.gruntwork.io/docs/reference/strict-mode/#cli-redesign)
          strict control to opt in to the future breaking change early.\n\n#### \U0001F4AA\U0001F3FD
          \ Enhancements\n\nThe logging for stack generation has been improved to
          make it easier to determine at a glance the stack file that\u2019s generating
          a particular unit.\n\n![stacks-generation](https://redirect.github.com/user-attachments/assets/11c49c92-edfd-4d3a-b2c6-4bae4326e0e2)\n\n####
          What's Changed\n\n-   feat: improved stack logs generation by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4213](https://redirect.github.com/gruntwork-io/terragrunt/pull/4213)\n-
          \  feat: stacks expriment completion by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4222](https://redirect.github.com/gruntwork-io/terragrunt/pull/4222)\n-
          \  feat: Deprecating `render-json` command by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4227](https://redirect.github.com/gruntwork-io/terragrunt/pull/4227)\n-
          \  feat: Deprecating `aws-provider-patch` command by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4228](https://redirect.github.com/gruntwork-io/terragrunt/pull/4228)\n-
          \  feat: Deprecating `output-module-groups` command by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4229](https://redirect.github.com/gruntwork-io/terragrunt/pull/4229)\n-
          \  fix: Fixing base tests for macOS by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4193](https://redirect.github.com/gruntwork-io/terragrunt/pull/4193)\n-
          \  fix: Fixing 404 in performance docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4194](https://redirect.github.com/gruntwork-io/terragrunt/pull/4194)\n-
          \  fix: basic tests execution update by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4192](https://redirect.github.com/gruntwork-io/terragrunt/pull/4192)\n-
          \  fix: Throwing interrupt signal with `--all` flag by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4224](https://redirect.github.com/gruntwork-io/terragrunt/pull/4224)\n-
          \  fix: handling of errors in parsing base blocks by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4226](https://redirect.github.com/gruntwork-io/terragrunt/pull/4226)\n-
          \  fix: Cleaning up legacy `-all` usage by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4239](https://redirect.github.com/gruntwork-io/terragrunt/pull/4239)\n-
          \  fix: Rename all the `--terragrunt-` flags by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4203](https://redirect.github.com/gruntwork-io/terragrunt/pull/4203)\n-
          \  fix: Cleaning up `run-all` usage by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4223](https://redirect.github.com/gruntwork-io/terragrunt/pull/4223)\n-
          \  fix: Updating environment variables for flags by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4240](https://redirect.github.com/gruntwork-io/terragrunt/pull/4240)\n-
          \  fix: Updating migration guide for CLI Redesign migration by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4207](https://redirect.github.com/gruntwork-io/terragrunt/pull/4207)\n-
          \  docs: Adding docs for `cli-redesign` strict control by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4238](https://redirect.github.com/gruntwork-io/terragrunt/pull/4238)\n-
          \  docs: Documenting CLI Redesign deprecations by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4237](https://redirect.github.com/gruntwork-io/terragrunt/pull/4237)\n-
          \  docs: updated stack links by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4201](https://redirect.github.com/gruntwork-io/terragrunt/pull/4201)\n-
          \  chore: Preserve tests with deprecated commands/flags by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4242](https://redirect.github.com/gruntwork-io/terragrunt/pull/4242)\n-
          \  chore: `hclfmt` `hclvalidate` `validate-inputs` as deprecated commands
          (minor fixes) by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4199](https://redirect.github.com/gruntwork-io/terragrunt/pull/4199)\n-
          \  chore: `hclfmt` `hclvalidate` `validate-inputs` as deprecated commands
          by [@&#8203;levkohimins](https://redirect.github.com/levkohimins) in [https://github.com/gruntwork-io/terragrunt/pull/4196](https://redirect.github.com/gruntwork-io/terragrunt/pull/4196)\n-
          \  build(deps): bump github.com/getsops/sops/v3 from 3.10.1 to 3.10.2 by
          [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4185](https://redirect.github.com/gruntwork-io/terragrunt/pull/4185)\n-
          \  build(deps): bump go.opentelemetry.io/otel/exporters/stdout/stdouttrace
          from 1.34.0 to 1.35.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4184](https://redirect.github.com/gruntwork-io/terragrunt/pull/4184)\n-
          \  build(deps): bump DavidAnson/markdownlint-cli2-action from 15 to 19 by
          [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4187](https://redirect.github.com/gruntwork-io/terragrunt/pull/4187)\n-
          \  build(deps): bump ruby/setup-ruby from 1.230.0 to 1.233.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4186](https://redirect.github.com/gruntwork-io/terragrunt/pull/4186)\n-
          \  build(deps-dev): bump nokogiri from 1.18.4 to 1.18.8 in /docs by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4195](https://redirect.github.com/gruntwork-io/terragrunt/pull/4195)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.22...v0.78.0\n\n###
          [`v0.77.22`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.22)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.21...v0.77.22)\n\n####
          \U0001F9EA Experiments Completed\n\n##### The `cli-redesign` experiment
          is now complete\n\nThe [cli-redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment is now complete.\n\nIf you were previously using the flag `--experiment
          cli-redesign` to opt in to experimental functionality, you no longer have
          to do so. Note that if you are, you will simply get a warning that it is
          no longer necessary.\n\n#### What's Changed\n\n-   feat: Adding base tests
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4176](https://redirect.github.com/gruntwork-io/terragrunt/pull/4176)\n-
          \  chore: Complete CLI Redesign experiment by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4189](https://redirect.github.com/gruntwork-io/terragrunt/pull/4189)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.21...v0.77.22\n\n###
          [`v0.77.21`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.21)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.20...v0.77.21)\n\n####
          \u2728 New Features\n\n##### Introduction of `hcl` commands\n\nAs part of
          the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment, the [`hcl`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#hcl-commands)
          commands have been introduced.\n\nThe `hcl` commands allow users to directly
          interact with HCL content independent of the underlying functionality they
          support.\n\nThe functionality of the `hcl` commands replace existing functionality
          that is soon to be deprecated:\n\n-   `hclfmt` --> `hcl fmt`\n-   `hclvalidate`
          --> `hcl validate`\n-   `validate-inputs` --> `hcl validate --inputs`\n-
          \  `validate-inputs --strict-validate` --> `hcl validate --inputs --strict`\n\n####
          What's Changed\n\n-   feat: `hcl` commands docs by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4180](https://redirect.github.com/gruntwork-io/terragrunt/pull/4180)\n-
          \  feat: add symbol link experiemnt in discovery process by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4177](https://redirect.github.com/gruntwork-io/terragrunt/pull/4177)\n-
          \  feat: Implementation of `hcl` commands by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4169](https://redirect.github.com/gruntwork-io/terragrunt/pull/4169)\n-
          \  fix: Adding redirect from /docs/reference/experiment-mode to /docs/reference/experiments
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4178](https://redirect.github.com/gruntwork-io/terragrunt/pull/4178)\n-
          \  fix: Fix spelling by [@&#8203;hpe-noinarisak](https://redirect.github.com/hpe-noinarisak)
          in [https://github.com/gruntwork-io/terragrunt/pull/4179](https://redirect.github.com/gruntwork-io/terragrunt/pull/4179)\n-
          \  fix: Update status of cli-redesign experiment by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4188](https://redirect.github.com/gruntwork-io/terragrunt/pull/4188)\n-
          \  build(deps): bump github.com/charmbracelet/bubbles from 0.20.0 to 0.21.0
          by [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4160](https://redirect.github.com/gruntwork-io/terragrunt/pull/4160)\n\n####
          New Contributors\n\n-   [@&#8203;hpe-noinarisak](https://redirect.github.com/hpe-noinarisak)
          made their first contribution in [https://github.com/gruntwork-io/terragrunt/pull/4179](https://redirect.github.com/gruntwork-io/terragrunt/pull/4179)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.20...v0.77.21\n\n###
          [`v0.77.20`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.20)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.19...v0.77.20)\n\n####
          What's Changed\n\n-   build: Added `build-no-proxy.yml` workflow by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4171](https://redirect.github.com/gruntwork-io/terragrunt/pull/4171)\n-
          \  build: Added `lint.yml` and `strict-lint.yml` workflows for GitHub Actions
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4172](https://redirect.github.com/gruntwork-io/terragrunt/pull/4172)\n-
          \  build: Added codespell workflow by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4173](https://redirect.github.com/gruntwork-io/terragrunt/pull/4173)\n-
          \  build: Added markdownlint v2 to GitHub Actions workflows by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4175](https://redirect.github.com/gruntwork-io/terragrunt/pull/4175)\n-
          \  docs: Improved getting started guide by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4174](https://redirect.github.com/gruntwork-io/terragrunt/pull/4174)\n-
          \  build(deps): bump github.com/ProtonMail/go-crypto from 1.1.6 to 1.2.0
          by [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4161](https://redirect.github.com/gruntwork-io/terragrunt/pull/4161)\n-
          \  build(deps): bump golang.org/x/term from 0.30.0 to 0.31.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4159](https://redirect.github.com/gruntwork-io/terragrunt/pull/4159)\n-
          \  build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.78.2
          to 1.79.2 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4158](https://redirect.github.com/gruntwork-io/terragrunt/pull/4158)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.19...v0.77.20\n\n###
          [`v0.77.19`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.19)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.18...v0.77.19)\n\n####
          \u2728 New Features\n\n##### OpenTelemetry traces are now integrated into
          `find` and `list` commands\n\nfind telemetry:\n![image](https://redirect.github.com/user-attachments/assets/eb5ff11a-e90f-4b5d-bec0-c99cb1419f57)\n\nlist
          telemetry:\n![image](https://redirect.github.com/user-attachments/assets/7af232f1-e822-4aae-8230-12257c359d21)\n\n####
          What's Changed\n\n-   feat: Implemented telemetry for find/list by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4165](https://redirect.github.com/gruntwork-io/terragrunt/pull/4165)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.18...v0.77.19\n\n###
          [`v0.77.18`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.18)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.17...v0.77.18)\n\n####
          \u2728 New Features\n\n##### Support for HCL formatting with the `render`
          command\n\nAs part of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment, the [`render`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#backend-migrate)
          command now supports HCL formatting for rendered configurations, which is
          the default output format.\n\nUsing the `render` command with HCL formatting
          allows users to get a quick, minimal evaluation of Terragrunt unit configurations
          with as much pre-processing done as possible.\n\nFor example, the following
          `terragrunt.hcl` file:\n\n```hcl\n\n### terragrunt.hcl\n\nlocals {\n  aws_region
          = \"us-east-1\"\n}\n\ninputs = {\n  aws_region = local.aws_region\n}\n```\n\nRenders
          to the following HCL:\n\n```bash\n$ terragrunt render\nlocals {\n  aws_region
          = \"us-east-1\"\n}\ninputs = {\n  aws_region = \"us-east-1\"\n}\n```\n\nUsing
          the `render` command with HCL formatting offers a way to resolve complex
          HCL function evaluation, include merging or string interpolation, etc. to
          achieve equivalent Terragrunt HCL configurations that are easier to reason
          about.\n\n#### What's Changed\n\n-   feat: Adding `render` with HCL formatting
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4164](https://redirect.github.com/gruntwork-io/terragrunt/pull/4164)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.17...v0.77.18\n\n###
          [`v0.77.17`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.17)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.16...v0.77.17)\n\n####
          \u2728 New Features\n\n##### Introduction of the `render` command\n\nAs
          part of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment, the [`render`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#backend-migrate)
          command has been introduced.\n\nThe `render` command allows users to easily
          render Terragrunt unit configurations with reduced complexity, making it
          easier to understand configurations at a glance.\n\nFor example, the following
          `terragrunt.hcl` file:\n\n```hcl\n\n### terragrunt.hcl\n\nlocals {\n  aws_region
          = \"us-east-1\"\n}\n\ninputs = {\n  aws_region = local.aws_region\n}\n```\n\nRenders
          to the following JSON:\n\n```bash\n$ terragrunt render --format json\n{\n
          \ \"locals\": { \"aws_region\": \"us-east-1\" },\n  \"inputs\": { \"aws_region\":
          \"us-east-1\" }\n  // NOTE: other attributes are omitted for brevity\n}\n```\n\nThe
          introduction of the `render` command is part of the eventual deprecation
          of the existing `render-json` command, which will be deprecated by the end
          of the CLI Redesign. The `render` command is a higher level command, that
          offers the ability to write to stdout, in addition to writing to files,
          and will support HCL configurations in addition to JSON (coming soon).\n\nTo
          learn more about the `render` command, read the official documentation [here](https://terragrunt.gruntwork.io/docs/reference/cli-options/#render).\n\n####
          What's Changed\n\n-   feat: Adding `render` command by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4145](https://redirect.github.com/gruntwork-io/terragrunt/pull/4145)\n-
          \  feat: Adding docs for `backend migrate` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4140](https://redirect.github.com/gruntwork-io/terragrunt/pull/4140)\n-
          \  build(deps): bump ruby/setup-ruby from 1.229.0 to 1.230.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4162](https://redirect.github.com/gruntwork-io/terragrunt/pull/4162)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.16...v0.77.17\n\n###
          [`v0.77.16`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.16)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.15...v0.77.16)\n\n####
          \u2728 New Features\n\n##### Introduction of the `backend migrate` command\n\nAs
          part of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment, the [`backend migrate`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#backend-migrate)
          command has been introduced.\n\nThe `backend migrate` command allows you
          to simply migrate state between different units (or renames of units) without
          manually running OpenTofu/Terraform state migration commands.\n\nTo learn
          more about the `backend migrate` command, read the [official docs](https://terragrunt.gruntwork.io/docs/reference/cli-options/#backend-migrate).\n\n####
          What's Changed\n\n-   feat: Added support for migrating state between different
          backends by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4154](https://redirect.github.com/gruntwork-io/terragrunt/pull/4154)\n-
          \  feat: Enhanced error explainer to detect and report issues related to
          `stack` values by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4163](https://redirect.github.com/gruntwork-io/terragrunt/pull/4163)\n-
          \  fix: Improved the deprecation message for experimental command flags
          by [@&#8203;levkohimins](https://redirect.github.com/levkohimins) in [https://github.com/gruntwork-io/terragrunt/pull/4146](https://redirect.github.com/gruntwork-io/terragrunt/pull/4146)\n-
          \  fix: Prevent `TF_CLI_CONFIG_FILE` environment variable from being overwritten,
          except during `init` and `providers` commands by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4155](https://redirect.github.com/gruntwork-io/terragrunt/pull/4155)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.15...v0.77.16\n\n###
          [`v0.77.15`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.15)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.14...v0.77.15)\n\n####
          \u2728 New Features\n\n##### Introduction of the `dag graph` command\n\nAs
          part of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment, the [`dag graph`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#print-graph)
          command has been introduced.\n\n![dag](https://redirect.github.com/user-attachments/assets/389d4e31-197c-4c37-8913-1417ecd3e5b4)\n\n![dag-help](https://redirect.github.com/user-attachments/assets/2525cd27-0d8e-457b-87ea-759fae31e2f3)\n\n![dag-graph-help](https://redirect.github.com/user-attachments/assets/fb268b20-f32b-4b4f-ba13-0d1fc9fca748)\n\n####
          What's Changed\n\n-   docs: Added migration guide for adopting Terragrunt
          Stacks by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4152](https://redirect.github.com/gruntwork-io/terragrunt/pull/4152)\n-
          \  feat: Added dag graph command by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4143](https://redirect.github.com/gruntwork-io/terragrunt/pull/4143)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.14...v0.77.15\n\n###
          [`v0.77.14`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.14)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.13...v0.77.14)\n\n####
          \u2728 New Features\n\n##### Support for `--exclude` and `--queue-construct-as`
          in `find` and `list`\n\nThe [`find`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#find)
          and [`list`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#list)
          commands have been updated to leverage new capabilities involving greater
          understanding of the Terragrunt run queue.\n\nUsers can now leverage the
          [`--queue-construct-as`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#find-queue-construct-as)
          (or just `--as`) flag in the `find` and `list` commands to discover configurations
          as if a particular Terragrunt command was being run (e.g. `plan`, `destroy`).\n\nFor
          example:\n\n```bash\n$ terragrunt find --queue-construct-as=plan\nstacks/live/dev\nstacks/live/prod\nunits/live/dev/vpc\nunits/live/prod/vpc\nunits/live/dev/db\nunits/live/prod/db\nunits/live/dev/ec2\nunits/live/prod/ec2\n```\n\n```bash\n$
          terragrunt find --as=destroy\nstacks/live/dev\nstacks/live/prod\nunits/live/dev/ec2\nunits/live/prod/ec2\nunits/live/dev/db\nunits/live/prod/db\nunits/live/dev/vpc\nunits/live/prod/vpc\n```\n\nThe
          `find` and `list` commands will now construct the Terragrunt run queue as
          if a particular command was being run, potentially altering the position
          of elements in the run queue, based on their dependencies (dependencies
          before dependents for plans, applies, etc. and dependents before dependencies
          for destroys).\n\nIn addition, users can leverage the [`--exclude`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#find-exclude)
          flag on the `find` command to get information on the `exclude` block included
          in results. The `exclude` block is also factored in to discovery results
          when the `--queue-construct-as` flag is passed, allowing users to dry-run
          behavior of the `exclude` block before performing any Terragrunt runs.\n\n####
          What's Changed\n\n-   feat: Adding exclude support to list and find by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4147](https://redirect.github.com/gruntwork-io/terragrunt/pull/4147)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.13...v0.77.14\n\n###
          [`v0.77.13`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.13)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.12...v0.77.13)\n\n####
          What's Changed\n\n-   build(deps): bump google.golang.org/grpc from 1.71.0
          to 1.71.1 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4132](https://redirect.github.com/gruntwork-io/terragrunt/pull/4132)\n-
          \  build(deps): bump golang.org/x/sys from 0.31.0 to 0.32.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4133](https://redirect.github.com/gruntwork-io/terragrunt/pull/4133)\n-
          \  build(deps): bump golang.org/x/oauth2 from 0.28.0 to 0.29.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4131](https://redirect.github.com/gruntwork-io/terragrunt/pull/4131)\n-
          \  build(deps): bump github.com/getsops/sops/v3 from 3.9.4 to 3.10.1 by
          [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/gruntwork-io/terragrunt/pull/4130](https://redirect.github.com/gruntwork-io/terragrunt/pull/4130)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.12...v0.77.13\n\n###
          [`v0.77.12`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.12)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.11...v0.77.12)\n\n####
          \u2728 New Features\n\nIntroduced `no_validation` attribute for `stack`
          and `unit`, allowing users to bypass Terragrunt's validation checks when
          deploying infrastructure. This is particularly useful in scenarios where
          you need to deploy infrastructure that doesn't strictly adhere to Terragrunt's
          validation rules, such as during emergency deployments or when working with
          legacy infrastructure patterns.\n\n#### What's Changed\n\n-   docs: added
          more docs for stacks by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4144](https://redirect.github.com/gruntwork-io/terragrunt/pull/4144)\n-
          \  feat: added support for `no_validation` attribute for `stack` and `unit`
          by [@&#8203;denis256](https://redirect.github.com/denis256) in [https://github.com/gruntwork-io/terragrunt/pull/4149](https://redirect.github.com/gruntwork-io/terragrunt/pull/4149)\n\nRFC:
          [https://github.com/gruntwork-io/terragrunt/issues/3313](https://redirect.github.com/gruntwork-io/terragrunt/issues/3313)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.11...v0.77.12\n\n###
          [`v0.77.11`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.11)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.10...v0.77.11)\n\n####
          \u2728 New Features\n\n##### Introduction of the `info print` command\n\nAs
          part of the [CLI Redesign](https://terragrunt.gruntwork.io/docs/reference/experiments/#cli-redesign)
          experiment, the [`info print`](https://terragrunt.gruntwork.io/docs/reference/cli-options/#print-command)
          command has been introduced.\n\n![help](https://redirect.github.com/user-attachments/assets/2eac4645-93c2-47dd-8dc3-73c4442bf1c8)\n\n![out](https://redirect.github.com/user-attachments/assets/7005c5db-15e1-4efe-b5a8-349a179f6033)\n\n####
          What's Changed\n\n-   feat: Introduced the `info print` command to output
          Terragrunt context as a structured JSON object by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4122](https://redirect.github.com/gruntwork-io/terragrunt/pull/4122)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.10...v0.77.11\n\n###
          [`v0.77.10`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.10)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.9...v0.77.10)\n\n####
          What's Changed\n\n-   fix: Suppressing warning for catalog when determining
          default file name by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4134](https://redirect.github.com/gruntwork-io/terragrunt/pull/4134)\n-
          \  fix: Remove warning message for unimplemented backends by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4138](https://redirect.github.com/gruntwork-io/terragrunt/pull/4138)\n-
          \  fix: Fixing optional default template by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4141](https://redirect.github.com/gruntwork-io/terragrunt/pull/4141)\n-
          \  chore: stack code improvements by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4136](https://redirect.github.com/gruntwork-io/terragrunt/pull/4136)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.9...v0.77.10\n\n###
          [`v0.77.9`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.9)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.8...v0.77.9)\n\n####
          \U0001F41B Bug fixes\n\n##### Fetching Outputs from Nested Stacks\n\nResolved
          an issue that prevented the correct retrieval of outputs from nested stacks.\n\n####
          What's Changed\n\n-   fix: corrected the logic for fetching outputs from
          nested stacks by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4126](https://redirect.github.com/gruntwork-io/terragrunt/pull/4126)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.8...v0.77.9\n\n###
          [`v0.77.8`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.8)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.7...v0.77.8)\n\n####
          \U0001F4D6 Documentation Updates\n\nA new [performance guide](https://terragrunt.gruntwork.io/docs/troubleshooting/performance/)
          has been added to Terragrunt documentation to offer guidance on how performance
          can be improved when using Terragrunt or contributing to the Terragrunt
          codebase.\n\nThis documentation will evolve over time, as more optional
          optimizations become available, or are no longer necessary, as they become
          default behavior.\n\n#### What's Changed\n\n-   feat: Add performance guide
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4120](https://redirect.github.com/gruntwork-io/terragrunt/pull/4120)\n-
          \  build(deps): bump ruby/setup-ruby from 1.221.0 to 1.229.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)
          in [https://github.com/gruntwork-io/terragrunt/pull/4100](https://redirect.github.com/gruntwork-io/terragrunt/pull/4100)\n-
          \  fix: Addressing commas in external IDs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4128](https://redirect.github.com/gruntwork-io/terragrunt/pull/4128)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.7...v0.77.8\n\n###
          [`v0.77.7`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.7)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.6...v0.77.7)\n\n####
          \u2728 New Features\n\nUsers can now configure a custom default template
          for `scaffold` and `catalog` commands in their `catalog` configuration blocks
          like so:\n\n```hcl\ncatalog {\n  default_template = \"git@github.com/acme/example.git//path/to/template\"\n}\n```\n\nFor
          more information, read the documentation in the [catalog feature](https://terragrunt.gruntwork.io/docs/features/catalog/#custom-templates-for-scaffolding).\n\nSpecial
          thanks to [@&#8203;tgeijg](https://redirect.github.com/tgeijg) for contributing
          this feature!\n\n#### What's Changed\n\n-   feat: Adding custom default
          template [#&#8203;3658](https://redirect.github.com/gruntwork-io/terragrunt/issues/3658)
          by [@&#8203;tgeijg](https://redirect.github.com/tgeijg) in [https://github.com/gruntwork-io/terragrunt/pull/4035](https://redirect.github.com/gruntwork-io/terragrunt/pull/4035)\n-
          \  fix: Updating docs after [#&#8203;4035](https://redirect.github.com/gruntwork-io/terragrunt/issues/4035)
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [https://github.com/gruntwork-io/terragrunt/pull/4117](https://redirect.github.com/gruntwork-io/terragrunt/pull/4117)\n-
          \  chore: stacks documentation improvements by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4114](https://redirect.github.com/gruntwork-io/terragrunt/pull/4114)\n\n####
          New Contributors\n\n-   [@&#8203;tgeijg](https://redirect.github.com/tgeijg)
          made their first contribution in [https://github.com/gruntwork-io/terragrunt/pull/4035](https://redirect.github.com/gruntwork-io/terragrunt/pull/4035)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.6...v0.77.7\n\n###
          [`v0.77.6`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.6)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.5...v0.77.6)\n\n####
          What's Changed\n\n-   fix: Correctly ignore lock table encryption setting
          to prevent unintended configuration overrides by [@&#8203;levkohimins](https://redirect.github.com/levkohimins)
          in [https://github.com/gruntwork-io/terragrunt/pull/4112](https://redirect.github.com/gruntwork-io/terragrunt/pull/4112)\n-
          \  fix: Introduced stricter constraints for detecting stack configuration
          files by [@&#8203;denis256](https://redirect.github.com/denis256) in [https://github.com/gruntwork-io/terragrunt/pull/4113](https://redirect.github.com/gruntwork-io/terragrunt/pull/4113)\n-
          \  feat: Enabled parsing of stack configuration directly from a string input
          for enhanced integration with 3rd party code by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4110](https://redirect.github.com/gruntwork-io/terragrunt/pull/4110)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.5...v0.77.6\n\n###
          [`v0.77.5`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.5)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.4...v0.77.5)\n\n####
          What's Changed\n\n-   feat: added support for OpenTelemetry in `stack` commands
          to enable enhanced observability and tracing by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4109](https://redirect.github.com/gruntwork-io/terragrunt/pull/4109)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.4...v0.77.5\n\n###
          [`v0.77.4`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.77.4)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.77.3...v0.77.4)\n\n####
          \U0001F41B Bug fixes\n\n##### Newlines reduced in Error Logging for Configuration
          Errors\n\nLogging for configuration errors has been compacted to reduce
          noise, and make errors easier to read.\n\n```\n\n### Before\n14:09:25.892
          ERROR  Error: Error in function call\n\n14:09:25.892 ERROR    on terragrunt.hcl
          line 3, in locals:\n\n14:09:25.892 ERROR     3:       requires_auth = run_cmd(\"exit\",
          \"1\") // intentional error\n\n14:09:25.892 ERROR\n\n14:09:25.892 ERROR
          \ Call to function \"run_cmd\" failed: Failed to execute \"exit 1\" in .\n\nexec:
          \"exit\": executable file not found in $PATH.\n\n```\n\n    ### After\n
          \   15:19:50.937 ERROR  Error: Error in function call\n    15:19:50.937
          ERROR    on terragrunt.hcl line 3, in locals:\n    15:19:50.937 ERROR  Error:
          Error in function call\n    15:19:50.937 ERROR    on terragrunt.hcl line
          3, in locals:\n    15:19:50.937 ERROR     3:       requires_auth = run_cmd(\"exit\",
          \"1\") // intentional error\n    15:19:50.937 ERROR     3:       fail   =
          run_cmd(\"exit\", \"1\") // intentional error\n    15:19:50.937 ERROR  Call
          to function \"run_cmd\" failed: Failed to execute \"exit 1\" in .\n    15:19:50.937
          ERROR  exec: \"exit\": executable file not found in $PATH.\n\n##### Improved
          Cycle Detection Logic for `stack generate`\n\nOn the default filesystem
          for macOS, path length was likely to result in an error before internal
          cycle detection logic, so cycle detection was updated to leverage a maximum
          path length of 1024 characters as an earlier exit for all operating systems.\n\n#####
          Excessive warning for bootstrap requirement resolved\n\nInternal logic for
          determination that backends required bootstrapping was adjusted to no longer
          leverage the value of the OpenTofu state file.\n\nWhile cheaper than making
          a network request to assess the current state of backend resources, it also
          resulted in false negatives, which triggered excessive backend bootstrap
          warnings.\n\n#### What's Changed\n\n-   fix: New lines in TF diagnostic
          log by [@&#8203;levkohimins](https://redirect.github.com/levkohimins) in
          [https://github.com/gruntwork-io/terragrunt/pull/4108](https://redirect.github.com/gruntwork-io/terragrunt/pull/4108)\n-
          \  fix: Stack cycles detection improvements by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [https://github.com/gruntwork-io/terragrunt/pull/4106](https://redirect.github.com/gruntwork-io/terragrunt/pull/4106)\n-
          \  fix: Fixing excessive warning for bootstrap by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [https://github.com/gruntwork-io/terragrunt/pull/4107](https://redirect.github.com/gruntwork-io/terragrunt/pull/4107)\n\n**Full
          Changelog**: https://github.com/gruntwork-io/terragrunt/compare/v0.77.3...v0.77.4\n\n</details>\n\n---\n\n###
          Configuration\n\n\U0001F4C5 **Schedule**: Branch creation - At any time
          (no schedule defined), Automerge - At any time (no schedule defined).\n\n\U0001F6A6
          **Automerge**: Disabled by config. Please merge this manually once you are
          satisfied.\n\n\u267B **Rebasing**: Whenever PR becomes conflicted, or you
          tick the rebase/retry checkbox.\n\n\U0001F515 **Ignore**: Close this PR
          and you won't be reminded about this update again.\n\n---\n\n - [ ] <!--
          rebase-check -->If you want to rebase/retry this PR, check this box\n\n---\n\nThis
          PR was generated by [Mend Renovate](https://mend.io/renovate/). View the
          [repository job log](https://developer.mend.io/github/osism/testbed).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjQwLjE2LjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbInJlbm92YXRlIl19-->\n"
        change_url: https://github.com/osism/testbed/pull/2654
        commit_id: 75ffde103fc915ebaf25a18091215710415d6b3a
        patchset: 75ffde103fc915ebaf25a18091215710415d6b3a
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/testbed
          name: osism/testbed
          short_name: testbed
          src_dir: src/github.com/osism/testbed
        topic: null
      job: python-black
      jobtags: []
      max_attempts: 3
      message: Y2hvcmUoZGVwcyk6IHVwZGF0ZSBkZXBlbmRlbmN5IGdydW50d29yay1pby90ZXJyYWdydW50IHRvIHYwLjc5LjMKClRoaXMgUFIgY29udGFpbnMgdGhlIGZvbGxvd2luZyB1cGRhdGVzOgoKfCBQYWNrYWdlIHwgVXBkYXRlIHwgQ2hhbmdlIHwKfC0tLXwtLS18LS0tfAp8IFtncnVudHdvcmstaW8vdGVycmFncnVudF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50KSB8IG1pbm9yIHwgYHYwLjc3LjNgIC0+IGB2MC43OS4zYCB8CgotLS0KCiMjIyBSZWxlYXNlIE5vdGVzCgo8ZGV0YWlscz4KPHN1bW1hcnk+Z3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQgKGdydW50d29yay1pby90ZXJyYWdydW50KTwvc3VtbWFyeT4KCiMjIyBbYHYwLjc5LjNgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcmVsZWFzZXMvdGFnL3YwLjc5LjMpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc5LjIuLi52MC43OS4zKQoKIyMjIyDwn5Kq8J+PvSBFbmhhbmNlbWVudHMKCiMjIyMjIExpbWl0YXRpb24gb24gQ2F0YWxvZyBVUkxzIGxpZnRlZAoKQSBsaW1pdGF0aW9uIG9uIG9ubHkgc3VwcG9ydGluZyByZWNvZ25pemVkIGdvLWdldHRlciBVUkwgcGF0dGVycyBoYXMgYmVlbiBsaWZ0ZWQgZnJvbSB0aGUgW2NhdGFsb2ddKGh0dHBzOi8vdGVycmFncnVudC5ncnVudHdvcmsuaW8vZG9jcy9mZWF0dXJlcy9jYXRhbG9nLykgY29tbWFuZC4KClRoZSByZWFzb24gdGhpcyBsaW1pdGF0aW9uIGV4aXN0ZWQgaW4gdGhlIHBhc3Qgd2FzIHRvIGVuc3VyZSB0aGF0IHVzZXJzIHdlcmUgYWJsZSB0byBoYXZlIFRlcnJhZ3J1bnQgbG9hZCBtb2R1bGUgc291cmNlIGNvZGUgaW4gYnJvd3NlcnMgZnJvbSB0aGUgY2F0YWxvZyBUZXJtaW5hbCBVc2VyIEludGVyZmFjZSAoVFVJKS4gVG8gc3VwcG9ydCB0aGF0LCBvbmx5IGEgY29uc3RyYWluZWQgc2V0IG9mIHNvdXJjZXMgd2VyZSBzdXBwb3J0ZWQsIHRvIGVuc3VyZSB0aGF0IGEgYnV0dG9uIHdhcyBhdmFpbGFibGUgdG8gcG9wIG9wZW4gdGhlIGxpbmsgaW4gdGhlIGJyb3dzZXIuCgo8aW1nIHdpZHRoPSI2NzAiIGFsdD0iaW1hZ2UiIHNyYz0iaHR0cHM6Ly9naXRodWIuY29tL3VzZXItYXR0YWNobWVudHMvYXNzZXRzLzkyZGMwMTZlLTNiYzUtNDZmNS1iNjkwLWRhMzA0MzU5MGMyNCIgLz4KCjxpbWcgd2lkdGg9IjY2NiIgYWx0PSJpbWFnZSIgc3JjPSJodHRwczovL2dpdGh1Yi5jb20vdXNlci1hdHRhY2htZW50cy9hc3NldHMvZjUxMmU5MDEtNGRlYi00NzcxLThjYmQtZWEzZDU0Y2Y1NTk0IiAvPgoKVGVycmFncnVudCB3aWxsIG5vdyBkeW5hbWljYWxseSBhZGp1c3QgdGhlIGJ1dHRvbnMgYXZhaWxhYmxlIGFmdGVyIG1vZHVsZSBzZWxlY3Rpb24gdG8gZ3JhY2VmdWxseSBkZWdyYWRlIHRoZSBleHBlcmllbmNlLCBpbnN0ZWFkIG9mIGNvbXBsZXRlbHkgcmVqZWN0aW5nIHJlcG9zaXRvcnkgc291cmNlcyB0aGF0IGNhbid0IGJlIHByZWRpY3RhYmx5IGNvbnZlcnRlZCB0byBicm93c2VyIFVSTHMuCgo8aW1nIHdpZHRoPSIzNDYiIGFsdD0iaW1hZ2UiIHNyYz0iaHR0cHM6Ly9naXRodWIuY29tL3VzZXItYXR0YWNobWVudHMvYXNzZXRzLzc2YTdiMWU1LWMxNDgtNDJiMi1hNjk2LWQ3ZmQ3NTBlODY2ZCIgLz4KClRoaXMgYWxsb3dzIG1vcmUgdXNlcnMgdG8gYWRvcHQgdGhlIFRlcnJhZ3J1bnQgQ2F0YWxvZywgd2hpbGUgcHJvdmlkaW5nIHRoZSBzYW1lIGdyZWF0IHVzZXIgZXhwZXJpZW5jZSBmb3IgdXNlcnMgdGhhdCBhcmUgb24gZnVsbHkgc3VwcG9ydGVkIHBsYXRmb3JtcywgbGlrZSBHaXRIdWIsIEdpdExhYiwgQml0QnVja2V0LCBldGMuCgojIyMjIFdoYXQncyBDaGFuZ2VkCgotICAgZmVhdDogQWxsb3cgdW5rbm93biBjYXRhbG9nIFVSTHMgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzE4XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzE4KQotICAgZG9jczogQ2xhcmlmeSBhbWJpZ3VvdXMgZG9jdW1lbnRhdGlvbiBvbiB2YXJpYWJsZSBwcmVjZWRlbmNlIGJ5IFtAJiM4MjAzO293YXR0bGV5LXJvdGFnZWVrXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vb3dhdHRsZXktcm90YWdlZWspIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzE5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzE5KQotICAgY2hvcmU6IEFkanVzdGluZyBjYXRhbG9nIGltcGxlbWVudGF0aW9uIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMxNV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMxNSkKCiMjIyMgTmV3IENvbnRyaWJ1dG9ycwoKLSAgIFtAJiM4MjAzO293YXR0bGV5LXJvdGFnZWVrXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vb3dhdHRsZXktcm90YWdlZWspIG1hZGUgdGhlaXIgZmlyc3QgY29udHJpYnV0aW9uIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzE5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzE5KQoKKipGdWxsIENoYW5nZWxvZyoqOiBodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43OS4yLi4udjAuNzkuMwoKIyMjIFtgdjAuNzkuMmBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9yZWxlYXNlcy90YWcvdjAuNzkuMikKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzkuMS4uLnYwLjc5LjIpCgojIyMjIPCfmpcgUGVyZm9ybWFuY2UgSW1wcm92ZW1lbnRzCgpJbXByb3ZlZCBvdmVyYWxsIHBlcmZvcm1hbmNlIGJ5IG1lbW9pemluZyBgLXZlcnNpb25gIG91dHB1dCBpbiBlYWNoIHVuaXQuCgojIyMjIFdoYXQncyBDaGFuZ2VkCgotICAgZmVhdDogSW1wcm92ZWQgcGVyZm9ybWFuY2UgYnkgbWVtb2l6aW5nIGAtdmVyc2lvbmAgb3V0cHV0IGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80Mjg4XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80Mjg4KQoKKipGdWxsIENoYW5nZWxvZyoqOiBodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43OS4xLi4udjAuNzkuMgoKIyMjIFtgdjAuNzkuMWBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9yZWxlYXNlcy90YWcvdjAuNzkuMSkKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzkuMC4uLnYwLjc5LjEpCgojIyMjIPCfkqrwn4+9IEVuaGFuY2VtZW50cwoKIyMjIyMgUmVjdXJzaXZlIHN0YWNrIGNsZWFuCgpJbXByb3ZlZCBgc3RhY2sgY2xlYW5gIHRvIHJlY3Vyc2l2ZWx5IGRlbGV0ZSBhbGwgbmVzdGVkIHN0YWNrIGRpcmVjdG9yaWVzLCBlbnN1cmluZyB0aG9yb3VnaCBjbGVhbnVwLgoKIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSAgIGZlYXQ6IEVuYWJsZWQgcmVjdXJzaXZlIGRlbGV0aW9uIG9mIHN0YWNrIGRpcmVjdG9yaWVzIGluIGBzdGFjayBjbGVhbmAgYnkgW0AmIzgyMDM7ZGVuaXMyNTZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZW5pczI1NikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzMTNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzMTMpCi0gICBmZWF0OiBTd2l0Y2hpbmcgdG8gR2l0SHViIEFjdGlvbnMgT0lEQyByb2xlIGFzc3VtcHRpb24gZm9yIE9JREMgdGVzdCBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzMDVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzMDUpCi0gICBmaXg6IENvcnJlY3RlZCBtaXNsYWJlbGVkIGBsZWdhY3ktYWxsYCBjb250cm9sIGluIGRvY3VtZW50YXRpb24gYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzExXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzExKQotICAgZml4OiBFbmFibGVkIGRpc2FibGVkIHRlc3RzIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMxMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMxMikKLSAgIGRvY3M6IHVwZGF0ZWQgcXVpY2sgc3RhcnQgZG9jdW1lbnRhdGlvbiB3aXRoIGFkZGl0aW9uYWwgb3V0cHV0IGRpcmVjdG9yeSB1c2FnZSBieSBbQCYjODIwMztqYW1lczAzMTYwOTI3XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vamFtZXMwMzE2MDkyNykgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyOTldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyOTkpCgoqKkZ1bGwgQ2hhbmdlbG9nKio6IGh0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc5LjAuLi52MC43OS4xCgojIyMgW2B2MC43OS4wYF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3JlbGVhc2VzL3RhZy92MC43OS4wKQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43OC40Li4udjAuNzkuMCkKCiMjIyMg8J+SqvCfj70gRW5oYW5jZW1lbnRzCgojIyMjIyBUaGUgYHJ1biAtLWFsbGAgY29tbWFuZCBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlcyBUZXJyYWdydW50IFN0YWNrcwoKSWYgeW91IGFyZSB1c2luZyBgdGVycmFncnVudC5zdGFjay5oY2xgIGZpbGVzIGluIHlvdXIgY29kZWJhc2UsIGBydW4gLS1hbGxgIGNvbW1hbmRzIHdpbGwgbm93IGF1dG9tYXRpY2FsbHkgZXhwYW5kIGFsbCBgdGVycmFncnVudC5zdGFjay5oY2xgIGZpbGVzIGludG8gZ2VuZXJhdGVkIHN0YWNrIGNvbmZpZ3VyYXRpb25zLCBhcyBpZiB5b3UgaGFkIHJ1biBgc3RhY2sgZ2VuZXJhdGVgIGJlZm9yZSBydW5uaW5nIHRoZSBgcnVuIC0tYWxsYCBjb21tYW5kLgoKZS5nLgoKYGBgYmFzaAp0ZXJyYWdydW50IHJ1biAtLWFsbCBwbGFuCmBgYAoKSXMgbm93IGVxdWl2YWxlbnQgdG86CgpgYGBiYXNoCnRlcnJhZ3J1bnQgc3RhY2sgZ2VuZXJhdGUKdGVycmFncnVudCBydW4gLS1hbGwgcGxhbgpgYGAKCklmIHlvdSB3b3VsZCBsaWtlIHRvIGRpc2FibGUgdGhpcyBuZXcgYmVoYXZpb3IsIHlvdSBjYW4gdXNlIHRoZSBgLS1uby1zdGFjay1nZW5lcmF0ZWAgdG8gb3B0IG91dCBvZiBhdXRvbWF0aWMgc3RhY2sgZ2VuZXJhdGlvbi4KCiMjIyMg8J+TliBEb2NzIFVwZGF0ZXMKClRoZSBbVGVycmFncnVudCB2MV0oaHR0cHM6Ly90ZXJyYWdydW50LXYxLmdydW50d29yay5pby8pIGRvY3MgYXJlIG9wZW4gZm9yIGZlZWRiYWNrIQoKVGhlc2UgZG9jcyB3aWxsIHVuZGVyZ28gc2lnbmlmaWNhbnQgYWRqdXN0bWVudHMsIGJvdGggc3R5bGlzdGljYWxseSwgYW5kIGZ1bmN0aW9uYWxpdHkgb24gdGhlIHJvYWQgdG8gMS4wLgoKVGhleSBhcmUgYSBmdWxsIHJld3JpdGUgb2YgdGhlIGV4aXN0aW5nIFRlcnJhZ3J1bnQgRG9jcyBzaXRlIHdyaXR0ZW4gaW4gW0pla3lsbF0oaHR0cHM6Ly9qZWt5bGxyYi5jb20vKSB0byBvbmUgdXNpbmcgW1N0YXJsaWdodF0oaHR0cHM6Ly9zdGFybGlnaHQuYXN0cm8uYnVpbGQvKS4KCllvdXIgZmVlZGJhY2sgaXMgcmVxdWVzdGVkISBJZiB5b3UgYXJlIHJlYWRpbmcgdGhlc2UgcmVsZWFzZSBub3RlcyByZWxhdGl2ZWx5IHNvb24gYWZ0ZXIgcmVsZWFzZSwgeW91IHNob3VsZCBzZWUgYSBsaW5rIGF0IHRoZSB0b3Agb2YgdGhlIHNpdGUgd2hlcmUgeW91IGNhbiBwcm92aWRlIHlvdXIgZmVlZGJhY2sgb24gdGhlIG5ldyBkb2NzLgoKIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSAgIGZlYXQ6IE1vdmluZyB1c2VycyBvdmVyIHRvIHRlcnJhZ3J1bnQtdjEuZ3J1bnR3b3JrLmlvIGRvY3MgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjAyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjAyKQotICAgZmVhdDogQWRkaW5nIEdUTSBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyODVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyODUpCi0gICBmZWF0OiBHaXRodWIgQWN0aW9uIHRlc3RzIG1pZ3JhdGlvbiBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI4MV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI4MSkKLSAgIGZlYXQ6IEF1dG9tYXRpY2FsbHkgc3RhY2sgZ2VuZXJhdGUgaW4gcnVuIC0tYWxsIG9yIHJ1biAtLWdyYXBoIGNvbW1hbmQgYnkgW0AmIzgyMDM7amFtZXMwMzE2MDkyN10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2phbWVzMDMxNjA5MjcpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjgzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjgzKQotICAgZmVhdDogQWRkaW5nIGNsb3VkLW51a2UgY3JvbiBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzMDZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzMDYpCi0gICBmZWF0OiBBZGp1c3RpbmcgbmF2IGhlaWdodCBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyODRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyODQpCi0gICBmaXg6IEZpeGluZyBgcmVtb3RlLXJlbGF0aXZlLXdpdGgtc2xhc2hgIGZpeHR1cmUgb24gQVJNIHRlc3RzIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI5N10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI5NykKLSAgIGZpeDogRml4aW5nIGluc3RhbGwgdmVyc2lvbiBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzMTBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQzMTApCi0gICBmaXg6IEltcHJvdmVkIGVycm9yIGhhbmRsaW5nIGluIEFXUyBkb2NzIGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzAzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzAzKQotICAgY2hvcmU6IGVuYWJsZSBUZXN0UmVtb3RlRG93bmxvYWRXaXRoUmVsYXRpdmVQYXRoQW5kU2xhc2hJbkJyYW5jaCB0ZXN0IGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80Mjg2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80Mjg2KQotICAgYnVpbGQoZGVwcyk6IGJ1bXAgcnVieS9zZXR1cC1ydWJ5IGZyb20gMS4yMzMuMCB0byAxLjIzOC4wIGJ5IFtAJiM4MjAzO2RlcGVuZGFib3RdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZXBlbmRhYm90KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI3MF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI3MCkKLSAgIGJ1aWxkKGRlcHMpOiBidW1wIGdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhdGVzdCBmcm9tIDAuNDguMiB0byAwLjQ5LjAgYnkgW0AmIzgyMDM7ZGVwZW5kYWJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlcGVuZGFib3QpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjY3XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjY3KQotICAgYnVpbGQoZGVwcyk6IGJ1bXAgcnVieS9zZXR1cC1ydWJ5IGZyb20gMS4yMzguMCB0byAxLjI0Mi4wIGJ5IFtAJiM4MjAzO2RlcGVuZGFib3RdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZXBlbmRhYm90KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMwMV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDMwMSkKLSAgIGJ1aWxkKGRlcHMpOiBidW1wIERhdmlkQW5zb24vbWFya2Rvd25saW50LWNsaTItYWN0aW9uIGZyb20gMTkgdG8gMjAgYnkgW0AmIzgyMDM7ZGVwZW5kYWJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlcGVuZGFib3QpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzAyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MzAyKQoKIyMjIyBOZXcgQ29udHJpYnV0b3JzCgotICAgW0AmIzgyMDM7amFtZXMwMzE2MDkyN10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2phbWVzMDMxNjA5MjcpIG1hZGUgdGhlaXIgZmlyc3QgY29udHJpYnV0aW9uIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjgzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjgzKQoKKipGdWxsIENoYW5nZWxvZyoqOiBodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43OC40Li4udjAuNzkuMAoKIyMjIFtgdjAuNzguNGBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9yZWxlYXNlcy90YWcvdjAuNzguNCkKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzguMy4uLnYwLjc4LjQpCgojIyMjIOKcqCBOZXcgRmVhdHVyZXMKCiMjIyMjIE9wZW5UZWxlbWV0cnkgVHJhY2UgUHJvcG9nYXRpb24KCkluIGFudGljaXBhdGlvbiBvZiB0aGUgaW50cm9kdWN0aW9uIG9mIE9wZW5UZWxlbWV0cnkgc3VwcG9ydCBpbiBPcGVuVG9mdSAxLjEwLCBUZXJyYWdydW50IHdpbGwgbm93IHByb3BhZ2F0ZSB0aGUgYFRSQUNFUEFSRU5UYCBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byBjaGlsZCBwcm9jZXNzZXMgdG8gc3VwcG9ydCBPcGVuVGVsZW1ldHJ5IHRyYWNlcyB0aGF0IG1haW50YWluIGNvbnRleHQgYWNyb3NzIFRlcnJhZ3J1bnQgYW5kIE9wZW5Ub2Z1LgoKVGhpcyB3b3JrIGlzIGJhc2VkIG9uIFtAJiM4MjAzO1lhbnRyaW9dKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ZYW50cmlvKSAncyBQb0MgUFIgWyMmIzgyMDM7NDI1NF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2lzc3Vlcy80MjU0KSwgYW5kIGlzIG9ubHkgdXNlZnVsIGR1ZSB0byBoaXMgd29yayBhZGRpbmcgT3BlblRlbGVtdHJ5IGluIE9wZW5Ub2Z1LiBUaGFuayB5b3UhCgojIyMjIFdoYXQncyBDaGFuZ2VkCgotICAgZmVhdDogQWRkZWQgZ2VuZXJhdGlvbiBvZiBvcGVudGVsZW1ldHJ5IHBhcmVudCB0cmFjZXMgdG8gaW52b2tlZCBleGVjdXRhYmxlcyBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI3OF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI3OCkKLSAgIGZlYXQ6IEFkZGVkIHN1cHBvcnQgZm9yIFRlcnJhZm9ybSB0ZXN0cyBpbiBHaXRodWIgQWN0aW9uIGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80Mjc1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80Mjc1KQotICAgZG9jczogQWRkZWQgaG9tZXBhZ2UgdG8gU3RhcmxpZ2h0IGRvY3MgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjUwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjUwKQoKKipGdWxsIENoYW5nZWxvZyoqOiBodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43OC4zLi4udjAuNzguNAoKIyMjIFtgdjAuNzguM2BdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9yZWxlYXNlcy90YWcvdjAuNzguMykKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzguMi4uLnYwLjc4LjMpCgojIyMjIPCfkJsgQnVnIEZpeGVzCgpXaGVuIGFuIFtlcnJvciByZXRyeV0oaHR0cHM6Ly90ZXJyYWdydW50LmdydW50d29yay5pby9kb2NzL2ZlYXR1cmVzL3J1bnRpbWUtY29udHJvbC8jZXJyb3JzKSByZXN1bHRzIGluIGEgcGxhbiBzdWNjZWVkaW5nIHdoZW4gaXQgaW5pdGlhbGx5IGZhaWxlZCwgdXNhZ2Ugb2YgYHJ1biAtLWFsbCAtLSBwbGFuIC1kZXRhaWxlZC1leGl0Y29kZWAgd2lsbCBub3cgcHJvcGVybHkgdGFrZSBpbnRvIGFjY291bnQgdGhlICpmaW5hbCogZXhpdCBjb2RlLCByYXRoZXIgdGhhbiB0aGUgZmlyc3Qgb25lLCBtZWFuaW5nIHRoYXQgdGhlIGV4aXQgY29kZSBvZiB0aGUgd2hvbGUgcnVuIHdpbGwgYmUgemVybyBpZiBubyBvdGhlciB1bml0cyBmYWlsIHRoZWlyIHBsYW5zLgoKVGhhbmtzIHRvIFtAJiM4MjAzO3dha2VmdWxdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS93YWtlZnVsKSBmb3IgY29udHJpYnV0aW5nIHRoaXMgZml4IQoKIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSAgIGZpeCBbIyYjODIwMzszODQ1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvaXNzdWVzLzM4NDUpIHNldCB0aGUgY29ycmVjdCBleGl0IGNvZGUgd2hlbiBhIHJldHJ5IGlzIHN1Y2Nlc3NmdWwuIGJ5IFtAJiM4MjAzO3dha2VmdWxdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS93YWtlZnVsKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvMzk2Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvMzk2NikKLSAgIGRvY3M6IEltcHJvdmluZyBSdW4gUXVldWUgZG9jcyBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyNzJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyNzIpCgoqKkZ1bGwgQ2hhbmdlbG9nKio6IGh0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc4LjIuLi52MC43OC4zCgojIyMgW2B2MC43OC4yYF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3JlbGVhc2VzL3RhZy92MC43OC4yKQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43OC4xLi4udjAuNzguMikKCiMjIyMgV2hhdCdzIENoYW5nZWQKCi0gICBmZWF0OiBlbmFibGUgR0NQIGludGVncmF0aW9uIHRlc3RzIGluIEdIIEFjdGlvbiBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI1N10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI1NykKLSAgIGZlYXQ6IGZpeGVkIFRlc3RHY3BXb3Jrc1dpdGhJbXBlcnNvbmF0ZUJhY2tlbmQgdGVzdCBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI2MV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI2MSkKLSAgIGZlYXQ6IEFkZGluZyBpbnRlZ3JhdGlvbiB0ZXN0cyBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxOThdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxOTgpCi0gICBmZWF0OiBhZGQgV2luZG93cyBpbnRlZ3JhdGlvbiB0ZXN0cyBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI2Ml0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI2MikKLSAgIGZpeDogUmVtb3ZpbmcgSFRNTCBgZm9udC1zaXplYCBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyNTZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyNTYpCi0gICBkb2NzOiBBZGRpbmcgUnVuIFF1ZXVlIERvY3MgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjQ5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjQ5KQotICAgYnVpbGQoZGVwcyk6IGJ1bXAgZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vYm9pbGVycGxhdGUgdG8gdjAuNi4xIGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjYzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjYzKQotICAgYnVpbGQoZGVwcyk6IGJ1bXAgZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC1lbmdpbmUtZ28gdG8gdjAuMC4xNCBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI2M10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI2MykKLSAgIGJ1aWxkKGRlcHMpOiBidW1wIGdvbGFuZy5vcmcveC9vYXV0aDIgdG8gdjAuMzAuMCBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI2M10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI2MykKLSAgIGJ1aWxkKGRlcHMpOiBidW1wIGdvbGFuZy5vcmcveC9zeW5jIHRvIHYwLjE0LjAgYnkgW0AmIzgyMDM7ZGVuaXMyNTZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZW5pczI1NikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyNjNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyNjMpCi0gICBidWlsZChkZXBzKTogYnVtcCBnb29nbGUuZ29sYW5nLm9yZy9hcGkgdG8gdjAuMjMyLjAgYnkgW0AmIzgyMDM7ZGVuaXMyNTZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZW5pczI1NikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyNjNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyNjMpCi0gICBidWlsZChkZXBzKTogYnVtcCBnb29nbGUuZ29sYW5nLm9yZy9ncnBjIHRvIHYxLjcyLjAgYnkgW0AmIzgyMDM7ZGVuaXMyNTZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZW5pczI1NikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyNjNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyNjMpCi0gICBjaG9yZTogZGVwZW5kZW5jaWVzIHVwZGF0ZSBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI2M10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI2MykKCioqRnVsbCBDaGFuZ2Vsb2cqKjogaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzguMS4uLnYwLjc4LjIKCiMjIyBbYHYwLjc4LjFgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcmVsZWFzZXMvdGFnL3YwLjc4LjEpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc4LjAuLi52MC43OC4xKQoKIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSAgIGRvY3M6IFVwZGF0aW5nIGRvY3Mgbm93IHRoYXQgc3RhY2tzIGFyZSBnZW5lcmFsbHkgYXZhaWxhYmxlIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI0M10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI0MykKLSAgIGZpeDogQVdTIFMzIGJhY2tlbmQgYWNjZXNzIGxvZ2dpbmcgYnVja2V0IG5vdCB2ZXJzaW9uaW5nIGJ5IFtAJiM4MjAzO2xldmtvaGltaW5zXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbGV2a29oaW1pbnMpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjQ2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjQ2KQoKKipGdWxsIENoYW5nZWxvZyoqOiBodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43OC4wLi4udjAuNzguMQoKIyMjIFtgdjAuNzguMGBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9yZWxlYXNlcy90YWcvdjAuNzguMCkKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzcuMjIuLi52MC43OC4wKQoKIyMjIyDwn6eqIEV4cGVyaW1lbnRzIENvbXBsZXRlZAoKVGhlIFtzdGFja3NdKGh0dHBzOi8vdGVycmFncnVudC5ncnVudHdvcmsuaW8vZG9jcy9yZWZlcmVuY2UvZXhwZXJpbWVudHMvI3N0YWNrcykgZXhwZXJpbWVudCBpcyBub3cgY29tcGxldGUuCgpJZiB5b3Ugd2VyZSBwcmV2aW91c2x5IHVzaW5nIHRoZSBmbGFnIGAtLWV4cGVyaW1lbnQgc3RhY2tzYCB0byBvcHQgaW4gdG8gZXhwZXJpbWVudGFsIGZ1bmN0aW9uYWxpdHksIHlvdSBubyBsb25nZXIgaGF2ZSB0byBkbyBzby4gTm90ZSB0aGF0IGlmIHlvdSBhcmUsIHlvdSB3aWxsIHNpbXBseSBnZXQgYSB3YXJuaW5nIHRoYXQgaXQgaXMgbm8gbG9uZ2VyIG5lY2Vzc2FyeS4KCiMjIyMg8J+boO+4jyBCcmVha2luZyBDaGFuZ2VzCgpMZWdhY3kgY29tbWFuZHMgKGFzIHJlcGxhY2VkIGJ5IHRoZSBbQ0xJIFJlZGVzaWduXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvaXNzdWVzLzM0NDUpIGFyZSBub3cgZGVwcmVjYXRlZCwgYW5kIHdpbGwgYmUgcGhhc2VkIG91dCBhdCBhIGZ1dHVyZSBkYXRlLCB3aGljaCB3aWxsIGJlIHNjaGVkdWxlZCBpbiBbIyYjODIwMzszNTM1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvaXNzdWVzLzM1MzUpLiBNYWtlIHN1cmUgdG8gc3Vic2NyaWJlIHRvIHRoZSBpc3N1ZSBpZiB5b3Ugd291bGQgbGlrZSB0byBiZSBpbmZvcm1lZCB3aGVuIHRoZXNlIGRlcHJlY2F0ZWQgZmVhdHVyZXMgYXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQuCgpGb3IgaW5zdHJ1Y3Rpb25zIG9uIG1pZ3JhdGluZyB0byB0aGUgbmV3IGNvbW1hbmRzIHByb3ZpZGVkIGFmdGVyIHRoZSBDTEkgUmVkZXNpZ24sIHJlYWQgdGhlIFtDTEkgUmVkZXNpZ24gTWlncmF0aW9uIEd1aWRlXShodHRwczovL3RlcnJhZ3J1bnQuZ3J1bnR3b3JrLmlvL2RvY3MvbWlncmF0ZS9jbGktcmVkZXNpZ24vKS4KClRoZSBmb2xsb3dpbmcgYXJlIG5vdyBkZXByZWNhdGVkOgoKLSAgIGBoY2xmbXRgICh1c2UgYGhjbCBmbXRgIGluc3RlYWQpCi0gICBgaGNsdmFsaWRhdGVgICh1c2UgYGhjbCB2YWxpZGF0ZWAgaW5zdGVhZCkKLSAgIGB2YWxpZGF0ZS1pbnB1dHNgICh1c2UgYGhjbCB2YWxpZGF0ZSAtLWlucHV0c2AgYW5kIGBoY2wgdmFsaWRhdGUgLS1pbnB1dHMgLS1zdHJpY3RgIGluc3RlYWQpCi0gICBgdGVycmFncnVudC1pbmZvYCAodXNlIGBpbmZvIHByaW50YCBpbnN0ZWFkKQotICAgYG91dHB1dC1tb2R1bGUtZ3JvdXBzYCAodXNlIGBmaW5kIC0tZGFnIC0tanNvbmAgaW5zdGVhZCkKLSAgIGByZW5kZXItanNvbmAgKHVzZSBgcmVuZGVyIC0tanNvbiAtd2AgaW5zdGVhZCkKLSAgIGBncmFwaC1kZXBlbmRlbmNpZXNgICh1c2UgYGRhZyBncmFwaGAgaW5zdGVhZCkKLSAgIGBydW4tYWxsYCAodXNlIGBydW4gLS1hbGxgIGluc3RlYWQpCi0gICBgZ3JhcGhgICh1c2UgYHJ1biAtLWdyYXBoYCBpbnN0ZWFkKQotICAgVGhlIGRlZmF1bHQgY29tbWFuZC4gZS5nLiBgdGVycmFncnVudCB3b3Jrc3BhY2UgbGlzdGAgKHVzZSBgdGVycmFncnVudCBydW4gLS0gd29ya3NwYWNlIGxpc3RgIGluc3RlYWQpCi0gICBEZWZhdWx0IGJvb3RzdHJhcCAoYXV0b21hdGljYWxseSBwcm92aXNpb25pbmcgYmFja2VuZCByZXNvdXJjZXMgd2l0aG91dCBhZGRpdGlvbmFsIGZsYWdzKS4gVGhpcyBpcyBub3cgb3B0IGluIGJlaGF2aW9yLCBhbmQgcmVxdWlyZXMgdXNhZ2Ugb2YgdGhlIGAtLWJhY2tlbmQtYm9vdHN0cmFwYCBmbGFnIG9yIGV4cGxpY2l0bHkgcnVubmluZyB0aGUgbmV3IGBiYWNrZW5kIGJvb3RzdHJhcGAgY29tbWFuZC4KLSAgIGBhd3MtcHJvdmlkZXItcGF0Y2hgICh3ZSBhcmUgc2ltcGx5IGRlcHJlY2F0aW5nIHRoaXMgY29tbWFuZCwgYW5kIHJlbW92aW5nIGl0IHdoZW4gdGhlIG90aGVyIGNvbW1hbmRzIGFyZSByZW1vdmVkLiBJdCBzZXJ2ZWQgaXRzIHB1cnBvc2UgYXMgYSBzaG9ydCB0ZXJtIHN0b3BnYXAgdG9vbCkuCgpOb3RlIHRoYXQgdGhpcyB3aWxsIG5vdCByZXN1bHQgaW4gYW4gaW1tZWRpYXRlIGJyZWFraW5nIGNoYW5nZSBmb3IgdXNlcnMsIGFzIHdl4oCZbGwgaGF2ZSBhbiBpbml0aWFsIGRlcHJlY2F0aW9uIHdpbmRvdyB0byBnaXZlIHVzZXJzIHRpbWUgdG8gYWRqdXN0IHRvIHRoZXNlIGNoYW5nZXMuIElmIHlvdeKAmWQgbGlrZSB0byBlbnN1cmUgdGhhdCB5b3UgYXJlIHByZXBhcmVkIGZvciB0aGUgZnV0dXJlIHJlbW92YWwgb2YgbGVnYWN5IGNvbW1hbmRzLCB5b3UgY2FuIHRha2UgYWR2YW50YWdlIG9mIHRoZSBbY2xpLXJlZGVzaWduXShodHRwczovL3RlcnJhZ3J1bnQuZ3J1bnR3b3JrLmlvL2RvY3MvcmVmZXJlbmNlL3N0cmljdC1tb2RlLyNjbGktcmVkZXNpZ24pIHN0cmljdCBjb250cm9sIHRvIG9wdCBpbiB0byB0aGUgZnV0dXJlIGJyZWFraW5nIGNoYW5nZSBlYXJseS4KCiMjIyMg8J+SqvCfj70gIEVuaGFuY2VtZW50cwoKVGhlIGxvZ2dpbmcgZm9yIHN0YWNrIGdlbmVyYXRpb24gaGFzIGJlZW4gaW1wcm92ZWQgdG8gbWFrZSBpdCBlYXNpZXIgdG8gZGV0ZXJtaW5lIGF0IGEgZ2xhbmNlIHRoZSBzdGFjayBmaWxlIHRoYXTigJlzIGdlbmVyYXRpbmcgYSBwYXJ0aWN1bGFyIHVuaXQuCgohW3N0YWNrcy1nZW5lcmF0aW9uXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vdXNlci1hdHRhY2htZW50cy9hc3NldHMvMTFjNDljOTItZWRmZC00ZDNhLWIyYzYtNGJhZTQzMjZlMGUyKQoKIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSAgIGZlYXQ6IGltcHJvdmVkIHN0YWNrIGxvZ3MgZ2VuZXJhdGlvbiBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDIxM10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDIxMykKLSAgIGZlYXQ6IHN0YWNrcyBleHByaW1lbnQgY29tcGxldGlvbiBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDIyMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDIyMikKLSAgIGZlYXQ6IERlcHJlY2F0aW5nIGByZW5kZXItanNvbmAgY29tbWFuZCBieSBbQCYjODIwMztsZXZrb2hpbWluc10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2xldmtvaGltaW5zKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDIyN10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDIyNykKLSAgIGZlYXQ6IERlcHJlY2F0aW5nIGBhd3MtcHJvdmlkZXItcGF0Y2hgIGNvbW1hbmQgYnkgW0AmIzgyMDM7bGV2a29oaW1pbnNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9sZXZrb2hpbWlucykgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyMjhdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyMjgpCi0gICBmZWF0OiBEZXByZWNhdGluZyBgb3V0cHV0LW1vZHVsZS1ncm91cHNgIGNvbW1hbmQgYnkgW0AmIzgyMDM7bGV2a29oaW1pbnNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9sZXZrb2hpbWlucykgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyMjldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyMjkpCi0gICBmaXg6IEZpeGluZyBiYXNlIHRlc3RzIGZvciBtYWNPUyBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxOTNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxOTMpCi0gICBmaXg6IEZpeGluZyA0MDQgaW4gcGVyZm9ybWFuY2UgZG9jcyBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxOTRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxOTQpCi0gICBmaXg6IGJhc2ljIHRlc3RzIGV4ZWN1dGlvbiB1cGRhdGUgYnkgW0AmIzgyMDM7ZGVuaXMyNTZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZW5pczI1NikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxOTJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxOTIpCi0gICBmaXg6IFRocm93aW5nIGludGVycnVwdCBzaWduYWwgd2l0aCBgLS1hbGxgIGZsYWcgYnkgW0AmIzgyMDM7bGV2a29oaW1pbnNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9sZXZrb2hpbWlucykgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyMjRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyMjQpCi0gICBmaXg6IGhhbmRsaW5nIG9mIGVycm9ycyBpbiBwYXJzaW5nIGJhc2UgYmxvY2tzIGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjI2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjI2KQotICAgZml4OiBDbGVhbmluZyB1cCBsZWdhY3kgYC1hbGxgIHVzYWdlIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDIzOV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDIzOSkKLSAgIGZpeDogUmVuYW1lIGFsbCB0aGUgYC0tdGVycmFncnVudC1gIGZsYWdzIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDIwM10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDIwMykKLSAgIGZpeDogQ2xlYW5pbmcgdXAgYHJ1bi1hbGxgIHVzYWdlIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDIyM10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDIyMykKLSAgIGZpeDogVXBkYXRpbmcgZW52aXJvbm1lbnQgdmFyaWFibGVzIGZvciBmbGFncyBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyNDBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyNDApCi0gICBmaXg6IFVwZGF0aW5nIG1pZ3JhdGlvbiBndWlkZSBmb3IgQ0xJIFJlZGVzaWduIG1pZ3JhdGlvbiBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyMDddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyMDcpCi0gICBkb2NzOiBBZGRpbmcgZG9jcyBmb3IgYGNsaS1yZWRlc2lnbmAgc3RyaWN0IGNvbnRyb2wgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjM4XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjM4KQotICAgZG9jczogRG9jdW1lbnRpbmcgQ0xJIFJlZGVzaWduIGRlcHJlY2F0aW9ucyBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyMzddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQyMzcpCi0gICBkb2NzOiB1cGRhdGVkIHN0YWNrIGxpbmtzIGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjAxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MjAxKQotICAgY2hvcmU6IFByZXNlcnZlIHRlc3RzIHdpdGggZGVwcmVjYXRlZCBjb21tYW5kcy9mbGFncyBieSBbQCYjODIwMztsZXZrb2hpbWluc10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2xldmtvaGltaW5zKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI0Ml0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDI0MikKLSAgIGNob3JlOiBgaGNsZm10YCBgaGNsdmFsaWRhdGVgIGB2YWxpZGF0ZS1pbnB1dHNgIGFzIGRlcHJlY2F0ZWQgY29tbWFuZHMgKG1pbm9yIGZpeGVzKSBieSBbQCYjODIwMztsZXZrb2hpbWluc10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2xldmtvaGltaW5zKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE5OV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE5OSkKLSAgIGNob3JlOiBgaGNsZm10YCBgaGNsdmFsaWRhdGVgIGB2YWxpZGF0ZS1pbnB1dHNgIGFzIGRlcHJlY2F0ZWQgY29tbWFuZHMgYnkgW0AmIzgyMDM7bGV2a29oaW1pbnNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9sZXZrb2hpbWlucykgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxOTZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxOTYpCi0gICBidWlsZChkZXBzKTogYnVtcCBnaXRodWIuY29tL2dldHNvcHMvc29wcy92MyBmcm9tIDMuMTAuMSB0byAzLjEwLjIgYnkgW0AmIzgyMDM7ZGVwZW5kYWJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlcGVuZGFib3QpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTg1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTg1KQotICAgYnVpbGQoZGVwcyk6IGJ1bXAgZ28ub3BlbnRlbGVtZXRyeS5pby9vdGVsL2V4cG9ydGVycy9zdGRvdXQvc3Rkb3V0dHJhY2UgZnJvbSAxLjM0LjAgdG8gMS4zNS4wIGJ5IFtAJiM4MjAzO2RlcGVuZGFib3RdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZXBlbmRhYm90KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE4NF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE4NCkKLSAgIGJ1aWxkKGRlcHMpOiBidW1wIERhdmlkQW5zb24vbWFya2Rvd25saW50LWNsaTItYWN0aW9uIGZyb20gMTUgdG8gMTkgYnkgW0AmIzgyMDM7ZGVwZW5kYWJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlcGVuZGFib3QpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTg3XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTg3KQotICAgYnVpbGQoZGVwcyk6IGJ1bXAgcnVieS9zZXR1cC1ydWJ5IGZyb20gMS4yMzAuMCB0byAxLjIzMy4wIGJ5IFtAJiM4MjAzO2RlcGVuZGFib3RdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZXBlbmRhYm90KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE4Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE4NikKLSAgIGJ1aWxkKGRlcHMtZGV2KTogYnVtcCBub2tvZ2lyaSBmcm9tIDEuMTguNCB0byAxLjE4LjggaW4gL2RvY3MgYnkgW0AmIzgyMDM7ZGVwZW5kYWJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlcGVuZGFib3QpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTk1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTk1KQoKKipGdWxsIENoYW5nZWxvZyoqOiBodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43Ny4yMi4uLnYwLjc4LjAKCiMjIyBbYHYwLjc3LjIyYF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3JlbGVhc2VzL3RhZy92MC43Ny4yMikKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzcuMjEuLi52MC43Ny4yMikKCiMjIyMg8J+nqiBFeHBlcmltZW50cyBDb21wbGV0ZWQKCiMjIyMjIFRoZSBgY2xpLXJlZGVzaWduYCBleHBlcmltZW50IGlzIG5vdyBjb21wbGV0ZQoKVGhlIFtjbGktcmVkZXNpZ25dKGh0dHBzOi8vdGVycmFncnVudC5ncnVudHdvcmsuaW8vZG9jcy9yZWZlcmVuY2UvZXhwZXJpbWVudHMvI2NsaS1yZWRlc2lnbikgZXhwZXJpbWVudCBpcyBub3cgY29tcGxldGUuCgpJZiB5b3Ugd2VyZSBwcmV2aW91c2x5IHVzaW5nIHRoZSBmbGFnIGAtLWV4cGVyaW1lbnQgY2xpLXJlZGVzaWduYCB0byBvcHQgaW4gdG8gZXhwZXJpbWVudGFsIGZ1bmN0aW9uYWxpdHksIHlvdSBubyBsb25nZXIgaGF2ZSB0byBkbyBzby4gTm90ZSB0aGF0IGlmIHlvdSBhcmUsIHlvdSB3aWxsIHNpbXBseSBnZXQgYSB3YXJuaW5nIHRoYXQgaXQgaXMgbm8gbG9uZ2VyIG5lY2Vzc2FyeS4KCiMjIyMgV2hhdCdzIENoYW5nZWQKCi0gICBmZWF0OiBBZGRpbmcgYmFzZSB0ZXN0cyBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNzZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNzYpCi0gICBjaG9yZTogQ29tcGxldGUgQ0xJIFJlZGVzaWduIGV4cGVyaW1lbnQgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTg5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTg5KQoKKipGdWxsIENoYW5nZWxvZyoqOiBodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43Ny4yMS4uLnYwLjc3LjIyCgojIyMgW2B2MC43Ny4yMWBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9yZWxlYXNlcy90YWcvdjAuNzcuMjEpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc3LjIwLi4udjAuNzcuMjEpCgojIyMjIOKcqCBOZXcgRmVhdHVyZXMKCiMjIyMjIEludHJvZHVjdGlvbiBvZiBgaGNsYCBjb21tYW5kcwoKQXMgcGFydCBvZiB0aGUgW0NMSSBSZWRlc2lnbl0oaHR0cHM6Ly90ZXJyYWdydW50LmdydW50d29yay5pby9kb2NzL3JlZmVyZW5jZS9leHBlcmltZW50cy8jY2xpLXJlZGVzaWduKSBleHBlcmltZW50LCB0aGUgW2BoY2xgXShodHRwczovL3RlcnJhZ3J1bnQuZ3J1bnR3b3JrLmlvL2RvY3MvcmVmZXJlbmNlL2NsaS1vcHRpb25zLyNoY2wtY29tbWFuZHMpIGNvbW1hbmRzIGhhdmUgYmVlbiBpbnRyb2R1Y2VkLgoKVGhlIGBoY2xgIGNvbW1hbmRzIGFsbG93IHVzZXJzIHRvIGRpcmVjdGx5IGludGVyYWN0IHdpdGggSENMIGNvbnRlbnQgaW5kZXBlbmRlbnQgb2YgdGhlIHVuZGVybHlpbmcgZnVuY3Rpb25hbGl0eSB0aGV5IHN1cHBvcnQuCgpUaGUgZnVuY3Rpb25hbGl0eSBvZiB0aGUgYGhjbGAgY29tbWFuZHMgcmVwbGFjZSBleGlzdGluZyBmdW5jdGlvbmFsaXR5IHRoYXQgaXMgc29vbiB0byBiZSBkZXByZWNhdGVkOgoKLSAgIGBoY2xmbXRgIC0tPiBgaGNsIGZtdGAKLSAgIGBoY2x2YWxpZGF0ZWAgLS0+IGBoY2wgdmFsaWRhdGVgCi0gICBgdmFsaWRhdGUtaW5wdXRzYCAtLT4gYGhjbCB2YWxpZGF0ZSAtLWlucHV0c2AKLSAgIGB2YWxpZGF0ZS1pbnB1dHMgLS1zdHJpY3QtdmFsaWRhdGVgIC0tPiBgaGNsIHZhbGlkYXRlIC0taW5wdXRzIC0tc3RyaWN0YAoKIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSAgIGZlYXQ6IGBoY2xgIGNvbW1hbmRzIGRvY3MgYnkgW0AmIzgyMDM7bGV2a29oaW1pbnNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9sZXZrb2hpbWlucykgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxODBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxODApCi0gICBmZWF0OiBhZGQgc3ltYm9sIGxpbmsgZXhwZXJpZW1udCBpbiBkaXNjb3ZlcnkgcHJvY2VzcyBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE3N10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE3NykKLSAgIGZlYXQ6IEltcGxlbWVudGF0aW9uIG9mIGBoY2xgIGNvbW1hbmRzIGJ5IFtAJiM4MjAzO2xldmtvaGltaW5zXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbGV2a29oaW1pbnMpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTY5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTY5KQotICAgZml4OiBBZGRpbmcgcmVkaXJlY3QgZnJvbSAvZG9jcy9yZWZlcmVuY2UvZXhwZXJpbWVudC1tb2RlIHRvIC9kb2NzL3JlZmVyZW5jZS9leHBlcmltZW50cyBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNzhdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNzgpCi0gICBmaXg6IEZpeCBzcGVsbGluZyBieSBbQCYjODIwMztocGUtbm9pbmFyaXNha10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2hwZS1ub2luYXJpc2FrKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE3OV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE3OSkKLSAgIGZpeDogVXBkYXRlIHN0YXR1cyBvZiBjbGktcmVkZXNpZ24gZXhwZXJpbWVudCBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxODhdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxODgpCi0gICBidWlsZChkZXBzKTogYnVtcCBnaXRodWIuY29tL2NoYXJtYnJhY2VsZXQvYnViYmxlcyBmcm9tIDAuMjAuMCB0byAwLjIxLjAgYnkgW0AmIzgyMDM7ZGVwZW5kYWJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlcGVuZGFib3QpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTYwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTYwKQoKIyMjIyBOZXcgQ29udHJpYnV0b3JzCgotICAgW0AmIzgyMDM7aHBlLW5vaW5hcmlzYWtdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ocGUtbm9pbmFyaXNhaykgbWFkZSB0aGVpciBmaXJzdCBjb250cmlidXRpb24gaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNzldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNzkpCgoqKkZ1bGwgQ2hhbmdlbG9nKio6IGh0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc3LjIwLi4udjAuNzcuMjEKCiMjIyBbYHYwLjc3LjIwYF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3JlbGVhc2VzL3RhZy92MC43Ny4yMCkKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzcuMTkuLi52MC43Ny4yMCkKCiMjIyMgV2hhdCdzIENoYW5nZWQKCi0gICBidWlsZDogQWRkZWQgYGJ1aWxkLW5vLXByb3h5LnltbGAgd29ya2Zsb3cgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTcxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTcxKQotICAgYnVpbGQ6IEFkZGVkIGBsaW50LnltbGAgYW5kIGBzdHJpY3QtbGludC55bWxgIHdvcmtmbG93cyBmb3IgR2l0SHViIEFjdGlvbnMgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTcyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTcyKQotICAgYnVpbGQ6IEFkZGVkIGNvZGVzcGVsbCB3b3JrZmxvdyBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNzNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNzMpCi0gICBidWlsZDogQWRkZWQgbWFya2Rvd25saW50IHYyIHRvIEdpdEh1YiBBY3Rpb25zIHdvcmtmbG93cyBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNzVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNzUpCi0gICBkb2NzOiBJbXByb3ZlZCBnZXR0aW5nIHN0YXJ0ZWQgZ3VpZGUgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTc0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTc0KQotICAgYnVpbGQoZGVwcyk6IGJ1bXAgZ2l0aHViLmNvbS9Qcm90b25NYWlsL2dvLWNyeXB0byBmcm9tIDEuMS42IHRvIDEuMi4wIGJ5IFtAJiM4MjAzO2RlcGVuZGFib3RdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZXBlbmRhYm90KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE2MV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE2MSkKLSAgIGJ1aWxkKGRlcHMpOiBidW1wIGdvbGFuZy5vcmcveC90ZXJtIGZyb20gMC4zMC4wIHRvIDAuMzEuMCBieSBbQCYjODIwMztkZXBlbmRhYm90XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVwZW5kYWJvdCkgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNTldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNTkpCi0gICBidWlsZChkZXBzKTogYnVtcCBnaXRodWIuY29tL2F3cy9hd3Mtc2RrLWdvLXYyL3NlcnZpY2UvczMgZnJvbSAxLjc4LjIgdG8gMS43OS4yIGJ5IFtAJiM4MjAzO2RlcGVuZGFib3RdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZXBlbmRhYm90KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE1OF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE1OCkKCioqRnVsbCBDaGFuZ2Vsb2cqKjogaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzcuMTkuLi52MC43Ny4yMAoKIyMjIFtgdjAuNzcuMTlgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcmVsZWFzZXMvdGFnL3YwLjc3LjE5KQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43Ny4xOC4uLnYwLjc3LjE5KQoKIyMjIyDinKggTmV3IEZlYXR1cmVzCgojIyMjIyBPcGVuVGVsZW1ldHJ5IHRyYWNlcyBhcmUgbm93IGludGVncmF0ZWQgaW50byBgZmluZGAgYW5kIGBsaXN0YCBjb21tYW5kcwoKZmluZCB0ZWxlbWV0cnk6CiFbaW1hZ2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS91c2VyLWF0dGFjaG1lbnRzL2Fzc2V0cy9lYjVmZjExYS1lOTBmLTRiNWQtYmVjMC1jOTljYjE0MTlmNTcpCgpsaXN0IHRlbGVtZXRyeToKIVtpbWFnZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3VzZXItYXR0YWNobWVudHMvYXNzZXRzLzdhZjIzMmYxLWU4MjItNGFhZS04MjMwLTEyMjU3YzM1OWQyMSkKCiMjIyMgV2hhdCdzIENoYW5nZWQKCi0gICBmZWF0OiBJbXBsZW1lbnRlZCB0ZWxlbWV0cnkgZm9yIGZpbmQvbGlzdCBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE2NV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE2NSkKCioqRnVsbCBDaGFuZ2Vsb2cqKjogaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzcuMTguLi52MC43Ny4xOQoKIyMjIFtgdjAuNzcuMThgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcmVsZWFzZXMvdGFnL3YwLjc3LjE4KQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43Ny4xNy4uLnYwLjc3LjE4KQoKIyMjIyDinKggTmV3IEZlYXR1cmVzCgojIyMjIyBTdXBwb3J0IGZvciBIQ0wgZm9ybWF0dGluZyB3aXRoIHRoZSBgcmVuZGVyYCBjb21tYW5kCgpBcyBwYXJ0IG9mIHRoZSBbQ0xJIFJlZGVzaWduXShodHRwczovL3RlcnJhZ3J1bnQuZ3J1bnR3b3JrLmlvL2RvY3MvcmVmZXJlbmNlL2V4cGVyaW1lbnRzLyNjbGktcmVkZXNpZ24pIGV4cGVyaW1lbnQsIHRoZSBbYHJlbmRlcmBdKGh0dHBzOi8vdGVycmFncnVudC5ncnVudHdvcmsuaW8vZG9jcy9yZWZlcmVuY2UvY2xpLW9wdGlvbnMvI2JhY2tlbmQtbWlncmF0ZSkgY29tbWFuZCBub3cgc3VwcG9ydHMgSENMIGZvcm1hdHRpbmcgZm9yIHJlbmRlcmVkIGNvbmZpZ3VyYXRpb25zLCB3aGljaCBpcyB0aGUgZGVmYXVsdCBvdXRwdXQgZm9ybWF0LgoKVXNpbmcgdGhlIGByZW5kZXJgIGNvbW1hbmQgd2l0aCBIQ0wgZm9ybWF0dGluZyBhbGxvd3MgdXNlcnMgdG8gZ2V0IGEgcXVpY2ssIG1pbmltYWwgZXZhbHVhdGlvbiBvZiBUZXJyYWdydW50IHVuaXQgY29uZmlndXJhdGlvbnMgd2l0aCBhcyBtdWNoIHByZS1wcm9jZXNzaW5nIGRvbmUgYXMgcG9zc2libGUuCgpGb3IgZXhhbXBsZSwgdGhlIGZvbGxvd2luZyBgdGVycmFncnVudC5oY2xgIGZpbGU6CgpgYGBoY2wKCiMjIyB0ZXJyYWdydW50LmhjbAoKbG9jYWxzIHsKICBhd3NfcmVnaW9uID0gInVzLWVhc3QtMSIKfQoKaW5wdXRzID0gewogIGF3c19yZWdpb24gPSBsb2NhbC5hd3NfcmVnaW9uCn0KYGBgCgpSZW5kZXJzIHRvIHRoZSBmb2xsb3dpbmcgSENMOgoKYGBgYmFzaAokIHRlcnJhZ3J1bnQgcmVuZGVyCmxvY2FscyB7CiAgYXdzX3JlZ2lvbiA9ICJ1cy1lYXN0LTEiCn0KaW5wdXRzID0gewogIGF3c19yZWdpb24gPSAidXMtZWFzdC0xIgp9CmBgYAoKVXNpbmcgdGhlIGByZW5kZXJgIGNvbW1hbmQgd2l0aCBIQ0wgZm9ybWF0dGluZyBvZmZlcnMgYSB3YXkgdG8gcmVzb2x2ZSBjb21wbGV4IEhDTCBmdW5jdGlvbiBldmFsdWF0aW9uLCBpbmNsdWRlIG1lcmdpbmcgb3Igc3RyaW5nIGludGVycG9sYXRpb24sIGV0Yy4gdG8gYWNoaWV2ZSBlcXVpdmFsZW50IFRlcnJhZ3J1bnQgSENMIGNvbmZpZ3VyYXRpb25zIHRoYXQgYXJlIGVhc2llciB0byByZWFzb24gYWJvdXQuCgojIyMjIFdoYXQncyBDaGFuZ2VkCgotICAgZmVhdDogQWRkaW5nIGByZW5kZXJgIHdpdGggSENMIGZvcm1hdHRpbmcgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTY0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTY0KQoKKipGdWxsIENoYW5nZWxvZyoqOiBodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43Ny4xNy4uLnYwLjc3LjE4CgojIyMgW2B2MC43Ny4xN2BdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9yZWxlYXNlcy90YWcvdjAuNzcuMTcpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc3LjE2Li4udjAuNzcuMTcpCgojIyMjIOKcqCBOZXcgRmVhdHVyZXMKCiMjIyMjIEludHJvZHVjdGlvbiBvZiB0aGUgYHJlbmRlcmAgY29tbWFuZAoKQXMgcGFydCBvZiB0aGUgW0NMSSBSZWRlc2lnbl0oaHR0cHM6Ly90ZXJyYWdydW50LmdydW50d29yay5pby9kb2NzL3JlZmVyZW5jZS9leHBlcmltZW50cy8jY2xpLXJlZGVzaWduKSBleHBlcmltZW50LCB0aGUgW2ByZW5kZXJgXShodHRwczovL3RlcnJhZ3J1bnQuZ3J1bnR3b3JrLmlvL2RvY3MvcmVmZXJlbmNlL2NsaS1vcHRpb25zLyNiYWNrZW5kLW1pZ3JhdGUpIGNvbW1hbmQgaGFzIGJlZW4gaW50cm9kdWNlZC4KClRoZSBgcmVuZGVyYCBjb21tYW5kIGFsbG93cyB1c2VycyB0byBlYXNpbHkgcmVuZGVyIFRlcnJhZ3J1bnQgdW5pdCBjb25maWd1cmF0aW9ucyB3aXRoIHJlZHVjZWQgY29tcGxleGl0eSwgbWFraW5nIGl0IGVhc2llciB0byB1bmRlcnN0YW5kIGNvbmZpZ3VyYXRpb25zIGF0IGEgZ2xhbmNlLgoKRm9yIGV4YW1wbGUsIHRoZSBmb2xsb3dpbmcgYHRlcnJhZ3J1bnQuaGNsYCBmaWxlOgoKYGBgaGNsCgojIyMgdGVycmFncnVudC5oY2wKCmxvY2FscyB7CiAgYXdzX3JlZ2lvbiA9ICJ1cy1lYXN0LTEiCn0KCmlucHV0cyA9IHsKICBhd3NfcmVnaW9uID0gbG9jYWwuYXdzX3JlZ2lvbgp9CmBgYAoKUmVuZGVycyB0byB0aGUgZm9sbG93aW5nIEpTT046CgpgYGBiYXNoCiQgdGVycmFncnVudCByZW5kZXIgLS1mb3JtYXQganNvbgp7CiAgImxvY2FscyI6IHsgImF3c19yZWdpb24iOiAidXMtZWFzdC0xIiB9LAogICJpbnB1dHMiOiB7ICJhd3NfcmVnaW9uIjogInVzLWVhc3QtMSIgfQogIC8vIE5PVEU6IG90aGVyIGF0dHJpYnV0ZXMgYXJlIG9taXR0ZWQgZm9yIGJyZXZpdHkKfQpgYGAKClRoZSBpbnRyb2R1Y3Rpb24gb2YgdGhlIGByZW5kZXJgIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgZXZlbnR1YWwgZGVwcmVjYXRpb24gb2YgdGhlIGV4aXN0aW5nIGByZW5kZXItanNvbmAgY29tbWFuZCwgd2hpY2ggd2lsbCBiZSBkZXByZWNhdGVkIGJ5IHRoZSBlbmQgb2YgdGhlIENMSSBSZWRlc2lnbi4gVGhlIGByZW5kZXJgIGNvbW1hbmQgaXMgYSBoaWdoZXIgbGV2ZWwgY29tbWFuZCwgdGhhdCBvZmZlcnMgdGhlIGFiaWxpdHkgdG8gd3JpdGUgdG8gc3Rkb3V0LCBpbiBhZGRpdGlvbiB0byB3cml0aW5nIHRvIGZpbGVzLCBhbmQgd2lsbCBzdXBwb3J0IEhDTCBjb25maWd1cmF0aW9ucyBpbiBhZGRpdGlvbiB0byBKU09OIChjb21pbmcgc29vbikuCgpUbyBsZWFybiBtb3JlIGFib3V0IHRoZSBgcmVuZGVyYCBjb21tYW5kLCByZWFkIHRoZSBvZmZpY2lhbCBkb2N1bWVudGF0aW9uIFtoZXJlXShodHRwczovL3RlcnJhZ3J1bnQuZ3J1bnR3b3JrLmlvL2RvY3MvcmVmZXJlbmNlL2NsaS1vcHRpb25zLyNyZW5kZXIpLgoKIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSAgIGZlYXQ6IEFkZGluZyBgcmVuZGVyYCBjb21tYW5kIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE0NV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE0NSkKLSAgIGZlYXQ6IEFkZGluZyBkb2NzIGZvciBgYmFja2VuZCBtaWdyYXRlYCBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNDBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNDApCi0gICBidWlsZChkZXBzKTogYnVtcCBydWJ5L3NldHVwLXJ1YnkgZnJvbSAxLjIyOS4wIHRvIDEuMjMwLjAgYnkgW0AmIzgyMDM7ZGVwZW5kYWJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlcGVuZGFib3QpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTYyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTYyKQoKKipGdWxsIENoYW5nZWxvZyoqOiBodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43Ny4xNi4uLnYwLjc3LjE3CgojIyMgW2B2MC43Ny4xNmBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9yZWxlYXNlcy90YWcvdjAuNzcuMTYpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc3LjE1Li4udjAuNzcuMTYpCgojIyMjIOKcqCBOZXcgRmVhdHVyZXMKCiMjIyMjIEludHJvZHVjdGlvbiBvZiB0aGUgYGJhY2tlbmQgbWlncmF0ZWAgY29tbWFuZAoKQXMgcGFydCBvZiB0aGUgW0NMSSBSZWRlc2lnbl0oaHR0cHM6Ly90ZXJyYWdydW50LmdydW50d29yay5pby9kb2NzL3JlZmVyZW5jZS9leHBlcmltZW50cy8jY2xpLXJlZGVzaWduKSBleHBlcmltZW50LCB0aGUgW2BiYWNrZW5kIG1pZ3JhdGVgXShodHRwczovL3RlcnJhZ3J1bnQuZ3J1bnR3b3JrLmlvL2RvY3MvcmVmZXJlbmNlL2NsaS1vcHRpb25zLyNiYWNrZW5kLW1pZ3JhdGUpIGNvbW1hbmQgaGFzIGJlZW4gaW50cm9kdWNlZC4KClRoZSBgYmFja2VuZCBtaWdyYXRlYCBjb21tYW5kIGFsbG93cyB5b3UgdG8gc2ltcGx5IG1pZ3JhdGUgc3RhdGUgYmV0d2VlbiBkaWZmZXJlbnQgdW5pdHMgKG9yIHJlbmFtZXMgb2YgdW5pdHMpIHdpdGhvdXQgbWFudWFsbHkgcnVubmluZyBPcGVuVG9mdS9UZXJyYWZvcm0gc3RhdGUgbWlncmF0aW9uIGNvbW1hbmRzLgoKVG8gbGVhcm4gbW9yZSBhYm91dCB0aGUgYGJhY2tlbmQgbWlncmF0ZWAgY29tbWFuZCwgcmVhZCB0aGUgW29mZmljaWFsIGRvY3NdKGh0dHBzOi8vdGVycmFncnVudC5ncnVudHdvcmsuaW8vZG9jcy9yZWZlcmVuY2UvY2xpLW9wdGlvbnMvI2JhY2tlbmQtbWlncmF0ZSkuCgojIyMjIFdoYXQncyBDaGFuZ2VkCgotICAgZmVhdDogQWRkZWQgc3VwcG9ydCBmb3IgbWlncmF0aW5nIHN0YXRlIGJldHdlZW4gZGlmZmVyZW50IGJhY2tlbmRzIGJ5IFtAJiM4MjAzO2xldmtvaGltaW5zXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbGV2a29oaW1pbnMpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTU0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTU0KQotICAgZmVhdDogRW5oYW5jZWQgZXJyb3IgZXhwbGFpbmVyIHRvIGRldGVjdCBhbmQgcmVwb3J0IGlzc3VlcyByZWxhdGVkIHRvIGBzdGFja2AgdmFsdWVzIGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTYzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTYzKQotICAgZml4OiBJbXByb3ZlZCB0aGUgZGVwcmVjYXRpb24gbWVzc2FnZSBmb3IgZXhwZXJpbWVudGFsIGNvbW1hbmQgZmxhZ3MgYnkgW0AmIzgyMDM7bGV2a29oaW1pbnNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9sZXZrb2hpbWlucykgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNDZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxNDYpCi0gICBmaXg6IFByZXZlbnQgYFRGX0NMSV9DT05GSUdfRklMRWAgZW52aXJvbm1lbnQgdmFyaWFibGUgZnJvbSBiZWluZyBvdmVyd3JpdHRlbiwgZXhjZXB0IGR1cmluZyBgaW5pdGAgYW5kIGBwcm92aWRlcnNgIGNvbW1hbmRzIGJ5IFtAJiM4MjAzO2xldmtvaGltaW5zXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbGV2a29oaW1pbnMpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTU1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTU1KQoKKipGdWxsIENoYW5nZWxvZyoqOiBodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43Ny4xNS4uLnYwLjc3LjE2CgojIyMgW2B2MC43Ny4xNWBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9yZWxlYXNlcy90YWcvdjAuNzcuMTUpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc3LjE0Li4udjAuNzcuMTUpCgojIyMjIOKcqCBOZXcgRmVhdHVyZXMKCiMjIyMjIEludHJvZHVjdGlvbiBvZiB0aGUgYGRhZyBncmFwaGAgY29tbWFuZAoKQXMgcGFydCBvZiB0aGUgW0NMSSBSZWRlc2lnbl0oaHR0cHM6Ly90ZXJyYWdydW50LmdydW50d29yay5pby9kb2NzL3JlZmVyZW5jZS9leHBlcmltZW50cy8jY2xpLXJlZGVzaWduKSBleHBlcmltZW50LCB0aGUgW2BkYWcgZ3JhcGhgXShodHRwczovL3RlcnJhZ3J1bnQuZ3J1bnR3b3JrLmlvL2RvY3MvcmVmZXJlbmNlL2NsaS1vcHRpb25zLyNwcmludC1ncmFwaCkgY29tbWFuZCBoYXMgYmVlbiBpbnRyb2R1Y2VkLgoKIVtkYWddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS91c2VyLWF0dGFjaG1lbnRzL2Fzc2V0cy8zODlkNGUzMS0xOTdjLTRjMzctODkxMy0xNDE3ZWNkM2U1YjQpCgohW2RhZy1oZWxwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vdXNlci1hdHRhY2htZW50cy9hc3NldHMvMjUyNWNkMjctMGQ4ZS00NTdiLTg3ZWEtNzU5ZmFlMzFlMmYzKQoKIVtkYWctZ3JhcGgtaGVscF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3VzZXItYXR0YWNobWVudHMvYXNzZXRzL2ZiMjY4YjIwLWYzMmItNGI0Zi1iYTEzLTBkMWZjOWZjYTc0OCkKCiMjIyMgV2hhdCdzIENoYW5nZWQKCi0gICBkb2NzOiBBZGRlZCBtaWdyYXRpb24gZ3VpZGUgZm9yIGFkb3B0aW5nIFRlcnJhZ3J1bnQgU3RhY2tzIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE1Ml0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE1MikKLSAgIGZlYXQ6IEFkZGVkIGRhZyBncmFwaCBjb21tYW5kIGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTQzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTQzKQoKKipGdWxsIENoYW5nZWxvZyoqOiBodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43Ny4xNC4uLnYwLjc3LjE1CgojIyMgW2B2MC43Ny4xNGBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9yZWxlYXNlcy90YWcvdjAuNzcuMTQpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc3LjEzLi4udjAuNzcuMTQpCgojIyMjIOKcqCBOZXcgRmVhdHVyZXMKCiMjIyMjIFN1cHBvcnQgZm9yIGAtLWV4Y2x1ZGVgIGFuZCBgLS1xdWV1ZS1jb25zdHJ1Y3QtYXNgIGluIGBmaW5kYCBhbmQgYGxpc3RgCgpUaGUgW2BmaW5kYF0oaHR0cHM6Ly90ZXJyYWdydW50LmdydW50d29yay5pby9kb2NzL3JlZmVyZW5jZS9jbGktb3B0aW9ucy8jZmluZCkgYW5kIFtgbGlzdGBdKGh0dHBzOi8vdGVycmFncnVudC5ncnVudHdvcmsuaW8vZG9jcy9yZWZlcmVuY2UvY2xpLW9wdGlvbnMvI2xpc3QpIGNvbW1hbmRzIGhhdmUgYmVlbiB1cGRhdGVkIHRvIGxldmVyYWdlIG5ldyBjYXBhYmlsaXRpZXMgaW52b2x2aW5nIGdyZWF0ZXIgdW5kZXJzdGFuZGluZyBvZiB0aGUgVGVycmFncnVudCBydW4gcXVldWUuCgpVc2VycyBjYW4gbm93IGxldmVyYWdlIHRoZSBbYC0tcXVldWUtY29uc3RydWN0LWFzYF0oaHR0cHM6Ly90ZXJyYWdydW50LmdydW50d29yay5pby9kb2NzL3JlZmVyZW5jZS9jbGktb3B0aW9ucy8jZmluZC1xdWV1ZS1jb25zdHJ1Y3QtYXMpIChvciBqdXN0IGAtLWFzYCkgZmxhZyBpbiB0aGUgYGZpbmRgIGFuZCBgbGlzdGAgY29tbWFuZHMgdG8gZGlzY292ZXIgY29uZmlndXJhdGlvbnMgYXMgaWYgYSBwYXJ0aWN1bGFyIFRlcnJhZ3J1bnQgY29tbWFuZCB3YXMgYmVpbmcgcnVuIChlLmcuIGBwbGFuYCwgYGRlc3Ryb3lgKS4KCkZvciBleGFtcGxlOgoKYGBgYmFzaAokIHRlcnJhZ3J1bnQgZmluZCAtLXF1ZXVlLWNvbnN0cnVjdC1hcz1wbGFuCnN0YWNrcy9saXZlL2RldgpzdGFja3MvbGl2ZS9wcm9kCnVuaXRzL2xpdmUvZGV2L3ZwYwp1bml0cy9saXZlL3Byb2QvdnBjCnVuaXRzL2xpdmUvZGV2L2RiCnVuaXRzL2xpdmUvcHJvZC9kYgp1bml0cy9saXZlL2Rldi9lYzIKdW5pdHMvbGl2ZS9wcm9kL2VjMgpgYGAKCmBgYGJhc2gKJCB0ZXJyYWdydW50IGZpbmQgLS1hcz1kZXN0cm95CnN0YWNrcy9saXZlL2RldgpzdGFja3MvbGl2ZS9wcm9kCnVuaXRzL2xpdmUvZGV2L2VjMgp1bml0cy9saXZlL3Byb2QvZWMyCnVuaXRzL2xpdmUvZGV2L2RiCnVuaXRzL2xpdmUvcHJvZC9kYgp1bml0cy9saXZlL2Rldi92cGMKdW5pdHMvbGl2ZS9wcm9kL3ZwYwpgYGAKClRoZSBgZmluZGAgYW5kIGBsaXN0YCBjb21tYW5kcyB3aWxsIG5vdyBjb25zdHJ1Y3QgdGhlIFRlcnJhZ3J1bnQgcnVuIHF1ZXVlIGFzIGlmIGEgcGFydGljdWxhciBjb21tYW5kIHdhcyBiZWluZyBydW4sIHBvdGVudGlhbGx5IGFsdGVyaW5nIHRoZSBwb3NpdGlvbiBvZiBlbGVtZW50cyBpbiB0aGUgcnVuIHF1ZXVlLCBiYXNlZCBvbiB0aGVpciBkZXBlbmRlbmNpZXMgKGRlcGVuZGVuY2llcyBiZWZvcmUgZGVwZW5kZW50cyBmb3IgcGxhbnMsIGFwcGxpZXMsIGV0Yy4gYW5kIGRlcGVuZGVudHMgYmVmb3JlIGRlcGVuZGVuY2llcyBmb3IgZGVzdHJveXMpLgoKSW4gYWRkaXRpb24sIHVzZXJzIGNhbiBsZXZlcmFnZSB0aGUgW2AtLWV4Y2x1ZGVgXShodHRwczovL3RlcnJhZ3J1bnQuZ3J1bnR3b3JrLmlvL2RvY3MvcmVmZXJlbmNlL2NsaS1vcHRpb25zLyNmaW5kLWV4Y2x1ZGUpIGZsYWcgb24gdGhlIGBmaW5kYCBjb21tYW5kIHRvIGdldCBpbmZvcm1hdGlvbiBvbiB0aGUgYGV4Y2x1ZGVgIGJsb2NrIGluY2x1ZGVkIGluIHJlc3VsdHMuIFRoZSBgZXhjbHVkZWAgYmxvY2sgaXMgYWxzbyBmYWN0b3JlZCBpbiB0byBkaXNjb3ZlcnkgcmVzdWx0cyB3aGVuIHRoZSBgLS1xdWV1ZS1jb25zdHJ1Y3QtYXNgIGZsYWcgaXMgcGFzc2VkLCBhbGxvd2luZyB1c2VycyB0byBkcnktcnVuIGJlaGF2aW9yIG9mIHRoZSBgZXhjbHVkZWAgYmxvY2sgYmVmb3JlIHBlcmZvcm1pbmcgYW55IFRlcnJhZ3J1bnQgcnVucy4KCiMjIyMgV2hhdCdzIENoYW5nZWQKCi0gICBmZWF0OiBBZGRpbmcgZXhjbHVkZSBzdXBwb3J0IHRvIGxpc3QgYW5kIGZpbmQgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTQ3XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTQ3KQoKKipGdWxsIENoYW5nZWxvZyoqOiBodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43Ny4xMy4uLnYwLjc3LjE0CgojIyMgW2B2MC43Ny4xM2BdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9yZWxlYXNlcy90YWcvdjAuNzcuMTMpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc3LjEyLi4udjAuNzcuMTMpCgojIyMjIFdoYXQncyBDaGFuZ2VkCgotICAgYnVpbGQoZGVwcyk6IGJ1bXAgZ29vZ2xlLmdvbGFuZy5vcmcvZ3JwYyBmcm9tIDEuNzEuMCB0byAxLjcxLjEgYnkgW0AmIzgyMDM7ZGVwZW5kYWJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlcGVuZGFib3QpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTMyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTMyKQotICAgYnVpbGQoZGVwcyk6IGJ1bXAgZ29sYW5nLm9yZy94L3N5cyBmcm9tIDAuMzEuMCB0byAwLjMyLjAgYnkgW0AmIzgyMDM7ZGVwZW5kYWJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlcGVuZGFib3QpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTMzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTMzKQotICAgYnVpbGQoZGVwcyk6IGJ1bXAgZ29sYW5nLm9yZy94L29hdXRoMiBmcm9tIDAuMjguMCB0byAwLjI5LjAgYnkgW0AmIzgyMDM7ZGVwZW5kYWJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlcGVuZGFib3QpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTMxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTMxKQotICAgYnVpbGQoZGVwcyk6IGJ1bXAgZ2l0aHViLmNvbS9nZXRzb3BzL3NvcHMvdjMgZnJvbSAzLjkuNCB0byAzLjEwLjEgYnkgW0AmIzgyMDM7ZGVwZW5kYWJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlcGVuZGFib3QpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTMwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTMwKQoKKipGdWxsIENoYW5nZWxvZyoqOiBodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43Ny4xMi4uLnYwLjc3LjEzCgojIyMgW2B2MC43Ny4xMmBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9yZWxlYXNlcy90YWcvdjAuNzcuMTIpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc3LjExLi4udjAuNzcuMTIpCgojIyMjIOKcqCBOZXcgRmVhdHVyZXMKCkludHJvZHVjZWQgYG5vX3ZhbGlkYXRpb25gIGF0dHJpYnV0ZSBmb3IgYHN0YWNrYCBhbmQgYHVuaXRgLCBhbGxvd2luZyB1c2VycyB0byBieXBhc3MgVGVycmFncnVudCdzIHZhbGlkYXRpb24gY2hlY2tzIHdoZW4gZGVwbG95aW5nIGluZnJhc3RydWN0dXJlLiBUaGlzIGlzIHBhcnRpY3VsYXJseSB1c2VmdWwgaW4gc2NlbmFyaW9zIHdoZXJlIHlvdSBuZWVkIHRvIGRlcGxveSBpbmZyYXN0cnVjdHVyZSB0aGF0IGRvZXNuJ3Qgc3RyaWN0bHkgYWRoZXJlIHRvIFRlcnJhZ3J1bnQncyB2YWxpZGF0aW9uIHJ1bGVzLCBzdWNoIGFzIGR1cmluZyBlbWVyZ2VuY3kgZGVwbG95bWVudHMgb3Igd2hlbiB3b3JraW5nIHdpdGggbGVnYWN5IGluZnJhc3RydWN0dXJlIHBhdHRlcm5zLgoKIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSAgIGRvY3M6IGFkZGVkIG1vcmUgZG9jcyBmb3Igc3RhY2tzIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE0NF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE0NCkKLSAgIGZlYXQ6IGFkZGVkIHN1cHBvcnQgZm9yIGBub192YWxpZGF0aW9uYCBhdHRyaWJ1dGUgZm9yIGBzdGFja2AgYW5kIGB1bml0YCBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE0OV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE0OSkKClJGQzogW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9pc3N1ZXMvMzMxM10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2lzc3Vlcy8zMzEzKQoKKipGdWxsIENoYW5nZWxvZyoqOiBodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43Ny4xMS4uLnYwLjc3LjEyCgojIyMgW2B2MC43Ny4xMWBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9yZWxlYXNlcy90YWcvdjAuNzcuMTEpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc3LjEwLi4udjAuNzcuMTEpCgojIyMjIOKcqCBOZXcgRmVhdHVyZXMKCiMjIyMjIEludHJvZHVjdGlvbiBvZiB0aGUgYGluZm8gcHJpbnRgIGNvbW1hbmQKCkFzIHBhcnQgb2YgdGhlIFtDTEkgUmVkZXNpZ25dKGh0dHBzOi8vdGVycmFncnVudC5ncnVudHdvcmsuaW8vZG9jcy9yZWZlcmVuY2UvZXhwZXJpbWVudHMvI2NsaS1yZWRlc2lnbikgZXhwZXJpbWVudCwgdGhlIFtgaW5mbyBwcmludGBdKGh0dHBzOi8vdGVycmFncnVudC5ncnVudHdvcmsuaW8vZG9jcy9yZWZlcmVuY2UvY2xpLW9wdGlvbnMvI3ByaW50LWNvbW1hbmQpIGNvbW1hbmQgaGFzIGJlZW4gaW50cm9kdWNlZC4KCiFbaGVscF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3VzZXItYXR0YWNobWVudHMvYXNzZXRzLzJlYWM0NjQ1LTkzYzItNDdkZC04ZGMzLTczYzQ0NDJiZjFjOCkKCiFbb3V0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vdXNlci1hdHRhY2htZW50cy9hc3NldHMvNzAwNWM1ZGItMTVlMS00ZWZlLWI1YTgtMzQ5YTE3OWY2MDMzKQoKIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSAgIGZlYXQ6IEludHJvZHVjZWQgdGhlIGBpbmZvIHByaW50YCBjb21tYW5kIHRvIG91dHB1dCBUZXJyYWdydW50IGNvbnRleHQgYXMgYSBzdHJ1Y3R1cmVkIEpTT04gb2JqZWN0IGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTIyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTIyKQoKKipGdWxsIENoYW5nZWxvZyoqOiBodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43Ny4xMC4uLnYwLjc3LjExCgojIyMgW2B2MC43Ny4xMGBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9yZWxlYXNlcy90YWcvdjAuNzcuMTApCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc3LjkuLi52MC43Ny4xMCkKCiMjIyMgV2hhdCdzIENoYW5nZWQKCi0gICBmaXg6IFN1cHByZXNzaW5nIHdhcm5pbmcgZm9yIGNhdGFsb2cgd2hlbiBkZXRlcm1pbmluZyBkZWZhdWx0IGZpbGUgbmFtZSBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxMzRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxMzQpCi0gICBmaXg6IFJlbW92ZSB3YXJuaW5nIG1lc3NhZ2UgZm9yIHVuaW1wbGVtZW50ZWQgYmFja2VuZHMgYnkgW0AmIzgyMDM7bGV2a29oaW1pbnNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9sZXZrb2hpbWlucykgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxMzhdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxMzgpCi0gICBmaXg6IEZpeGluZyBvcHRpb25hbCBkZWZhdWx0IHRlbXBsYXRlIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE0MV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDE0MSkKLSAgIGNob3JlOiBzdGFjayBjb2RlIGltcHJvdmVtZW50cyBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDEzNl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDEzNikKCioqRnVsbCBDaGFuZ2Vsb2cqKjogaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzcuOS4uLnYwLjc3LjEwCgojIyMgW2B2MC43Ny45YF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3JlbGVhc2VzL3RhZy92MC43Ny45KQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC43Ny44Li4udjAuNzcuOSkKCiMjIyMg8J+QmyBCdWcgZml4ZXMKCiMjIyMjIEZldGNoaW5nIE91dHB1dHMgZnJvbSBOZXN0ZWQgU3RhY2tzCgpSZXNvbHZlZCBhbiBpc3N1ZSB0aGF0IHByZXZlbnRlZCB0aGUgY29ycmVjdCByZXRyaWV2YWwgb2Ygb3V0cHV0cyBmcm9tIG5lc3RlZCBzdGFja3MuCgojIyMjIFdoYXQncyBDaGFuZ2VkCgotICAgZml4OiBjb3JyZWN0ZWQgdGhlIGxvZ2ljIGZvciBmZXRjaGluZyBvdXRwdXRzIGZyb20gbmVzdGVkIHN0YWNrcyBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDEyNl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDEyNikKCioqRnVsbCBDaGFuZ2Vsb2cqKjogaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzcuOC4uLnYwLjc3LjkKCiMjIyBbYHYwLjc3LjhgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcmVsZWFzZXMvdGFnL3YwLjc3LjgpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc3LjcuLi52MC43Ny44KQoKIyMjIyDwn5OWIERvY3VtZW50YXRpb24gVXBkYXRlcwoKQSBuZXcgW3BlcmZvcm1hbmNlIGd1aWRlXShodHRwczovL3RlcnJhZ3J1bnQuZ3J1bnR3b3JrLmlvL2RvY3MvdHJvdWJsZXNob290aW5nL3BlcmZvcm1hbmNlLykgaGFzIGJlZW4gYWRkZWQgdG8gVGVycmFncnVudCBkb2N1bWVudGF0aW9uIHRvIG9mZmVyIGd1aWRhbmNlIG9uIGhvdyBwZXJmb3JtYW5jZSBjYW4gYmUgaW1wcm92ZWQgd2hlbiB1c2luZyBUZXJyYWdydW50IG9yIGNvbnRyaWJ1dGluZyB0byB0aGUgVGVycmFncnVudCBjb2RlYmFzZS4KClRoaXMgZG9jdW1lbnRhdGlvbiB3aWxsIGV2b2x2ZSBvdmVyIHRpbWUsIGFzIG1vcmUgb3B0aW9uYWwgb3B0aW1pemF0aW9ucyBiZWNvbWUgYXZhaWxhYmxlLCBvciBhcmUgbm8gbG9uZ2VyIG5lY2Vzc2FyeSwgYXMgdGhleSBiZWNvbWUgZGVmYXVsdCBiZWhhdmlvci4KCiMjIyMgV2hhdCdzIENoYW5nZWQKCi0gICBmZWF0OiBBZGQgcGVyZm9ybWFuY2UgZ3VpZGUgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTIwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTIwKQotICAgYnVpbGQoZGVwcyk6IGJ1bXAgcnVieS9zZXR1cC1ydWJ5IGZyb20gMS4yMjEuMCB0byAxLjIyOS4wIGJ5IFtAJiM4MjAzO2RlcGVuZGFib3RdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZXBlbmRhYm90KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDEwMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDEwMCkKLSAgIGZpeDogQWRkcmVzc2luZyBjb21tYXMgaW4gZXh0ZXJuYWwgSURzIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDEyOF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDEyOCkKCioqRnVsbCBDaGFuZ2Vsb2cqKjogaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzcuNy4uLnYwLjc3LjgKCiMjIyBbYHYwLjc3LjdgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcmVsZWFzZXMvdGFnL3YwLjc3LjcpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc3LjYuLi52MC43Ny43KQoKIyMjIyDinKggTmV3IEZlYXR1cmVzCgpVc2VycyBjYW4gbm93IGNvbmZpZ3VyZSBhIGN1c3RvbSBkZWZhdWx0IHRlbXBsYXRlIGZvciBgc2NhZmZvbGRgIGFuZCBgY2F0YWxvZ2AgY29tbWFuZHMgaW4gdGhlaXIgYGNhdGFsb2dgIGNvbmZpZ3VyYXRpb24gYmxvY2tzIGxpa2Ugc286CgpgYGBoY2wKY2F0YWxvZyB7CiAgZGVmYXVsdF90ZW1wbGF0ZSA9ICJnaXRAZ2l0aHViLmNvbS9hY21lL2V4YW1wbGUuZ2l0Ly9wYXRoL3RvL3RlbXBsYXRlIgp9CmBgYAoKRm9yIG1vcmUgaW5mb3JtYXRpb24sIHJlYWQgdGhlIGRvY3VtZW50YXRpb24gaW4gdGhlIFtjYXRhbG9nIGZlYXR1cmVdKGh0dHBzOi8vdGVycmFncnVudC5ncnVudHdvcmsuaW8vZG9jcy9mZWF0dXJlcy9jYXRhbG9nLyNjdXN0b20tdGVtcGxhdGVzLWZvci1zY2FmZm9sZGluZykuCgpTcGVjaWFsIHRoYW5rcyB0byBbQCYjODIwMzt0Z2VpamddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS90Z2VpamcpIGZvciBjb250cmlidXRpbmcgdGhpcyBmZWF0dXJlIQoKIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSAgIGZlYXQ6IEFkZGluZyBjdXN0b20gZGVmYXVsdCB0ZW1wbGF0ZSBbIyYjODIwMzszNjU4XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvaXNzdWVzLzM2NTgpIGJ5IFtAJiM4MjAzO3RnZWlqZ10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3RnZWlqZykgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQwMzVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQwMzUpCi0gICBmaXg6IFVwZGF0aW5nIGRvY3MgYWZ0ZXIgWyMmIzgyMDM7NDAzNV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2lzc3Vlcy80MDM1KSBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxMTddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxMTcpCi0gICBjaG9yZTogc3RhY2tzIGRvY3VtZW50YXRpb24gaW1wcm92ZW1lbnRzIGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTE0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTE0KQoKIyMjIyBOZXcgQ29udHJpYnV0b3JzCgotICAgW0AmIzgyMDM7dGdlaWpnXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vdGdlaWpnKSBtYWRlIHRoZWlyIGZpcnN0IGNvbnRyaWJ1dGlvbiBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDAzNV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDAzNSkKCioqRnVsbCBDaGFuZ2Vsb2cqKjogaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzcuNi4uLnYwLjc3LjcKCiMjIyBbYHYwLjc3LjZgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcmVsZWFzZXMvdGFnL3YwLjc3LjYpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc3LjUuLi52MC43Ny42KQoKIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSAgIGZpeDogQ29ycmVjdGx5IGlnbm9yZSBsb2NrIHRhYmxlIGVuY3J5cHRpb24gc2V0dGluZyB0byBwcmV2ZW50IHVuaW50ZW5kZWQgY29uZmlndXJhdGlvbiBvdmVycmlkZXMgYnkgW0AmIzgyMDM7bGV2a29oaW1pbnNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9sZXZrb2hpbWlucykgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxMTJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxMTIpCi0gICBmaXg6IEludHJvZHVjZWQgc3RyaWN0ZXIgY29uc3RyYWludHMgZm9yIGRldGVjdGluZyBzdGFjayBjb25maWd1cmF0aW9uIGZpbGVzIGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFtodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTEzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80MTEzKQotICAgZmVhdDogRW5hYmxlZCBwYXJzaW5nIG9mIHN0YWNrIGNvbmZpZ3VyYXRpb24gZGlyZWN0bHkgZnJvbSBhIHN0cmluZyBpbnB1dCBmb3IgZW5oYW5jZWQgaW50ZWdyYXRpb24gd2l0aCAzcmQgcGFydHkgY29kZSBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDExMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDExMCkKCioqRnVsbCBDaGFuZ2Vsb2cqKjogaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzcuNS4uLnYwLjc3LjYKCiMjIyBbYHYwLjc3LjVgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcmVsZWFzZXMvdGFnL3YwLjc3LjUpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc3LjQuLi52MC43Ny41KQoKIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSAgIGZlYXQ6IGFkZGVkIHN1cHBvcnQgZm9yIE9wZW5UZWxlbWV0cnkgaW4gYHN0YWNrYCBjb21tYW5kcyB0byBlbmFibGUgZW5oYW5jZWQgb2JzZXJ2YWJpbGl0eSBhbmQgdHJhY2luZyBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDEwOV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDEwOSkKCioqRnVsbCBDaGFuZ2Vsb2cqKjogaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzcuNC4uLnYwLjc3LjUKCiMjIyBbYHYwLjc3LjRgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcmVsZWFzZXMvdGFnL3YwLjc3LjQpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjc3LjMuLi52MC43Ny40KQoKIyMjIyDwn5CbIEJ1ZyBmaXhlcwoKIyMjIyMgTmV3bGluZXMgcmVkdWNlZCBpbiBFcnJvciBMb2dnaW5nIGZvciBDb25maWd1cmF0aW9uIEVycm9ycwoKTG9nZ2luZyBmb3IgY29uZmlndXJhdGlvbiBlcnJvcnMgaGFzIGJlZW4gY29tcGFjdGVkIHRvIHJlZHVjZSBub2lzZSwgYW5kIG1ha2UgZXJyb3JzIGVhc2llciB0byByZWFkLgoKYGBgCgojIyMgQmVmb3JlCjE0OjA5OjI1Ljg5MiBFUlJPUiAgRXJyb3I6IEVycm9yIGluIGZ1bmN0aW9uIGNhbGwKCjE0OjA5OjI1Ljg5MiBFUlJPUiAgICBvbiB0ZXJyYWdydW50LmhjbCBsaW5lIDMsIGluIGxvY2FsczoKCjE0OjA5OjI1Ljg5MiBFUlJPUiAgICAgMzogICAgICAgcmVxdWlyZXNfYXV0aCA9IHJ1bl9jbWQoImV4aXQiLCAiMSIpIC8vIGludGVudGlvbmFsIGVycm9yCgoxNDowOToyNS44OTIgRVJST1IKCjE0OjA5OjI1Ljg5MiBFUlJPUiAgQ2FsbCB0byBmdW5jdGlvbiAicnVuX2NtZCIgZmFpbGVkOiBGYWlsZWQgdG8gZXhlY3V0ZSAiZXhpdCAxIiBpbiAuCgpleGVjOiAiZXhpdCI6IGV4ZWN1dGFibGUgZmlsZSBub3QgZm91bmQgaW4gJFBBVEguCgpgYGAKCiAgICAjIyMgQWZ0ZXIKICAgIDE1OjE5OjUwLjkzNyBFUlJPUiAgRXJyb3I6IEVycm9yIGluIGZ1bmN0aW9uIGNhbGwKICAgIDE1OjE5OjUwLjkzNyBFUlJPUiAgICBvbiB0ZXJyYWdydW50LmhjbCBsaW5lIDMsIGluIGxvY2FsczoKICAgIDE1OjE5OjUwLjkzNyBFUlJPUiAgRXJyb3I6IEVycm9yIGluIGZ1bmN0aW9uIGNhbGwKICAgIDE1OjE5OjUwLjkzNyBFUlJPUiAgICBvbiB0ZXJyYWdydW50LmhjbCBsaW5lIDMsIGluIGxvY2FsczoKICAgIDE1OjE5OjUwLjkzNyBFUlJPUiAgICAgMzogICAgICAgcmVxdWlyZXNfYXV0aCA9IHJ1bl9jbWQoImV4aXQiLCAiMSIpIC8vIGludGVudGlvbmFsIGVycm9yCiAgICAxNToxOTo1MC45MzcgRVJST1IgICAgIDM6ICAgICAgIGZhaWwgICA9IHJ1bl9jbWQoImV4aXQiLCAiMSIpIC8vIGludGVudGlvbmFsIGVycm9yCiAgICAxNToxOTo1MC45MzcgRVJST1IgIENhbGwgdG8gZnVuY3Rpb24gInJ1bl9jbWQiIGZhaWxlZDogRmFpbGVkIHRvIGV4ZWN1dGUgImV4aXQgMSIgaW4gLgogICAgMTU6MTk6NTAuOTM3IEVSUk9SICBleGVjOiAiZXhpdCI6IGV4ZWN1dGFibGUgZmlsZSBub3QgZm91bmQgaW4gJFBBVEguCgojIyMjIyBJbXByb3ZlZCBDeWNsZSBEZXRlY3Rpb24gTG9naWMgZm9yIGBzdGFjayBnZW5lcmF0ZWAKCk9uIHRoZSBkZWZhdWx0IGZpbGVzeXN0ZW0gZm9yIG1hY09TLCBwYXRoIGxlbmd0aCB3YXMgbGlrZWx5IHRvIHJlc3VsdCBpbiBhbiBlcnJvciBiZWZvcmUgaW50ZXJuYWwgY3ljbGUgZGV0ZWN0aW9uIGxvZ2ljLCBzbyBjeWNsZSBkZXRlY3Rpb24gd2FzIHVwZGF0ZWQgdG8gbGV2ZXJhZ2UgYSBtYXhpbXVtIHBhdGggbGVuZ3RoIG9mIDEwMjQgY2hhcmFjdGVycyBhcyBhbiBlYXJsaWVyIGV4aXQgZm9yIGFsbCBvcGVyYXRpbmcgc3lzdGVtcy4KCiMjIyMjIEV4Y2Vzc2l2ZSB3YXJuaW5nIGZvciBib290c3RyYXAgcmVxdWlyZW1lbnQgcmVzb2x2ZWQKCkludGVybmFsIGxvZ2ljIGZvciBkZXRlcm1pbmF0aW9uIHRoYXQgYmFja2VuZHMgcmVxdWlyZWQgYm9vdHN0cmFwcGluZyB3YXMgYWRqdXN0ZWQgdG8gbm8gbG9uZ2VyIGxldmVyYWdlIHRoZSB2YWx1ZSBvZiB0aGUgT3BlblRvZnUgc3RhdGUgZmlsZS4KCldoaWxlIGNoZWFwZXIgdGhhbiBtYWtpbmcgYSBuZXR3b3JrIHJlcXVlc3QgdG8gYXNzZXNzIHRoZSBjdXJyZW50IHN0YXRlIG9mIGJhY2tlbmQgcmVzb3VyY2VzLCBpdCBhbHNvIHJlc3VsdGVkIGluIGZhbHNlIG5lZ2F0aXZlcywgd2hpY2ggdHJpZ2dlcmVkIGV4Y2Vzc2l2ZSBiYWNrZW5kIGJvb3RzdHJhcCB3YXJuaW5ncy4KCiMjIyMgV2hhdCdzIENoYW5nZWQKCi0gICBmaXg6IE5ldyBsaW5lcyBpbiBURiBkaWFnbm9zdGljIGxvZyBieSBbQCYjODIwMztsZXZrb2hpbWluc10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2xldmtvaGltaW5zKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDEwOF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDEwOCkKLSAgIGZpeDogU3RhY2sgY3ljbGVzIGRldGVjdGlvbiBpbXByb3ZlbWVudHMgYnkgW0AmIzgyMDM7ZGVuaXMyNTZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZW5pczI1NikgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxMDZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQxMDYpCi0gICBmaXg6IEZpeGluZyBleGNlc3NpdmUgd2FybmluZyBmb3IgYm9vdHN0cmFwIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDEwN10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDEwNykKCioqRnVsbCBDaGFuZ2Vsb2cqKjogaHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuNzcuMy4uLnYwLjc3LjQKCjwvZGV0YWlscz4KCi0tLQoKIyMjIENvbmZpZ3VyYXRpb24KCvCfk4UgKipTY2hlZHVsZSoqOiBCcmFuY2ggY3JlYXRpb24gLSBBdCBhbnkgdGltZSAobm8gc2NoZWR1bGUgZGVmaW5lZCksIEF1dG9tZXJnZSAtIEF0IGFueSB0aW1lIChubyBzY2hlZHVsZSBkZWZpbmVkKS4KCvCfmqYgKipBdXRvbWVyZ2UqKjogRGlzYWJsZWQgYnkgY29uZmlnLiBQbGVhc2UgbWVyZ2UgdGhpcyBtYW51YWxseSBvbmNlIHlvdSBhcmUgc2F0aXNmaWVkLgoK4pm7ICoqUmViYXNpbmcqKjogV2hlbmV2ZXIgUFIgYmVjb21lcyBjb25mbGljdGVkLCBvciB5b3UgdGljayB0aGUgcmViYXNlL3JldHJ5IGNoZWNrYm94LgoK8J+UlSAqKklnbm9yZSoqOiBDbG9zZSB0aGlzIFBSIGFuZCB5b3Ugd29uJ3QgYmUgcmVtaW5kZWQgYWJvdXQgdGhpcyB1cGRhdGUgYWdhaW4uCgotLS0KCiAtIFsgXSA8IS0tIHJlYmFzZS1jaGVjayAtLT5JZiB5b3Ugd2FudCB0byByZWJhc2UvcmV0cnkgdGhpcyBQUiwgY2hlY2sgdGhpcyBib3gKCi0tLQoKVGhpcyBQUiB3YXMgZ2VuZXJhdGVkIGJ5IFtNZW5kIFJlbm92YXRlXShodHRwczovL21lbmQuaW8vcmVub3ZhdGUvKS4gVmlldyB0aGUgW3JlcG9zaXRvcnkgam9iIGxvZ10oaHR0cHM6Ly9kZXZlbG9wZXIubWVuZC5pby9naXRodWIvb3Npc20vdGVzdGJlZCkuCjwhLS1yZW5vdmF0ZS1kZWJ1ZzpleUpqY21WaGRHVmtTVzVXWlhJaU9pSXpPUzR5TURjdU1TSXNJblZ3WkdGMFpXUkpibFpsY2lJNklqUXdMakUyTGpBaUxDSjBZWEpuWlhSQ2NtRnVZMmdpT2lKdFlXbHVJaXdpYkdGaVpXeHpJanBiSW5KbGJtOTJZWFJsSWwxOS0tPgo=
      patchset: 75ffde103fc915ebaf25a18091215710415d6b3a
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: caa0df55ed55158f32903d317317ac95db4da6ce
          trusted/project_1/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 397240f42127868e42e86e6aeb120c2cb092d117
          untrusted/project_0/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: bf7b7dc34a5e494fa043dc2f23e4626bf96f5aac
          untrusted/project_1/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: caa0df55ed55158f32903d317317ac95db4da6ce
          untrusted/project_2/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 397240f42127868e42e86e6aeb120c2cb092d117
        playbooks:
        - path: untrusted/project_0/github.com/osism/zuul-jobs/playbooks/python-black/run.yml
          roles:
          - checkout: main
            checkout_description: playbook branch
            link_name: ansible/playbook_0/role_0/zuul-jobs
            link_target: untrusted/project_0/github.com/osism/zuul-jobs
            role_path: ansible/playbook_0/role_0/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/playbook_0/role_1/zuul-config
            link_target: untrusted/project_1/github.com/osism/zuul-config
            role_path: ansible/playbook_0/role_1/zuul-config/roles
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/playbook_0/role_2/openinfra-zuul-jobs
            link_target: untrusted/project_2/github.com/osism/openinfra-zuul-jobs
            role_path: ansible/playbook_0/role_2/openinfra-zuul-jobs/roles
      post_review: false
      post_timeout: null
      pre_timeout: null
      project:
        canonical_hostname: github.com
        canonical_name: github.com/osism/testbed
        name: osism/testbed
        short_name: testbed
        src_dir: src/github.com/osism/testbed
      projects:
        github.com/osism/testbed:
          canonical_hostname: github.com
          canonical_name: github.com/osism/testbed
          checkout: main
          checkout_description: zuul branch
          commit: a95e1844b15a0278c127f6e40b43b087f1a3f3ba
          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
